Add consultation module assets and libraries
This commit is contained in:
107
konsultasi/API/datatable/data_tugas_akhir.php
Normal file
107
konsultasi/API/datatable/data_tugas_akhir.php
Normal 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);
|
||||
Reference in New Issue
Block a user