update: penggunaan periode bulan dan tahun aktif sebagai acuan data tampilan tabel dan dashboard

This commit is contained in:
2026-05-06 13:02:24 +07:00
parent 3f06971165
commit fdf81fe722
16 changed files with 232 additions and 390 deletions
+17 -8
View File
@@ -6,7 +6,7 @@
Desc. : PHP - Halaman Utama Desktop
Created By : Siau Pheng ([email protected]).
Created Date : May 24th, 2010.
Last Modified : April 19th, 2026.
Last Modified : May 6th, 2026.
(c) 2010 - 2026, 3FONIA Software; WWW.3FONIA.COM.
@@ -31,6 +31,8 @@ $db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = $_SESSION['__WEB_APP']['REAL_THN'] ?? 0;
$bulan = $_SESSION['__WEB_APP']['REAL_BLN'];
$field_map = $_SESSION['__WEB_APP']['REAL_FIELD'];
$aapp = $_SESSION['__WEB_APP'];
if ( $data == "periode-show" ) {
@@ -38,10 +40,15 @@ if ( $data == "periode-show" ) {
if ($tahun == 0 || Param::Get("reset", 0) == 1) {
$form = new Form($db);
$lthn = $form->option("_", "OPTION_THN", $tahun, true, false, tahun_ang());
$lbln = $form->option("_", "OPTION_BLN", $bulan, true, false, bulan_array());
$ajson['aktif'] = 0;
$ajson['html'] = '
<div class="row mb-1">
<label class="col-sm-5 col-lg-4 col-form-label" for="OPTION_THN">Tahun Anggaran</label>
<label class="col-sm-5 col-lg-4 col-form-label" for="OPTION_BLN">Bulan Data</label>
<div class="col">'.$lbln.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-4 col-form-label" for="OPTION_THN">Tahun Data</label>
<div class="col">'.$lthn.'</div>
</div>';
}
@@ -50,17 +57,19 @@ if ( $data == "periode-show" ) {
// penyimpanan periode tahun dan bulan login !
$alogin = $_SESSION['__WEB_APP'];
$alogin['REAL_THN'] = Param::Get("OPTION_THN", $alogin['REAL_THN']);
$alogin['REAL_BLN'] = Param::Get("OPTION_BLN", $alogin['REAL_BLN']);
// mapping tahun nomenklatur submap
$alogin['SUBMAP_TAHUN'] = map_tahun_submap($alogin['REAL_THN']);
$alogin['REAL_FIELD'] = "_".isi_nol($alogin['REAL_BLN'], 2);
$_SESSION['__WEB_APP'] = $alogin;
$ajson['sukses'] = 1;
} else if ( $data == "periode-info") {
$ajson = ['html'=>'<a class="nav-link" onclick="IndexJS.periode_show(1);"><i class="icon bi-calendar"></i></a>'];
$ajson = ['html'=>'<a class="nav-link" onclick="IndexJS.periode_show(1);"><i class="bi-calendar"></i></a>'];
if ($tahun > 0) {
$txtinfo = "TA " . $tahun;
$ajson['html'] = '<a class="nav-link text-info fw-bolder" title="'.$txtinfo.'" onclick="IndexJS.periode_show(1);"><i class="icon me-2 bi-calendar-check"></i>'.$txtinfo.'</a>';
$txtinfo = bulan_array()[$bulan] .' '.$tahun;
$ajson['html'] = '<a class="nav-link text-info fw-bolder" title="'.$txtinfo.'" onclick="IndexJS.periode_show(1);"><i class="me-2 bi-calendar-check"></i>'.$txtinfo.'</a>';
}
} else if ( $data == "json-map" ) {
@@ -70,10 +79,10 @@ if ( $data == "periode-show" ) {
} else if ( $data == "chart-map" ) {
$tot_pagu = 0; $ajson['data'] = [];
$db->Query("SELECT SUM(Rupiah) Pagu FROM sapi_keg WHERE Tahun='".$tahun."'");
$db->Query("SELECT SUM(Rupiah".$field_map.") Pagu FROM sapi_keg WHERE Tahun='".$tahun."'");
if ($db->Next()) $tot_pagu = $db->Row("Pagu", 0);
$db->Query("SELECT IFNULL(L.LokasiID,0) LokasiID,A.Pagu FROM (SELECT KecID,SUM(Rupiah) Pagu FROM sapi_keg WHERE Tahun='".$tahun."' GROUP BY KecID) A LEFT JOIN para_lokasi L ON (L.LokasiID=A.KecID)");
$db->Query("SELECT IFNULL(L.LokasiID,0) LokasiID,A.Pagu FROM (SELECT KecID,SUM(Rupiah".$field_map.") Pagu FROM sapi_keg WHERE Tahun='".$tahun."' GROUP BY KecID) A LEFT JOIN para_lokasi L ON (L.LokasiID=A.KecID)");
while ($db->Next()) {
if ($db->Row("LokasiID", 0) == 0) continue;
$ajson['data'][] = ['id_kec'=>$db->Row("LokasiID"), 'value'=>uang2($db->Row("Pagu",0)>0?$tot_pagu/$db->Row("Pagu",0):0)];
@@ -81,7 +90,7 @@ if ( $data == "periode-show" ) {
} else if ( $data == "chart-bar" ) {
$ajson['tipe'] = "chart";
$db->Query("SELECT IFNULL(L.LokasiID,0) LokasiID,L.N_Lokasi,S.* FROM (SELECT KecID,SUM(IF(Jenis=1,Rupiah,0)) POK,SUM(IF(Jenis=2,Rupiah,0)) MUS,SUM(IF(Jenis=3,Rupiah,0)) REN FROM sapi_keg WHERE Tahun='".$tahun."' GROUP BY KecID) S LEFT JOIN para_lokasi L ON (L.LokasiID=S.KecID) ORDER BY L.K_Lokasi");
$db->Query("SELECT IFNULL(L.LokasiID,0) LokasiID,L.N_Lokasi,S.* FROM (SELECT KecID,SUM(IF(Jenis=1,Rupiah".$field_map.",0)) POK,SUM(IF(Jenis=2,Rupiah".$field_map.",0)) MUS,SUM(IF(Jenis=3,Rupiah".$field_map.",0)) REN FROM sapi_keg WHERE Tahun='".$tahun."' GROUP BY KecID) S LEFT JOIN para_lokasi L ON (L.LokasiID=S.KecID) ORDER BY L.K_Lokasi");
$adata['datasets'] = [];
$adata['labels'] = [];