Files
spota-dev/dosen/API/list.data.judul.saya.php
Power BI Dev efdb11db3f Add SPOTA core PHP application
Add the main admin, dosen, mahasiswa, API, and service code needed to run the core legacy application with configurable upload storage.
2026-05-02 10:08:52 +07:00

136 lines
3.5 KiB
PHP

<?php
session_start();
include '../../steven/conf/koneksiPDO.php';
include '../../steven/conf/function.php';
$conn = new createCon();
$dbh = $conn->connect();
header('Content-Type: application/json');
if (!isset($_SESSION['login-dosen'])) {
echo json_encode(['status' => 403, 'msg' => 'Forbidden']);
exit;
}
$status = $_GET['status'];
$sumber = $_GET['sumber'];
$kk = "all";
if(isset($_GET['kk'])){
$kk = $_GET['kk'];
}
$idDosen = $_SESSION['login-dosen']['id'];
$whereDosen = "";
if($sumber == "0"){
$whereDosen = "WHERE idDosen = '$idDosen' ";
}
$sql = "SELECT * FROM tbdosen";
$stmt = $dbh->prepare($sql);
$stmt->execute();
$listNamaDosen = [];
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$listNamaDosen[$row['iddosen']] = $row['nmLengkap'];
}
$sql = "SELECT * FROM tb_kelompok_keahlian";
$stmt = $dbh->prepare($sql);
$stmt->execute();
$listKK = [];
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$listKK[$row['idKK']] = $row;
}
$sql = "SELECT tData.*, tbmhs.nim, tbmhs.nmLengkap FROM (SELECT * FROM tb_penawaran_judul LEFT JOIN (SELECT t.idPenawaranAmbil, t.idMhs, t.statusPengambilan, t.waktuPengambilan, t.waktuVerifikasi, r.maxWaktu
FROM (
SELECT idPenawaranAmbil, MAX(waktuPengambilan) as maxWaktu
FROM tb_ambil_judul
GROUP BY idPenawaranAmbil
) r
INNER JOIN tb_ambil_judul t
ON t.idPenawaranAmbil = r.idPenawaranAmbil AND t.waktuPengambilan = r.maxWaktu) as tAmbil ON tb_penawaran_judul.idPenawaran = tAmbil.idPenawaranAmbil $whereDosen) tData LEFT JOIN tbmhs ON tData.idMhs = tbmhs.idmhs ORDER BY waktuInput DESC";
$stmt = $dbh->prepare($sql);
$stmt->execute();
$listData = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$judul = $row['judul'];
$idPenawaran = $row['idPenawaran'];
$waktuInput = $row['waktuInput'];
$statusDb = $row['statusPengambilan'];
$namaMhs = $row['nmLengkap'];
$nimMhs = $row['nim'];
$deskripsi = $row['deskripsi'];
$kkDb = $row['kk'];
if($kk != "all"){
if($kk != $kkDb){
continue;
}
}
if($statusDb == "2"){
$namaMhs = null;
}
if($status != "Semua"){
if($status == "Belum Diambil"){
if(!($statusDb == null || $statusDb == "2")){
continue;
}
}
if($status == "Belum Diproses"){
if(!($statusDb == "0")){
continue;
}
}
if($status == "Diterima"){
if(!($statusDb == "1")){
continue;
}
}
}
$saya = false;
if($row['idDosen'] == $idDosen){
$saya = true;
}
$namaDosen = '-';
if(isset($listNamaDosen[$row['idDosen']])){
$namaDosen = $listNamaDosen[$row['idDosen']];
}
$labelKK = "<label class='label label-default'>-</label>";
if(isset($listKK[$kkDb])){
$warnaKK = $listKK[$kkDb]['warnaLabel'];
$namaKK = $listKK[$kkDb]['namaKK'];
$labelKK = "<label class='label label-$warnaKK'>$namaKK</label>";
}
array_push($listData, [
'id' => $idPenawaran,
'judul' => $judul,
'waktuInput' => date('d-m-Y H:i:s', strtotime($waktuInput)),
'status' => $statusDb,
'nama' => $namaMhs,
'nim' => $nimMhs,
'deskripsi' => $deskripsi,
'diuploadSaya' => $saya,
'namaDosen' => $namaDosen,
'kk' => $kkDb,
'label' => $labelKK,
]);
}
echo json_encode(utf8ize($listData));
?>