first commit
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/asmas
|
||||
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_asmas($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil singkron data!'];
|
||||
$aasmas = [];
|
||||
|
||||
$tahun = Param::Get("tahun_anggaran", 0);
|
||||
$id_asmas = Param::Get("id_asmas", 0);
|
||||
$adata = json_decode(stripslashes(html_entity_decode($_POST['asmas'])), true);
|
||||
if ($id_asmas > 0) {
|
||||
$db->Query("SELECT * FROM para_asmas WHERE SIPD_UserID='".$id_asmas."' LIMIT 1");
|
||||
if ($db->Next()) $aasmas = $db->AllRow();
|
||||
}
|
||||
|
||||
//ambil dari db : alamat, koefisien, masalah, kamusid
|
||||
$aasmas_db = [];
|
||||
$db->Query("SELECT U.UsulanLID,MD5(CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun,U.Masalah,IFNULL(K.KamusID,0))) Kode_MD5 FROM (SELECT * FROM mus_usulan WHERE Tahun='".$tahun."' AND KecID='".$aasmas['KecID']."' AND KelID='".$aasmas['KelID']."') 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 mus_kamus WHERE Tahun='".$tahun."') K ON (K.OPDID=U.OPDID AND K.ProgID=M.ProgID) ORDER BY U.Kode");
|
||||
while ($db->Next()) {
|
||||
$aasmas_db[$db->Row("UsulanLID")] = $db->Row("Kode_MD5");
|
||||
}
|
||||
|
||||
// tanpa : koefisien
|
||||
foreach ($adata as $_key1 => $ausul) {
|
||||
$tmp_md5 = md5($ausul['alamat_teks'].$ausul['masalah'].$ausul['id_kamus']);
|
||||
foreach ($aasmas_db as $id_usul => $k_md5) {
|
||||
if ($tmp_md5 === $k_md5) {
|
||||
fastUpdate("mus_usulan", ['SIPD_UsulanID'=>$ausul['id_usulan']], ['UsulanLID'=>$id_usul]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $aret;
|
||||
}
|
||||
|
||||
function ambil_asmas($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil mendapatkan data!', 'action' => $_POST['action'], 'run' => $_POST['run'], 'data' => []];
|
||||
$aasmas = [];
|
||||
|
||||
$tahun = Param::Get("tahun_anggaran", 0);
|
||||
$id_asmas = Param::Get("id_asmas", 0);
|
||||
if ($id_asmas > 0) {
|
||||
$db->Query("SELECT * FROM para_asmas WHERE SIPD_UserID='".$id_asmas."' LIMIT 1");
|
||||
if ($db->Next()) $aasmas = $db->AllRow();
|
||||
}
|
||||
|
||||
$data_asmas = [];
|
||||
$tsql = (count($aasmas)==0) ? "" : " AND KecID='".$aasmas['KecID']."' AND KelID='".$aasmas['KelID']."'";
|
||||
$db->Query("SELECT U.Kode,U.Masalah,M.ProgID,M.Lama_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 mus_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 mus_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_asmas[] = [
|
||||
'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_asmas)) {
|
||||
$aret['data'] = $data_asmas;
|
||||
}
|
||||
|
||||
return $aret;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,250 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/dalev.php
|
||||
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;
|
||||
|
||||
/* DALEV SUB KEGIATAN */
|
||||
|
||||
function sinkron_dalev_subkeg($db = null) {//oke
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil singkron data!'];
|
||||
|
||||
$adata = json_decode(stripslashes(html_entity_decode($_POST['subkeg'])), true);
|
||||
|
||||
foreach ($adata as $_key1 => $subkeg) {
|
||||
fastInsert("dpa_dalev_sub", $subkeg);
|
||||
}
|
||||
$db->Query("UPDATE dpa_dalev_sub A,para90_opd B SET A.OPDID=B.OPDID WHERE A.K_OPD=B.K_OPD");
|
||||
return $aret;
|
||||
}
|
||||
|
||||
function ambil_dalev_subkeg($db = null) {//oke
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil mendapatkan data!', 'action' => $_POST['action'], 'run' => $_POST['run'], 'data' => []];
|
||||
$aopd = [];
|
||||
|
||||
$twulan = 1;//todo: auto from config !
|
||||
$tahun = Param::Get("tahun", 0);
|
||||
$kode_skpd = Param::Get("kode_skpd", "");
|
||||
if ($kode_skpd <> "") {
|
||||
$db->Query("SELECT * FROM para90_opd WHERE K_OPD='".$kode_skpd."' LIMIT 1");
|
||||
if ($db->Next()) $aopd = $db->AllRow();
|
||||
}
|
||||
|
||||
$data_subkeg = [];
|
||||
$tsql = (count($aopd)==0) ? "" : " AND OPDID='".$aopd['OPDID']."'";
|
||||
$db->Query("SELECT * FROM (SELECT OPDID,SubID,K_Sub,RealK_TW1,RealK_TW2,RealK_TW3,RealK_TW4 FROM dpa_sub WHERE Tahun='".$tahun."'".$tsql.") S LEFT JOIN (SELECT OPDID,SubID,Satuan_Output Satuan,Real_TW1 RealF_TW1,Real_TW2 RealF_TW2,Real_TW3 RealF_TW3,Real_TW4 RealF_TW4 FROM dpa_sub_output WHERE Tahun='".$tahun."'".$tsql.") O ON (O.OPDID=S.OPDID AND O.SubID=S.SubID) LEFT JOIN (SELECT * FROM dpa_dalev_sub WHERE Tahun='".$tahun."'".$tsql.") D ON (D.OPDID=S.OPDID AND D.K_Sub=S.K_Sub) WHERE D.SIPD_OUTCOME IS NOT NULL ORDER BY S.K_Sub");
|
||||
while ($db->Next()) {
|
||||
$_tri_kin = []; $_tri_keu = []; $_thn_kin = 0; $_thn_keu = 0;
|
||||
for ($_tri = 1; $_tri <= 4; $_tri++) {
|
||||
$_tri_kin['triwulan_kinerja_'.$_tri] = ($_tri <= $twulan) ? $db->Row("RealF_TW".$_tri) : "";
|
||||
$_tri_keu['triwulan_keuangan_'.$_tri] = ($_tri <= $twulan) ? (float)$db->Row("RealK_TW".$_tri) : 0;
|
||||
$_thn_kin += ($_tri <= $twulan) ? (float)$db->Row("RealF_TW".$_tri) : 0;
|
||||
$_thn_keu += ($_tri <= $twulan) ? (float)$db->Row("RealK_TW".$_tri) : 0;
|
||||
}
|
||||
//komulatif / positif / negatif / rata-rata
|
||||
switch ($db->Row("Status", "komulatif")) {
|
||||
case "komulatif":
|
||||
break;
|
||||
case "rata-rata":
|
||||
$_thn_kin = $_thn_kin / $twulan;
|
||||
break;
|
||||
default:
|
||||
$_thn_kin = (float)$db->Row("RealK_TW".$twulan);
|
||||
}
|
||||
$data_subkeg[] = [
|
||||
'tahun' => $tahun,
|
||||
'kodeskpd' => $db->Row("K_OPD"),
|
||||
'kodebidang' => $db->Row("K_Bidu"),
|
||||
'kodeprogram' => $db->Row("K_Prog"),
|
||||
'kodekegiatan' => $db->Row("K_Keg"),
|
||||
'kodesubkegiatan' => $db->Row("K_Sub"),
|
||||
'satuan' => $db->Row("Satuan"),
|
||||
'formula' => $db->Row("Status"), //#info-status-kinerja
|
||||
'status' => $db->Row("Status"), //#info-status-kinerja
|
||||
'status_rkpd' => $db->Row("Status"), //#info-status-kinerja
|
||||
//'status_renstra' => "komulatif", //#info-status-renstra
|
||||
//'target_realisasi_kinerja' => $targetRealisasiKinerjaData,
|
||||
//'target_realisasi_keuangan' => $targetRealisasiKeuanganData,
|
||||
'triwulan_kinerja' => $_tri_kin,
|
||||
'triwulan_keuangan' => $_tri_keu,
|
||||
'realisasi_kinerja_tahunan' => $_thn_kin,
|
||||
'realisasi_keuangan_tahunan' => $_thn_keu,
|
||||
'idoutcome' => $db->Row("SIPD_OUTCOME"),
|
||||
'idoutput' => $db->Row("SIPD_OUTPUT"),
|
||||
'kodesubkegiatan_indikator' => $db->Row("SIPD_SUBKEG_INDI"),
|
||||
'uraisubkegiatan_indikator' => "",
|
||||
];
|
||||
}
|
||||
|
||||
if (!empty($data_subkeg)) {
|
||||
$aret['data'] = $data_subkeg;
|
||||
}
|
||||
|
||||
return $aret;
|
||||
}
|
||||
|
||||
/* DALEV PROGRAM */
|
||||
|
||||
function sinkron_dalev_prog($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil singkron data!'];
|
||||
|
||||
$adata = json_decode(stripslashes(html_entity_decode($_POST['prog'])), true);
|
||||
|
||||
foreach ($adata as $_key1 => $prog) {
|
||||
fastInsert("dpa_dalev_prog", $prog);
|
||||
}
|
||||
$db->Query("UPDATE dpa_dalev_prog A,para90_opd B SET A.OPDID=B.OPDID WHERE A.K_OPD=B.K_OPD");
|
||||
return $aret;
|
||||
}
|
||||
|
||||
function ambil_dalev_prog($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil mendapatkan data!', 'action' => $_POST['action'], 'run' => $_POST['run'], 'data' => []];
|
||||
$aopd = [];
|
||||
|
||||
while ($db->Next()) {
|
||||
/*$_tri_kin = []; $_tri_keu = []; $_thn_kin = 0; $_thn_keu = 0;
|
||||
for ($_tri = 1; $_tri <= 4; $_tri++) {
|
||||
$_tri_kin['triwulan_kinerja_'.$_tri] = ($_tri <= $twulan) ? $db->Row("RealF_TW".$_tri) : "";
|
||||
$_tri_keu['triwulan_keuangan_'.$_tri] = ($_tri <= $twulan) ? (float)$db->Row("RealK_TW".$_tri) : 0;
|
||||
$_thn_kin += ($_tri <= $twulan) ? (float)$db->Row("RealF_TW".$_tri) : 0;
|
||||
$_thn_keu += ($_tri <= $twulan) ? (float)$db->Row("RealK_TW".$_tri) : 0;
|
||||
}
|
||||
//komulatif / positif / negatif / rata-rata
|
||||
switch ($db->Row("Status", "komulatif")) {
|
||||
case "komulatif":
|
||||
break;
|
||||
case "rata-rata":
|
||||
$_thn_kin = $_thn_kin / $twulan;
|
||||
break;
|
||||
default:
|
||||
$_thn_kin = (float)$db->Row("RealK_TW".$twulan);
|
||||
}*/
|
||||
/* coding js
|
||||
|
||||
const tahun = $('#modal-realisasi').data('current-tahun') || tahun_sekarang;
|
||||
const info = rowData;
|
||||
const tipeData = info.tipe_data || 'numeric';
|
||||
const isNumeric = isNumericTipeData(tipeData);
|
||||
|
||||
const triwulan = {};
|
||||
for (let i = 1; i <= 4; i++) {
|
||||
if (tipeData === 'rasio') {
|
||||
// Rasio: dua input dengan separator ":"
|
||||
const valBawah = $(`#triwulan_${i}_bawah`).val();
|
||||
const valAtas = $(`#triwulan_${i}_atas`).val();
|
||||
// Hanya kirim jika user benar-benar mengisi (minimal salah satu ada nilai)
|
||||
// Jika salah satu kosong, gunakan '0' sebagai fallback
|
||||
// Jika keduanya kosong, tidak akan masuk ke sini (hasil: tidak kirim)
|
||||
if (valBawah || valAtas) {
|
||||
triwulan[`triwulan_${i}`] = `${valBawah || '0'}:${valAtas || '0'}`;
|
||||
}
|
||||
} else if (isNumeric) {
|
||||
// Numeric dan range: 1 input dengan format angka
|
||||
const rawVal = $(`#triwulan_${i}`).val();
|
||||
// Hanya kirim jika user benar-benar mengisi
|
||||
if (rawVal !== null && rawVal !== '') {
|
||||
const val = unformatRupiahRealisasi(rawVal);
|
||||
triwulan[`triwulan_${i}`] = val;
|
||||
}
|
||||
} else {
|
||||
// enum_v2 dan lainnya
|
||||
const raw = $(`#triwulan_${i}`).val();
|
||||
// Hanya kirim jika ada nilai
|
||||
if (raw !== null && raw !== undefined && raw !== '') {
|
||||
triwulan[`triwulan_${i}`] = raw.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let realisasiTahunan = '';
|
||||
const selectedFormula = $('#info-status-kinerja').val() || (isNumeric ? 'komulatif' : 'positif');
|
||||
if (isNumeric) {
|
||||
realisasiTahunan = calculateNumericRealisasiByFormula(selectedFormula, triwulan);
|
||||
} else {
|
||||
// non-numeric: set from last non-empty triwulan as string
|
||||
realisasiTahunan = getLastNonEmptyTriwulanString();
|
||||
}
|
||||
const targetRealisasi = {};
|
||||
years.forEach((year, idx) => {
|
||||
targetRealisasi[`target_${year}`] = $(`#target_${year}`).val();
|
||||
const rVal = $(`#realisasi_${year}`).val();
|
||||
if (tipeData === 'rasio') {
|
||||
// Untuk rasio: kirim sebagai string dengan format "pembilang:pembanding"
|
||||
// Jika kosong, kirim empty string (bukan '0:0')
|
||||
targetRealisasi[`realisasi_${year}`] = (rVal != null && rVal !== '') ? rVal.toString() : '';
|
||||
} else if (isNumeric) {
|
||||
// Untuk numeric: jika kosong, kirim empty string (bukan 0)
|
||||
// Jika user benar-benar input 0, tetap kirim 0 (nilai valid)
|
||||
if (rVal == null || rVal === '') {
|
||||
targetRealisasi[`realisasi_${year}`] = '';
|
||||
} else {
|
||||
const numVal = unformatRupiahRealisasi(rVal);
|
||||
targetRealisasi[`realisasi_${year}`] = numVal;
|
||||
}
|
||||
} else {
|
||||
targetRealisasi[`realisasi_${year}`] = rVal != null ? rVal.toString() : '';
|
||||
}
|
||||
targetRealisasi[`target_${idx}`] = $(`#target_${year}`).val();
|
||||
});
|
||||
const statusRenstraSubmit = $('#info-status-renstra').val(),
|
||||
statusRkpdSubmit = statusRenstraSubmit === 'negatif' ? 'negatif' : $('#info-status-kinerja').val();
|
||||
const payload = {
|
||||
tahun: tahun,
|
||||
kodeskpd: info.kodeskpd,
|
||||
kodebidang: info.kodebidang || '',
|
||||
kodeprogram: info.kodeprogram,
|
||||
idoutcome: info.idoutcome || info.id || '',
|
||||
kodeprogram_indikator: info.kodeindikator_program || '',
|
||||
uraiprogram_indikator: info.uraiindikator_program || '',
|
||||
formula: statusRkpdSubmit,
|
||||
status: statusRkpdSubmit,
|
||||
status_rkpd: statusRkpdSubmit,
|
||||
status_renstra: statusRenstraSubmit,
|
||||
baseline: $('#info-baseline').val(),
|
||||
satuan: $('#info-satuan').val(),
|
||||
tipe_data: info.tipe_data || 'numeric',
|
||||
target_realisasi: targetRealisasi,
|
||||
triwulan: triwulan,
|
||||
realisasi_tahunan: realisasiTahunan
|
||||
};
|
||||
*/
|
||||
$data_prog[] = [
|
||||
'tahun' => $tahun,
|
||||
'kodeskpd' => $db->Row("K_OPD"),
|
||||
'kodebidang' => $db->Row("K_Bidu"),
|
||||
'kodeprogram' => $db->Row("K_Prog"),
|
||||
'idoutcome' => $db->Row("SIPD_OUTCOME"),
|
||||
'formula' => $db->Row("Status"), //#info-status-kinerja
|
||||
'status' => $db->Row("Status"), //#info-status-kinerja
|
||||
'status_rkpd' => $db->Row("Status"), //#info-status-kinerja
|
||||
//'status_renstra' => "komulatif", //#info-status-renstra
|
||||
'baseline' => $_tri_kin, //#info-baseline ?
|
||||
'satuan' => $_tri_keu, //#info-satuan ?
|
||||
'tipe_data' => $_thn_kin, // ? || 'numeric',
|
||||
'target_realisasi' => 0, // ?
|
||||
'triwulan' => 0, // ?
|
||||
'realisasi_tahunan' => 0, // ?
|
||||
'kodeprogram_indikator' => $db->Row("SIPD_PROG_INDI"),
|
||||
'uraiprogram_indikator' => "",
|
||||
];
|
||||
}
|
||||
|
||||
if (!empty($data_prog)) {
|
||||
$aret['data'] = $data_prog;
|
||||
}
|
||||
|
||||
return $aret;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
require_once(dirname(__FILE__)."/../../../../../modules3/db.mysqli.php");
|
||||
|
||||
$db = DB();
|
||||
$tahun = 2022;
|
||||
$adata = json_decode(file_get_contents("kamus.json"), true);
|
||||
|
||||
foreach ($adata['data'] as $arec) {
|
||||
$db->Query("UPDATE para90_kamus SET No_Kamus='".$arec['no']."',Satuan='".$arec['satuan']."',SIPD_ID='".$arec['id']."' WHERE Satuan='".$arec['kodeskpd']."' AND Uraian='".$arec['urai']."'");
|
||||
}
|
||||
|
||||
echo "import kamus done.";
|
||||
?>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
require_once(dirname(__FILE__)."/../../../../../modules3/db.mysqli.php");
|
||||
|
||||
$db = DB();
|
||||
$tahun = 2022;
|
||||
$adata = json_decode(file_get_contents("rekening.json"), true);
|
||||
|
||||
$db->Query("DELETE FROM i_rekening WHERE Tahun='".$tahun."'");
|
||||
foreach ($adata['data'] as $arec) {
|
||||
$db->Query("INSERT INTO i_rekening SET tahun='".$arec['tahun']."',id_akun='".$arec['id_akun']."',kode_akun='".$arec['kode_akun']."',nama_akun='".$arec['nama_akun']."',id_unik='".$arec['id_unik']."',is_pendapatan='".$arec['is_pendapatan']."',is_bl='".$arec['is_bl']."',is_biaya='".$arec['is_biaya']."',is_gaji_asn='".$arec['is_gaji_asn']."',is_barjas='".$arec['is_barjas']."',is_bunga='".$arec['is_bunga']."',is_subsidi='".$arec['is_subsidi']."',is_bagi_hasil='".$arec['is_bagi_hasil']."',set_input='".$arec['set_input']."'");
|
||||
}
|
||||
|
||||
echo "import rekening done.";
|
||||
?>
|
||||
+3940
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/master.php
|
||||
Desc. : PHP - Fungsi MASTER
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : December 18th, 2025.
|
||||
|
||||
(c) 2025, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func.sippd.php");
|
||||
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
|
||||
function simpan_master_subkeg($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil simpan data Master Sub Kegiatan !'];
|
||||
if (empty($_POST['subgiat'])) return $aret;
|
||||
|
||||
$tahun = Param::Get("tahun_anggaran", 0);
|
||||
$adata = json_decode(stripslashes(html_entity_decode($_POST['subgiat'])), true);
|
||||
|
||||
if ($tahun == 0) {
|
||||
$aret['message'] = "Tahun Anggaran Tidak Ada !";
|
||||
return $aret;
|
||||
}
|
||||
|
||||
// hapus sesuai tahun
|
||||
if (empty($_POST['page']) || (!empty($_POST['page']) && $_POST['page'] == 1)) {
|
||||
$db->Query("DELETE FROM i_submap WHERE Tahun='".$tahun."'");
|
||||
}
|
||||
|
||||
foreach ($adata as $_key1 => $asub) {
|
||||
if ($asub['set_kab_kota'] == 0) continue;
|
||||
if (!(in_array($asub['id_daerah'], [0,553]) || in_array($asub['id_daerah_khusus'], [0,553]))) continue;
|
||||
|
||||
$apull = [ 'Tahun' => $tahun,
|
||||
'UrusanID' => $asub['id_urusan'],
|
||||
'BUID' => $asub['id_bidang_urusan'],
|
||||
'ProgID' => $asub['id_program'],
|
||||
'KegID' => $asub['id_giat'],
|
||||
'SubID' => $asub['id_sub_giat'],
|
||||
'K_Urusan' => $asub['kode_urusan'],
|
||||
'N_Urusan' => $asub['nama_urusan'],
|
||||
'K_Bidu' => $asub['kode_bidang_urusan'],
|
||||
'N_Bidu' => $asub['nama_bidang_urusan'],
|
||||
'K_Prog' => $asub['kode_program'],
|
||||
'N_Prog' => $asub['nama_program'],
|
||||
'K_Keg' => $asub['kode_giat'],
|
||||
'N_Keg' => $asub['nama_giat'],
|
||||
'K_Sub' => $asub['kode_sub_giat'],
|
||||
'N_Sub' => $asub['nama_sub_giat'],
|
||||
'Indikator' => $asub['indikator'],
|
||||
'Satuan' => $asub['satuan']
|
||||
];
|
||||
fastInsert("i_submap", $apull);
|
||||
|
||||
}
|
||||
return $aret;
|
||||
}
|
||||
|
||||
function simpan_master_akun($db = null) {
|
||||
$aret = ['status' => 'success', 'message' => 'Berhasil export Akun Rekening Belanja!'];
|
||||
if (empty($_POST['akun'])) return $aret;
|
||||
|
||||
$tahun = Param::Get("tahun_anggaran", 0);
|
||||
$akun = json_decode(stripslashes(html_entity_decode($_POST['akun'])), true);
|
||||
|
||||
// hapus sesuai tahun
|
||||
if (empty($_POST['page']) || (!empty($_POST['page']) && $_POST['page'] == 1)) {
|
||||
$db->Query("DELETE FROM i_akun WHERE Tahun='".$tahun."'");
|
||||
}
|
||||
|
||||
foreach ($akun as $k => $v) {
|
||||
if ($v['set_kab_kota'] == 0) continue;
|
||||
$apull = [
|
||||
'Tahun' => $tahun,
|
||||
'AkunID' => $v['id_akun'],
|
||||
'K_Akun' => $v['kode_akun'],
|
||||
'N_Akun' => $v['nama_akun'],
|
||||
'Is_Pend' => $v['is_pendapatan'],
|
||||
'Is_BL' => $v['is_bl'],
|
||||
'Is_Biaya' => $v['is_pembiayaan'],
|
||||
'Is_Gaji' => $v['is_gaji_asn'],
|
||||
'Is_Barjas' => $v['is_barjas'],
|
||||
'Is_Bunga' => $v['is_bunga'],
|
||||
'Is_Subsidi' => $v['is_subsidi'],
|
||||
'Is_Bagi_Hasil' => $v['is_bagi_hasil'],
|
||||
'Set_Input' => $v['set_input']
|
||||
];
|
||||
fastInsert("i_akun", $apull);
|
||||
}
|
||||
return $aret;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,118 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/renja.php
|
||||
Desc. : PHP - Fungsi RENJA
|
||||
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 ambil_renja($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil mendapatkan data!', 'action' => $_POST['action'], 'run' => $_POST['run'], 'data' => []];
|
||||
|
||||
$tahun = Param::Get("tahun_anggaran", 0);
|
||||
$id_skpd = Param::Get("id_skpd", 0);
|
||||
$id_sub_skpd = fastQueryArray("SELECT OPDID FROM para90_opd WHERE SIPD_OPD='".$id_skpd."'", 0);
|
||||
|
||||
//$where = ' AND set_kab_kota=1';
|
||||
|
||||
//para90_submap -> i_submap : sementara
|
||||
$master_bidang_urusan = [];
|
||||
$db->Query("SELECT DISTINCT K_Bidu,N_Bidu FROM i_submap WHERE Tahun='".$tahun."'");
|
||||
while ($db->Next()) {
|
||||
$master_bidang_urusan[$db->Row("K_Bidu")] = $db->AllRow();
|
||||
}
|
||||
|
||||
$data_sub_giat = [];
|
||||
// kode_skpd, nama_skpd, pagu_keg, kode_bl
|
||||
$db->Query("SELECT *,CONCAT(B.id_skpd,'.',B.id_sub_skpd,'.',C.id_program,'.',C.id_giat,'.',C.id_sub_giat) kode_sbl FROM (SELECT RK_PROGID,RK_KEGID,OPDID,ProgID,SubID,553 id_lokasi,Waktu1 waktu_awal,Waktu2 waktu_akhir,Pagu_Ini pagu,Pagu_Dpn pagu_n_depan,Txt_Indi,Satuan_Indi,Target_Indi FROM renja_sub WHERE Tahun='".$tahun."' AND OPDID IN (".implode(",",$id_sub_skpd).")) A LEFT JOIN (SELECT OPDID,K_Bidu1,K_OPD kode_skpd_asli,N_OPD nama_sub_skpd,SIPD_OPD id_skpd,SIPD_Unit id_sub_skpd FROM para90_opd WHERE OPDID IN(".implode(",",$id_sub_skpd).")) B ON (A.OPDID=B.OPDID) LEFT JOIN (SELECT ProgID,SubID,Lama_ProgID,Lama_SubID,UrusanID id_urusan,BUID id_bidang_urusan,ProgID id_program,KegID id_giat,SubID id_sub_giat,K_Urusan kode_urusan,K_Bidu kode_bidang_urusan,K_Prog kode_program,K_Keg kode_giat,K_Sub kode_sub_giat,N_Urusan nama_urusan,N_Bidu nama_bidang_urusan,N_Prog nama_program,CONCAT(K_Keg,' ',N_Keg) nama_giat,CONCAT(K_Sub,' ',N_Sub) nama_sub_giat FROM i_submap WHERE Tahun='".$tahun."') C ON (A.ProgID=C.Lama_ProgID AND A.SubID=C.Lama_SubID) WHERE C.ProgID IS NOT NULL ORDER BY C.kode_sub_giat");
|
||||
while ($db->Next()) {
|
||||
$data_sub_giat[] = $db->AllRow();
|
||||
}
|
||||
|
||||
foreach ($data_sub_giat as $k => $sub) {
|
||||
$sub['kode_sub_skpd'] = $sub['kode_skpd_asli'];
|
||||
$data_sub_giat[$k]['kode_sub_skpd'] = $sub['kode_skpd_asli'];
|
||||
if ($sub['kode_bidang_urusan'] == 'X.XX') {
|
||||
$urusan_utama = $sub['K_Bidu1'];
|
||||
if (!empty($master_bidang_urusan[$urusan_utama])) {
|
||||
$data_sub_giat[$k]['kode_bidang_urusan'] = $master_bidang_urusan[$urusan_utama]['K_Bidu'];
|
||||
$data_sub_giat[$k]['nama_bidang_urusan'] = $master_bidang_urusan[$urusan_utama]['N_Bidu'];
|
||||
}
|
||||
}
|
||||
/*if (!empty($sub['kode_sbl_lama'])) {
|
||||
$data_sub_giat[$k]['sub_keg_lama'] = array();
|
||||
$kode_sbl_lama = explode('|', $sub['kode_sbl_lama']);
|
||||
foreach ($kode_sbl_lama as $kd_lama) {
|
||||
$data_lama = $wpdb->get_row($wpdb->prepare("
|
||||
SELECT
|
||||
sk.*
|
||||
FROM data_sub_keg_bl_lokal sk
|
||||
WHERE kode_sbl=%s
|
||||
AND sk.tahun_anggaran=%d
|
||||
", $kd_lama, $tahun_anggaran), ARRAY_A);
|
||||
if ($data_lama['kode_bidang_urusan'] == 'X.XX') {
|
||||
$urusan_utama_lama = explode('.', $data_lama['kode_sub_skpd']);
|
||||
$urusan_utama_lama = $urusan_utama_lama[0] . '.' . $urusan_utama_lama[1];
|
||||
if (!empty($master_bidang_urusan[$urusan_utama_lama])) {
|
||||
$data_lama['kode_bidang_urusan'] = $master_bidang_urusan[$urusan_utama_lama]['kode_bidang_urusan'];
|
||||
$data_lama['nama_bidang_urusan'] = $master_bidang_urusan[$urusan_utama_lama]['nama_bidang_urusan'];
|
||||
}
|
||||
}
|
||||
$data_sub_giat[$k]['sub_keg_lama'][] = $data_lama;
|
||||
}
|
||||
}*/
|
||||
$data_sub_giat[$k]['sumber_dana'] = [];
|
||||
$data_sub_giat[$k]['lokasi'] = [];
|
||||
$data_sub_giat[$k]['indikator'] = [];
|
||||
$data_sub_giat[$k]['indikator_kegiatan'] = [];
|
||||
$data_sub_giat[$k]['indikator_program'] = [];
|
||||
$data_sub_giat[$k]['indikator_hasil'] = [];
|
||||
|
||||
$db->Query("SELECT * FROM (SELECT * FROM renja_keg WHERE Tahun='".$tahun."' AND RK_KEGID='".$sub['RK_KEGID']."') A LEFT JOIN renstra_output B ON (B.RA_OUTPUTID=A.RA_OUTPUTID)");
|
||||
if ($db->Next()) {
|
||||
//data_keg_indikator_hasil_lokal
|
||||
$data_sub_giat[$k]['indikator_hasil'][] = ['hasilteks' => $db->Row("Txt_Output"), 'satuanhasil' => $db->Row("Hasil_Satuan","%"), 'targethasil' => $db->Row("Hasil_Target",100), 'targethasilteks' => $db->Row("Hasil_Target",100)." ".$db->Row("Hasil_Satuan","%")];
|
||||
//data_output_giat_sub_keg_lokal
|
||||
$data_sub_giat[$k]['indikator_kegiatan'][] = ['outputteks' => $db->Row("Keluar_Txt"), 'satuanoutput' => $db->Row("Keluar_Satuan"), 'targetoutput' => $db->Row("Keluar_Target"), 'targetoutputteks' => $db->Row("Keluar_Target")." ".$db->Row("Keluar_Satuan")];
|
||||
$data_sub_giat[$k]['sasaran'] = $db->Row("Sasaran");
|
||||
}
|
||||
|
||||
//data_capaian_prog_sub_keg_lokal
|
||||
//todo: pastikan T --> sesuai periode rpjmd
|
||||
$indikator_program = [];
|
||||
$db->Query("SELECT Txt_Indi capaianteks,Indi_Satuan satuancapaian,Indi_T2 targetcapaian,CONCAT(Indi_T2,' ',Indi_Satuan) targetcapaianteks FROM renstra_prog_indi WHERE RD_OUTCOMEID IN (SELECT RD_OUTCOMEID FROM renja_prog WHERE RK_PROGID='".$sub['RK_PROGID']."')");
|
||||
while ($db->Next()) {
|
||||
$data_sub_giat[$k]['indikator_program'][] = $db->AllRow();
|
||||
}
|
||||
|
||||
//data_dana_sub_keg_lokal
|
||||
$data_sumber_dana = ['kodedana' => "1.1", 'iddana' => 2, 'pagudana' => $sub['pagu']];
|
||||
$data_sub_giat[$k]['sumber_dana'][] = $data_sumber_dana;
|
||||
|
||||
//data_lokasi_sub_keg_lokal
|
||||
$data_lokasi = ['idcamat' => 0, 'idkabkota' => 553];
|
||||
$data_sub_giat[$k]['lokasi'][] = $data_lokasi;
|
||||
|
||||
//data_sub_keg_indikator_lokal
|
||||
$data_sub_keg_indikator = ['outputteks' => $sub['Txt_Indi'], 'targetoutput' => $sub['Target_Indi'], 'satuanoutput' => $sub['Satuan_Indi']];
|
||||
$data_sub_giat[$k]['indikator'][] = $data_sub_keg_indikator;
|
||||
unset ($data_sub_giat[$k]['Txt_Indi'], $data_sub_giat[$k]['Satuan_Indi'], $data_sub_giat[$k]['Target_Indi']);
|
||||
}
|
||||
if (!empty($data_sub_giat)) {
|
||||
$aret['data'] = $data_sub_giat;
|
||||
}
|
||||
|
||||
return $aret;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,283 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/rpjmd.php
|
||||
Desc. : PHP - Fungsi RPJMD
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : December 18th, 2025.
|
||||
|
||||
(c) 2025, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func.sippd.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_submap = map_tahun_submap($id_rpjmd);
|
||||
|
||||
function simpan_renstra_tujuan($db = null, $adata = []) {//oke
|
||||
global $id_rpjmd, $thn_submap;
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil simpan data Tujuan RENSTRA !'];
|
||||
|
||||
foreach ($adata as $_key1 => $atujuan) {
|
||||
$apull = [ 'RPJMDID' => $id_rpjmd,
|
||||
'OPDID' => 0,
|
||||
'A_RDSASAR' => "0",
|
||||
'A_BU' => "'X.XX'",
|
||||
'No_Tujuan' => $atujuan['No_Tujuan'],
|
||||
'Txt_Tujuan' => $atujuan['Txt_Tujuan'],
|
||||
'SIPD_UNIK' => $atujuan['SIPD_UNIK']
|
||||
];
|
||||
// bidang urusan
|
||||
$_tbu = [];
|
||||
foreach ($atujuan['A_BU'] as $_key_bu => $arec_bu) {
|
||||
$_tbu[] = $arec_bu;
|
||||
}
|
||||
$apull['A_BU'] = "'". implode("','", $_tbu) ."'";
|
||||
// sasaran rpjmd
|
||||
if (count($atujuan['A_RDSASAR']) > 0) {
|
||||
$_tsa = [];
|
||||
foreach ($atujuan['A_RDSASAR'] as $_key_sa => $arec_sa) {
|
||||
$db->Query("SELECT RD_SASARID FROM rpjmd_sasaran WHERE SIPD_SASAR='".$arec_sa."' LIMIT 1");
|
||||
if ($db->Next()) $_tsa[] = $db->Row("RD_SASARID", 0);
|
||||
}
|
||||
$apull['A_RDSASAR'] = implode(",", $_tsa);
|
||||
}
|
||||
// opd
|
||||
$db->Query("SELECT OPDID FROM para90_opd WHERE K_OPD='".$atujuan['K_OPD']."' LIMIT 1");
|
||||
if ($db->Next()) $apull['OPDID'] = $db->Row("OPDID", 0);
|
||||
|
||||
$id_opd = $apull['OPDID'];
|
||||
$ra_tujid = fastInsert("renstra_tujuan", $apull);
|
||||
|
||||
// indikator
|
||||
foreach ($atujuan['indikator'] as $_key2 => $arec) {
|
||||
$apull = [ 'OPDID' => $id_opd,
|
||||
'RA_TUJID' => $ra_tujid,
|
||||
'RPJMDID' => $id_rpjmd,
|
||||
'No_Indi' => $arec['No_Indi'],
|
||||
'Txt_Indi' => $arec['Txt_Indi'],
|
||||
'Indi_Satuan' => $arec['Indi_Satuan'],
|
||||
'Indi_Status' => $arec['Indi_Status'],
|
||||
'Indi_Awal' => $arec['Indi_Awal'],
|
||||
'Indi_T1' => $arec['Indi_T1'],
|
||||
'Indi_T2' => $arec['Indi_T2'],
|
||||
'Indi_T3' => $arec['Indi_T3'],
|
||||
'Indi_T4' => $arec['Indi_T4'],
|
||||
'Indi_T5' => $arec['Indi_T5'],
|
||||
'Indi_Akhir' => $arec['Indi_Akhir'],
|
||||
'Tipe_Data' => $arec['Tipe_Data'],
|
||||
'SIPD_UNIK' => $arec['SIPD_UNIK']
|
||||
];
|
||||
fastInsert("renstra_tujuan_indi", $apull);
|
||||
}
|
||||
}
|
||||
return $aret;
|
||||
}
|
||||
|
||||
function simpan_renstra_sasaran($db = null, $adata = []) {//oke
|
||||
global $id_rpjmd, $thn_submap;
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil simpan data Sasaran RENSTRA !'];
|
||||
|
||||
foreach ($adata as $_key1 => $asasar) {
|
||||
$apull = [ 'RPJMDID' => $id_rpjmd,
|
||||
'RA_TUJID' => 0,
|
||||
'OPDID' => 0,
|
||||
'No_Sasaran' => $asasar['No_Sasaran'],
|
||||
'Txt_Sasaran' => $asasar['Txt_Sasaran'],
|
||||
'SIPD_UNIK' => $asasar['SIPD_UNIK']
|
||||
];
|
||||
// tujuan renstra
|
||||
$db->Query("SELECT RA_TUJID FROM renstra_tujuan WHERE SIPD_UNIK='".$asasar['SIPD_TUJ']."' LIMIT 1");
|
||||
if ($db->Next()) $apull['RA_TUJID'] = $db->Row("RA_TUJID", 0);
|
||||
// opd
|
||||
$db->Query("SELECT OPDID FROM para90_opd WHERE K_OPD='".$asasar['K_OPD']."' LIMIT 1");
|
||||
if ($db->Next()) $apull['OPDID'] = $db->Row("OPDID", 0);
|
||||
|
||||
$id_opd = $apull['OPDID'];
|
||||
$ra_sasarid = fastInsert("renstra_sasaran", $apull);
|
||||
|
||||
// indikator
|
||||
foreach ($asasar['indikator'] as $_key2 => $arec) {
|
||||
$apull = [ 'OPDID' => $id_opd,
|
||||
'RA_SASARID' => $ra_sasarid,
|
||||
'RPJMDID' => $id_rpjmd,
|
||||
'No_Indi' => $arec['No_Indi'],
|
||||
'Txt_Indi' => $arec['Txt_Indi'],
|
||||
'Indi_Satuan' => $arec['Indi_Satuan'],
|
||||
'Indi_Status' => $arec['Indi_Status'],
|
||||
'Indi_Awal' => $arec['Indi_Awal'],
|
||||
'Indi_T1' => $arec['Indi_T1'],
|
||||
'Indi_T2' => $arec['Indi_T2'],
|
||||
'Indi_T3' => $arec['Indi_T3'],
|
||||
'Indi_T4' => $arec['Indi_T4'],
|
||||
'Indi_T5' => $arec['Indi_T5'],
|
||||
'Indi_Akhir' => $arec['Indi_Akhir'],
|
||||
'Tipe_Data' => $arec['Tipe_Data'],
|
||||
'SIPD_UNIK' => $arec['SIPD_UNIK']
|
||||
];
|
||||
fastInsert("renstra_sasaran_indi", $apull);
|
||||
}
|
||||
}
|
||||
return $aret;
|
||||
}
|
||||
|
||||
function simpan_renstra_program($db = null, $adata = []) {
|
||||
global $id_rpjmd, $thn_submap;
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil simpan data Program / Kegiatan / Sub Kegiatan RENSTRA !'];
|
||||
|
||||
foreach ($adata as $_key1 => $aoutcome) {
|
||||
$acome = [ 'RD_OUTCOMEID' => 0,
|
||||
'RD_PROGID' => 0,
|
||||
'OPDID' => 0,
|
||||
'ProgID' => 0,
|
||||
'A_RASASAR' => 0
|
||||
];
|
||||
// outcome rpjmd
|
||||
$db->Query("SELECT RD_OUTCOMEID,RD_PROGID,A_RASASAR FROM rpjmd_outcome WHERE RPJMDID='".$id_rpjmd."' AND SIPD_UNIK='".$aoutcome['SIPD_UNIK']."' LIMIT 1");
|
||||
if ($db->Next()) $acome = array_merge($acome, $db->AllRow());
|
||||
// program rpjmd
|
||||
$db->Query("SELECT BUID,ProgID,K_Bidu,K_Prog FROM rpjmd_prog WHERE RPJMDID='".$id_rpjmd."' AND RD_PROGID='".$acome['RD_PROGID']."' LIMIT 1");
|
||||
if ($db->Next()) $acome = array_merge($acome, $db->AllRow());
|
||||
// opd
|
||||
$db->Query("SELECT OPDID FROM para90_opd WHERE K_OPD='".$aoutcome['K_OPD']."' LIMIT 1");
|
||||
if ($db->Next()) $acome = array_merge($acome, $db->AllRow());
|
||||
|
||||
// sasaran renstra
|
||||
if (count($aoutcome['A_RASASAR']) > 0) {
|
||||
$_tsa = explode(",", $acome['A_RASASAR']);
|
||||
foreach ($aoutcome['A_RASASAR'] as $_key_sa => $arec_sa) {
|
||||
$db->Query("SELECT RA_SASARID FROM renstra_sasaran WHERE SIPD_UNIK='".$arec_sa."' LIMIT 1");
|
||||
if ($db->Next()) {
|
||||
if (!in_array($db->Row("RA_SASARID", 0), $_tsa)) $_tsa[] = $db->Row("RA_SASARID", 0);
|
||||
}
|
||||
}
|
||||
$_tsa = array_diff($_tsa, [0]);
|
||||
$acome['A_RASASAR'] = (count($_tsa)==0) ? "0" : implode(",", $_tsa);
|
||||
}
|
||||
fastUpdate("rpjmd_outcome", ['A_RASASAR'=>$acome['A_RASASAR']], ['RD_OUTCOMEID'=>$acome['RD_OUTCOMEID']]);
|
||||
$apull = [ 'RPJMDID' => $id_rpjmd,
|
||||
'OPDID' => $acome['OPDID'],
|
||||
'RD_PROGID' => $acome['RD_PROGID'],
|
||||
'RD_OUTCOMEID' => $acome['RD_OUTCOMEID'],
|
||||
'A_RASASAR' => $acome['A_RASASAR'],
|
||||
'ProgID' => $acome['ProgID'],
|
||||
'K_Prog' => $acome['K_Prog']
|
||||
];
|
||||
$ra_progid = fastInsert("renstra_prog", $apull);
|
||||
|
||||
// indikator outcome (ke tabel renstra_prog_indi)
|
||||
foreach ($aoutcome['indikator'] as $_key2 => $aindi) {
|
||||
$apull = [ 'OPDID' => $acome['OPDID'],
|
||||
'RA_PROGID' => $ra_progid,
|
||||
'RD_OUTCOMEID' => $acome['RD_OUTCOMEID'],
|
||||
'RPJMDID' => $id_rpjmd,
|
||||
'ProgID' => $acome['ProgID'],
|
||||
'No_Indi' => $aindi['No_Indi'],
|
||||
'Txt_Indi' => $aindi['Txt_Indi'],
|
||||
'Indi_Satuan' => $aindi['Indi_Satuan'],
|
||||
'Indi_Status' => $aindi['Indi_Status'],
|
||||
'Indi_Awal' => $aindi['Indi_Awal'],
|
||||
'Indi_T1' => $aindi['Indi_T1'],
|
||||
'Indi_T2' => $aindi['Indi_T2'],
|
||||
'Indi_T3' => $aindi['Indi_T3'],
|
||||
'Indi_T4' => $aindi['Indi_T4'],
|
||||
'Indi_T5' => $aindi['Indi_T5'],
|
||||
'Indi_Akhir' => $aindi['Indi_Akhir'],
|
||||
'Tipe_Data' => $aindi['Tipe_Data'],
|
||||
'SIPD_UNIK' => $aindi['SIPD_UNIK']
|
||||
];
|
||||
fastInsert("renstra_prog_indi", $apull);
|
||||
}
|
||||
|
||||
// kegiatan
|
||||
foreach ($aoutcome['kegiatan'] as $_key3 => $akeg) {
|
||||
// master kegiatan
|
||||
$id_keg = 0;
|
||||
$db->Query("SELECT KegID FROM para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".$acome['ProgID']."' AND K_Keg LIKE '%".substr($akeg['K_Keg'],4)."' GROUP BY KegID LIMIT 1");
|
||||
if ($db->Next()) $id_keg = $db->Row("KegID", 0);
|
||||
|
||||
$apull = [ 'OPDID' => $acome['OPDID'],
|
||||
'RA_PROGID' => $ra_progid,
|
||||
'RD_OUTCOMEID' => $acome['RD_OUTCOMEID'],
|
||||
'RPJMDID' => $id_rpjmd,
|
||||
'ProgID' => $acome['ProgID'],
|
||||
'KegID' => $id_keg,
|
||||
'K_Keg' => $akeg['K_Keg']
|
||||
];
|
||||
$ra_kegid = fastInsert("renstra_keg", $apull);
|
||||
|
||||
// output kegiatan
|
||||
foreach ($akeg['output'] as $_key4 => $aoutput) {
|
||||
$apull = [ 'OPDID' => $acome['OPDID'],
|
||||
'RA_KEGID' => $ra_kegid,
|
||||
'RPJMDID' => $id_rpjmd,
|
||||
'ProgID' => $acome['ProgID'],
|
||||
'KegID' => $id_keg,
|
||||
'No_Output' => $aoutput['No_Output'],
|
||||
'Txt_Output' => $aoutput['Txt_Output'],
|
||||
'SIPD_UNIK' => $aoutput['SIPD_UNIK']
|
||||
];
|
||||
$ra_outid = fastInsert("renstra_output", $apull);
|
||||
|
||||
if (count($aoutput['subkeg']) == 0) $aret['message'] .= $akeg['K_Keg']." - ";
|
||||
// sub kegiatan
|
||||
foreach ($aoutput['subkeg'] as $_key5 => $asub) {
|
||||
// master sub kegiatan
|
||||
$id_sub = 0;
|
||||
$db->Query("SELECT SubID FROM para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".$id_keg."' AND K_Sub LIKE '%".substr($asub['K_Sub'],4)."' LIMIT 1");
|
||||
if ($db->Next()) $id_sub = $db->Row("SubID", 0);
|
||||
|
||||
$apull = [ 'OPDID' => $acome['OPDID'],
|
||||
'RA_OUTPUTID' => $ra_outid,
|
||||
'RA_KEGID' => $ra_kegid,
|
||||
'RPJMDID' => $id_rpjmd,
|
||||
'ProgID' => $acome['ProgID'],
|
||||
'KegID' => $id_keg,
|
||||
'SubID' => $id_sub,
|
||||
'K_Sub' => $asub['K_Sub'],
|
||||
'Pagu_T1' => $asub['Pagu_T1'],
|
||||
'Pagu_T2' => $asub['Pagu_T2'],
|
||||
'Pagu_T3' => $asub['Pagu_T3'],
|
||||
'Pagu_T4' => $asub['Pagu_T4'],
|
||||
'Pagu_T5' => $asub['Pagu_T5'],
|
||||
'No_Indi' => $asub['No_Indi'],
|
||||
'Txt_Indi' => $asub['Txt_Indi'],
|
||||
'Indi_Satuan' => $asub['Indi_Satuan'],
|
||||
'Indi_Status' => $asub['Indi_Status'],
|
||||
'Indi_Awal' => $asub['Indi_Awal'],
|
||||
'Indi_T1' => $asub['Indi_T1'],
|
||||
'Indi_T2' => $asub['Indi_T2'],
|
||||
'Indi_T3' => $asub['Indi_T3'],
|
||||
'Indi_T4' => $asub['Indi_T4'],
|
||||
'Indi_T5' => $asub['Indi_T5'],
|
||||
'Indi_Akhir' => $asub['Indi_Akhir'],
|
||||
'Kinerja' => $asub['Kinerja'],
|
||||
'MIndiID' => $asub['ID_Indi'],
|
||||
//'Tipe_Data' => $asub['Tipe_Data'],
|
||||
//'SIPD_UNIK' => $asub['SIPD_UNIK']
|
||||
];
|
||||
fastInsert("renstra_sub", $apull);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// update sub -> output
|
||||
$db->Query("UPDATE renstra_output A, (SELECT OPDID,RA_OUTPUTID,SUM(Pagu_T1) T1,SUM(Pagu_T2) T2,SUM(Pagu_T3) T3,SUM(Pagu_T4) T4,SUM(Pagu_T5) T5 FROM renstra_sub WHERE RPJMDID='".$id_rpjmd."' GROUP BY OPDID,RA_OUTPUTID) B SET A.Pagu_T1=B.T1,A.Pagu_T2=B.T2,A.Pagu_T3=B.T3,A.Pagu_T4=B.T4,A.Pagu_T5=B.T5 WHERE A.RA_OUTPUTID=B.RA_OUTPUTID AND A.OPDID=B.OPDID AND A.RPJMDID='".$id_rpjmd."'");
|
||||
// update sub -> keg
|
||||
$db->Query("UPDATE renstra_keg A, (SELECT OPDID,RA_KEGID,SUM(Pagu_T1) T1,SUM(Pagu_T2) T2,SUM(Pagu_T3) T3,SUM(Pagu_T4) T4,SUM(Pagu_T5) T5 FROM renstra_sub WHERE RPJMDID='".$id_rpjmd."' GROUP BY OPDID,RA_KEGID) B SET A.Pagu_T1=B.T1,A.Pagu_T2=B.T2,A.Pagu_T3=B.T3,A.Pagu_T4=B.T4,A.Pagu_T5=B.T5 WHERE A.RA_KEGID=B.RA_KEGID AND A.OPDID=B.OPDID AND A.RPJMDID='".$id_rpjmd."'");
|
||||
// update keg -> prog
|
||||
$db->Query("UPDATE renstra_prog A, (SELECT OPDID,RA_PROGID,SUM(Pagu_T1) T1,SUM(Pagu_T2) T2,SUM(Pagu_T3) T3,SUM(Pagu_T4) T4,SUM(Pagu_T5) T5 FROM renstra_keg WHERE RPJMDID='".$id_rpjmd."' GROUP BY OPDID,RA_PROGID) B SET A.Pagu_T1=B.T1,A.Pagu_T2=B.T2,A.Pagu_T3=B.T3,A.Pagu_T4=B.T4,A.Pagu_T5=B.T5 WHERE A.RA_PROGID=B.RA_PROGID AND A.OPDID=B.OPDID AND A.RPJMDID='".$id_rpjmd."'");
|
||||
// update prog -> outcome rpjmd
|
||||
$db->Query("UPDATE rpjmd_outcome A, (SELECT RD_OUTCOMEID,SUM(Pagu_T1) T1,SUM(Pagu_T2) T2,SUM(Pagu_T3) T3,SUM(Pagu_T4) T4,SUM(Pagu_T5) T5 FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."' GROUP BY RD_OUTCOMEID) B SET A.Pagu_T1=B.T1,A.Pagu_T2=B.T2,A.Pagu_T3=B.T3,A.Pagu_T4=B.T4,A.Pagu_T5=B.T5 WHERE A.RD_OUTCOMEID=B.RD_OUTCOMEID AND A.RPJMDID='".$id_rpjmd."'");
|
||||
|
||||
return $aret;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,811 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/renja.php
|
||||
Desc. : PHP - Fungsi RENJA
|
||||
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");
|
||||
|
||||
/*function ambil_renja($db = null, $tahun = 0, $id_skpd = 0) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil mendapatkan data!', 'action' => $_POST['action'], 'run' => $_POST['run'], 'data' => []];
|
||||
*/
|
||||
|
||||
function singkron_rka() {
|
||||
global $wpdb;
|
||||
$ret = array(
|
||||
'action' => $_POST['action'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'status' => 'success',
|
||||
'message' => 'Berhasil export RKA!'
|
||||
);
|
||||
if (!empty($_POST)) {
|
||||
if (!empty($_POST['api_key']) && $_POST['api_key'] == get_option('_crb_api_key_extension')) {
|
||||
$kodeunit = '';
|
||||
if (!empty($_POST['data_unit'])) {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$data_unit = json_decode(stripslashes(html_entity_decode($_POST['data_unit'])), true);
|
||||
$data_unit = $data_unit[0];
|
||||
$kodeunit = $data_unit['kode_unit'];
|
||||
$_POST['nama_skpd'] = $data_unit['nama_skpd'];
|
||||
$_POST['kode_sub_skpd'] = $data_unit['kode_skpd'];
|
||||
} else {
|
||||
$data_unit = $_POST['data_unit'];
|
||||
$kodeunit = $data_unit['kodeunit'];
|
||||
$_POST['nama_skpd'] = $data_unit['namaunit'];
|
||||
$_POST['kode_sub_skpd'] = $data_unit['kodeunit'];
|
||||
}
|
||||
//$data_unit = $_POST['data_unit'];
|
||||
} else if ($ret['status'] != 'error') {
|
||||
$ret['status'] = 'error';
|
||||
$ret['message'] = 'Format data Unit Salah!';
|
||||
}
|
||||
if (!isset($_POST['idsubbl'])) {
|
||||
$_POST['idsubbl'] = '';
|
||||
}
|
||||
if (!isset($_POST['idbl'])) {
|
||||
$_POST['idbl'] = '';
|
||||
}
|
||||
|
||||
$_POST['idsubbl'] = (int) $_POST['idsubbl'];
|
||||
$_POST['idbl'] = (int) $_POST['idbl'];
|
||||
|
||||
if (!empty($_POST['dataBl']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataBl = json_decode(stripslashes(html_entity_decode($_POST['dataBl'])), true);
|
||||
} else {
|
||||
$dataBl = $_POST['dataBl'];
|
||||
}
|
||||
foreach ($dataBl as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_sub_keg_bl
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl']));*/
|
||||
|
||||
$kode_program = $v['kode_bidang_urusan'] . substr($v['kode_program'], 4, strlen($v['kode_program']));
|
||||
$kode_giat = $v['kode_bidang_urusan'] . substr($v['kode_giat'], 4, strlen($v['kode_giat']));
|
||||
$kode_sub_giat = $v['kode_bidang_urusan'] . substr($v['kode_sub_giat'], 4, strlen($v['kode_sub_giat']));
|
||||
// die($kode_giat);
|
||||
if (!isset($v['id_sub_bl'])) {
|
||||
$v['id_sub_bl'] = '';
|
||||
}
|
||||
if (!isset($v['id_bl'])) {
|
||||
$v['id_bl'] = '';
|
||||
}
|
||||
if (!isset($v['idsubbl'])) {
|
||||
$v['idsubbl'] = '';
|
||||
}
|
||||
if (!isset($v['idbl'])) {
|
||||
$v['idbl'] = '';
|
||||
}
|
||||
if (!isset($v['id_lokasi'])) {
|
||||
$v['id_lokasi'] = '';
|
||||
}
|
||||
if (!isset($v['nama_dana'])) {
|
||||
$v['nama_dana'] = '';
|
||||
}
|
||||
if (!isset($v['nama_lokasi'])) {
|
||||
$v['nama_lokasi'] = '';
|
||||
}
|
||||
if (!isset($v['id_dana'])) {
|
||||
$v['id_dana'] = '';
|
||||
}
|
||||
if (!isset($v['id_label_kokab'])) {
|
||||
$v['id_label_kokab'] = 0;
|
||||
}
|
||||
if (!isset($v['no_program'])) {
|
||||
$v['no_program'] = '';
|
||||
}
|
||||
if (!isset($v['target_1'])) {
|
||||
$v['target_1'] = '';
|
||||
}
|
||||
if (!isset($v['target_2'])) {
|
||||
$v['target_2'] = '';
|
||||
}
|
||||
if (!isset($v['target_3'])) {
|
||||
$v['target_3'] = '';
|
||||
}
|
||||
if (!isset($v['target_4'])) {
|
||||
$v['target_4'] = '';
|
||||
}
|
||||
if (!isset($v['target_5'])) {
|
||||
$v['target_5'] = '';
|
||||
}
|
||||
if (!isset($v['nama_bidang_urusan'])) {
|
||||
$v['nama_bidang_urusan'] = '';
|
||||
}
|
||||
if (!isset($v['no_giat'])) {
|
||||
$v['no_giat'] = '';
|
||||
}
|
||||
if (!isset($v['id_label_prov'])) {
|
||||
$v['id_label_prov'] = 0;
|
||||
}
|
||||
if (!isset($v['label_prov'])) {
|
||||
$v['label_prov'] = '';
|
||||
}
|
||||
if (!isset($v['output_sub_giat'])) {
|
||||
$v['output_sub_giat'] = '';
|
||||
}
|
||||
if (!isset($v['sasaran'])) {
|
||||
$v['sasaran'] = '';
|
||||
}
|
||||
if (!isset($v['indikator'])) {
|
||||
$v['indikator'] = '';
|
||||
}
|
||||
if (!isset($v['pagu_n_depan'])) {
|
||||
$v['pagu_n_depan'] = 0;
|
||||
}
|
||||
if (!isset($v['satuan'])) {
|
||||
$v['satuan'] = '';
|
||||
}
|
||||
if (!isset($v['id_rpjmd'])) {
|
||||
$v['id_rpjmd'] = 0;
|
||||
}
|
||||
if (!isset($v['id_giat'])) {
|
||||
$v['id_giat'] = 0;
|
||||
}
|
||||
if (!isset($v['id_label_pusat'])) {
|
||||
$v['id_label_pusat'] = '';
|
||||
}
|
||||
if (!isset($_POST['nama_skpd'])) {
|
||||
$_POST['nama_skpd'] = '';
|
||||
}
|
||||
if (!isset($v['kode_skpd'])) {
|
||||
$v['kode_skpd'] = '';
|
||||
}
|
||||
if (!isset($v['label_pusat'])) {
|
||||
$v['label_pusat'] = '';
|
||||
}
|
||||
if (!isset($v['label_kokab'])) {
|
||||
$v['label_kokab'] = '';
|
||||
}
|
||||
|
||||
$opsi = array(
|
||||
'id_sub_skpd' => $v['id_sub_skpd'],
|
||||
'id_lokasi' => $v['id_lokasi'],
|
||||
'id_label_kokab' => $v['id_label_kokab'],
|
||||
'nama_dana' => $v['nama_dana'],
|
||||
'no_sub_giat' => $v['no_sub_giat'],
|
||||
'kode_giat' => $kode_giat,
|
||||
'id_program' => $v['id_program'],
|
||||
'nama_lokasi' => $v['nama_lokasi'],
|
||||
'waktu_akhir' => $v['waktu_akhir'],
|
||||
'pagu_n_lalu' => $v['pagu_n_lalu'],
|
||||
'id_urusan' => $v['id_urusan'],
|
||||
'id_unik_sub_bl' => $v['id_unik_sub_bl'],
|
||||
'id_sub_giat' => $v['id_sub_giat'],
|
||||
'label_prov' => $v['label_prov'],
|
||||
'kode_program' => $kode_program,
|
||||
'kode_sub_giat' => $kode_sub_giat,
|
||||
'no_program' => $v['no_program'],
|
||||
'kode_urusan' => $v['kode_urusan'],
|
||||
'kode_bidang_urusan' => $v['kode_bidang_urusan'],
|
||||
'nama_program' => $v['nama_program'],
|
||||
'target_4' => $v['target_4'],
|
||||
'target_5' => $v['target_5'],
|
||||
'id_bidang_urusan' => $v['id_bidang_urusan'],
|
||||
'nama_bidang_urusan' => $v['nama_bidang_urusan'],
|
||||
'target_3' => $v['target_3'],
|
||||
'no_giat' => $v['no_giat'],
|
||||
'id_label_prov' => $v['id_label_prov'],
|
||||
'waktu_awal' => $v['waktu_awal'],
|
||||
'pagu' => $v['pagu'],
|
||||
'pagumurni' => $v['pagumurni'],
|
||||
'output_sub_giat' => $v['output_sub_giat'],
|
||||
'sasaran' => $v['sasaran'],
|
||||
'indikator' => $v['indikator'],
|
||||
'id_dana' => $v['id_dana'],
|
||||
'nama_sub_giat' => $v['nama_sub_giat'],
|
||||
'pagu_n_depan' => $v['pagu_n_depan'],
|
||||
'satuan' => $v['satuan'],
|
||||
'id_rpjmd' => $v['id_rpjmd'],
|
||||
'id_giat' => $v['id_giat'],
|
||||
'id_label_pusat' => $v['id_label_pusat'],
|
||||
'nama_giat' => $v['nama_giat'],
|
||||
'kode_skpd' => $_POST['kode_skpd'],
|
||||
'nama_skpd' => $_POST['nama_skpd'],
|
||||
'kode_sub_skpd' => $_POST['kode_sub_skpd'],
|
||||
'id_skpd' => $v['id_skpd'],
|
||||
'id_sub_bl' => $v['id_sub_bl'],
|
||||
'nama_sub_skpd' => $v['nama_sub_skpd'],
|
||||
'target_1' => $v['target_1'],
|
||||
'nama_urusan' => $v['nama_urusan'],
|
||||
'target_2' => $v['target_2'],
|
||||
'label_kokab' => $v['label_kokab'],
|
||||
'label_pusat' => $v['label_pusat'],
|
||||
'pagu_keg' => $_POST['pagu'],
|
||||
'id_bl' => $v['id_bl'],
|
||||
'kode_bl' => $_POST['kode_bl'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
// print_r($opsi); die($wpdb->last_query);
|
||||
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_sub_keg_bl', $opsi, array(
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_sub_keg_bl', $opsi);
|
||||
//}
|
||||
|
||||
//$nama_page = $_POST['tahun_anggaran'] . ' | ' . $kodeunit . ' | ' . $kode_giat . ' | ' . $v['nama_giat'];
|
||||
//$url_kegiatan = $this->generatePage($nama_page, $_POST['tahun_anggaran'], '[tampilrka kode_bl="' . $_POST['kode_bl'] . '" tahun_anggaran="' . $_POST['tahun_anggaran'] . '"]');
|
||||
$ret['message'] .= ' URL OK';// . $url_kegiatan;
|
||||
}
|
||||
} else if ($ret['status'] != 'error') {
|
||||
$ret['status'] = 'error';
|
||||
$ret['message'] = 'Format data BL Salah!';
|
||||
}
|
||||
|
||||
if ($_POST['total_page'] == $_POST['no_page']) {
|
||||
if (!empty($_POST['dataOutput']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataOutput = json_decode(stripslashes(html_entity_decode($_POST['dataOutput'])), true);
|
||||
} else {
|
||||
$dataOutput = $_POST['dataOutput'];
|
||||
}
|
||||
/*$wpdb->update('data_sub_keg_indikator', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));*/
|
||||
foreach ($dataOutput as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_sub_keg_indikator
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
AND idoutputbl=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl'], $v['idoutputbl']));*/
|
||||
$opsi = array(
|
||||
'outputteks' => $v['outputteks'],
|
||||
'targetoutput' => $v['targetoutput'],
|
||||
'satuanoutput' => $v['satuanoutput'],
|
||||
'idoutputbl' => $v['idoutputbl'],
|
||||
'targetoutputteks' => $v['targetoutputteks'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idsubbl' => $_POST['idsubbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_sub_keg_indikator', $opsi, array(
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idoutputbl' => $v['idoutputbl'],
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_sub_keg_indikator', $opsi);
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($_POST['dataHasil']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataHasil = json_decode(stripslashes(html_entity_decode($_POST['dataHasil'])), true);
|
||||
} else {
|
||||
$dataHasil = $_POST['dataHasil'];
|
||||
}
|
||||
/*$wpdb->update('data_keg_indikator_hasil', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));*/
|
||||
foreach ($dataHasil as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_keg_indikator_hasil
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
AND hasilteks=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl'], $v['hasilteks']));*/
|
||||
$opsi = array(
|
||||
'hasilteks' => $v['hasilteks'],
|
||||
'satuanhasil' => $v['satuanhasil'],
|
||||
'targethasil' => $v['targethasil'],
|
||||
'targethasilteks' => $v['targethasilteks'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idsubbl' => $_POST['idsubbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_keg_indikator_hasil', $opsi, array(
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'hasilteks' => $v['hasilteks'],
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_keg_indikator_hasil', $opsi);
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($_POST['dataTag']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataTag = json_decode(stripslashes(html_entity_decode($_POST['dataTag'])), true);
|
||||
} else {
|
||||
$dataTag = $_POST['dataTag'];
|
||||
}
|
||||
/*$wpdb->update('data_tag_sub_keg', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));*/
|
||||
foreach ($dataTag as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_tag_sub_keg
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
AND idtagbl=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl'], $v['idtagbl']));*/
|
||||
$opsi = array(
|
||||
'idlabelgiat' => $v['idlabelgiat'],
|
||||
'namalabel' => $v['namalabel'],
|
||||
'idtagbl' => $v['idtagbl'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idsubbl' => $_POST['idsubbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_tag_sub_keg', $opsi, array(
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idtagbl' => $v['idtagbl'],
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_tag_sub_keg', $opsi);
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($_POST['dataCapaian']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataCapaian = json_decode(stripslashes(html_entity_decode($_POST['dataCapaian'])), true);
|
||||
} else {
|
||||
$dataCapaian = $_POST['dataCapaian'];
|
||||
}
|
||||
/*$wpdb->update('data_capaian_prog_sub_keg', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));*/
|
||||
foreach ($dataCapaian as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_capaian_prog_sub_keg
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
AND capaianteks=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl'], $v['capaianteks']));*/
|
||||
$opsi = array(
|
||||
'satuancapaian' => $v['satuancapaian'],
|
||||
'targetcapaianteks' => $v['targetcapaianteks'],
|
||||
'capaianteks' => $v['capaianteks'],
|
||||
'targetcapaian' => $v['targetcapaian'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idsubbl' => $_POST['idsubbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_capaian_prog_sub_keg', $opsi, array(
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'capaianteks' => $v['capaianteks'],
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_capaian_prog_sub_keg', $opsi);
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($_POST['dataOutputGiat']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataOutputGiat = json_decode(stripslashes(html_entity_decode($_POST['dataOutputGiat'])), true);
|
||||
} else {
|
||||
$dataOutputGiat = $_POST['dataOutputGiat'];
|
||||
}
|
||||
/*$wpdb->update('data_output_giat_sub_keg', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));*/
|
||||
foreach ($dataOutputGiat as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_output_giat_sub_keg
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
AND outputteks=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl'], $v['outputteks']));*/
|
||||
$opsi = array(
|
||||
'outputteks' => $v['outputteks'],
|
||||
'satuanoutput' => $v['satuanoutput'],
|
||||
'targetoutput' => $v['targetoutput'],
|
||||
'targetoutputteks' => $v['targetoutputteks'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idsubbl' => $_POST['idsubbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_output_giat_sub_keg', $opsi, array(
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'outputteks' => $v['outputteks'],
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_output_giat_sub_keg', $opsi);
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($_POST['dataDana']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataDana = json_decode(stripslashes(html_entity_decode($_POST['dataDana'])), true);
|
||||
} else {
|
||||
$dataDana = $_POST['dataDana'];
|
||||
}
|
||||
/*$wpdb->update('data_dana_sub_keg', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));*/
|
||||
foreach ($dataDana as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_dana_sub_keg
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
AND iddanasubbl=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl'], $v['iddanasubbl']));*/
|
||||
$opsi = array(
|
||||
'namadana' => $v['namadana'],
|
||||
'kodedana' => $v['kodedana'],
|
||||
'iddana' => $v['iddana'],
|
||||
'iddanasubbl' => $v['iddanasubbl'],
|
||||
'pagudana' => $v['pagudana'],
|
||||
'is_locked' => $v['is_locked'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idsubbl' => $_POST['idsubbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_dana_sub_keg', $opsi, array(
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'iddanasubbl' => $v['iddanasubbl'],
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_dana_sub_keg', $opsi);
|
||||
//}
|
||||
}
|
||||
}
|
||||
if (!empty($_POST['dataLokout']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataLokout = json_decode(stripslashes(html_entity_decode($_POST['dataLokout'])), true);
|
||||
} else {
|
||||
$dataLokout = $_POST['dataLokout'];
|
||||
}
|
||||
/*$wpdb->update('data_lokasi_sub_keg', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));*/
|
||||
foreach ($dataLokout as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_lokasi_sub_keg
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
AND iddetillokasi=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl'], $v['iddetillokasi']));*/
|
||||
$opsi = array(
|
||||
'camatteks' => $v['camatteks'],
|
||||
'daerahteks' => $v['daerahteks'],
|
||||
'idcamat' => $v['idcamat'],
|
||||
'iddetillokasi' => $v['iddetillokasi'],
|
||||
'idkabkota' => $v['idkabkota'],
|
||||
'idlurah' => $v['idlurah'],
|
||||
'lurahteks' => $v['lurahteks'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idsubbl' => $_POST['idsubbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_lokasi_sub_keg', $opsi, array(
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'iddetillokasi' => $v['iddetillokasi'],
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_lokasi_sub_keg', $opsi);
|
||||
//}
|
||||
}
|
||||
}
|
||||
if (!empty($_POST['realisasi']) && $ret['status'] != 'error') {
|
||||
$realisasi = $_POST['realisasi'];
|
||||
/*$wpdb->update('data_realisasi_akun_sipd', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));*/
|
||||
foreach ($realisasi as $k => $v) {
|
||||
/*$cek_id = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
kode_sbl
|
||||
from data_realisasi_akun_sipd
|
||||
where tahun_anggaran=%d
|
||||
AND kode_sbl=%s
|
||||
AND kode_akun=%s
|
||||
", $_POST['tahun_anggaran'], $_POST['kode_sbl'], $v['kode_akun']));*/
|
||||
$opsi = array(
|
||||
'id_unit' => $v['id_unit'],
|
||||
'id_skpd' => $v['id_skpd'],
|
||||
'id_sub_skpd' => $v['id_sub_skpd'],
|
||||
'id_program' => $v['id_program'],
|
||||
'id_giat' => $v['id_giat'],
|
||||
'id_sub_giat' => $v['id_sub_giat'],
|
||||
'id_daerah' => $v['id_daerah'],
|
||||
'lokus_akun_teks' => $v['lokus_akun_teks'],
|
||||
'id_akun' => $v['id_akun'],
|
||||
'kode_akun' => $v['kode_akun'],
|
||||
'nama_akun' => $v['nama_akun'],
|
||||
'is_locked' => $v['is_locked'],
|
||||
'nilai' => $v['nilai'],
|
||||
'action' => $v['action'],
|
||||
'realisasi' => $v['realisasi'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
/*if (!empty($cek_id)) {
|
||||
$wpdb->update('data_realisasi_akun_sipd', $opsi, array(
|
||||
'id' => $cek_id
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_realisasi_akun_sipd', $opsi);
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$iddana = false;
|
||||
if (!empty($_POST['dataDana'])) {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$dataDana = json_decode(stripslashes(html_entity_decode($_POST['dataDana'])), true);
|
||||
} else {
|
||||
$dataDana = $_POST['dataDana'];
|
||||
}
|
||||
foreach ($dataDana as $k => $v) {
|
||||
if (
|
||||
empty($iddana)
|
||||
&& !empty($v['iddana'])
|
||||
) {
|
||||
$iddana = $v['iddana'];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (empty($iddana)) {
|
||||
$iddana = get_option('_crb_default_sumber_dana');
|
||||
}
|
||||
|
||||
if (!empty($_POST['rka']) && $ret['status'] != 'error') {
|
||||
if (!empty($_POST['type']) && $_POST['type'] == 'ri') {
|
||||
$rka = json_decode(stripslashes($_POST['rka']), true);
|
||||
} else {
|
||||
$rka = $_POST['rka'];
|
||||
if ($rka == 0) {
|
||||
$rka = array();
|
||||
}
|
||||
}
|
||||
if (
|
||||
(
|
||||
empty($rka)
|
||||
&& $_POST['no_page'] == 0
|
||||
)
|
||||
|| (
|
||||
!empty($_POST['no_page'])
|
||||
&& $_POST['no_page'] == 1
|
||||
)
|
||||
) {
|
||||
$wpdb->update('data_rka', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
), array('%d', '%s'));
|
||||
}
|
||||
foreach ($rka as $k => $v) {
|
||||
/*$cek = $wpdb->get_var($wpdb->prepare("
|
||||
SELECT
|
||||
id_rinci_sub_bl
|
||||
from data_rka
|
||||
where tahun_anggaran=%d
|
||||
AND id_rinci_sub_bl=%s
|
||||
AND kode_sbl=%s
|
||||
", $_POST['tahun_anggaran'], $v['id_rinci_sub_bl'], $_POST['kode_sbl']));*/
|
||||
$opsi = array(
|
||||
'created_user' => $v['created_user'],
|
||||
'createddate' => $v['createddate'],
|
||||
'createdtime' => $v['createdtime'],
|
||||
'harga_satuan' => $v['harga_satuan'],
|
||||
'harga_satuan_murni' => $v['harga_satuan_murni'],
|
||||
'id_daerah' => $v['id_daerah'],
|
||||
'id_rinci_sub_bl' => $v['id_rinci_sub_bl'],
|
||||
'id_standar_nfs' => $v['id_standar_nfs'],
|
||||
'is_locked' => $v['is_locked'],
|
||||
'jenis_bl' => $v['jenis_bl'],
|
||||
'ket_bl_teks' => $v['ket_bl_teks'],
|
||||
'kode_akun' => $v['kode_akun'],
|
||||
'koefisien' => $v['koefisien'],
|
||||
'koefisien_murni' => $v['koefisien_murni'],
|
||||
'lokus_akun_teks' => $v['lokus_akun_teks'],
|
||||
'nama_akun' => $v['nama_akun'],
|
||||
'nama_komponen' => $v['nama_komponen'],
|
||||
'spek_komponen' => $v['spek_komponen'],
|
||||
'satuan' => $v['satuan'],
|
||||
'sat1' => $v['sat1'],
|
||||
'sat2' => $v['sat2'],
|
||||
'sat3' => $v['sat3'],
|
||||
'sat4' => $v['sat4'],
|
||||
'volum1' => $v['volum1'],
|
||||
'volum2' => $v['volum2'],
|
||||
'volum3' => $v['volum3'],
|
||||
'volum4' => $v['volum4'],
|
||||
'volume' => $v['volume'],
|
||||
'volume_murni' => $v['volume_murni'],
|
||||
'spek' => $v['spek'],
|
||||
'subs_bl_teks' => $v['subs_bl_teks']['subs_asli'],
|
||||
'substeks' => $v['subs_bl_teks']['substeks'],
|
||||
'id_dana' => $v['subs_bl_teks']['sumber_dana']['id_dana'],
|
||||
'nama_dana' => $v['subs_bl_teks']['sumber_dana']['nama_dana'],
|
||||
'is_paket' => $v['subs_bl_teks']['sumber_dana']['is_paket'],
|
||||
'kode_dana' => $v['subs_bl_teks']['sumber_dana']['kode_dana'],
|
||||
'subtitle_teks' => $v['subs_bl_teks']['sumber_dana']['subtitle_teks'],
|
||||
'total_harga' => $v['total_harga'],
|
||||
'rincian' => $v['rincian'],
|
||||
'rincian_murni' => $v['rincian_murni'],
|
||||
'totalpajak' => $v['totalpajak'],
|
||||
'pajak' => $v['pajak'],
|
||||
'pajak_murni' => $v['pajak_murni'],
|
||||
'updated_user' => $v['updated_user'],
|
||||
'updateddate' => $v['updateddate'],
|
||||
'updatedtime' => $v['updatedtime'],
|
||||
'user1' => $this->replace_char($v['user1']),
|
||||
'user2' => $this->replace_char($v['user2']),
|
||||
'idbl' => $_POST['idbl'],
|
||||
'idsubbl' => $_POST['idsubbl'],
|
||||
'kode_bl' => $_POST['kode_bl'],
|
||||
'kode_sbl' => $_POST['kode_sbl'],
|
||||
'idkomponen' => $v['idkomponen'],
|
||||
'idketerangan' => $v['idketerangan'],
|
||||
'idsubtitle' => $v['subs_bl_teks']['sumber_dana']['id_subtitle'],
|
||||
'ssh_locked' => $v['ssh_locked'],
|
||||
'akun_locked' => $v['akun_locked'],
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
|
||||
if (
|
||||
!empty($v['id_penerima'])
|
||||
|| !empty($v['id_prop_penerima'])
|
||||
|| !empty($v['id_camat_penerima'])
|
||||
|| !empty($v['id_kokab_penerima'])
|
||||
|| !empty($v['id_lurah_penerima'])
|
||||
) {
|
||||
$opsi['id_prop_penerima'] = $v['id_prop_penerima'];
|
||||
$opsi['id_camat_penerima'] = $v['id_camat_penerima'];
|
||||
$opsi['id_kokab_penerima'] = $v['id_kokab_penerima'];
|
||||
$opsi['id_lurah_penerima'] = $v['id_lurah_penerima'];
|
||||
$opsi['id_penerima'] = $v['id_penerima'];
|
||||
}
|
||||
|
||||
/*if (!empty($cek)) {
|
||||
$wpdb->update('data_rka', $opsi, array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'id_rinci_sub_bl' => $v['id_rinci_sub_bl'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
));
|
||||
} else {*/
|
||||
$wpdb->insert('data_rka', $opsi);
|
||||
//}
|
||||
// print_r($opsi); print_r($wpdb->last_query);
|
||||
|
||||
if (!empty($v['id_rinci_sub_bl'])) {
|
||||
$cek_id = $wpdb->get_var($wpdb->prepare(
|
||||
'
|
||||
select
|
||||
id
|
||||
from data_mapping_sumberdana
|
||||
where tahun_anggaran=%d
|
||||
and id_rinci_sub_bl=%d
|
||||
and active=1',
|
||||
$_POST['tahun_anggaran'],
|
||||
$v['id_rinci_sub_bl']
|
||||
));
|
||||
$opsi = array(
|
||||
'id_rinci_sub_bl' => $v['id_rinci_sub_bl'],
|
||||
'id_sumber_dana' => $iddana,
|
||||
'user' => 'Singkron SIPD Merah',
|
||||
'active' => 1,
|
||||
'update_at' => current_time('mysql'),
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran']
|
||||
);
|
||||
$update = false;
|
||||
if (!empty($v['subs_bl_teks']['sumber_dana']['id_dana'])) {
|
||||
$update = true;
|
||||
$opsi['id_sumber_dana'] = $v['subs_bl_teks']['sumber_dana']['id_dana'];
|
||||
}
|
||||
if (empty($cek_id)) {
|
||||
$wpdb->insert('data_mapping_sumberdana', $opsi);
|
||||
} else if ($update) {
|
||||
$wpdb->update('data_mapping_sumberdana', $opsi, array(
|
||||
'id' => $cek_id
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($ret['status'] != 'error') {
|
||||
// untuk menghapus rka subkeg yang dihapus di perubahan
|
||||
if ($_POST['rka'] == 0) {
|
||||
$wpdb->update('data_rka', array('active' => 0), array(
|
||||
'tahun_anggaran' => $_POST['tahun_anggaran'],
|
||||
'kode_sbl' => $_POST['kode_sbl']
|
||||
), array('%d', '%s'));
|
||||
} else {
|
||||
$ret['status'] = 'error';
|
||||
$ret['message'] = 'Format RKA Salah!';
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
get_option('_crb_singkron_simda') == 1
|
||||
&& get_option('_crb_tahun_anggaran_sipd') == $_POST['tahun_anggaran']
|
||||
&& $_POST['total_page'] == $_POST['no_page']
|
||||
) {
|
||||
$debug = false;
|
||||
if (get_option('_crb_singkron_simda_debug') == 1) {
|
||||
$debug = true;
|
||||
}
|
||||
$this->simda->singkronSimda(array(
|
||||
'return' => $debug
|
||||
));
|
||||
}
|
||||
} else {
|
||||
$ret['status'] = 'error';
|
||||
$ret['message'] = 'APIKEY tidak sesuai!';
|
||||
}
|
||||
} else {
|
||||
$ret['status'] = 'error';
|
||||
$ret['message'] = 'Format Salah!';
|
||||
}
|
||||
return $aret;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/rpjmd.php
|
||||
Desc. : PHP - Fungsi RPJMD
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : December 18th, 2025.
|
||||
|
||||
(c) 2025, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func.sippd.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_submap = map_tahun_submap($id_rpjmd);
|
||||
|
||||
function simpan_rpjmd_prog($db = null, $adata = []) {
|
||||
global $id_rpjmd, $thn_submap;
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil simpan data Program RPJMD !'];
|
||||
|
||||
foreach ($adata as $_key1 => $aprog) {
|
||||
$apull = [ 'RPJMDID' => $id_rpjmd,
|
||||
'BUID' => 0,
|
||||
'ProgID' => 0,
|
||||
'K_Bidu' => $aprog['K_Bidu'],
|
||||
'K_Prog' => $aprog['K_Prog'],
|
||||
'Pagu_T1' => $aprog['Pagu_T1'],
|
||||
'Pagu_T2' => $aprog['Pagu_T2'],
|
||||
'Pagu_T3' => $aprog['Pagu_T3'],
|
||||
'Pagu_T4' => $aprog['Pagu_T4'],
|
||||
'Pagu_T5' => $aprog['Pagu_T5']
|
||||
];
|
||||
// program rpjmd
|
||||
$db->Query("SELECT BUID,ProgID FROM para90_submap WHERE Tahun='".$thn_submap."' AND K_Prog='".$aprog['K_Prog']."' LIMIT 1");
|
||||
if ($db->Next()) $apull = array_merge($apull, $db->AllRow());
|
||||
$rd_progid = fastInsert("rpjmd_prog", $apull);
|
||||
|
||||
// outcome
|
||||
foreach ($aprog['outcome'] as $_key2 => $arec) {
|
||||
$apull = [ 'RD_PROGID' => $rd_progid,
|
||||
'RPJMDID' => $id_rpjmd,
|
||||
'No_Outcome' => $arec['No_Outcome'],
|
||||
'Txt_Outcome' => $arec['Txt_Outcome'],
|
||||
'A_OPD' => "0",
|
||||
'A_RDSASAR' => "0",
|
||||
'Limit_T1' => $arec['Limit_T1'],
|
||||
'Limit_T2' => $arec['Limit_T2'],
|
||||
'Limit_T3' => $arec['Limit_T3'],
|
||||
'Limit_T4' => $arec['Limit_T4'],
|
||||
'Limit_T5' => $arec['Limit_T5'],
|
||||
'SIPD_UNIK' => $arec['SIPD_UNIK']
|
||||
];
|
||||
// sasaran rpjmd
|
||||
if (count($arec['A_RDSASAR']) > 0) {
|
||||
$_tsa = "";
|
||||
foreach ($arec['A_RDSASAR'] as $_key_sa => $arec_sa) {
|
||||
$db->Query("SELECT RD_SASARID FROM rpjmd_sasaran WHERE SIPD_SASAR='".$arec_sa."' LIMIT 1");
|
||||
if ($db->Next()) $_tsa .= ",".$db->Row("RD_SASARID", 0)."";
|
||||
}
|
||||
$apull['A_RDSASAR'] = substr($_tsa, 1);
|
||||
}
|
||||
// opd
|
||||
if (count($arec['A_OPD']) > 0) {
|
||||
$_topd = "";
|
||||
foreach ($arec['A_OPD'] as $_key_opd => $arec_opd) {
|
||||
$db->Query("SELECT OPDID FROM para90_opd WHERE K_OPD='".$arec_opd."' LIMIT 1");
|
||||
if ($db->Next()) $_topd .= ",".$db->Row("OPDID", 0)."";
|
||||
}
|
||||
$apull['A_OPD'] = substr($_topd, 1);
|
||||
}
|
||||
fastInsert("rpjmd_outcome", $apull);
|
||||
}
|
||||
}
|
||||
// update yg buid = 0 dan progid = 0
|
||||
$db->Query("UPDATE rpjmd_prog SET ProgID=(SELECT ProgID FROM para90_submap WHERE Tahun='".$thn_submap."' AND UrusanID=20 GROUP BY ProgID) WHERE ProgID=0 AND RPJMDID='".$id_rpjmd."'");
|
||||
$db->Query("UPDATE rpjmd_prog A, (SELECT K_Bidu,BUID FROM para90_submap WHERE Tahun='".$thn_submap."' GROUP BY K_Bidu) B SET A.BUID=B.BUID WHERE A.K_Bidu=B.K_Bidu AND A.RPJMDID='".$id_rpjmd."'");
|
||||
|
||||
return $aret;
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
require_once(dirname(__FILE__)."/../../../../../modules3/db.mysqli.php");
|
||||
|
||||
$db = DB();
|
||||
$tahun = 0;
|
||||
|
||||
function API_SalingBantu() {
|
||||
$curl_array = array(
|
||||
CURLOPT_URL => "https://salingbantu.mempawahkab.go.id/api/api_bansos?api_key=6a8f0d2e3f47b53c5e687d9b45f10a98b2e33c9a7d4e6f5a3c2d1e0b8765f4c3",
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 0,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_HTTPHEADER => array(
|
||||
"Accept: application/json",
|
||||
"Content-Type: application/json",
|
||||
),
|
||||
CURLOPT_SSL_VERIFYHOST => false,
|
||||
CURLOPT_SSL_VERIFYPEER => false
|
||||
);
|
||||
|
||||
$curl = curl_init();
|
||||
curl_setopt_array($curl, $curl_array);
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
curl_close($curl);
|
||||
if ($err) {
|
||||
$aresult[] = $err;
|
||||
} else {
|
||||
$aresult = json_decode($response, true);
|
||||
}
|
||||
return $aresult;
|
||||
}
|
||||
|
||||
$adata = API_SalingBantu();
|
||||
|
||||
echo count($adata)." record<br>";
|
||||
$db->Query("TRUNCATE i_salingbantu");
|
||||
foreach ($adata as $arec) {
|
||||
$arec['nama_pengaju'] = $db->SafeSQL($arec['nama_pengaju']);
|
||||
$arec['judul'] = $db->SafeSQL($arec['judul']);
|
||||
$arec['latar_belakang'] = $db->SafeSQL($arec['latar_belakang']);
|
||||
$arec['maksud_tujuan'] = $db->SafeSQL($arec['maksud_tujuan']);
|
||||
$arec['alamat'] = $db->SafeSQL($arec['alamat']);
|
||||
|
||||
$db->Query("INSERT INTO i_salingbantu (Tahun,Kode,Organisasi,Judul,Latar,Maksud,Alamat,Rupiah,Tipe,Level_Tahap,Tahapan,N_OPD,DateStamp) VALUES ('".$arec['tahun']."','".$arec['id']."','".$arec['nama_pengaju']."','".$arec['judul']."','".$arec['latar_belakang']."','".$arec['maksud_tujuan']."','".$arec['alamat']."','".$arec['nilai']."','".$arec['type']."','".$arec['level_tahap']."','".$arec['tahapan']."','".$arec['opd']."',NOW())");
|
||||
$tahun = $arec['tahun'];
|
||||
}
|
||||
//$db->Query("update i_salingbantu a,para90_opd b set a.opdid=b.opdid where a.n_opd=b.n_opd");
|
||||
|
||||
$db->Query("INSERT INTO pok_salingbantu (Tahun,Kode,Organisasi,Judul,Latar,Maksud,Alamat,Rupiah,Tipe,Level_Tahap,Tahapan,DateStamp) SELECT Tahun,Kode,Organisasi,Judul,Latar,Maksud,Alamat,Rupiah,Tipe,Level_Tahap,Tahapan,DateStamp FROM i_salingbantu WHERE Tahun='".$tahun."' AND Kode NOT IN (SELECT Kode FROM pok_salingbantu WHERE Tahun='".$tahun."')");
|
||||
|
||||
echo "import done.";
|
||||
?>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
require_once(dirname(__FILE__)."/../../../../../modules3/db.mysqli.php");
|
||||
|
||||
$db = DB();
|
||||
$adata = json_decode(file_get_contents("test.json"), true);
|
||||
|
||||
foreach ($adata as $arec) {
|
||||
// indikator program
|
||||
$db->Query("INSERT INTO renstra_prog_indi_copy (rpjmdid,opdid,progid,txt_indi,indi_satuan,indi_awal,indi_t1,indi_t2,indi_akhir,sipd_rpjmd,sipd_prog,sipd_sasar) VALUES (3,'".$arec['id_unit']."','".$arec['id_program']."','".$arec['indikator']."','".$arec['satuan']."','".$arec['target_awal']."','".$arec['target_1']."','".$arec['target_2']."','".$arec['target_akhir']."','".$arec['id_unik_indikator']."','".$arec['id_unik']."','".$arec['kode_sasaran']."')");
|
||||
//$db->Query("INSERT INTO para90_opd_copy (k_opd,n_opd,p_nip,p_nama,p_jabatan,p_pangkat,sipd_opd,sipd_unit,sipd_unik) VALUES ('".$arec['kode_skpd']."','".$arec['nama_skpd']."','".$arec['nip_kepala']."','".$arec['nama_kepala']."','".$arec['status_kepala']."','".$arec['pangkat_kepala']."','".$arec['id_skpd']."','".$arec['id_unit']."','".$arec['id_unik']."')");
|
||||
}
|
||||
|
||||
echo "import done.";
|
||||
?>
|
||||
Reference in New Issue
Block a user