first commit
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/index.php
|
||||
Desc. : PHP - Halaman Utama Desktop
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : May 24th, 2010.
|
||||
Last Modified : May 15th, 2024.
|
||||
|
||||
(c) 2010 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/func.emonev.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
use siaupheng\fonia3\Web\Register;
|
||||
|
||||
function random_color($trans = "0.6") {
|
||||
$col_r = mt_rand( 0, 255 );
|
||||
$col_g = mt_rand( 0, 255 );
|
||||
$col_b = mt_rand( 0, 255 );
|
||||
return "rgba(".$col_r.",".$col_g.",".$col_b.",".$trans.")";
|
||||
}
|
||||
|
||||
$db = $db ?? new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$tahun = $_SESSION['__WEB_APP']['REAL_THN'] ?? 0;
|
||||
$bulan = $_SESSION['__WEB_APP']['REAL_BLN'];
|
||||
$aapp = $_SESSION['__WEB_APP'];
|
||||
|
||||
if ( $data == "chart1" || $data == "chart2" ) {
|
||||
$bulan = $_SESSION['__WEB_APP']['REAL_BLN'];
|
||||
if ($bulan == 1) {
|
||||
$qK = "(RealK_B1)";
|
||||
$qF = "(RealF_B1,0)";
|
||||
}
|
||||
if ($bulan == 2) {
|
||||
$qK = "(RealK_B1+RealK_B2)";
|
||||
$qF = "(RealF_B1,RealF_B2)";
|
||||
}
|
||||
if ($bulan == 3) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3)";
|
||||
}
|
||||
if ($bulan == 4) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4)";
|
||||
}
|
||||
if ($bulan == 5) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5)";
|
||||
}
|
||||
if ($bulan == 6) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6)";
|
||||
}
|
||||
if ($bulan == 7) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7)";
|
||||
}
|
||||
if ($bulan == 8) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8)";
|
||||
}
|
||||
if ($bulan == 9) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9)";
|
||||
}
|
||||
if ($bulan == 10) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9+RealK_B10)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9,RealF_B10)";
|
||||
}
|
||||
if ($bulan == 11) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9+RealK_B10+RealK_B11)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9,RealF_B10,RealF_B11)";
|
||||
}
|
||||
if ($bulan == 12) {
|
||||
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9+RealK_B10+RealK_B11+RealK_B12)";
|
||||
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9,RealF_B10,RealF_B11,RealF_B12)";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "periode-show" ) {
|
||||
$ajson = ['aktif'=>1, 'html'=>""];
|
||||
if ($tahun == 0 || Param::Get("reset", 0) == 1) {
|
||||
$form = new Form($db);
|
||||
$lthn = $form->option("_", "OPTION_THN", $tahun, true, false, tahun_ang("Tahun "));
|
||||
$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_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>';
|
||||
}
|
||||
|
||||
} else if ( $data == "periode-simpan" ) {
|
||||
// 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']);
|
||||
$db->Query("SELECT * FROM vi_para_rpjmd WHERE '".$alogin['REAL_THN']."' BETWEEN Tahun_Min AND Tahun_Max ORDER BY RPJMDID DESC LIMIT 1");
|
||||
if ($db->Next()) $alogin['REAL_RPJMDID'] = $db->Row("RPJMDID", 0);
|
||||
$log_tw = 0;
|
||||
if ($alogin['REAL_BLN'] <= 3) { $log_tw = 1; }
|
||||
else if ($alogin['REAL_BLN'] <= 6) { $log_tw = 2; }
|
||||
else if ($alogin['REAL_BLN'] <= 9) { $log_tw = 3; }
|
||||
else if ($alogin['REAL_BLN'] <= 12) { $log_tw = 4; }
|
||||
$alogin['REAL_TW'] = $log_tw;
|
||||
|
||||
// mapping tahun nomenklatur submap
|
||||
$alogin['SUBMAP_TAHUN'] = map_tahun_submap($alogin['REAL_THN']);
|
||||
$alogin['AKUN_TAHUN'] = map_tahun_akun($alogin['REAL_THN']);
|
||||
// penyesuaian kembali konfigurasi periode --> REAL_RPJMDID
|
||||
$db->Query("SELECT Tahun1,Tahun2,Tahun3,Tahun4,Tahun5,Tahun_Min,Tahun_Max,Ket Real_Periode FROM vi_para_rpjmd WHERE RPJMDID='".$alogin['REAL_RPJMDID']."' LIMIT 1");
|
||||
if ($db->Next()) $alogin = array_merge($alogin, $db->AllRow());
|
||||
if ($alogin['Tahun1']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T1_";
|
||||
if ($alogin['Tahun2']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T2_";
|
||||
if ($alogin['Tahun3']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T3_";
|
||||
if ($alogin['Tahun4']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T4_";
|
||||
if ($alogin['Tahun5']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T5_";
|
||||
$_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="bi-calendar"></i></a>'];
|
||||
if ($tahun > 0) {
|
||||
$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 == "chart1" ) {
|
||||
$ajson['tipe'] = "chart";
|
||||
$db->Query("SELECT * FROM (SELECT M.S_OPD,(SUM(K.R_Keu)/SUM(K.Renc_Keu))*100 REAL_KEU,SUM(K.R_Fisik*K.Renc_Keu/TT.OPD_PAGU) REAL_FISIK,(((SUM(K.R_Keu)/SUM(K.Renc_Keu))*100)+SUM(K.R_Fisik*K.Renc_Keu/TT.OPD_PAGU))/2 REAL_KINERJA FROM (SELECT *,".$qK." R_Keu,GREATEST".$qF." R_Fisik FROM dpa90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['REAL_THN']."') K LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) OPD_PAGU FROM dpa90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['REAL_THN']."' GROUP BY OPDID) TT ON (TT.OPDID=K.OPDID) LEFT JOIN para90_opd M ON (M.OPDID=K.OPDID) WHERE M.Aktif=1 GROUP BY K.OPDID) A ORDER BY A.REAL_KINERJA DESC LIMIT 10");
|
||||
|
||||
$adata['datasets'] = array();
|
||||
$adata['labels'] = array();
|
||||
$atmp1 = array(0); $atmp2 = array(0); $atmp3 = array(0);
|
||||
$adata['labels'][] = "Belum Ada Realisasi";
|
||||
if ($db->RecordCount()>0) {
|
||||
$atmp1 = array(); $atmp2 = array(); $atmp3 = array();
|
||||
$adata['labels'] = array();
|
||||
}
|
||||
while ($db->Next()){
|
||||
$atmp1[] = round($db->Row("REAL_KEU"), 2);
|
||||
$atmp2[] = round($db->Row("REAL_FISIK"), 2);
|
||||
$atmp3[] = round($db->Row("REAL_KINERJA"), 2);
|
||||
$adata['labels'][] = $db->Row("S_OPD");
|
||||
}
|
||||
$adata['datasets'][] = array('data'=>$atmp1, 'label'=>"Keuangan", 'backgroundColor'=>random_color(), 'order'=>1, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"));
|
||||
$adata['datasets'][] = array('data'=>$atmp2, 'label'=>"Fisik", 'backgroundColor'=>random_color(), 'order'=>2, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"));
|
||||
$adata['datasets'][] = array('data'=>$atmp3, 'label'=>"Kinerja", 'borderColor'=>random_color(), 'order'=>3, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#313131"), 'type'=>"line", 'fill'=>false);
|
||||
|
||||
$ajson['chart'] = array('type' => "bar",
|
||||
'data' => $adata,
|
||||
'options' => array(
|
||||
'plugins' => [
|
||||
'title' => ['display' => true, 'text' => '10 Perangkat Daerah dengan Kinerja Tertinggi'],
|
||||
'legend' => ['position' => "bottom"],
|
||||
],
|
||||
'responsive' => true,
|
||||
'aspectRatio' => 1.5,
|
||||
//'scales' => ['yAxes' => ['display' => true, 'beginAtZero' => true, 'title'=> "Realisasi (%)"]],
|
||||
'layout' => array('padding' => array('top' => 10))
|
||||
)
|
||||
);
|
||||
|
||||
} else if ( $data == "chart2" ) {
|
||||
$ajson['tipe'] = "chart";
|
||||
$db->Query("SELECT * FROM (SELECT M.S_OPD,(SUM(K.R_Keu)/SUM(K.Renc_Keu))*100 REAL_KEU,SUM(K.R_Fisik*K.Renc_Keu/TT.OPD_PAGU) REAL_FISIK,(((SUM(K.R_Keu)/SUM(K.Renc_Keu))*100)+SUM(K.R_Fisik*K.Renc_Keu/TT.OPD_PAGU))/2 REAL_KINERJA FROM (SELECT *,".$qK." R_Keu,GREATEST".$qF." R_Fisik FROM dpa90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['REAL_THN']."') K LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) OPD_PAGU FROM dpa90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['REAL_THN']."' GROUP BY OPDID) TT ON (TT.OPDID=K.OPDID) LEFT JOIN para90_opd M ON (M.OPDID=K.OPDID) WHERE M.Aktif=1 GROUP BY K.OPDID) A ORDER BY A.REAL_KINERJA ASC LIMIT 10");
|
||||
|
||||
$adata['datasets'] = array();
|
||||
$adata['labels'] = array();
|
||||
$atmp1 = array(0); $atmp2 = array(0); $atmp3 = array(0);
|
||||
$adata['labels'][] = "Belum Ada Realisasi";
|
||||
if ($db->RecordCount()>0) {
|
||||
$atmp1 = array(); $atmp2 = array(); $atmp3 = array();
|
||||
$adata['labels'] = array();
|
||||
}
|
||||
while ($db->Next()){
|
||||
$atmp1[] = round($db->Row("REAL_KEU"), 2);
|
||||
$atmp2[] = round($db->Row("REAL_FISIK"), 2);
|
||||
$atmp3[] = round($db->Row("REAL_KINERJA"), 2);
|
||||
$adata['labels'][] = $db->Row("S_OPD");
|
||||
}
|
||||
$adata['datasets'][] = array('data'=>$atmp1, 'label'=>"Keuangan", 'backgroundColor'=>random_color(), 'order'=>1, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"));
|
||||
$adata['datasets'][] = array('data'=>$atmp2, 'label'=>"Fisik", 'backgroundColor'=>random_color(), 'order'=>2, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"));
|
||||
$adata['datasets'][] = array('data'=>$atmp3, 'label'=>"Kinerja", 'borderColor'=>random_color(), 'order'=>3, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#313131"), 'type'=>"line", 'fill'=>false);
|
||||
|
||||
$ajson['chart'] = array('type' => "bar",
|
||||
'data' => $adata,
|
||||
'options' => array(
|
||||
'plugins' => [
|
||||
'title' => ['display' => true, 'text' => '10 Perangkat Daerah dengan Kinerja Terendah'],
|
||||
'legend' => ['position' => "bottom"],
|
||||
],
|
||||
'responsive' => true,
|
||||
'aspectRatio' => 1.5,
|
||||
//'scales' => ['yAxes' => ['display' => true, 'beginAtZero' => true, 'title'=>['text' => "Realisasi (%)"]]],
|
||||
'layout' => array('padding' => array('top' => 10))
|
||||
)
|
||||
);
|
||||
|
||||
} else if ( $data == "default" ) {
|
||||
$aapp = $_SESSION['__WEB_APP'];
|
||||
$ajson['content'] = '
|
||||
<div class="fade-in">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body pb-0 text-center" id="divHome1">
|
||||
<img src="'.$aapp['WEB_PATH'].'assets/images/logo150.png" title="'.$aapp['REG_NAME'].'">
|
||||
<p class="mt-2">'.$aapp['REG_ADDRESS'].'<br>
|
||||
'.$aapp['REG_CITY'].' '.$aapp['REG_POSTCODE'].'</p>
|
||||
<p class="mt-3 mb-3"><i>Register ID : '.Register::reg_id().'</i></p>
|
||||
<p>'.$aapp['APP_NAMES'].'<br>'.$aapp['APP_NAME'].' Ver. '.$aapp['APP_VER'].'<br>
|
||||
Updated : '.$aapp['APP_UPDATED'].'</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body pb-0" id="divHome2">
|
||||
<div class="c-chart-wrapper pb-2">
|
||||
<canvas id="canvasChart2"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
Reference in New Issue
Block a user