Add consultation module assets and libraries

This commit is contained in:
Power BI Dev
2026-05-02 10:11:07 +07:00
parent a52c2a8462
commit 5fb1151fea
1239 changed files with 392281 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
<?php
session_start();
include '../../conf/koneksiPDO.php';
include '../../conf/function.php';
header('Content-Type: application/json');
$search = $_GET['search']['value'];
$length = intval($_GET['length']);
$start = intval($_GET['start']);
$draw = $_GET['draw'];
$orderBy = $_GET['orderBy'];
$searchText = '%'.$search.'%';
$conn = new createCon();
$dbh = $conn->connect();
if (!isset($_SESSION['konsulDosen'])) {
echo getUnauthorizedMessage();
exit();
}
$orderQ = '';
switch ($orderBy) {
case 'judulTerbaru': $orderQ = ' ORDER BY tugas_akhir.idTugasAkhir DESC '; break;
case 'konsultasiTerbaru': $orderQ = ' ORDER BY waktuTerakhirKonsul DESC '; break;
case 'konsultasiTerlama': $orderQ = ' ORDER BY waktuTerakhirKonsul ASC '; break;
}
$whereSelesai = '';
if (isset($_GET['selesai'])) {
$selesai = $_GET['selesai'];
if ($selesai != 'all') {
$selesai = intval($selesai);
$whereSelesai = " AND selesai = '$selesai' ";
}
}
$nipDosen = $_SESSION['konsulDosen']['nip'];
$sql = "SELECT * FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim LEFT JOIN (SELECT * FROM konsultasi GROUP BY idTugasAkhir) t ON tugas_akhir.idTugasAkhir = t.idTugasAkhir WHERE (pemb1 = '$nipDosen' OR pemb2 = '$nipDosen') AND (judul LIKE :search OR nama LIKE :search2 OR tugas_akhir.nim LIKE :search3) AND keputusan = '1' $whereSelesai";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':search', $searchText);
$stmt->bindParam(':search2', $searchText);
$stmt->bindParam(':search3', $searchText);
$stmt->execute();
$totalData = $stmt->rowCount();
$sqlLimit = "SELECT tugas_akhir.idTugasAkhir, judul, nama, tugas_akhir.nim, semester, waktuTerakhirKonsul, selesai FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim LEFT JOIN (SELECT idTugasAkhir, MAX(timestamp) AS waktuTerakhirKonsul FROM konsultasi GROUP BY idTugasAkhir) t ON tugas_akhir.idTugasAkhir = t.idTugasAkhir WHERE (pemb1 = '$nipDosen' OR pemb2 = '$nipDosen') AND (judul LIKE :search OR nama LIKE :search2 OR tugas_akhir.nim LIKE :search3) AND keputusan = '1' $whereSelesai $orderQ LIMIT $start, $length";
$stmt = $dbh->prepare($sqlLimit);
$stmt->bindParam(':search', $searchText);
$stmt->bindParam(':search2', $searchText);
$stmt->bindParam(':search3', $searchText);
$stmt->execute();
$data = [];
$no = 1;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$noPushed = $start + $no;
$idTA = $row['idTugasAkhir'];
$judul = $row['judul'];
$nama = $row['nama'];
$nim = $row['nim'];
$semester = $row['semester'];
$waktuTerakhirKonsul = $row['waktuTerakhirKonsul'];
if ($waktuTerakhirKonsul == '') {
$diffDay = '';
$terakhirKonsulText = '-';
} else {
$timeAwal = intval($waktuTerakhirKonsul);
$timeAkhir = time();
$datediff = $timeAkhir - $timeAwal;
$diffDay = round($datediff / (60 * 60 * 24));
if ($diffDay < 0) {
$diffDay = 0;
}
$terakhirKonsulText = date('d-m-Y', $waktuTerakhirKonsul).'<br>('.$diffDay.' Hari)';
}
array_push($data, [
$noPushed,
$judul,
$nama.'<br>NIM <b>'.$nim.'</b>',
$semester,
$terakhirKonsulText,
$idTA,
intval($row['selesai']),
]
);
++$no;
}
$recordsTotal = $totalData;
$res = [];
$res['draw'] = $draw;
$res['recordsTotal'] = $recordsTotal;
$res['recordsFiltered'] = $recordsTotal;
$res['data'] = $data;
echo json_encode($res);