first commit
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/pokir
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : January 31st, 2026.
|
||||
|
||||
(c) 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func.sippd.php");
|
||||
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
|
||||
function singkron_pokir($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil singkron data!'];
|
||||
$adewan = [];
|
||||
|
||||
$tahun = Param::Get("tahun_anggaran", 0);
|
||||
$id_dewan = Param::Get("id_dewan", 0);
|
||||
$adata = json_decode(stripslashes(html_entity_decode($_POST['pokir'])), true);
|
||||
if ($id_dewan > 0) {
|
||||
$db->Query("SELECT * FROM para_dprd WHERE SIPD_UserID='".$id_dewan."' LIMIT 1");
|
||||
if ($db->Next()) $adewan = $db->AllRow();
|
||||
}
|
||||
|
||||
//ambil master kamus
|
||||
$akamus = [];
|
||||
$db->Query("SELECT * FROM pok_kamus WHERE Tahun='".$tahun."'");;
|
||||
while ($db->Next()) {
|
||||
$akamus[$db->Row("KamusID")] = $db->Row("Uraian");
|
||||
}
|
||||
|
||||
//ambil dari db : alamat, koefisien, masalah, kamusid
|
||||
$apokir_db = [];
|
||||
//$db->Query("SELECT U.UsulanDID,MD5(CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun,U.Volume,' ',IFNULL(S.N_Satuan,''),U.Masalah,IFNULL(K.KamusID,0))) Kode_MD5 FROM (SELECT * FROM pok_usulan WHERE Tahun='".$tahun."' AND DPRDID='".$adewan['DPRDID']."') U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN (SELECT * FROM i_submap WHERE Tahun='".$tahun."') M ON (M.Lama_SubID=U.SubID) LEFT JOIN (SELECT * FROM pok_kamus WHERE Tahun='".$tahun."') K ON (K.OPDID=U.OPDID AND K.ProgID=M.ProgID) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) ORDER BY U.Kode");
|
||||
$db->Query("SELECT U.UsulanDID,MD5(CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun,U.Masalah,IFNULL(K.KamusID,0))) Kode_MD5 FROM (SELECT * FROM pok_usulan WHERE Tahun='".$tahun."' AND DPRDID='".$adewan['DPRDID']."') U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN (SELECT * FROM i_submap WHERE Tahun='".$tahun."') M ON (M.Lama_SubID=U.SubID) LEFT JOIN (SELECT * FROM pok_kamus WHERE Tahun='".$tahun."') K ON (K.OPDID=U.OPDID AND K.ProgID=M.ProgID) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) ORDER BY U.Kode");
|
||||
while ($db->Next()) {
|
||||
$apokir_db[$db->Row("UsulanDID")] = $db->Row("Kode_MD5");
|
||||
}
|
||||
|
||||
foreach ($adata as $_key1 => $ausul) {
|
||||
//untuk data dari monitor
|
||||
$ausul['id_kamus'] = array_search($ausul['nama_kamus'], $akamus);
|
||||
|
||||
//$tmp_md5 = md5($ausul['alamat_teks'].$ausul['koefisien'].$ausul['masalah'].$ausul['id_kamus']);
|
||||
$tmp_md5 = md5($ausul['alamat_teks'].$ausul['masalah'].$ausul['id_kamus']);
|
||||
foreach ($apokir_db as $id_usul => $k_md5) {
|
||||
if ($tmp_md5 === $k_md5) {
|
||||
fastUpdate("pok_usulan", ['SIPD_UsulanID'=>$ausul['id_usulan'],'SIPD_Unix'=>$ausul['id_unik']], ['UsulanDID'=>$id_usul]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $aret;
|
||||
}
|
||||
|
||||
function ambil_pokir($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil mendapatkan data!', 'action' => $_POST['action'], 'run' => $_POST['run'], 'data' => []];
|
||||
$adewan = [];
|
||||
|
||||
$tahun = Param::Get("tahun_anggaran", 0);
|
||||
$id_dewan = Param::Get("id_dewan", 0);
|
||||
if ($id_dewan > 0) {
|
||||
$db->Query("SELECT * FROM para_dprd WHERE SIPD_UserID='".$id_dewan."' LIMIT 1");
|
||||
if ($db->Next()) $adewan = $db->AllRow();
|
||||
}
|
||||
|
||||
$data_pokir = [];
|
||||
$tsql = (count($adewan)==0) ? "" : " AND DPRDID='".$adewan['DPRDID']."'";
|
||||
$db->Query("SELECT U.Kode,U.Masalah,M.ProgID,O.SIPD_Unit,O.N_OPD,K.KamusID,K.Uraian N_Kamus,K.Bidu N_Bidu,D.SIPD_DESA,D.SIPD_KEC,CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun) Alamat,U.Volume,S.N_Satuan,K.IsuID,U.SIPD_UsulanID FROM (SELECT OPDID,SubID,KelID,JalanID,Lokasi,RT,Dusun,Masalah,Volume,SatuanID,Kode,SIPD_UsulanID FROM pok_usulan WHERE Tahun='".$tahun."'".$tsql.") U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN (SELECT * FROM i_submap WHERE Tahun='".$tahun."') M ON (M.Lama_SubID=U.SubID) LEFT JOIN (SELECT * FROM pok_kamus WHERE Tahun='".$tahun."') K ON (K.OPDID=U.OPDID AND K.ProgID=M.ProgID) LEFT JOIN vi_para_desa D ON (D.DesaID=U.KelID) LEFT JOIN para90_opd O ON (O.OPDID=U.OPDID) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) ORDER BY U.Kode");
|
||||
while ($db->Next()) {
|
||||
$data_pokir[] = [
|
||||
'kode' => $db->Row("Kode"),
|
||||
'id_usulan' => $db->Row("SIPD_UsulanID"),
|
||||
'id_kamus' => $db->Row("KamusID"),
|
||||
'nama_kamus' => $db->Row("N_Kamus"),
|
||||
'nama_bidang_urusan' => $db->Row("N_Bidu"),
|
||||
'id_program' => $db->Row("IsuID"),//update program_id
|
||||
'id_skpd' => $db->Row("SIPD_Unit"),
|
||||
'nama_skpd' => $db->Row("N_OPD"),
|
||||
'alamat_teks' => substr(str_replace("'","\'",$db->Row("Alamat")), 0, 255),
|
||||
'volume' => $db->Row("Volume"),
|
||||
'satuan' => $db->Row("N_Satuan"),
|
||||
'id_kecamatan' => $db->Row("SIPD_KEC"),
|
||||
'id_kelurahan' => $db->Row("SIPD_DESA"),
|
||||
'masalah' => substr($db->Row("Masalah"), 0, 255)
|
||||
];
|
||||
}
|
||||
|
||||
if (!empty($data_pokir)) {
|
||||
$aret['data'] = $data_pokir;
|
||||
}
|
||||
|
||||
return $aret;
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user