add user id filter for table disposisi
This commit is contained in:
@@ -1,16 +1,38 @@
|
||||
<?php
|
||||
include("../koneksi.php");
|
||||
|
||||
// --- 1. AMBIL VARIABEL INPUT & TENTUKAN BATASAN KHUSUS ---
|
||||
|
||||
$satuan_kerja_id=$_POST['satker'];
|
||||
$jenis_user=$_POST['jenis'];
|
||||
|
||||
// Dapatkan ID user dari AJAX/POST. PENTING: Sesuaikan jika Anda mengambil dari $_SESSION.
|
||||
$id_user_login = isset($_POST['cek_data_user_id']) ? $_POST['cek_data_user_id'] : null;
|
||||
|
||||
if ($jenis_user=='Admin') {
|
||||
$disp_pros=$_POST['disp_pros'];
|
||||
} else {
|
||||
$disp_kpl=$_POST['disp_kpl'];
|
||||
$disp_sifat=strtolower($_POST['disp_sifat']);
|
||||
$disp_sifat=strtolower($_POST['disp_sifat']);
|
||||
}
|
||||
$bln2=$_POST['bln2'];
|
||||
$thn2=$_POST['thn2'];
|
||||
|
||||
// Logika Pembatasan Akses Tanggal
|
||||
// GANTI 'USER_1', 'USER_2', dst. dengan ID User yang sebenarnya
|
||||
$users_izin_spesifik = array('313', '314');
|
||||
$tgl_mulai_izin = '2025-10-23'; // Format PostgreSQL: YYYY-MM-DD
|
||||
$tgl_akhir_izin = '2025-10-29'; // Format PostgreSQL: YYYY-MM-DD
|
||||
|
||||
$pembatasan_user = "";
|
||||
|
||||
// Cek apakah user yang login termasuk dalam daftar yang dibatasi
|
||||
if (in_array($id_user_login, $users_izin_spesifik)) {
|
||||
// Jika termasuk, tambahkan kondisi WHERE untuk HANYA menampilkan data di rentang tanggal tersebut
|
||||
// 's.tgl_diterima' diasumsikan sebagai kolom tanggal yang relevan di tabel surat
|
||||
$pembatasan_user = " AND s.tgl_diterima BETWEEN '$tgl_mulai_izin' AND '$tgl_akhir_izin'";
|
||||
}
|
||||
|
||||
if ($jenis_user=='Admin') {$nb=',COUNT(kx.kepada)';$nb1='LEFT OUTER JOIN (SELECT k3.* FROM kirim k3 WHERE k3.id IS NOT NULL) kx ON (s.id=kx.surat_id)';} else {$nb='';$nb1='';}
|
||||
?>
|
||||
|
||||
@@ -28,201 +50,143 @@ var cek_data_user_id = $('#cek_data_user_id').val();
|
||||
<input type="hidden" id="disp_bln" value="<?php echo $bln2; ?>">
|
||||
<input type="hidden" id="disp_thn" value="<?php echo $thn2; ?>">
|
||||
|
||||
<table id="tabel_data_smasuk" class="table table-striped table-condensed table-bordered" cellpadding="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<td width="220px;">Dari</td>
|
||||
<td width="100px;">Tgl Surat</td>
|
||||
<td width="100px;">Diterima</td>
|
||||
<td width="80px;">No Surat</td>
|
||||
<td>Perihal</td>
|
||||
<td width="50px;">Sifat</td>
|
||||
<td width="100px;">No Agenda</td>
|
||||
<td width="50px;">Tools</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color:black">
|
||||
<?php
|
||||
|
||||
/* ====== terbaRU
|
||||
<table id="tabel_data_smasuk" class="table table-striped table-condensed table-bordered" cellpadding="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<td width="220px;">Dari</td>
|
||||
<td width="100px;">Tgl Surat</td>
|
||||
<td width="100px;">Diterima</td>
|
||||
<td width="80px;">No Surat</td>
|
||||
<td>Perihal</td>
|
||||
<td width="50px;">Sifat</td>
|
||||
<td width="100px;">No Agenda</td>
|
||||
<td width="50px;">Tools</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color:black">
|
||||
<?php
|
||||
|
||||
/* * Query PostgreSQL
|
||||
* Penambahan variabel $pembatasan_user di klausa WHERE
|
||||
*/
|
||||
$data=pg_query("SELECT s.surat_dari,s.no_surat,s.perihal,(SELECT j.jenis FROM jenis_disposisi j WHERE j.id=s.jenis_disposisi_id),
|
||||
s.no_agenda,s.sm_baca,s.id,
|
||||
(SELECT f.sifat FROM sifat_surat f WHERE f.id=s.sifat_surat_id),s.tgl_surat_masuk,s.tgl_diterima,
|
||||
(SELECT kode FROM kode WHERE id=s.kode_id),
|
||||
s.tgl_surat_masuk,s.tgl_diterima,
|
||||
MAX(k.tgl_input),COUNT(kx.kepada)
|
||||
FROM surat s
|
||||
LEFT OUTER JOIN (SELECT k3.* FROM kirim k3 LEFT OUTER JOIN surat s3 ON (s3.id=k3.surat_id)
|
||||
WHERE s3.jenis_disposisi_id=1) k ON (s.id=k.surat_id)
|
||||
LEFT OUTER JOIN (SELECT k3.* FROM kirim k3 WHERE
|
||||
".($jenis_user == 'Admin' ? "k3.id IS NOT NULL" : " k3.satuan_kerja_tujuan='$satuan_kerja_id'")."
|
||||
) kx ON (s.id=kx.surat_id)
|
||||
LEFT OUTER JOIN arsip a ON (a.surat_id=s.id)
|
||||
WHERE k.satuan_kerja_tujuan='$satuan_kerja_id' AND a.id IS NULL
|
||||
AND s.jenis_disposisi_id='1'
|
||||
".($thn2 == '' ? "" : "AND EXTRACT(YEAR FROM DATE(s.tgl_diterima))='$thn2'")."
|
||||
".($bln2 == '0' ? "" : "AND EXTRACT(MONTH FROM DATE(s.tgl_diterima))='$bln2'")."
|
||||
".($jenis_user == 'Admin' ? "" : "
|
||||
".($disp_sifat == 'all' ? "" : " AND (SELECT LOWER(f.sifat) FROM sifat_surat f WHERE f.id=s.sifat_surat_id)='$disp_sifat'")."
|
||||
")."
|
||||
".($jenis_user == 'Admin' ? "" : " AND k.dis_baca IS NULL AND k.kepada IS NOT NULL")."
|
||||
".($jenis_user == 'Admin' ? "" : "
|
||||
".($disp_kpl == 'ALL' ? "" : "
|
||||
".($disp_kpl == 'UNTUK DIARAHKAN' ? "AND LEFT(k.isi,1) != ('#')" : "AND LEFT(k.isi,1) = ('#')")."
|
||||
")."
|
||||
")."
|
||||
s.no_agenda,s.sm_baca,s.id,
|
||||
(SELECT f.sifat FROM sifat_surat f WHERE f.id=s.sifat_surat_id),s.tgl_surat_masuk,s.tgl_diterima,
|
||||
(SELECT kode FROM kode WHERE id=s.kode_id),
|
||||
s.tgl_surat_masuk,s.tgl_diterima,
|
||||
MAX(k.tgl_input)".$nb."
|
||||
FROM surat s
|
||||
LEFT OUTER JOIN (SELECT k3.* FROM kirim k3 LEFT OUTER JOIN surat s3 ON (s3.id=k3.surat_id)
|
||||
WHERE s3.jenis_disposisi_id=1) k ON (s.id=k.surat_id)
|
||||
".$nb1."
|
||||
LEFT OUTER JOIN arsip a ON (a.surat_id=s.id)
|
||||
WHERE k.satuan_kerja_tujuan='$satuan_kerja_id' AND a.id IS NULL
|
||||
AND s.jenis_disposisi_id='1'
|
||||
".($thn2 == '' ? "" : "AND EXTRACT(YEAR FROM DATE(s.tgl_diterima))='$thn2'")."
|
||||
".($bln2 == '0' ? "" : "AND EXTRACT(MONTH FROM DATE(s.tgl_diterima))='$bln2'")."
|
||||
".($jenis_user == 'Admin' ? "" : "
|
||||
".($disp_sifat == 'all' ? "" : " AND (SELECT LOWER(f.sifat) FROM sifat_surat f WHERE f.id=s.sifat_surat_id)='$disp_sifat'")."
|
||||
")."
|
||||
".($jenis_user == 'Admin' ? "" : " AND k.dis_baca IS NULL AND k.kepada IS NOT NULL")."
|
||||
".($jenis_user == 'Admin' ? "" : "
|
||||
".($disp_kpl == 'ALL' ? "" : "
|
||||
".($disp_kpl == 'UNTUK DIARAHKAN' ? "AND LEFT(k.isi,1) != ('#')" : "AND LEFT(k.isi,1) = ('#')")."
|
||||
")."
|
||||
")."
|
||||
|
||||
// --- SISIPAN VARIABEL PEMBATASAN USER ID & TANGGAL ---
|
||||
".$pembatasan_user."
|
||||
// ----------------------------------------------------
|
||||
|
||||
GROUP BY
|
||||
s.surat_dari,s.no_surat,s.perihal,(SELECT j.jenis FROM jenis_disposisi j WHERE j.id=s.jenis_disposisi_id),
|
||||
s.no_agenda,s.sm_baca,s.id,
|
||||
(SELECT f.sifat FROM sifat_surat f WHERE f.id=s.sifat_surat_id),s.tgl_surat_masuk,s.tgl_diterima,
|
||||
(SELECT kode FROM kode WHERE id=s.kode_id),
|
||||
s.tgl_surat_masuk,s.tgl_diterima
|
||||
".($jenis_user == 'Admin' ? "
|
||||
".($disp_pros == 'ALL' ? "" : "
|
||||
".($disp_pros == 'BELUM PROSES' ? "
|
||||
HAVING COUNT(kx.kepada)=0
|
||||
" : "
|
||||
HAVING COUNT(kx.kepada)>0
|
||||
")."
|
||||
")."
|
||||
" : "")."
|
||||
s.no_agenda,s.sm_baca,s.id,
|
||||
(SELECT f.sifat FROM sifat_surat f WHERE f.id=s.sifat_surat_id),s.tgl_surat_masuk,s.tgl_diterima,
|
||||
(SELECT kode FROM kode WHERE id=s.kode_id),
|
||||
s.tgl_surat_masuk,s.tgl_diterima
|
||||
".($jenis_user == 'Admin' ? "
|
||||
".($disp_pros == 'ALL' ? "" : "
|
||||
".($disp_pros == 'BELUM PROSES' ? "
|
||||
HAVING COUNT(kx.kepada)=0
|
||||
" : "
|
||||
HAVING COUNT(kx.kepada)>0
|
||||
")."
|
||||
")."
|
||||
" : "")."
|
||||
|
||||
".($jenis_user == 'Admin' ? "ORDER BY s.id DESC" : "
|
||||
ORDER BY MAX(k.tgl_input) ASC
|
||||
")."
|
||||
");
|
||||
|
||||
".($jenis_user == 'Admin' ? "ORDER BY s.id DESC" : "
|
||||
ORDER BY MAX(k.tgl_input) ASC
|
||||
")."
|
||||
");
|
||||
*/
|
||||
while($r=pg_fetch_array($data)) {
|
||||
|
||||
|
||||
|
||||
?>
|
||||
<tr
|
||||
<?php
|
||||
if ($jenis_user=='Admin') {
|
||||
if ($r[14]==0) {
|
||||
echo "style='color:red;'";
|
||||
} else {}
|
||||
} else {
|
||||
if (strtolower($r[7])=='amat segera') {
|
||||
echo "style='color:red;'";
|
||||
} else {}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$data=pg_query("SELECT s.surat_dari,s.no_surat,s.perihal,(SELECT j.jenis FROM jenis_disposisi j WHERE j.id=s.jenis_disposisi_id),
|
||||
s.no_agenda,s.sm_baca,s.id,
|
||||
(SELECT f.sifat FROM sifat_surat f WHERE f.id=s.sifat_surat_id),s.tgl_surat_masuk,s.tgl_diterima,
|
||||
(SELECT kode FROM kode WHERE id=s.kode_id),
|
||||
s.tgl_surat_masuk,s.tgl_diterima,
|
||||
MAX(k.tgl_input)".$nb."
|
||||
FROM surat s
|
||||
LEFT OUTER JOIN (SELECT k3.* FROM kirim k3 LEFT OUTER JOIN surat s3 ON (s3.id=k3.surat_id)
|
||||
WHERE s3.jenis_disposisi_id=1) k ON (s.id=k.surat_id)
|
||||
".$nb1."
|
||||
LEFT OUTER JOIN arsip a ON (a.surat_id=s.id)
|
||||
WHERE k.satuan_kerja_tujuan='$satuan_kerja_id' AND a.id IS NULL
|
||||
AND s.jenis_disposisi_id='1'
|
||||
".($thn2 == '' ? "" : "AND EXTRACT(YEAR FROM DATE(s.tgl_diterima))='$thn2'")."
|
||||
".($bln2 == '0' ? "" : "AND EXTRACT(MONTH FROM DATE(s.tgl_diterima))='$bln2'")."
|
||||
".($jenis_user == 'Admin' ? "" : "
|
||||
".($disp_sifat == 'all' ? "" : " AND (SELECT LOWER(f.sifat) FROM sifat_surat f WHERE f.id=s.sifat_surat_id)='$disp_sifat'")."
|
||||
")."
|
||||
".($jenis_user == 'Admin' ? "" : " AND k.dis_baca IS NULL AND k.kepada IS NOT NULL")."
|
||||
".($jenis_user == 'Admin' ? "" : "
|
||||
".($disp_kpl == 'ALL' ? "" : "
|
||||
".($disp_kpl == 'UNTUK DIARAHKAN' ? "AND LEFT(k.isi,1) != ('#')" : "AND LEFT(k.isi,1) = ('#')")."
|
||||
")."
|
||||
")."
|
||||
|
||||
GROUP BY
|
||||
s.surat_dari,s.no_surat,s.perihal,(SELECT j.jenis FROM jenis_disposisi j WHERE j.id=s.jenis_disposisi_id),
|
||||
s.no_agenda,s.sm_baca,s.id,
|
||||
(SELECT f.sifat FROM sifat_surat f WHERE f.id=s.sifat_surat_id),s.tgl_surat_masuk,s.tgl_diterima,
|
||||
(SELECT kode FROM kode WHERE id=s.kode_id),
|
||||
s.tgl_surat_masuk,s.tgl_diterima
|
||||
".($jenis_user == 'Admin' ? "
|
||||
".($disp_pros == 'ALL' ? "" : "
|
||||
".($disp_pros == 'BELUM PROSES' ? "
|
||||
HAVING COUNT(kx.kepada)=0
|
||||
" : "
|
||||
HAVING COUNT(kx.kepada)>0
|
||||
")."
|
||||
")."
|
||||
" : "")."
|
||||
|
||||
".($jenis_user == 'Admin' ? "ORDER BY s.id DESC" : "
|
||||
ORDER BY MAX(k.tgl_input) ASC
|
||||
")."
|
||||
");
|
||||
|
||||
while($r=pg_fetch_array($data)) {
|
||||
|
||||
|
||||
|
||||
?>
|
||||
<tr
|
||||
<?php
|
||||
/* if ($jenis_user=='Admin') {
|
||||
if ($r[13]==NULL) {
|
||||
echo "style='color:red;'";
|
||||
} else {}
|
||||
} else {
|
||||
if (strtolower($r[7])=='amat segera') {
|
||||
echo "style='color:red;'";
|
||||
} else {}
|
||||
}*/
|
||||
if ($jenis_user=='Admin') {
|
||||
if ($r[14]==0) {
|
||||
echo "style='color:red;'";
|
||||
} else {}
|
||||
} else {
|
||||
if (strtolower($r[7])=='amat segera') {
|
||||
echo "style='color:red;'";
|
||||
} else {}
|
||||
}
|
||||
?>
|
||||
>
|
||||
<td style="word-wrap: break-word;min-width: 160px;max-width: 160px;font-family:'InterSB'" class="kiri"><?php echo $r['surat_dari']; ?></td>
|
||||
<td align="center"><?php if ($r['tgl_surat_masuk']==null) {} else {echo date('d-m-Y',strtotime($r['tgl_surat_masuk']));} ?></td>
|
||||
<td align="center"><?php if (date('H:i',strtotime($r['jam_diterima']))=='07:00') {
|
||||
echo date('d-m-Y',strtotime($r['tgl_diterima']));
|
||||
} else {
|
||||
echo date('d-m-Y',strtotime($r['tgl_diterima'])).' '.date('H:i',strtotime($r['jam_diterima']));
|
||||
} ?></td>
|
||||
<td width="110px;"><?php echo $r['no_surat']; ?></td>
|
||||
<td style="word-wrap: break-word;min-width: 160px;max-width: 160px;"><?php echo $r['perihal']; ?></td>
|
||||
<!--<td width="50px;"><?php echo current(explode(' ',$r[3])); ?></td>-->
|
||||
<td width="50px;"><?php echo $r[7]; ?></td>
|
||||
<td width="80px;" style="font-family:'InterSB'"><?php
|
||||
$no_pinjam=(int) substr($r['no_agenda'],0,5);
|
||||
$no_agenda=sprintf("%05s",$no_pinjam);
|
||||
/* echo $r[10].'/'.$no_agenda.'/302/'.date('Y',strtotime($r['tgl_diterima'])); */
|
||||
echo $r[10].'/'.$no_agenda.'/102.7/'.date('Y',strtotime($r['tgl_diterima']));
|
||||
?></td>
|
||||
<td class="kanan" align="center">
|
||||
<?php if ($jenis_user=='Admin') { ?>
|
||||
<button type="button" name="edit_disposisi" style="height:22px;"class="btn btn-primary btn-xs edit_disposisi" id="<?php echo $r['id'];?>" data-content="Edit" rel="popover" data-placement="top" data-trigger="hover"
|
||||
>
|
||||
<i class="fa fa-pencil"></i>
|
||||
</button>
|
||||
<?php } ?>
|
||||
<button type="button" name="proses_disposisi" style="height:22px;"class="btn btn-success btn-xs proses_disposisi" id="<?php echo $r['id'];?>" data-content="Proses Disposisi" rel="popover" data-placement="top" data-trigger="hover"
|
||||
>
|
||||
<i class="fa fa-arrow-right"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
?>
|
||||
>
|
||||
<td style="word-wrap: break-word;min-width: 160px;max-width: 160px;font-family:'InterSB'" class="kiri"><?php echo $r['surat_dari']; ?></td>
|
||||
<td align="center"><?php if ($r['tgl_surat_masuk']==null) {} else {echo date('d-m-Y',strtotime($r['tgl_surat_masuk']));} ?></td>
|
||||
<td align="center"><?php if (isset($r['jam_diterima']) && date('H:i',strtotime($r['jam_diterima']))=='07:00') {
|
||||
echo date('d-m-Y',strtotime($r['tgl_diterima']));
|
||||
} else {
|
||||
echo date('d-m-Y',strtotime($r['tgl_diterima'])).(isset($r['jam_diterima']) ? ' '.date('H:i',strtotime($r['jam_diterima'])) : '');
|
||||
} ?></td>
|
||||
<td width="110px;"><?php echo $r['no_surat']; ?></td>
|
||||
<td style="word-wrap: break-word;min-width: 160px;max-width: 160px;"><?php echo $r['perihal']; ?></td>
|
||||
<td width="50px;"><?php echo $r[7]; ?></td>
|
||||
<td width="80px;" style="font-family:'InterSB'"><?php
|
||||
$no_pinjam=(int) substr($r['no_agenda'],0,5);
|
||||
$no_agenda=sprintf("%05s",$no_pinjam);
|
||||
echo $r[10].'/'.$no_agenda.'/102.7/'.date('Y',strtotime($r['tgl_diterima']));
|
||||
?></td>
|
||||
<td class="kanan" align="center">
|
||||
<?php if ($jenis_user=='Admin') { ?>
|
||||
<button type="button" name="edit_disposisi" style="height:22px;"class="btn btn-primary btn-xs edit_disposisi" id="<?php echo $r['id'];?>" data-content="Edit" rel="popover" data-placement="top" data-trigger="hover"
|
||||
>
|
||||
<i class="fa fa-pencil"></i>
|
||||
</button>
|
||||
<?php } ?>
|
||||
<button type="button" name="proses_disposisi" style="height:22px;"class="btn btn-success btn-xs proses_disposisi" id="<?php echo $r['id'];?>" data-content="Proses Disposisi" rel="popover" data-placement="top" data-trigger="hover"
|
||||
>
|
||||
<i class="fa fa-arrow-right"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$("#tabel_data_smasuk").on('click','.proses_disposisi',function(){
|
||||
var id = $(this).attr('id');
|
||||
var jenis = $('#jenis').val();
|
||||
var cek_satker = $('#cek_satker').val();
|
||||
var disp_bln = $('#disp_bln').val();
|
||||
var disp_thn = $('#disp_thn').val();
|
||||
$.post('app/disposisi/arahan/main.php',{surat_id : id, jenis:jenis, cek_data_user_id:cek_data_user_id, cek_satker:cek_satker, disp_bln:disp_bln, disp_thn:disp_thn},function(html){$("#main_tag").html(html);});
|
||||
});
|
||||
|
||||
$("#tabel_data_smasuk").on('click','.edit_disposisi',function(){
|
||||
var id = $(this).attr('id');
|
||||
var jenis = $('#jenis').val();
|
||||
$.post('app/smasuk/main.php',{surat_id : id, jenis:jenis},function(html){$("#main_tag").html(html);});
|
||||
});
|
||||
|
||||
$("#tabel_data_smasuk").on('click','.proses_disposisi',function(){
|
||||
var id = $(this).attr('id');
|
||||
var jenis = $('#jenis').val();
|
||||
var cek_satker = $('#cek_satker').val();
|
||||
var disp_bln = $('#disp_bln').val();
|
||||
var disp_thn = $('#disp_thn').val();
|
||||
$.post('app/disposisi/arahan/main.php',{surat_id : id, jenis:jenis, cek_data_user_id:cek_data_user_id, cek_satker:cek_satker, disp_bln:disp_bln, disp_thn:disp_thn},function(html){$("#main_tag").html(html);});
|
||||
});
|
||||
|
||||
$("#tabel_data_smasuk").on('click','.edit_disposisi',function(){
|
||||
var id = $(this).attr('id');
|
||||
var jenis = $('#jenis').val();
|
||||
$.post('app/smasuk/main.php',{surat_id : id, jenis:jenis},function(html){$("#main_tag").html(html);});
|
||||
});
|
||||
|
||||
</script>
|
||||
</script>
|
||||
Reference in New Issue
Block a user