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,226 @@
<?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'];
$verif = $_GET['verif'];
$searchText = '%'.$search.'%';
$conn = new createCon();
$dbh = $conn->connect();
$connBio = new createCon();
$dbhBio = $connBio->connectDbBio();
$connDosen = new createCon();
$dbhDosen = $connDosen->connectDbDosen();
if (!isset($_SESSION['konsulDosen'])) {
echo getUnauthorizedMessage();
exit();
}
$whereVerif = '';
if (!($verif == 'all')) {
$verif = intval($verif);
$whereVerif = " AND setuju = '$verif' ";
if (isset($_GET['kp'])) {
$whereVerif = " AND proposalApproved = '$verif' ";
}
}
$nipDosen = $_SESSION['konsulDosen']['nip'];
$sql = 'SELECT * FROM dosen';
$stmt = $dbhDosen->prepare($sql);
$stmt->execute();
$listDosen = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$listDosen[$row['id_dosen']] = $row['nama_dosen'];
}
$sql = 'SELECT * FROM dosen WHERE nip = :nip';
$stmt = $dbhDosen->prepare($sql);
$stmt->bindParam(':nip', $nipDosen);
$stmt->execute();
if ($stmt->rowCount() == 0) {
echo getDataNotFoundMessage();
exit();
}
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$idDosen = $row['id_dosen'];
}
$whereJenisDosen = "AND (id_dosen_pa = '$idDosen' OR pembimbingLapangan = '$idDosen')";
if (isset($_GET['pa'])) {
$whereJenisDosen = "AND id_dosen_pa = '$idDosen'";
}
if (isset($_GET['kp'])) {
$whereJenisDosen = "AND pembimbingLapangan = '$idDosen'";
}
$sql = "SELECT kerja_praktek.*, nama_lengkap, id_dosen_pa, no_telp, no_hp, email FROM kerja_praktek LEFT JOIN bio_mahasiswa ON kerja_praktek.nim = bio_mahasiswa.nim WHERE (nama_lengkap LIKE :search OR kerja_praktek.nim LIKE :search2) $whereJenisDosen $whereVerif";
$stmt = $dbhBio->prepare($sql);
$stmt->bindParam(':search', $searchText);
$stmt->bindParam(':search2', $searchText);
$stmt->execute();
$totalData = $stmt->rowCount();
$sqlLimit = "SELECT kerja_praktek.*, nama_lengkap, id_dosen_pa, no_telp, no_hp, email FROM kerja_praktek LEFT JOIN bio_mahasiswa ON kerja_praktek.nim = bio_mahasiswa.nim WHERE (nama_lengkap LIKE :search OR kerja_praktek.nim LIKE :search2) $whereJenisDosen $whereVerif ORDER BY waktuInput DESC LIMIT $start, $length";
$stmt = $dbhBio->prepare($sqlLimit);
$stmt->bindParam(':search', $searchText);
$stmt->bindParam(':search2', $searchText);
$stmt->execute();
$data = [];
$no = 1;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$noPushed = $start + $no;
$idKerjaPraktek = convertKosong($row['idKerjaPraktek']);
$semester = convertKosong($row['semester']);
$tahun = convertKosong($row['tahun']);
$instansi = convertKosong($row['namaInstansi']);
$alamatInstansi = convertKosong($row['alamatInstansi']);
$idDosenPA = $row['id_dosen_pa'];
$topik = convertKosong($row['topik']);
$pimpinan = convertKosong($row['namaPimpinan']);
$pembimbing = convertKosong($row['pembimbingLapangan']);
$alamatInstansi = convertKosong($row['alamatInstansi']);
$noTelp = convertKosong($row['no_telp']);
$noHP = convertKosong($row['no_hp']);
$email = convertKosong($row['email']);
$proposalApproved = $row['proposalApproved'];
$catatanProposalKP = '';
if (isset($_GET['kp'])) {
$catatanProposalKP = $row['catatanRevisiProposal'];
}
$fileProposal = $row['proposal'];
if ($fileProposal != null && $fileProposal != '') {
$fileProposal = "../../biodata/berkas/$fileProposal";
}
$pembimbingKP = false;
if ($pembimbing === $idDosen) {
$pembimbingKP = true;
}
$pembimbingPA = false;
if ($idDosenPA === $idDosen) {
$pembimbingPA = true;
}
if (isset($listDosen[$pembimbing])) {
$namaPembimbing = $listDosen[$pembimbing];
} else {
$namaPembimbing = '-';
}
if ($pembimbing == '0') {
$namaPembimbing = 'Belum Ditentukan';
}
$narahubung = convertKosong($row['naraHubung']);
$telpNarahubung = convertKosong($row['telpNarahubung']);
$deskripsiKP = convertKosong($row['deskripsiKP']);
$catatanKajur = convertKosong($row['catatanKajur']);
$waktuInput = convertKosong($row['waktuInput']);
$setuju = convertKosong($row['setuju']);
$timestampSetuju = convertKosong($row['timestampSetuju']);
$setujuAdmin = convertKosong($row['setujuAdmin']);
$timestampSetujuAdmin = convertKosong($row['timestampSetujuAdmin']);
$catatanPA = $row['catatanPA'];
$dateTimeInput = '-';
if ($waktuInput !== '0') {
$dateTimeInput = date('d-m-Y H:i:s', $waktuInput);
}
$dateTimeSetuju = '-';
if ($timestampSetuju !== '0') {
$dateTimeSetuju = date('d-m-Y H:i:s', $timestampSetuju);
}
$dateTimeSetujuAdmin = '-';
if ($timestampSetujuAdmin !== '0') {
$dateTimeSetujuAdmin = date('d-m-Y H:i:s', $timestampSetujuAdmin);
}
$namaMahasiswa = $row['nama_lengkap'];
$nim = $row['nim'];
$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,
$topik,
$instansi,
$semester,
$tahun,
$namaPembimbing,
$setuju,
$idKerjaPraktek,
$narahubung,
$telpNarahubung,
$deskripsiKP,
$catatanKajur,
$dateTimeInput,
$dateTimeSetuju,
$pimpinan,
$alamatInstansi,
$setujuAdmin,
$namaMahasiswa,
$nim,
$catatanPA,
$pembimbingKP,
$pembimbingPA,
$dateTimeSetujuAdmin,
$proposalApproved,
$fileProposal,
$catatanProposalKP,
intval($row['lanjutanDari']),
$noTelp,
$noHP,
$email,
]
);
++$no;
}
$recordsTotal = $totalData;
$res = [];
$res['draw'] = $draw;
$res['recordsTotal'] = $recordsTotal;
$res['recordsFiltered'] = $recordsTotal;
$res['data'] = $data;
echo json_encode($res);