Stabilize legacy Steven API endpoints and add OpenAPI spec
This commit is contained in:
220
steven/API/doxid_penunjukan_penguji.php
Normal file
220
steven/API/doxid_penunjukan_penguji.php
Normal file
@@ -0,0 +1,220 @@
|
||||
<?php
|
||||
|
||||
header("Content-Type: application/json");
|
||||
|
||||
include '../conf/class.server.php';
|
||||
include '../conf/koneksiPDO.php';
|
||||
include '../conf/function.php';
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
requireRobotSecret();
|
||||
|
||||
$jsonData = getRequestJson();
|
||||
|
||||
if (!isset($jsonData['id'], $jsonData['peng1'], $jsonData['peng2'])) {
|
||||
jsonResponse([
|
||||
'status' => 0,
|
||||
'msg' => 'Parameter tidak lengkap',
|
||||
], 422);
|
||||
}
|
||||
|
||||
$id = $jsonData['id'];
|
||||
$peng1 = $jsonData['peng1'];
|
||||
$peng2 = $jsonData['peng2'];
|
||||
|
||||
if(empty($peng1) || empty($peng2)){
|
||||
echo json_encode([
|
||||
'status' => 0,
|
||||
'msg' => "Penguji Tidak Boleh Kosong",
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
/**
|
||||
$jsonInput = json_encode($jsonData);
|
||||
$sql = "INSERT INTO tescurldaridoxid(data) VALUES (:data)";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':data', $jsonInput);
|
||||
$stmt->execute();
|
||||
*/
|
||||
|
||||
$sql = "UPDATE tbrekaphasil SET peng1 = :peng1, peng2 = :peng2 WHERE id = :id";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':peng1', $peng1);
|
||||
$stmt->bindParam(':peng2', $peng2);
|
||||
$stmt->bindParam(':id', $id);
|
||||
$stmt->execute();
|
||||
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
[
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
]
|
||||
);
|
||||
} else {
|
||||
$listNomorWA = [];
|
||||
|
||||
$sql = "SELECT * FROM tbdosen";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->execute();
|
||||
|
||||
$listDosen = [];
|
||||
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
$listDosen[$row['nip']] = $row;
|
||||
}
|
||||
|
||||
$sql = "SELECT tbrekaphasil.*, tbmhs.nmLengkap, tbmhs.noHP FROM tbrekaphasil LEFT JOIN tbmhs ON tbrekaphasil.nim = tbmhs.nim WHERE tbrekaphasil.id = :id";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':id', $id);
|
||||
$stmt->execute();
|
||||
|
||||
if($stmt->rowCount() == 0){
|
||||
echo json_encode([
|
||||
'status' => 0,
|
||||
'msg' => "Data Skripsi Tidak Ditemukan",
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
$todayDate = date('d-m-Y');
|
||||
$tanggalPenunjukanPenguji = $row['timestampPenunjukanPenguji'];
|
||||
$semesterPenunjukanPenguji = $row['semesterPenunjukanPenguji'];
|
||||
if(empty($tanggalPenunjukanPenguji)){
|
||||
$tanggalPenunjukanPenguji = date('Y-m-d');
|
||||
$bulanKeputusan = date('m', strtotime($tanggalPenunjukanPenguji));
|
||||
$tahunKeputusan = date('Y', strtotime($tanggalPenunjukanPenguji));
|
||||
|
||||
if ($bulanKeputusan >= 2 && $bulanKeputusan <= 7) {
|
||||
$tahunKeputusan = $tahunKeputusan - 1;
|
||||
$semesterKeputusan = 'GEN';
|
||||
} else {
|
||||
$semesterKeputusan = 'GAS';
|
||||
$tahunKeputusan = $tahunKeputusan;
|
||||
}
|
||||
|
||||
$semesterPenunjukanPenguji = $semesterKeputusan.'-'.$tahunKeputusan;
|
||||
|
||||
$sql = "UPDATE tbrekaphasil SET timestampPenunjukanPenguji = :tanggal, semesterPenunjukanPenguji = :semester WHERE id = :id";
|
||||
$stmt1 = $dbh->prepare($sql);
|
||||
$stmt1->bindParam(':tanggal', $tanggalPenunjukanPenguji);
|
||||
$stmt1->bindParam(':semester', $semesterPenunjukanPenguji);
|
||||
$stmt1->bindParam(':id', $id);
|
||||
$stmt1->execute();
|
||||
}
|
||||
|
||||
$waktuPenguji = date('Y-m-d');
|
||||
$hari = date('w');
|
||||
|
||||
$hariText = '';
|
||||
switch ($hari) {
|
||||
case '0': $hariText = 'Minggu'; break;
|
||||
case '1': $hariText = 'Senin'; break;
|
||||
case '2': $hariText = 'Selasa'; break;
|
||||
case '3': $hariText = 'Rabu'; break;
|
||||
case '4': $hariText = 'Kamis'; break;
|
||||
case '5': $hariText = 'Jumat'; break;
|
||||
case '6': $hariText = 'Sabtu'; break;
|
||||
}
|
||||
|
||||
$idPraoutline = $row['idpraoutline'];
|
||||
$judul = $row['judul_final'];
|
||||
|
||||
$noHPMahasiswa = $row['noHP'];
|
||||
$namaMahasiswa = strtoupper($row['nmLengkap']);
|
||||
$nimMahasiswa = strtoupper($row['nim']);
|
||||
|
||||
//kirimkan ke no bu tuning
|
||||
array_push($listNomorWA, "082350250892");
|
||||
|
||||
if(!empty($noHPMahasiswa)){
|
||||
array_push($listNomorWA, $noHPMahasiswa);
|
||||
}
|
||||
|
||||
$nipPemb1 = $row['pemb1'];
|
||||
$nipPemb2 = $row['pemb2'];
|
||||
$nipPeng1 = $row['peng1'];
|
||||
$nipPeng2 = $row['peng2'];
|
||||
|
||||
$namaPemb1 = '';
|
||||
$namaPemb2 = '';
|
||||
$namaPeng1 = '';
|
||||
$namaPeng2 = '';
|
||||
|
||||
$noPemb1 = '';
|
||||
$noPemb2 = '';
|
||||
$noPeng1 = '';
|
||||
$noPeng2 = '';
|
||||
|
||||
if(!empty($nipPemb1) && isset($listDosen[$nipPemb1])){
|
||||
$namaPemb1 = $listDosen[$nipPemb1]['nmLengkap'];
|
||||
|
||||
if(!empty($listDosen[$nipPemb1]['nohp'])){
|
||||
$noPemb1 = $listDosen[$nipPemb1]['nohp'];
|
||||
array_push($listNomorWA, $listDosen[$nipPemb1]['nohp']);
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($nipPemb2) && isset($listDosen[$nipPemb2])){
|
||||
$namaPemb2 = $listDosen[$nipPemb2]['nmLengkap'];
|
||||
|
||||
if(!empty($listDosen[$nipPemb2]['nohp'])){
|
||||
$noPemb2 = $listDosen[$nipPemb2]['nohp'];
|
||||
array_push($listNomorWA, $listDosen[$nipPemb2]['nohp']);
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($nipPeng1) && isset($listDosen[$nipPeng1])){
|
||||
$namaPeng1 = $listDosen[$nipPeng1]['nmLengkap'];
|
||||
|
||||
if(!empty($listDosen[$nipPeng1]['nohp'])){
|
||||
$noPeng1 = $listDosen[$nipPeng1]['nohp'];
|
||||
array_push($listNomorWA, $listDosen[$nipPeng1]['nohp']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!empty($nipPeng2) && isset($listDosen[$nipPeng2])){
|
||||
$namaPeng2 = $listDosen[$nipPeng2]['nmLengkap'];
|
||||
|
||||
if(!empty($listDosen[$nipPeng2]['nohp'])){
|
||||
$noPeng2 = $listDosen[$nipPeng2]['nohp'];
|
||||
array_push($listNomorWA, $listDosen[$nipPeng2]['nohp']);
|
||||
}
|
||||
}
|
||||
|
||||
$isiNotif = "*KEPUTUSAN PENUNJUKKAN PENGUJI (SPOTA)*\n\nDosen penguji untuk skripsi mahasiswa *$namaMahasiswa / $nimMahasiswa* ($noHPMahasiswa) dengan judul *$judul* pada *$hariText, $todayDate* untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:\n\nPembimbing 1 (Ketua): *$namaPemb1* ($noPemb1)\nPembimbing 2 (Sekretaris) : *$namaPemb2* ($noPemb2)\nPenguji 1 : *$namaPeng1* ($noPeng1)\nPenguji 2 : *$namaPeng2* ($noPeng2)\n\n*SPOTA INFORMATIKA UNTAN*\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idPraoutline";
|
||||
}
|
||||
|
||||
$listNomorWA = array_values(array_unique($listNomorWA));
|
||||
|
||||
foreach($listNomorWA as $key => $val){
|
||||
if (empty($val)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$nomorWA = '62'.intval($val);
|
||||
$sql = "INSERT INTO tbl_notif_wa(toX,isiPesan, status) VALUES (:toX, :isiPesan, '0')";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':toX', $nomorWA);
|
||||
$stmt->bindParam(':isiPesan', $isiNotif);
|
||||
$stmt->execute();
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
[
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil mengupdate data penguji untuk data ini!!!',
|
||||
]
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user