Files
spota-dev/steven/API/doxid_penunjukan_penguji.php

221 lines
7.1 KiB
PHP

<?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!!!',
]
);
}