input perubahan pokir, asmas dan renja; fixed data pelaporan, tambah filter dan generate excel

This commit is contained in:
2026-05-04 17:00:03 +07:00
parent 76cde287dd
commit 3f06971165
15 changed files with 1620 additions and 129 deletions
+1 -1
View File
@@ -63,7 +63,7 @@ var IndukAsmasJS = {
url: this.PHP, url: this.PHP,
sendParam: ['data=detail-keg','mode_detail='+mode,'KecID','KelID','SapiID='+ID], sendParam: ['data=detail-keg','mode_detail='+mode,'KecID','KelID','SapiID='+ID],
onSuccess: (ajson) => { onSuccess: (ajson) => {
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Aspirasi Masyarakat', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => { this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Aspirasi Masyarakat :: Induk', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan()); $('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan());
$('#formAsmas').validate({ $('#formAsmas').validate({
rules: { rules: {
+1 -1
View File
@@ -50,7 +50,7 @@ var IndukPokirJS = {
url: this.PHP, url: this.PHP,
sendParam: ['data=detail-keg','mode_detail='+mode,'DPRDID','DapilID','SapiID='+ID], sendParam: ['data=detail-keg','mode_detail='+mode,'DPRDID','DapilID','SapiID='+ID],
onSuccess: (ajson) => { onSuccess: (ajson) => {
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Pokir', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => { this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Pokir :: Induk', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan()); $('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan());
$('#formPokir').validate({ $('#formPokir').validate({
rules: { rules: {
+1 -1
View File
@@ -50,7 +50,7 @@ var IndukRenjaJS = {
url: this.PHP, url: this.PHP,
sendParam: ['data=detail-keg','mode_detail='+mode,'OPDID','AK_Bidu','SapiID='+ID], sendParam: ['data=detail-keg','mode_detail='+mode,'OPDID','AK_Bidu','SapiID='+ID],
onSuccess: (ajson) => { onSuccess: (ajson) => {
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Renja', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => { this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Renja :: Induk', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => {
$('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan()); $('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan());
$('#formRenja').validate({ $('#formRenja').validate({
rules: { rules: {
+48 -41
View File
@@ -5,9 +5,9 @@
Desc. : JS - Tampilan Data Pelaporan Desc. : JS - Tampilan Data Pelaporan
Created By : Siau Pheng ([email protected]). Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011. Created Date : October 28th, 2011.
Last Modified : November 26th, 2025. Last Modified : May 4th, 2026.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM. (c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/ *******************************************************************/
@@ -17,57 +17,77 @@ var RepoBrowseJS = {
loading: function(){ loading: function(){
this.data_query('tabel-keg'); this.data_query('tabel-keg');
$('#Cari_Keg').keydown(function(e){ $('#Cari_Keg').keydown((e) => {
var key = e.keyCode || e.which || 0; var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('tabel-keg'); if (key==13 && e.target.value!='') this.data_query('tabel-keg');
}.bind(this)); });
$('#butSearch').click(function(e){ $('#butSearch').click((e) => {
this.data_query('tabel-keg'); this.data_query('tabel-keg');
}.bind(this)); });
$('#butAll').click(function(){ $('#butAll').click(() => {
$('#Cari_Keg').val(''); $('#Cari_Keg').val('');
this.data_query('tabel-keg'); this.data_query('tabel-keg');
}.bind(this)); });
$('#butFilter').click(function(){this.filter_show();}.bind(this)); $('#butFilter').click(() => this.filter_show());
$('#butExcel').click(function(){this.down_excel();}.bind(this)); $('#butExcel').click(() => this.excel_show());
FoniaJS.setFocus('#Cari_Keg'); FoniaJS.setFocus('#Cari_Keg');
}, },
down_excel: function(){ excel_show: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=detail_excel'],
onSuccess: (ajson) => {
this.winExcel = FoniaJS.showWindow('XData', 'Pilihan Export Data', ajson.html, 'md', [{},{i:'butTutup'},{i:'butWDown',v:'Download',c:'success'}], () => {
$('#winXData').find('#butWDown').click(() => this.excel_download());
});
}
}).send();
},
excel_download: function(){
var dload = new cEXPORT(this.PHP); var dload = new cEXPORT(this.PHP);
dload.add_param("data", "excel"); dload.add_param("data", "excel");
dload.add_param("Jenis"); dload.add_param("Jenis");
dload.add_param("Bulan");
dload.add_param("Tanda_Pagu");
dload.add_param("Nilai_Pagu");
dload.add_param("DPRDID"); dload.add_param("DPRDID");
dload.add_param("KecID"); dload.add_param("KecID");
dload.add_param("KelID"); dload.add_param("KelID");
dload.add_param("OPDID"); dload.add_param("OPDID");
dload.add_param("ProgID"); dload.add_param("SubID");
dload.add_param("Ex_Sumber");
dload.add_param("Ex_Hidden");
dload.add_param("Ex_Pending");
dload.download(); dload.download();
FoniaJS.closeWindow(this.winExcel);
}, },
filter_show: function(){ filter_show: function(){
new Request.JSON({ new Request.JSON({
url: this.PHP, url: this.PHP,
sendParam: ['data=detail_filter','Jenis','DPRDID','KecID','KelID','OPDID','ProgID'], sendParam: ['data=detail_filter','Jenis','Bulan','Tanda_Pagu','Nilai_Pagu','DPRDID','KecID','KelID','OPDID','SubID'],
onSuccess: function(ajson){ onSuccess: (ajson) => {
this.winFilter = FoniaJS.showWindow('FData', 'Filter Tampilan Data Pelaporan', ajson.html, 600, [{i:'butWReset',v:'Reset Semua',c:'secondary'},{},{i:'butTutup'},{i:'butWSimpan',v:'Terapkan Filter',c:'success'}], function(){ this.winFilter = FoniaJS.showWindow('FData', 'Filter Tampilan Data Pelaporan', ajson.html, 'xl', [{i:'butWReset',v:'Reset Semua',c:'secondary'},{},{i:'butTutup'},{i:'butWSimpan',v:'Terapkan Filter',c:'success'}], () => {
$('#winFData') $('#winFData')
.find('#butWReset').click(function(){this.filter_reset();}.bind(this)).end() .find('#butWReset').click(() => this.filter_reset()).end()
.find('#butWSimpan').click(function(){this.filter_simpan();}.bind(this)); .find('#butWSimpan').click(() => this.filter_simpan());
this.oc_OPD(); });
this.oc_Kec(); }
}.bind(this));
}.bind(this)
}).send(); }).send();
}, },
filter_reset: function(){ filter_reset: function(){
$('#Jenis').val(0); $('#Jenis').val(0);
$('#Bulan').val(new Date().getMonth() + 1);
$('#Tanda_Pagu').val('A');
$('#Nilai_Pagu').val(0);
$('#DPRDID').val(0); $('#DPRDID').val(0);
$('#KecID').val(0); $('#KecID').val(0);
$('#KelID').val(0); $('#KelID').val(0);
$('#OPDID').val(0); $('#OPDID').val(0);
$('#ProgID').val(0); $('#SubID').val(0);
$('#Cari_Keg').val(''); $('#Cari_Keg').val('');
FoniaJS.closeWindow(this.winFilter); FoniaJS.closeWindow(this.winFilter);
this.data_query('tabel-keg'); this.data_query('tabel-keg');
@@ -75,11 +95,14 @@ var RepoBrowseJS = {
filter_simpan: function(){ filter_simpan: function(){
$('#Jenis').val($('#Fi_Jenis').val()); $('#Jenis').val($('#Fi_Jenis').val());
$('#Bulan').val($('#Fi_Bulan').val());
$('#Tanda_Pagu').val($('#Fi_Tanda_Pagu').val());
$('#Nilai_Pagu').val(FoniaJS.StrToFloat($('#Fi_Nilai_Pagu').val()));
$('#DPRDID').val($('#Fi_DPRDID').val()); $('#DPRDID').val($('#Fi_DPRDID').val());
$('#KecID').val($('#Fi_KecID').val()); $('#KecID').val($('#Fi_KecID').val());
$('#KelID').val($('#Fi_KelID').val()); $('#KelID').val($('#Fi_KelID').val());
$('#OPDID').val($('#Fi_OPDID').val()); $('#OPDID').val($('#Fi_OPDID').val());
$('#ProgID').val($('#Fi_ProgID').val()); $('#SubID').val($('#Fi_SubID').val());
$('#Cari_Keg').val(''); $('#Cari_Keg').val('');
FoniaJS.closeWindow(this.winFilter); FoniaJS.closeWindow(this.winFilter);
this.data_query('tabel-keg'); this.data_query('tabel-keg');
@@ -89,7 +112,7 @@ var RepoBrowseJS = {
if (tipe=="tabel-keg"){ if (tipe=="tabel-keg"){
new Request.JSONF({ new Request.JSONF({
url: this.PHP, url: this.PHP,
sendParam: ['data=tabel-keg','Cari_Keg','Jenis','DPRDID','KecID','KelID','OPDID','ProgID'] sendParam: ['data=tabel-keg','Cari_Keg','Jenis','Bulan','Tanda_Pagu','Nilai_Pagu','DPRDID','KecID','KelID','OPDID','SubID']
}).send(); }).send();
} }
}, },
@@ -98,23 +121,7 @@ var RepoBrowseJS = {
if (parseInt($('#Fi_OPDID').val())==0) return; if (parseInt($('#Fi_OPDID').val())==0) return;
new Request.JSONF({ new Request.JSONF({
url: this.PHP, url: this.PHP,
sendParam: ['data=option-prog','Fi_OPDID','Fi_ProgID'] sendParam: ['data=option-sub','Fi_OPDID','Fi_SubID']
}).send();
},
oc_Prog: function(){
if (parseInt($('#Fi_ProgID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-keg','Fi_OPDID','Fi_ProgID','Fi_KegID']
}).send();
},
oc_Keg: function(){
if (parseInt($('#Fi_KegID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-sub','Fi_OPDID','Fi_ProgID','Fi_KegID','Fi_SubID']
}).send(); }).send();
}, },
+162
View File
@@ -0,0 +1,162 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/ubah/asmas.js
Desc. : JS - Perubahan Kegiatan Aspirasi Masyarakat
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : May 3rd, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var UbahAsmasJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butKEC').click(() => {
if ($('#KecID').val()>0) this.show_hide(1);
});
$('#butKEL').click(() => {
if ($('#KelID').val()>0) this.show_hide(2);
});
this.show_hide(1);
},
show_hide: function(no){
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').addClass('d-none');
if (no == 1) {
$('#KecID').val(0);
$('#Nama_KEC').val('');
}
if (no <= 1) {
$('#KelID').val(0);
$('#Nama_KEL').val('');
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
if (no == 2) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
if (no == 3) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
},
kec_select: function(acell){
$('#KecID').val(acell[0]);
$('#Nama_KEC').val(acell[2]);
this.show_hide(2);
},
kel_select: function(acell){
$('#KelID').val(acell[0]);
$('#Nama_KEL').val(acell[2]);
this.show_hide(3);
},
keg_detail: function(mode, ID, Tahap){
new Request.JSON({
url: this.PHP,
sendParam: ['data=detail-keg','mode_detail='+mode,'KecID','KelID','SapiID='+ID],
onSuccess: (ajson) => {
const _btn = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if (Tahap == 1) _btn.pop();
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Aspirasi Masyarakat :: '+(Tahap==1?'Induk':'Perubahan'), ajson.html, 'xl', _btn, () => {
$('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan());
$('#formAsmas').validate({
rules: {
required: true,
OPDID: {required:true, min:1},
ProgID: {required:true, min:1},
KegID: {required:true, min:1},
SubID: {required:true, min:1},
Lokasi: {required:true},
Masalah: {required:true},
Rupiah: {required:true, double_id:true},
Hidden: {required:true},
}
});
});
}
}).send();
},
keg_tambah: function(){
this.keg_detail('insert', 0, 2);
},
keg_ubah: function(acell){
this.keg_detail('update', acell[0], acell[1]);
},
keg_simpan: function(){
$('#formAsmas').submit();
if (true !== $('#formAsmas').validate().checkForm()) return false;
const _param = ['data=tabel-keg','mode_detail','SapiID','OPDID','ProgID','KegID','SubID','KecID','KelID','Lokasi','Masalah','Hidden','Rupiah'];
$(':input[id^="Rupiah_"]').each((i,e) => { _param.push(e.id); });
$(':input[id^="Pending_"]').each((i,e) => { _param.push(e.id); });
new Request.JSONF({
url: this.PHP,
sendParam: _param,
onSuccess: () => {
FoniaJS.closeWindow(this.winDKeg);
FoniaJS.showInfo('Sukses menyimpan Kegiatan Aspirasi Masyarakat.');
}
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-kec"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-kec']
}).send();
} else if (tipe=="tabel-kel"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-kel','KecID']
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','KecID','KelID']
}).send();
}
},
oc_OPD: function(){
if (parseInt($('#OPDID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-prog','OPDID','ProgID']
}).send();
},
oc_Prog: function(){
if (parseInt($('#ProgID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-keg','OPDID','ProgID','KegID']
}).send();
},
oc_Keg: function(){
if (parseInt($('#KegID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-sub','OPDID','ProgID','KegID','SubID']
}).send();
},
copy_Pagu: function(){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan salin Pagu Awal / Default<br>ke Semua Pagu Bulanan ?', () => {
const _pagu = $('#Rupiah').val();
$(':input[id^="Rupiah_"]').each((i,e) => $(e).val(_pagu));
}, 'warning');
}
};
+154
View File
@@ -0,0 +1,154 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/ubah/pokir.js
Desc. : JS - Perubahan Kegiatan Pokir
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : May 3rd, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var UbahPokirJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butDPRD').click(() => {
if ($('#DPRDID').val()>0) this.show_hide(1);
});
$('#Nama_DPRD').keydown((e) => {
if (13==e.which && false==$(e.target).prop('readonly')) this.data_query('tabel-dprd');
});
this.show_hide(1);
},
show_hide: function(no){
$('#divDPRD').addClass('d-none'); $('#butDPRD').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').addClass('d-none');
if (no == 1) {
$('#DPRDID').val(0);
$('#DapilID').val(0);
$('#Nama_DPRD').val('').prop('readonly', false);
$('#butDPRD').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divDPRD').removeClass('d-none'); this.data_query('tabel-dprd'); }
if (no == 2) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
},
dprd_select: function(acell){
$('#DPRDID').val(acell[0]);
$('#DapilID').val(acell[1]);
$('#Nama_DPRD').val(acell[2]).prop('readonly', true);
this.show_hide(2);
},
keg_detail: function(mode, ID, Tahap){
new Request.JSON({
url: this.PHP,
sendParam: ['data=detail-keg','mode_detail='+mode,'DPRDID','DapilID','SapiID='+ID],
onSuccess: (ajson) => {
const _btn = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if (Tahap == 1) _btn.pop();
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Pokir :: '+(Tahap==1?'Induk':'Perubahan'), ajson.html, 'xl', _btn, () => {
$('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan());
$('#formPokir').validate({
rules: {
required: true,
OPDID: {required:true, min:1},
ProgID: {required:true, min:1},
KegID: {required:true, min:1},
SubID: {required:true, min:1},
KecID: {required:true, min:1},
KelID: {required:false},
Lokasi: {required:true},
Masalah: {required:true},
Rupiah: {required:true, double_id:true},
Hidden: {required:true},
}
});
});
}
}).send();
},
keg_tambah: function(){
this.keg_detail('insert', 0, 2);
},
keg_ubah: function(acell){
this.keg_detail('update', acell[0], acell[1]);
},
keg_simpan: function(){
$('#formPokir').submit();
if (true !== $('#formPokir').validate().checkForm()) return false;
const _param = ['data=tabel-keg','mode_detail','DPRDID','SapiID','OPDID','ProgID','KegID','SubID','KecID','KelID','Lokasi','Masalah','Hidden','Rupiah'];
$(':input[id^="Rupiah_"]').each((i,e) => { _param.push(e.id); });
$(':input[id^="Pending_"]').each((i,e) => { _param.push(e.id); });
new Request.JSONF({
url: this.PHP,
sendParam: _param,
onSuccess: () => {
FoniaJS.closeWindow(this.winDKeg);
FoniaJS.showInfo('Sukses menyimpan Kegiatan Pokir.');
}
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-dprd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-dprd','Nama_DPRD']
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','DPRDID']
}).send();
}
},
oc_OPD: function(){
if (parseInt($('#OPDID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-prog','OPDID','ProgID']
}).send();
},
oc_Prog: function(){
if (parseInt($('#ProgID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-keg','OPDID','ProgID','KegID']
}).send();
},
oc_Keg: function(){
if (parseInt($('#KegID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-sub','OPDID','ProgID','KegID','SubID']
}).send();
},
oc_Kec: function(){
if (parseInt($('#KecID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-kel','KecID','KelID']
}).send();
},
copy_Pagu: function(){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan salin Pagu Awal / Default<br>ke Semua Pagu Bulanan ?', () => {
const _pagu = $('#Rupiah').val();
$(':input[id^="Rupiah_"]').each((i,e) => $(e).val(_pagu));
}, 'warning');
}
};
+145
View File
@@ -0,0 +1,145 @@
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/js/ubah/renja.js
Desc. : JS - Perubahan Kegiatan Renja
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : May 3rd, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var UbahRenjaJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butOPD').click(() => {
if ($('#OPDID').val()>0) this.show_hide(1);
});
$('#Nama_OPD').keydown((e) => {
if (13==e.which && false==$(e.target).prop('readonly')) this.data_query('tabel-opd');
});
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').addClass('d-none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').addClass('d-none');
if (no == 1) {
$('#OPDID').val(0);
$('#AK_Bidu').val('');
$('#Nama_OPD').val('').prop('readonly', false);
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').removeClass('d-none'); this.data_query('tabel-opd'); }
if (no == 2) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#AK_Bidu').val(acell[1]);
$('#Nama_OPD').val(acell[2]).prop('readonly', true);
this.show_hide(2);
},
keg_detail: function(mode, ID, Tahap){
new Request.JSON({
url: this.PHP,
sendParam: ['data=detail-keg','mode_detail='+mode,'OPDID','AK_Bidu','SapiID='+ID],
onSuccess: (ajson) => {
const _btn = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if (Tahap == 1) _btn.pop();
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Kegiatan Renja :: '+(Tahap==1?'Induk':'Perubahan'), ajson.html, 'xl', _btn, () => {
$('#winDKeg').find('#butWSimpan').click(() => this.keg_simpan());
$('#formRenja').validate({
rules: {
required: true,
ProgID: {required:true, min:1},
KegID: {required:true, min:1},
SubID: {required:true, min:1},
KecID: {required:true, min:1},
KelID: {required:false},
Lokasi: {required:true},
Masalah: {required:true},
Rupiah: {required:true, double_id:true},
Hidden: {required:true},
}
});
});
}
}).send();
},
keg_tambah: function(){
this.keg_detail('insert', 0, 2);
},
keg_ubah: function(acell){
this.keg_detail('update', acell[0], acell[1]);
},
keg_simpan: function(){
$('#formRenja').submit();
if (true !== $('#formRenja').validate().checkForm()) return false;
const _param = ['data=tabel-keg','mode_detail','SapiID','OPDID','ProgID','KegID','SubID','KecID','KelID','Lokasi','Masalah','Hidden','Rupiah'];
$(':input[id^="Rupiah_"]').each((i,e) => { _param.push(e.id); });
$(':input[id^="Pending_"]').each((i,e) => { _param.push(e.id); });
new Request.JSONF({
url: this.PHP,
sendParam: _param,
onSuccess: () => {
FoniaJS.closeWindow(this.winDKeg);
FoniaJS.showInfo('Sukses menyimpan Kegiatan Renja.');
}
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd','Nama_OPD']
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID']
}).send();
}
},
oc_Prog: function(){
if (parseInt($('#ProgID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-keg','OPDID','ProgID','KegID']
}).send();
},
oc_Keg: function(){
if (parseInt($('#KegID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-sub','OPDID','ProgID','KegID','SubID']
}).send();
},
oc_Kec: function(){
if (parseInt($('#KecID').val())==0) return;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=option-kel','KecID','KelID']
}).send();
},
copy_Pagu: function(){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan salin Pagu Awal / Default<br>ke Semua Pagu Bulanan ?', () => {
const _pagu = $('#Rupiah').val();
$(':input[id^="Rupiah_"]').each((i,e) => $(e).val(_pagu));
}, 'warning');
}
};
+7 -5
View File
@@ -81,24 +81,26 @@ if ( $data == "periode-show" ) {
} else if ( $data == "chart-bar" ) { } else if ( $data == "chart-bar" ) {
$ajson['tipe'] = "chart"; $ajson['tipe'] = "chart";
$db->Query("SELECT IFNULL(L.LokasiID,0) LokasiID,L.N_Lokasi,S.* FROM (SELECT KecID,SUM(IF(Jenis=1,Rupiah,0)) POK,SUM(IF(Jenis=2,Rupiah,0)) MUS FROM sapi_keg WHERE Tahun='".$tahun."' GROUP BY KecID) S LEFT JOIN para_lokasi L ON (L.LokasiID=S.KecID) ORDER BY L.K_Lokasi"); $db->Query("SELECT IFNULL(L.LokasiID,0) LokasiID,L.N_Lokasi,S.* FROM (SELECT KecID,SUM(IF(Jenis=1,Rupiah,0)) POK,SUM(IF(Jenis=2,Rupiah,0)) MUS,SUM(IF(Jenis=3,Rupiah,0)) REN FROM sapi_keg WHERE Tahun='".$tahun."' GROUP BY KecID) S LEFT JOIN para_lokasi L ON (L.LokasiID=S.KecID) ORDER BY L.K_Lokasi");
$adata['datasets'] = []; $adata['datasets'] = [];
$adata['labels'] = []; $adata['labels'] = [];
$atmp1 = [0]; $atmp2 = [0]; $atmp1 = [0]; $atmp2 = [0]; $atmp3 = [0];
$adata['labels'][] = "Belum Ada Data Usulan"; $adata['labels'][] = "Belum Ada Data Usulan";
if ($db->RecordCount()>0) { if ($db->RecordCount()>0) {
$atmp1 = []; $atmp2 = []; $atmp1 = []; $atmp2 = []; $atmp3 = [];
$adata['labels'] = []; $adata['labels'] = [];
} }
while ($db->Next()){ while ($db->Next()){
if ($db->Row("LokasiID", 0) == 0) continue; if ($db->Row("LokasiID", 0) == 0) continue;
$atmp1[] = round($db->Row("MUS"), 2); $atmp1[] = round($db->Row("MUS"), 2);
$atmp2[] = round($db->Row("POK"), 2); $atmp2[] = round($db->Row("POK"), 2);
$atmp3[] = round($db->Row("REN"), 2);
$adata['labels'][] = $db->Row("N_Lokasi"); $adata['labels'][] = $db->Row("N_Lokasi");
} }
$adata['datasets'][] = ['data'=>$atmp1, 'label'=>"Asmas", 'backgroundColor'=>random_color(), 'order'=>1, 'datalabels'=>['align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"]]; $adata['datasets'][] = ['data'=>$atmp1, 'label'=>"Asmas", 'backgroundColor'=>random_color(), 'order'=>1, 'datalabels'=>['align'=>"end", 'anchor'=>"end", 'color'=>"#d9eb36"]];
$adata['datasets'][] = ['data'=>$atmp2, 'label'=>"Pokir", 'backgroundColor'=>random_color(), 'order'=>2, 'datalabels'=>['align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"]]; $adata['datasets'][] = ['data'=>$atmp2, 'label'=>"Pokir", 'backgroundColor'=>random_color(), 'order'=>2, 'datalabels'=>['align'=>"end", 'anchor'=>"end", 'color'=>"#36eb45"]];
$adata['datasets'][] = ['data'=>$atmp3, 'label'=>"Renja", 'backgroundColor'=>random_color(), 'order'=>3, 'datalabels'=>['align'=>"end", 'anchor'=>"end", 'color'=>"#4836eb"]];
$ajson['chart'] = ['type' => "bar", $ajson['chart'] = ['type' => "bar",
'data' => $adata, 'data' => $adata,
+6 -2
View File
@@ -229,7 +229,11 @@ if ( $data == "tabel-kec" ) {
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label>
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div> <div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
<div class="col"><button class="btn btn-outline-info shadow-none text-primary" title="Salin ke Pagu semua Bulan." onclick="IndukAsmasJS.copy_Pagu();"><i class="bi-copy"></i></button></div> <div class="col">
'.($enable?
'<button class="btn btn-outline-info text-primary" title="Salin ke Pagu semua Bulan." onclick="IndukAsmasJS.copy_Pagu();"><i class="bi-copy"></i></button>':
'<button class="btn btn-outline-secondary text-muted"><i class="bi-lock"></i></button>').'
</div>
</div>'; </div>';
$abulan = bulan_array(); $abulan = bulan_array();
@@ -241,7 +245,7 @@ if ( $data == "tabel-kec" ) {
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label>
<div class="col-sm-4 col-lg-4">'.$trup_x.'</div> <div class="col-sm-4 col-lg-4">'.$trup_x.'</div>
<div class="col-sm-4 col-lg-3"><div class="form-control"> <div class="col-sm-4 col-lg-3"><div class="form-control">
<input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2" '.($adetail['Pending_'.$bln_fix]==1?'checked':'').'> <input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2"'.($adetail['Pending_'.$bln_fix]==1?' checked':'').($enable?'':' disabled=true').'>
<label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label> <label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label>
</div></div> </div></div>
</div>'; </div>';
+6 -2
View File
@@ -230,7 +230,11 @@ if ( $data == "tabel-dprd" ) {
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label>
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div> <div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
<div class="col"><button class="btn btn-outline-info shadow-none text-primary" title="Salin ke Pagu semua Bulan." onclick="IndukPokirJS.copy_Pagu();"><i class="bi-copy"></i></button></div> <div class="col">
'.($enable?
'<button class="btn btn-outline-info text-primary" title="Salin ke Pagu semua Bulan." onclick="IndukPokirJS.copy_Pagu();"><i class="bi-copy"></i></button>':
'<button class="btn btn-outline-secondary text-muted"><i class="bi-lock"></i></button>').'
</div>
</div>'; </div>';
$abulan = bulan_array(); $abulan = bulan_array();
@@ -242,7 +246,7 @@ if ( $data == "tabel-dprd" ) {
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label>
<div class="col-sm-4 col-lg-4">'.$trup_x.'</div> <div class="col-sm-4 col-lg-4">'.$trup_x.'</div>
<div class="col-sm-4 col-lg-3"><div class="form-control"> <div class="col-sm-4 col-lg-3"><div class="form-control">
<input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2" '.($adetail['Pending_'.$bln_fix]==1?'checked':'').'> <input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2"'.($adetail['Pending_'.$bln_fix]==1?' checked':'').($enable?'':' disabled=true').'>
<label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label> <label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label>
</div></div> </div></div>
</div>'; </div>';
+6 -2
View File
@@ -210,7 +210,11 @@ if ( $data == "tabel-opd" ) {
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label>
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div> <div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
<div class="col"><button class="btn btn-outline-info shadow-none text-primary" title="Salin ke Pagu semua Bulan." onclick="IndukRenjaJS.copy_Pagu();"><i class="bi-copy"></i></button></div> <div class="col">
'.($enable?
'<button class="btn btn-outline-info text-primary" title="Salin ke Pagu semua Bulan." onclick="IndukRenjaJS.copy_Pagu();"><i class="bi-copy"></i></button>':
'<button class="btn btn-outline-secondary text-muted"><i class="bi-lock"></i></button>').'
</div>
</div>'; </div>';
$abulan = bulan_array(); $abulan = bulan_array();
@@ -222,7 +226,7 @@ if ( $data == "tabel-opd" ) {
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label>
<div class="col-sm-4 col-lg-4">'.$trup_x.'</div> <div class="col-sm-4 col-lg-4">'.$trup_x.'</div>
<div class="col-sm-4 col-lg-3"><div class="form-control"> <div class="col-sm-4 col-lg-3"><div class="form-control">
<input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2" '.($adetail['Pending_'.$bln_fix]==1?'checked':'').'> <input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2"'.($adetail['Pending_'.$bln_fix]==1?' checked':'').($enable?'':' disabled=true').'>
<label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label> <label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label>
</div></div> </div></div>
</div>'; </div>';
+125 -74
View File
@@ -7,9 +7,9 @@
Desc. : PHP - Tampilan Data Pelaporan Desc. : PHP - Tampilan Data Pelaporan
Created By : Siau Pheng ([email protected]). Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011. Created Date : October 28th, 2011.
Last Modified : November 26th, 2025. Last Modified : May 4th, 2026.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM. (c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/ *******************************************************************/
@@ -17,10 +17,10 @@ require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/esapipd.php"); require_once(__DIR__."/../func/esapipd.php");
use siaupheng\fonia3\DB\MySQL; use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param; use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table; use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form; use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Data\SimpleXLS;
$db = $db ?? new MySQL(); $db = $db ?? new MySQL();
$ajson = []; $ajson = [];
@@ -29,115 +29,121 @@ $mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail"); $mode_detail = Param::Get("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN']; $thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$thn_submap = $_SESSION['__WEB_APP']['SUBMAP_TAHUN']; $thn_submap = $_SESSION['__WEB_APP']['SUBMAP_TAHUN'];
$bln_renja = Param::Get("Bulan", date('n'));
$id_jenis = Param::Get("Jenis", 0); $id_jenis = Param::Get("Jenis", 0);
$tanda_pagu = Param::Get("Tanda_Pagu", "A");
$nilai_pagu = Param::Get("Nilai_Pagu", 0);
$id_dprd = Param::Get("DPRDID", 0); $id_dprd = Param::Get("DPRDID", 0);
$id_kec = Param::Get("KecID", 0); $id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0); $id_kel = Param::Get("KelID", 0);
$id_opd = Param::Get("OPDID", 0); $id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0); $id_sub = Param::Get("SubID", 0);
//$id_keg = Param::Get("KegID", 0);
//$id_sub = Param::Get("SubID", 0);
$kunci_cari = Param::Get("Cari_Keg", ""); $kunci_cari = Param::Get("Cari_Keg", "");
$aapp = $_SESSION['__WEB_APP']; $aapp = $_SESSION['__WEB_APP'];
if ( in_array($data, ["tabel-keg","excel"]) ) {
$qsql1 = "Tahun='".$thn_renja."'";
$qsql2 = "Tahun='".$thn_renja."'";
if ($id_jenis > 0) $qsql1 .= " AND Jenis='".$id_jenis."'";
if ($id_dprd > 0) $qsql1 .= " AND DPRDID='".$id_dprd."'";
if ($id_kec > 0) $qsql1 .= " AND KecID='".$id_kec."'";
if ($id_kel > 0) $qsql1 .= " AND KelID='".$id_kel."'";
if ($id_opd > 0) $qsql1 .= " AND OPDID='".$id_opd."'";
if ($id_sub > 0) $qsql1 .= " AND SubID='".$id_sub."'";
$bln_nol = isi_nol($bln_renja, 2);
if ($nilai_pagu > 0) $qsql2 .= " AND Rupiah_".$bln_nol.($tanda_pagu=="A"?">":"<").$nilai_pagu;
}
if ( $data == "tabel-keg" ) { if ( $data == "tabel-keg" ) {
$qsql = "Tahun='".$thn_renja."'"; if ($kunci_cari <> "") $qsql1 .= " AND CONCAT(Kode,Lokasi) LIKE '%".$kunci_cari."%'";
if ($id_jenis > 0) $qsql .= " AND Jenis='".$id_jenis."'";
if ($id_dprd > 0) $qsql .= " AND DPRDID='".$id_dprd."'";
if ($id_kec > 0) $qsql .= " AND KecID='".$id_kec."'";
if ($id_kel > 0) $qsql .= " AND KelID='".$id_kel."'";
if ($id_opd > 0) $qsql .= " AND OPDID='".$id_opd."'";
if ($id_prog > 0) $qsql .= " AND ProgID='".$id_prog."'";
if ($kunci_cari <> "") $qsql .= " AND CONCAT(Kode,Lokasi) LIKE '%".$kunci_cari."%'";
$obj = new Table($db); $obj = new Table($db);
$obj->set_table("(SELECT *,IF(OPDID=0 OR KecID=0,1,0) ITEM_ERR FROM sapi_keg WHERE ".$qsql.") R LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID)", "R.*,X.Nama_Sub", ""); $obj->set_table("(SELECT *,IF(OPDID=0 OR KecID=0,1,0) ITEM_ERR FROM sapi_keg WHERE ".$qsql1.") R INNER JOIN (SELECT SapiID,Rupiah_".$bln_nol." Rupiah_X,Pending_".$bln_nol." Pending_X FROM sapi_keg_tag WHERE ".$qsql2.") T ON (T.SapiID=R.SapiID) LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID)", "R.*,IFNULL(T.Rupiah_X,0) Rupiah_X,IFNULL(T.Pending_X,0) Pending_X,X.Nama_Sub", "");
$obj->add_field("SapiID", "ID", "hid"); $obj->add_field("SapiID", "ID", "hid");
$obj->add_field("Kode", "Kode", "c"); $obj->add_field("Kode", "Kode", "c");
$obj->add_field("Nama_Sub", "Nama Sub Kegiatan", "l"); $obj->add_field("Nama_Sub", "Nama Sub Kegiatan", "l");
$obj->add_field("Lokasi", "Lokasi", "l"); $obj->add_field("Lokasi", "Lokasi", "l");
$obj->add_field("Rupiah", "Pagu", "r", "rupiah"); $obj->add_field("Rupiah_X", "Pagu ".substr(bulan_array()[$bln_renja],0,3), "nwr r", "rupiah");
$obj->add_field("Pending_X", "Pend", "c", "checkbox");
$obj->add_field("Hidden", "Hidd", "c", "checkbox");
$obj->add_field("ITEM_ERR", "Status", "c", "Kolom_Status2"); $obj->add_field("ITEM_ERR", "Status", "c", "Kolom_Status2");
$obj->set_field_order("Kode", "A"); $obj->set_field_order("Kode", "A");
$obj->set_row_color("ITEM_ERR", 1, "ryellow"); $obj->set_row_color("ITEM_ERR", 1, "ryellow");
$obj->set_func_navi("UsulBrowseJS.data_query('tabel-keg')"); $obj->set_func_navi("RepoBrowseJS.data_query('tabel-keg')");
$ajson[] = $obj->db_table("divKEG"); $ajson[] = $obj->db_table("divKEG");
$ajson[] = ['sql'=>"(SELECT *,IF(OPDID=0 OR KecID=0,1,0) ITEM_ERR FROM sapi_keg WHERE ".$qsql1.") R LEFT JOIN (SELECT SapiID,Rupiah_".$bln_nol." Rupiah_X,Pending_".$bln_nol." Pending_X FROM sapi_keg_tag WHERE ".$qsql2.") T ON (T.SapiID=R.SapiID) LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID)"];
} else if ( $data == "detail_filter") { } else if ( $data == "detail_filter" ) {
$form = new Form($db); $form = new Form($db);
$tjenis = $form->radio("_", "Fi_Jenis", $id_jenis, true, false, [0=>"Semua",1=>"Pokir",2=>"Asmas",3=>"Renja"]); $tjenis = $form->radio("_", "Fi_Jenis", $id_jenis, true, false, [0=>"Semua",1=>"Pokir",2=>"Asmas",3=>"Renja"]);
$tdprd = $form->option_db("_", "Fi_DPRDID", $id_dprd, true, false, "para_dprd", ["DPRDID","N_DPRD"], "Aktif=1 ORDER BY K_DPRD", [0,"SEMUA ANGGOTA DEWAN"]); $tbulan = $form->option("_", "Fi_Bulan", $bln_renja, true, false, array_map(fn($i) => $i ." ". $thn_renja, bulan_array()));
$topd = $form->option_db("_", "Fi_OPDID", $id_opd, true, false, "para90_opd", ["OPDID","N_OPD"], "Aktif=1 ORDER BY K_OPD", [0,"SEMUA PERANGKAT DAERAH"], null, "UsulBrowseJS.oc_OPD()"); $tpagu1 = '<div class="input-group-text"><input type="hidden" id="Fi_Tanda_Pagu" value="'.$tanda_pagu.'"><div class="form-check"><input class="form-check-input" type="radio" id="Fi_Tanda_PaguA" name="Fi_Tanda_Pagu" '.($tanda_pagu=="A"?'checked="checked"':'').' onclick="if(this.checked)$(\'#Fi_Tanda_Pagu\').val(\'A\');"><label class="form-check-label" for="Fi_Tanda_PaguA">&gt; Lebih Dari</label></div><div class="form-check ms-3"><input class="form-check-input" type="radio" id="Fi_Tanda_PaguZ" name="Fi_Tanda_Pagu" '.($tanda_pagu=="Z"?'checked="checked"':'').' onclick="if(this.checked)$(\'#Fi_Tanda_Pagu\').val(\'Z\');"><label class="form-check-label" for="Fi_Tanda_PaguZ">&lt; Kurang Dari</label></div></div>';
$tprog = $form->option("_", "Fi_ProgID", $id_prog, true, false, [$id_prog=>["SEMUA PROGRAM",0]], null, "UsulBrowseJS.oc_Prog()"); $tpagu2 = $form->textbox("_", "Fi_Nilai_Pagu", $nilai_pagu, true, false, "double");
$tkeg = $form->option("_", "Fi_KegID", $id_keg, true, false, [$id_keg=>["&nbsp;",0]], null, "UsulBrowseJS.oc_Keg()"); $tdprd = $form->option_que("_", "Fi_DPRDID", $id_dprd, true, false, "SELECT * FROM para_dprd WHERE Aktif=1 AND DPRDID IN (SELECT DPRDID FROM sapi_keg WHERE Tahun='".$thn_renja."') ORDER BY K_DPRD", ["DPRDID","N_DPRD"], [0,"SEMUA ANGGOTA DEWAN"]);
$tsub = $form->option("_", "Fi_SubID", $id_sub, true, false, [$id_sub=>["&nbsp;",0]]); $topd = $form->option_que("_", "Fi_OPDID", $id_opd, true, false, "SELECT * FROM vi_para90_opd WHERE Aktif=1 AND OPDID IN (SELECT OPDID FROM sapi_keg WHERE Tahun='".$thn_renja."') ORDER BY K_OPD", ["OPDID","Nama_OPD"], [0,"SEMUA PERANGKAT DAERAH"], null, "RepoBrowseJS.oc_OPD()");
$tkec = $form->option_db("_", "Fi_KecID", $id_kec, true, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Level=1 AND Aktif=1 ORDER BY N_Lokasi", [0,"SEMUA KECAMATAN"], null, "UsulBrowseJS.oc_Kec()"); $tsub = $form->option("_", "Fi_SubID", $id_sub, true, false, [$id_sub=>"SEMUA SUB KEGIATAN"]);
$tkel = $form->option("_", "Fi_KelID", $id_kel, true, false, [$id_kel=>["SEMUA KELURAHAN / DESA",0]]); $tkec = $form->option_db("_", "Fi_KecID", $id_kec, true, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Level=1 AND Aktif=1 ORDER BY N_Lokasi", [0,"SEMUA KECAMATAN"], null, "RepoBrowseJS.oc_Kec()");
$tkel = $form->option("_", "Fi_KelID", $id_kel, true, false, [$id_kel=>"SEMUA KELURAHAN / DESA"]);
$ajson['html'] = ' $ajson['html'] = '
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Fi_Jenis">Jenis Kegiatan</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Fi_Jenis">Sumber Kegiatan</label>
<div class="col-sm-8 col-lg-9 col-form-label">'.$tjenis.'</div> <div class="col-sm-8 col-lg-10 col-form-label">'.$tjenis.'</div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Fi_DPRDID">Nama Anggota Dewan</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Fi_Bulan">Periode Bulan</label>
<div class="col-sm-8 col-lg-9">'.$tdprd.'</div> <div class="col-sm-8 col-lg-10">'.$tbulan.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Fi_Nilai_Pagu">Kriteria Pagu</label>
<div class="col-sm-8 col-lg-10"><div class="input-group">'.$tpagu1.$tpagu2.'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Fi_DPRDID">Anggota Dewan</label>
<div class="col-sm-8 col-lg-10">'.$tdprd.'</div>
</div> </div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div> <div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Fi_OPDID">Nama Perangkat Daerah</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Fi_OPDID">Perangkat Daerah</label>
<div class="col-sm-8 col-lg-9">'.$topd.'</div> <div class="col-sm-8 col-lg-10">'.$topd.'</div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Fi_ProgID">Nama Program</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Fi_SubID">Sub Kegiatan</label>
<div class="col-sm-8 col-lg-9">'.$tprog.'</div> <div class="col-sm-8 col-lg-10">'.$tsub.'</div>
</div>
<div class="row mb-1 d-none">
<label class="col-sm-4 col-lg-3 col-form-label" for="Fi_KegID">Nama Kegiatan</label>
<div class="col-sm-8 col-lg-9">'.$tkeg.'</div>
</div>
<div class="row mb-1 d-none">
<label class="col-sm-4 col-lg-3 col-form-label" for="Fi_SubID">Nama Sub Kegiatan</label>
<div class="col-sm-8 col-lg-9">'.$tsub.'</div>
</div> </div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div> <div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Fi_KecID">Kecamatan</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Fi_KecID">Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tkec.'</div> <div class="col-sm-8 col-lg-10">'.$tkec.'</div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Fi_KelID">Kelurahan / Desa</label> <label class="col-sm-4 col-lg-2 col-form-label" for="Fi_KelID">Kelurahan / Desa</label>
<div class="col-sm-8 col-lg-9">'.$tkel.'</div> <div class="col-sm-8 col-lg-10">'.$tkel.'</div>
</div>';
} else if ( $data == "detail_excel" ) {
$form = new Form($db);
$tsumber = $form->radio("_", "Ex_Sumber", 0, true, false, [0=>"Ya",1=>"Tidak"]);
$thidden = $form->radio("_", "Ex_Hidden", 0, true, false, [0=>"Ya",1=>"Tidak"]);
$tpend = $form->radio("_", "Ex_Pending", 0, true, false, [0=>"Ya",1=>"Tidak"]);
$ajson['html'] = '
<div class="row mb-1">
<label class="col-sm-4 col-lg-4 col-form-label" for="Ex_Sumber">Tampilkan Sumber</label>
<div class="col-sm-8 col-lg-8 col-form-label">'.$tsumber.'</div>
</div> </div>
'; <div class="row mb-1">
<label class="col-sm-4 col-lg-4 col-form-label" for="Ex_Hidden">Tampilkan Hidden</label>
} else if ( $data == "option-prog" ) { <div class="col-sm-8 col-lg-8 col-form-label">'.$thidden.'</div>
$ak_bidu = '0.00'; </div>
$db->Query("SELECT * FROM vi_para90_opd WHERE OPDID='".Param::Get("Fi_OPDID",0)."' LIMIT 1"); <div class="row mb-1">
if ($db->Next()) { <label class="col-sm-4 col-lg-4 col-form-label" for="Ex_Pending">Tampilkan Pending</label>
$ak_bidu = $db->Row("AK_Bidu"); <div class="col-sm-8 col-lg-8 col-form-label">'.$tpend.'</div>
} </div>';
$aoption = ['type' => "option", 'id' => "Fi_ProgID", 'value' => Param::Get("Fi_ProgID",0), 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND K_Bidu IN (".$ak_bidu.") GROUP BY ProgID ORDER BY K_Prog");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"SEMUA PROGRAM");
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("ProgID");
$aoption['avalue'][] = ['value'=>$db->Row("ProgID"), 'html'=>$db->Row("Nama_Prog")];
}
$ajson[] = $aoption;
} else if ( $data == "option-keg" ) {
$aoption = ['type' => "option", 'id' => "Fi_KegID", 'value' => Param::Get("Fi_KegID",0), 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".Param::Get("Fi_ProgID",0)."' GROUP BY KegID ORDER BY K_Keg");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>"SEMUA KEGIATAN"];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("KegID");
$aoption['avalue'][] = ['value'=>$db->Row("KegID"), 'html'=>$db->Row("Nama_Keg")];
}
$ajson[] = $aoption;
} else if ( $data == "option-sub" ) { } else if ( $data == "option-sub" ) {
$aoption = ['type' => "option", 'id' => "Fi_SubID", 'value' => Param::Get("Fi_SubID",0), 'avalue' => []]; $aoption = ['type' => "option", 'id' => "Fi_SubID", 'value' => Param::Get("Fi_SubID",0), 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".Param::Get("Fi_KegID",0)."' ORDER BY K_Sub"); $db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND SubID IN (SELECT SubID FROM sapi_keg WHERE Tahun='".$thn_renja."' AND OPDID='".Param::Get("Fi_OPDID",0)."') ORDER BY K_Sub");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>"SEMUA SUB KEGIATAN"]; if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>"SEMUA SUB KEGIATAN"];
while ($db->Next()) { while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("SubID"); if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("SubID");
@@ -155,7 +161,49 @@ if ( $data == "tabel-keg" ) {
} }
$ajson[] = $aoption; $ajson[] = $aoption;
} else if ( $data == "default") { } else if ( $data == "excel" ) {
$asumber = [1=>"Pokir", 2=>"Musrenbang", 3=>"Renja"];
$ex_sumber = Param::Get("Ex_Sumber", 0); // 0: Ya, 1: Tidak
$ex_hidden = Param::Get("Ex_Hidden", 0); // 0: Ya, 1: Tidak
$ex_pend = Param::Get("Ex_Pending", 0); // 0: Ya, 1: Tidak
$tgl_header = bulan_array()[$bln_renja] . " " . $thn_renja;
if ($ex_hidden == 1) $qsql1 .= " AND Hidden=0";
if ($ex_pend == 1) $qsql2 .= " AND Pending_".$bln_nol."=0";
$db->Query("SELECT R.*,IFNULL(T.Rupiah_X,0) Rupiah_X,X.N_Sub,O.S_OPD FROM (SELECT SapiID,OPDID,SubID,Lokasi,Jenis FROM sapi_keg WHERE ".$qsql1.") R INNER JOIN (SELECT SapiID,Rupiah_".$bln_nol." Rupiah_X FROM sapi_keg_tag WHERE ".$qsql2.") T ON (T.SapiID=R.SapiID) LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID) LEFT JOIN para90_opd O ON (O.OPDID=R.OPDID) ORDER BY O.K_OPD,X.K_Sub,R.Jenis");
$xls = new SimpleXLS([
'title'=>"Data Pelaporan",
'subject'=>"BAPPERIDA MEMPAWAH",
'desc'=>"Export Data Pelaporan dari ISAPIPD"
]);
$xls->add_span(["<b>DATA PELAPORAN</b>",1]);
$xls->add_span(["Periode : ".$tgl_header,1]);
$xls->add_empty_row();
$xls->add_field("No.", 6, "C");
$xls->add_field("Nama Sub Kegiatan", 40, "L");
$xls->add_field("Lokasi Kegiatan", 60, "L");
if ($ex_sumber == 0) $xls->add_field("Sumber", 12, "L");
$xls->add_field("Perangkat Daerah", 20, "L");
$xls->add_field("Nilai Pagu", 20, "R,N");
$xls->add_sheet("".$tgl_header, true);
$no = 1; $tot_pagu = 0;
while ($db->Next()) {
$tot_pagu += $db->Row("Rupiah_X");
$_arow = [$no++, $db->Row("N_Sub"), $db->Row("Lokasi")];
if ($ex_sumber == 0) $_arow[] = $asumber[$db->Row("Jenis")];
array_push($_arow, $db->Row("S_OPD"), $db->Row("Rupiah_X"));
$xls->add_value($_arow);
}
$xls->add_span(["JUMLAH",5-($ex_sumber==0?0:1),"B,C"], [$tot_pagu,1,",B,R,N"]);
$xls->add_stamp(1, true);
$xls->send("Data Pelaporan ".$tgl_header.".xlsx");
unset($xls);
} else if ( $data == "default" ) {
echo ' echo '
<div class="fade-in"> <div class="fade-in">
<div class="card"><div class="card-header custom-style">Tampilan Data Pelaporan</div><div class="card-body"> <div class="card"><div class="card-header custom-style">Tampilan Data Pelaporan</div><div class="card-body">
@@ -172,11 +220,14 @@ if ( $data == "tabel-keg" ) {
</div> </div>
<div id="divKEG">&nbsp;</div> <div id="divKEG">&nbsp;</div>
<input type="hidden" id="Jenis" value="'.$id_jenis.'"> <input type="hidden" id="Jenis" value="'.$id_jenis.'">
<input type="hidden" id="Bulan" value="'.$bln_renja.'">
<input type="hidden" id="Tanda_Pagu" value="'.$tanda_pagu.'">
<input type="hidden" id="Nilai_Pagu" value="'.$nilai_pagu.'">
<input type="hidden" id="DPRDID" value="'.$id_dprd.'"> <input type="hidden" id="DPRDID" value="'.$id_dprd.'">
<input type="hidden" id="KecID" value="'.$id_kec.'"> <input type="hidden" id="KecID" value="'.$id_kec.'">
<input type="hidden" id="KelID" value="'.$id_kel.'"> <input type="hidden" id="KelID" value="'.$id_kel.'">
<input type="hidden" id="OPDID" value="'.$id_opd.'"> <input type="hidden" id="OPDID" value="'.$id_opd.'">
<input type="hidden" id="ProgID" value="'.$id_prog.'"> <input type="hidden" id="SubID" value="'.$id_sub.'">
</div></div> </div></div>
</div>'; </div>';
} }
+329
View File
@@ -0,0 +1,329 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/ubah/asmas.php
Desc. : PHP - Perubahan Kegiatan Aspirasi Masyarakat
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : May 3rd, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/esapipd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$thn_submap = $_SESSION['__WEB_APP']['SUBMAP_TAHUN'];
$id_sapi = Param::Get("SapiID", 0);
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
$id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0);
$id_keg = Param::Get("KegID", 0);
$id_sub = Param::Get("SubID", 0);
$aapp = $_SESSION['__WEB_APP'];
if ( in_array($data, ["tabel-kec","tabel-kel","tabel-keg"]) ) {
$qsql = "Tahun='".$thn_renja."' AND Jenis=".SAPI_JENIS_ASMAS."";
$msql = "M.Aktif=1";
if ( $data == "tabel-kec" ) {
$qsql2 = $qsql;
$qsql2 .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
$qsql2 .= ($_SESSION['__WEB_USER']['Level']==7) ? " AND KelID IN (".$_SESSION['__WEB_USER']['AK_KEL'].")": "";
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND M.LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND M.Level=1";
$msql .= ($_SESSION['__WEB_USER']['Level']==7) ? " AND M.LokasiID IN (SELECT IndukID FROM para_lokasi WHERE Level=2 AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEL']."))": " AND M.Level=1";
} else if ( $data == "tabel-kel" ) {
$qsql .= " AND KecID='".$id_kec."'";
$msql .= " AND M.Level=2 AND M.IndukID='".$id_kec."'";
$msql .= ($_SESSION['__WEB_USER']['Level']==7) ? " AND M.LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEL'].")": "";
} else if ( $data == "tabel-keg" ) {
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
}
}
if ( $data == "tabel-kec" ) {
$obj = new Table($db);
$obj->set_query("SELECT K.*,IFNULL(K.ITEM_ERR,0) ITEM_ERR2,IF(IFNULL(K.ITEM_ERR,0)=0,0,1) ITEM_VER,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi FROM para_lokasi M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(IF(OPDID=0 OR KecID=0,1,0)) ITEM_ERR,SUM(Rupiah) TOT_RUPIAH FROM sapi_keg WHERE ".$qsql2." GROUP BY KecID) K ON (K.KecID=M.LokasiID) WHERE ".$msql);
$obj->add_field("KecID2", "ID", "hid");
$obj->add_field("K_Lokasi", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
$obj->add_field("ITEM_KEL", "Kel / Desa", "r", "rupiah");
$obj->add_field("ITEM_KEG", "Asmas", "r", "rupiah");
$obj->add_field("TOT_RUPIAH", "Jumlah Pagu", "r", "rupiah");
$obj->add_field("ITEM_ERR2", "Status", "c", "Kolom_Status1");
$obj->set_field_order("N_Lokasi", "A");
$obj->set_row_color("ITEM_VER", 1, "ryellow");
$obj->add_row_btn("save", "Kel / Desa", "UbahAsmasJS.kec_select");
$obj->set_func_navi("UbahAsmasJS.data_query('tabel-kec')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEC");
} else if ( $data == "tabel-kel" ) {
$obj = new Table($db);
$obj->set_query("SELECT K.*,IFNULL(K.ITEM_ERR,0) ITEM_ERR2,IF(IFNULL(K.ITEM_ERR,0)=0,0,1) ITEM_VER,M.LokasiID KelID2,M.K_Lokasi,M.N_Lokasi FROM para_lokasi M LEFT JOIN (SELECT KelID,COUNT(*) ITEM_KEG,SUM(IF(OPDID=0 OR KecID=0,1,0)) ITEM_ERR,SUM(Rupiah) TOT_RUPIAH FROM sapi_keg WHERE ".$qsql." GROUP BY KelID) K ON (K.KelID=M.LokasiID) WHERE ".$msql);
$obj->add_field("KelID2", "ID", "hid");
$obj->add_field("K_Lokasi", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kelurahan / Desa", "awr");
$obj->add_field("ITEM_KEG", "Asmas", "r", "rupiah");
$obj->add_field("TOT_RUPIAH", "Jumlah Pagu", "r", "rupiah");
$obj->add_field("ITEM_ERR2", "Status", "c", "Kolom_Status1");
$obj->set_field_order("N_Lokasi", "A");
$obj->set_row_color("ITEM_VER", 1, "ryellow");
$obj->add_row_btn("save", "Asmas", "UbahAsmasJS.kel_select");
$obj->set_func_navi("UbahAsmasJS.data_query('tabel-kel')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEL");
} else if ( $data == "tabel-keg" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("sapi_keg");
$sql->add_param("OPDID");
$sql->add_param("ProgID");
$sql->add_param("KegID");
$sql->add_param("SubID");
$sql->add_param("Lokasi");
$sql->add_param("Masalah");
$sql->add_param("Rupiah");
$sql->add_param("Hidden");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("SapiID");
$sql2 = new SQL($db);
$sql2->set_table("sapi_keg_tag");
$sql2->add_param("Rupiah_01");
$sql2->add_param("Rupiah_02");
$sql2->add_param("Rupiah_03");
$sql2->add_param("Rupiah_04");
$sql2->add_param("Rupiah_05");
$sql2->add_param("Rupiah_06");
$sql2->add_param("Rupiah_07");
$sql2->add_param("Rupiah_08");
$sql2->add_param("Rupiah_09");
$sql2->add_param("Rupiah_10");
$sql2->add_param("Rupiah_11");
$sql2->add_param("Rupiah_12");
$sql2->add_param("Pending_01");
$sql2->add_param("Pending_02");
$sql2->add_param("Pending_03");
$sql2->add_param("Pending_04");
$sql2->add_param("Pending_05");
$sql2->add_param("Pending_06");
$sql2->add_param("Pending_07");
$sql2->add_param("Pending_08");
$sql2->add_param("Pending_09");
$sql2->add_param("Pending_10");
$sql2->add_param("Pending_11");
$sql2->add_param("Pending_12");
$sql2->add_where("Tahun", $thn_renja);
$sql2->add_where("SapiID");
switch ($mode_detail) {
case "insert":
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("Jenis", SAPI_JENIS_ASMAS);
$sql->add_param("Tahapan", 2);
$sql->add_param("KecID");
$sql->add_param("KelID");
$sql->add_param("Kode", Kegiatan_Baru($thn_renja, "M"));
$sql->InsertDB();
$_id = $sql->LastInsertID();
$sql2->add_param("SapiID", $_id);
$sql2->add_param("Tahun", $thn_renja);
$sql2->InsertDB();
break;
case "update":
$sql->UpdateDB();
$sql2->UpdateDB();
break;
case "delete":
//$sql->DeleteDB();
//$sql2->DeleteDB();
break;
}
}
$obj = new Table($db);
$obj->set_query("SELECT R.*,X.Nama_Sub FROM (SELECT *,IF(OPDID=0 OR KecID=0,1,0) ITEM_ERR FROM sapi_keg WHERE ".$qsql.") R LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID)");
$obj->add_field("SapiID", "ID1", "hid");
$obj->add_field("Tahapan", "ID2", "hid");
$obj->add_field("Kode", "Kode", "c");
$obj->add_field("Nama_Sub", "Kegiatan Asmas", "l");
$obj->add_field("Lokasi", "Lokasi", "l");
$obj->add_field("Rupiah", "Pagu", "r", "rupiah");
$obj->add_field("ITEM_ERR", "Status", "c", "Kolom_Status2");
$obj->set_field_order("SIPD_UsulanID", "A");
$obj->set_row_color("ITEM_ERR", 1, "ryellow");
$obj->add_row_btn("clipboard", "Detail Kegiatan", "UbahAsmasJS.keg_ubah". "Tahapan", 2);
$obj->add_row_btn("clipboard-fill", "Detail Kegiatan", "UbahAsmasJS.keg_ubah", "Tahapan", 1);
$obj->set_func_btn("UbahAsmasJS.keg_tambah", '<i class="bi-plus-lg me-1"></i>Kegiatan Perubahan');
$obj->set_func_navi("UbahAsmasJS.data_query('tabel-keg')");
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "detail-keg" ) {
$enable = true;
$adetail = ['SapiID'=>0, 'AK_Bidu'=>"'X.XX'"];
if ($id_sapi > 0) {
$db->Query("SELECT * FROM sapi_keg WHERE Tahun='".$thn_renja."' AND SapiID='".$id_sapi."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
$db->Query("SELECT * FROM sapi_keg_tag WHERE Tahun='".$thn_renja."' AND SapiID='".$adetail['SapiID']."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
if ($adetail['OPDID'] > 0) {
$db->Query("SELECT AK_Bidu FROM vi_para90_opd WHERE OPDID='".$adetail['OPDID']."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
}
if ($adetail['Tahapan'] == 1) $enable = false;
}
$form = new Form($db);
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, true, "para90_opd", ["OPDID","N_OPD"], "Aktif=1 ORDER BY K_OPD", [0,"&nbsp;"], null, "UbahAsmasJS.oc_OPD()");
$tprog = $form->option_que("_", "ProgID", $adetail['ProgID'], $enable, false, "SELECT ProgID,Nama_Prog FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND K_Bidu IN (".$adetail['AK_Bidu'].") GROUP BY ProgID ORDER BY K_Prog", ["ProgID","Nama_Prog"], [0,"&nbsp;"], null, "UbahAsmasJS.oc_Prog()");
$tkeg = $form->option_que("_", "KegID", $adetail['KegID'], $enable, false, "SELECT KegID,Nama_Keg FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".$adetail['ProgID']."' GROUP BY KegID ORDER BY K_Keg", ["KegID","Nama_Keg"], [0,"&nbsp;"], null, "UbahAsmasJS.oc_Keg()");
$tsub = $form->option_que("_", "SubID", $adetail['SubID'], $enable, false, "SELECT SubID,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".$adetail['KegID']."' ORDER BY K_Sub", ["SubID","Nama_Sub"], [0,"&nbsp;"]);
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], $enable, true, "text");
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], $enable, true, 2);
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], $enable, true, "double");
$thidden = $form->radio("_", "Hidden", $adetail['Hidden'], $enable, true, [1=>"Ya",0=>"Tidak"]);
$ajson['html'] = '<form id="formAsmas" novalidate="novalidate">
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="OPDID">Nama OPD</label>
<div class="col-sm-8 col-lg-10">'.$topd.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="ProgID">Nama Program</label>
<div class="col-sm-8 col-lg-10">'.$tprog.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="KegID">Nama Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tkeg.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="SubID">Nama Sub Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tsub.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tlokasi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Masalah">Permasalahan</label>
<div class="col-sm-8 col-lg-10">'.$tmasa.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label>
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
<div class="col">
'.($enable?
'<button class="btn btn-outline-info text-primary" title="Salin ke Pagu semua Bulan." onclick="UbahAsmasJS.copy_Pagu();"><i class="bi-copy"></i></button>':
'<button class="btn btn-outline-secondary text-muted"><i class="bi-lock"></i></button>').'
</div>
</div>';
$abulan = bulan_array();
for ($bln = 1; $bln <= 12; $bln++) {
$bln_fix = isi_nol($bln, 2);
$trup_x = $form->textbox("_", "Rupiah_".$bln_fix, $adetail['Rupiah_'.$bln_fix], $enable, false, "double");
$ajson['html'] .= '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label>
<div class="col-sm-4 col-lg-4">'.$trup_x.'</div>
<div class="col-sm-4 col-lg-3"><div class="form-control">
<input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2"'.($adetail['Pending_'.$bln_fix]==1?' checked':'').($enable?'':' disabled=true').'>
<label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label>
</div></div>
</div>';
}
$ajson['html'] .= '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Hidden">Paket Hidden</label>
<div class="col-sm-8 col-lg-10">'.$thidden.'</div>
</div>
</form>
<input type="hidden" id="SapiID" value="'.$adetail['SapiID'].'" />
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
} else if ( $data == "option-prog" ) {
$ak_bidu = "'X.XX'";
$db->Query("SELECT * FROM vi_para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
if ($db->Next()) $ak_bidu = $db->Row("AK_Bidu");
$aoption = ['type' => "option", 'id' => "ProgID", 'value' => $id_prog, 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND K_Bidu IN (".$ak_bidu.") GROUP BY ProgID ORDER BY K_Prog");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"");
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("ProgID");
$aoption['avalue'][] = ['value'=>$db->Row("ProgID"), 'html'=>$db->Row("Nama_Prog")];
}
$ajson[] = $aoption;
} else if ( $data == "option-keg" ) {
$aoption = ['type' => "option", 'id' => "KegID", 'value' => $id_keg, 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".$id_prog."' GROUP BY KegID ORDER BY K_Keg");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("KegID");
$aoption['avalue'][] = ['value'=>$db->Row("KegID"), 'html'=>$db->Row("Nama_Keg")];
}
$ajson[] = $aoption;
} else if ( $data == "option-sub" ) {
$aoption = ['type' => "option", 'id' => "SubID", 'value' => $id_sub, 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".$id_keg."' ORDER BY K_Sub");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("SubID");
$aoption['avalue'][] = ['value'=>$db->Row("SubID"), 'html'=>$db->Row("Nama_Sub")];
}
$ajson[] = $aoption;
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Kelola Data Perubahan - Aspirasi Masyarakat</div><div class="card-body">
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
<input id="KecID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="icon bi-arrow-left-right"></span></i>Kecamatan</button>
</div>
</div>
</div>
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_KEL" placeholder="Nama Kelurahan / Desa" type="text" readonly>
<input id="KelID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="icon bi-arrow-left-right"></span></i>Kel / Desa</button>
</div>
</div>
</div>
<div id="divKEC">&nbsp;</div>
<div id="divKEL">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+331
View File
@@ -0,0 +1,331 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/ubah/pokir.php
Desc. : PHP - Perubahan Kegiatan Pokir
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : May 3rd, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/esapipd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$thn_submap = $_SESSION['__WEB_APP']['SUBMAP_TAHUN'];
$id_dprd = Param::Get("DPRDID", 0);
$id_dapil = Param::Get("DapilID", 0);
$id_sapi = Param::Get("SapiID", 0);
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
$id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0);
$id_keg = Param::Get("KegID", 0);
$id_sub = Param::Get("SubID", 0);
$aapp = $_SESSION['__WEB_APP'];
if ( in_array($data, ["tabel-dprd","tabel-keg"]) ) {
$qsql = "Tahun='".$thn_renja."' AND Jenis=".SAPI_JENIS_POKIR."";
$msql = "M.Aktif=1";
if ( $data == "tabel-dprd" ) {
$tcari = Param::Get("Nama_DPRD", "");
if ($tcari <> "") $msql .= " AND CONCAT(M.N_DPRD,M.F_DPRD,M.Komisi_DPRD) LIKE '%".$tcari."%'";
$msql .= (in_array($_SESSION['__WEB_USER']['Level'],[5,6])) ? " AND M.DPRDID IN (".$_SESSION['__WEB_USER']['AK_DPRD'].")": "";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],[5,6])) ? " AND DPRDID IN (".$_SESSION['__WEB_USER']['AK_DPRD'].")": "";
} else if ( $data == "tabel-keg" ) {
$qsql .= " AND DPRDID='".$id_dprd."'";
}
}
if ( $data == "tabel-dprd" ) {
$obj = new Table($db);
$obj->set_query("SELECT K.*,IFNULL(K.ITEM_ERR,0) ITEM_ERR2,IF(IFNULL(K.ITEM_ERR,0)=0,0,1) ITEM_VER,M.DPRDID DPRDID2,M.K_DPRD,M.N_DPRD,M.F_DPRD,M.DapilID,CONCAT(M.N_DPRD,' / Fraksi: ',M.F_DPRD,' / Komisi: ',M.Komisi_DPRD) Nama_Plus FROM para_dprd M LEFT JOIN (SELECT DPRDID,COUNT(*) ITEM_KEG,SUM(IF(OPDID=0 OR KecID=0,1,0)) ITEM_ERR,SUM(Rupiah) TOT_RUPIAH FROM sapi_keg WHERE ".$qsql." GROUP BY DPRDID) K ON (K.DPRDID=M.DPRDID) WHERE ".$msql);
$obj->add_field("DPRDID2", "ID", "hid");
$obj->add_field("DapilID", "DapilID", "hid");
$obj->add_field("Nama_Plus", "Nama_Plus", "hid");
$obj->add_field("K_DPRD", "Kode", "c");
$obj->add_field("N_DPRD", "Nama Anggota Dewan", "awr");
$obj->add_field("F_DPRD", "Nama Fraksi", "awr");
$obj->add_field("ITEM_KEG", "Pokir", "r", "rupiah");
$obj->add_field("TOT_RUPIAH", "Jumlah Pagu", "r", "rupiah");
$obj->add_field("ITEM_ERR2", "Status", "c", "Kolom_Status1");
$obj->set_field_order("K_DPRD", "A");
$obj->set_row_color("ITEM_VER", 1, "ryellow");
$obj->add_row_btn("save", "Pokir", "UbahPokirJS.dprd_select");
$obj->set_func_navi("UbahPokirJS.data_query('tabel-dprd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divDPRD");
} else if ( $data == "tabel-keg" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("sapi_keg");
$sql->add_param("OPDID");
$sql->add_param("ProgID");
$sql->add_param("KegID");
$sql->add_param("SubID");
$sql->add_param("KecID");
$sql->add_param("KelID");
$sql->add_param("Lokasi");
$sql->add_param("Masalah");
$sql->add_param("Rupiah");
$sql->add_param("Hidden");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("SapiID");
$sql2 = new SQL($db);
$sql2->set_table("sapi_keg_tag");
$sql2->add_param("Rupiah_01");
$sql2->add_param("Rupiah_02");
$sql2->add_param("Rupiah_03");
$sql2->add_param("Rupiah_04");
$sql2->add_param("Rupiah_05");
$sql2->add_param("Rupiah_06");
$sql2->add_param("Rupiah_07");
$sql2->add_param("Rupiah_08");
$sql2->add_param("Rupiah_09");
$sql2->add_param("Rupiah_10");
$sql2->add_param("Rupiah_11");
$sql2->add_param("Rupiah_12");
$sql2->add_param("Pending_01");
$sql2->add_param("Pending_02");
$sql2->add_param("Pending_03");
$sql2->add_param("Pending_04");
$sql2->add_param("Pending_05");
$sql2->add_param("Pending_06");
$sql2->add_param("Pending_07");
$sql2->add_param("Pending_08");
$sql2->add_param("Pending_09");
$sql2->add_param("Pending_10");
$sql2->add_param("Pending_11");
$sql2->add_param("Pending_12");
$sql2->add_where("Tahun", $thn_renja);
$sql2->add_where("SapiID");
switch ($mode_detail) {
case "insert":
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("Jenis", SAPI_JENIS_POKIR);
$sql->add_param("Tahapan", 2);
$sql->add_param("DPRDID");
$sql->add_param("Kode", Kegiatan_Baru($thn_renja, "P"));
$sql->InsertDB();
$_id = $sql->LastInsertID();
$sql2->add_param("SapiID", $_id);
$sql2->add_param("Tahun", $thn_renja);
$sql2->InsertDB();
break;
case "update":
$sql->UpdateDB();
$sql2->UpdateDB();
break;
case "delete":
//$sql->DeleteDB();
//$sql2->DeleteDB();
break;
}
}
$obj = new Table($db);
$obj->set_query("SELECT R.*,X.Nama_Sub FROM (SELECT *,IF(OPDID=0 OR KecID=0,1,0) ITEM_ERR FROM sapi_keg WHERE ".$qsql.") R LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID)");
$obj->add_field("SapiID", "ID1", "hid");
$obj->add_field("Tahapan", "ID2", "hid");
$obj->add_field("Kode", "Kode", "c");
$obj->add_field("Nama_Sub", "Kegiatan Pokir", "l");
$obj->add_field("Lokasi", "Lokasi", "l");
$obj->add_field("Rupiah", "Pagu", "r", "rupiah");
$obj->add_field("ITEM_ERR", "Status", "c", "Kolom_Status2");
$obj->set_field_order("Kode", "A");
$obj->set_row_color("ITEM_ERR", 1, "ryellow");
$obj->add_row_btn("clipboard", "Detail Kegiatan", "UbahPokirJS.keg_ubah". "Tahapan", 2);
$obj->add_row_btn("clipboard-fill", "Detail Kegiatan", "UbahPokirJS.keg_ubah", "Tahapan", 1);
$obj->set_func_btn("UbahPokirJS.keg_tambah", '<i class="bi-plus-lg me-1"></i>Kegiatan Perubahan');
$obj->set_func_navi("UbahPokirJS.data_query('tabel-keg')");
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "detail-keg" ) {
$enable = true;
$adetail = ['SapiID'=>0, 'Bebas_Dapil'=>0, 'AK_Bidu'=>"'X.XX'"];
if ($id_dprd > 0) {
//todo: berikutnya ambil data dari tabel master dprd !
$db->Query("SELECT * FROM app_operator WHERE Aktif=1 AND AK_DPRD IN (".$id_dprd.") ORDER BY Last_Date DESC LIMIT 1");
if ($db->Next()) {
if ($db->Row("Level", 0) == 6) $adetail['Bebas_Dapil'] = 1;
}
}
if ($id_sapi > 0) {
$db->Query("SELECT * FROM sapi_keg WHERE Tahun='".$thn_renja."' AND SapiID='".$id_sapi."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
$db->Query("SELECT * FROM sapi_keg_tag WHERE Tahun='".$thn_renja."' AND SapiID='".$adetail['SapiID']."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
if ($adetail['OPDID'] > 0) {
$db->Query("SELECT AK_Bidu FROM vi_para90_opd WHERE OPDID='".$adetail['OPDID']."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
}
if ($adetail['Tahapan'] == 1) $enable = false;
}
$form = new Form($db);
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, true, "vi_para90_opd", ["OPDID","Nama_OPD"], "Aktif=1 ORDER BY K_OPD", [0,"&nbsp;"], null, "UbahPokirJS.oc_OPD()");
$tprog = $form->option_que("_", "ProgID", $adetail['ProgID'], $enable, false, "SELECT ProgID,Nama_Prog FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND K_Bidu IN (".$adetail['AK_Bidu'].") GROUP BY ProgID ORDER BY K_Prog", ["ProgID","Nama_Prog"], [0,"&nbsp;"], null, "UbahPokirJS.oc_Prog()");
$tkeg = $form->option_que("_", "KegID", $adetail['KegID'], $enable, false, "SELECT KegID,Nama_Keg FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".$adetail['ProgID']."' GROUP BY KegID ORDER BY K_Keg", ["KegID","Nama_Keg"], [0,"&nbsp;"], null, "UbahPokirJS.oc_Keg()");
$tsub = $form->option_que("_", "SubID", $adetail['SubID'], $enable, false, "SELECT SubID,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".$adetail['KegID']."' ORDER BY K_Sub", ["SubID","Nama_Sub"], [0,"&nbsp;"]);
$tkec = $form->option_db("_", "KecID", $adetail['KecID'], $enable, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Level=1 AND Aktif=1 ".($adetail['Bebas_Dapil']==1?"":"AND DapilID='".$id_dapil."'")." ORDER BY N_Lokasi", [0,"&nbsp;"], null, "UbahPokirJS.oc_Kec()");
$tkel = $form->option_que("_", "KelID", $adetail['KelID'], $enable, false, "SELECT LokasiID,N_Lokasi FROM para_lokasi WHERE Level=2 AND Aktif=1 AND IndukID='".$adetail['KecID']."' ORDER BY K_Lokasi", ["LokasiID","N_Lokasi"], [0,"&nbsp;"]);
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], $enable, true, "text");
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], $enable, true, 2);
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], $enable, true, "double");
$thidden = $form->radio("_", "Hidden", $adetail['Hidden'], $enable, true, [1=>"Ya",0=>"Tidak"]);
$ajson['html'] = '<form id="formPokir" novalidate="novalidate">
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="OPDID">Nama OPD</label>
<div class="col-sm-8 col-lg-10">'.$topd.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="ProgID">Nama Program</label>
<div class="col-sm-8 col-lg-10">'.$tprog.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="KegID">Nama Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tkeg.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="SubID">Nama Sub Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tsub.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="KecID">Kecamatan</label>
<div class="col-sm-8 col-lg-10">'.$tkec.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="KelID">Kelurahan / Desa</label>
<div class="col-sm-8 col-lg-10">'.$tkel.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tlokasi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Masalah">Permasalahan</label>
<div class="col-sm-8 col-lg-10">'.$tmasa.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label>
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
<div class="col">
'.($enable?
'<button class="btn btn-outline-info text-primary" title="Salin ke Pagu semua Bulan." onclick="UbahPokirJS.copy_Pagu();"><i class="bi-copy"></i></button>':
'<button class="btn btn-outline-secondary text-muted"><i class="bi-lock"></i></button>').'
</div>
</div>';
$abulan = bulan_array();
for ($bln = 1; $bln <= 12; $bln++) {
$bln_fix = isi_nol($bln, 2);
$trup_x = $form->textbox("_", "Rupiah_".$bln_fix, $adetail['Rupiah_'.$bln_fix], $enable, false, "double");
$ajson['html'] .= '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label>
<div class="col-sm-4 col-lg-4">'.$trup_x.'</div>
<div class="col-sm-4 col-lg-3"><div class="form-control">
<input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2"'.($adetail['Pending_'.$bln_fix]==1?' checked':'').($enable?'':' disabled=true').'>
<label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label>
</div></div>
</div>';
}
$ajson['html'] .= '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Hidden">Paket Hidden</label>
<div class="col-sm-8 col-lg-10">'.$thidden.'</div>
</div>
</form>
<input type="hidden" id="SapiID" value="'.$adetail['SapiID'].'" />
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
} else if ( $data == "option-prog" ) {
$ak_bidu = "'X.XX'";
$db->Query("SELECT * FROM vi_para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
if ($db->Next()) $ak_bidu = $db->Row("AK_Bidu");
$aoption = ['type' => "option", 'id' => "ProgID", 'value' => $id_prog, 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND K_Bidu IN (".$ak_bidu.") GROUP BY ProgID ORDER BY K_Prog");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"");
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("ProgID");
$aoption['avalue'][] = ['value'=>$db->Row("ProgID"), 'html'=>$db->Row("Nama_Prog")];
}
$ajson[] = $aoption;
} else if ( $data == "option-keg" ) {
$aoption = ['type' => "option", 'id' => "KegID", 'value' => $id_keg, 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".$id_prog."' GROUP BY KegID ORDER BY K_Keg");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("KegID");
$aoption['avalue'][] = ['value'=>$db->Row("KegID"), 'html'=>$db->Row("Nama_Keg")];
}
$ajson[] = $aoption;
} else if ( $data == "option-sub" ) {
$aoption = ['type' => "option", 'id' => "SubID", 'value' => $id_sub, 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".$id_keg."' ORDER BY K_Sub");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("SubID");
$aoption['avalue'][] = ['value'=>$db->Row("SubID"), 'html'=>$db->Row("Nama_Sub")];
}
$ajson[] = $aoption;
} else if ( $data == "option-kel" ) {
$aoption = ['type' => "option", 'id' => "KelID", 'value' => $id_kel, 'avalue' => []];
$db->Query("SELECT * FROM para_lokasi WHERE Level=2 AND Aktif=1 AND IndukID='".$id_kec."' ORDER BY N_Lokasi");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>"SEMUA KELURAHAN / DESA"];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("LokasiID");
$aoption['avalue'][] = ['value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi")];
}
$ajson[] = $aoption;
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Kelola Data Perubahan - Pokok Pikiran Dewan</div><div class="card-body">
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_DPRD" placeholder="Nama Anggota Dewan" type="text">
<input id="DPRDID" type="hidden" value="0">
<input id="DapilID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butDPRD"><span><i class="icon bi-arrow-left-right"></span></i>Dewan</button>
</div>
</div>
</div>
<div id="divDPRD">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+298
View File
@@ -0,0 +1,298 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/ubah/renja.php
Desc. : PHP - Perubahan Kegiatan Renja
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : May 3rd, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/esapipd.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$thn_submap = $_SESSION['__WEB_APP']['SUBMAP_TAHUN'];
$id_sapi = Param::Get("SapiID", 0);
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
$id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0);
$id_keg = Param::Get("KegID", 0);
$id_sub = Param::Get("SubID", 0);
$aapp = $_SESSION['__WEB_APP'];
if ( in_array($data, ["tabel-opd","tabel-keg"]) ) {
$qsql = "Tahun='".$thn_renja."' AND Jenis=".SAPI_JENIS_RENJA."";
$msql = "M.Aktif=1";
if ( $data == "tabel-opd" ) {
$tcari = Param::Get("Nama_OPD", "");
if ($tcari <> "") $msql .= " AND CONCAT(M.K_OPD,M.N_OPD) LIKE '%".$tcari."%'";
$msql .= (in_array($_SESSION['__WEB_USER']['Level'],[3,4])) ? " AND M.OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")": "";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],[3,4])) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")": "";
} else if ( $data == "tabel-keg" ) {
$qsql .= " AND OPDID='".$id_opd."'";
}
}
if ( $data == "tabel-opd" ) {
$obj = new Table($db);
$obj->set_query("SELECT K.*,IFNULL(K.ITEM_ERR,0) ITEM_ERR2,IF(IFNULL(K.ITEM_ERR,0)=0,0,1) ITEM_VER,M.OPDID OPDID2,M.K_OPD,M.N_OPD,M.Nama_OPD,M.AK_Bidu FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_KEG,SUM(IF(OPDID=0 OR KecID=0,1,0)) ITEM_ERR,SUM(Rupiah) TOT_RUPIAH FROM sapi_keg WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "ID", "hid");
$obj->add_field("AK_Bidu", "AK_Bidu", "hid");
$obj->add_field("Nama_OPD", "Nama OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("ITEM_KEG", "Renja", "r", "rupiah");
$obj->add_field("TOT_RUPIAH", "Jumlah Pagu", "r", "rupiah");
$obj->add_field("ITEM_ERR2", "Status", "c", "Kolom_Status1");
$obj->set_field_order("K_OPD", "A");
$obj->set_row_color("ITEM_VER", 1, "ryellow");
$obj->add_row_btn("save", "Renja", "UbahRenjaJS.opd_select");
$obj->set_func_navi("UbahRenjaJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-keg" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("sapi_keg");
$sql->add_param("ProgID");
$sql->add_param("KegID");
$sql->add_param("SubID");
$sql->add_param("KecID");
$sql->add_param("KelID");
$sql->add_param("Lokasi");
$sql->add_param("Masalah");
$sql->add_param("Rupiah");
$sql->add_param("Hidden");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("SapiID");
$sql2 = new SQL($db);
$sql2->set_table("sapi_keg_tag");
$sql2->add_param("Rupiah_01");
$sql2->add_param("Rupiah_02");
$sql2->add_param("Rupiah_03");
$sql2->add_param("Rupiah_04");
$sql2->add_param("Rupiah_05");
$sql2->add_param("Rupiah_06");
$sql2->add_param("Rupiah_07");
$sql2->add_param("Rupiah_08");
$sql2->add_param("Rupiah_09");
$sql2->add_param("Rupiah_10");
$sql2->add_param("Rupiah_11");
$sql2->add_param("Rupiah_12");
$sql2->add_param("Pending_01");
$sql2->add_param("Pending_02");
$sql2->add_param("Pending_03");
$sql2->add_param("Pending_04");
$sql2->add_param("Pending_05");
$sql2->add_param("Pending_06");
$sql2->add_param("Pending_07");
$sql2->add_param("Pending_08");
$sql2->add_param("Pending_09");
$sql2->add_param("Pending_10");
$sql2->add_param("Pending_11");
$sql2->add_param("Pending_12");
$sql2->add_where("Tahun", $thn_renja);
$sql2->add_where("SapiID");
switch ($mode_detail) {
case "insert":
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("Jenis", SAPI_JENIS_RENJA);
$sql->add_param("Tahapan", 2);
$sql->add_param("OPDID");
$sql->add_param("Kode", Kegiatan_Baru($thn_renja, "R"));
$sql->InsertDB();
$_id = $sql->LastInsertID();
$sql2->add_param("SapiID", $_id);
$sql2->add_param("Tahun", $thn_renja);
$sql2->InsertDB();
break;
case "update":
$sql->UpdateDB();
$sql2->UpdateDB();
break;
case "delete":
//$sql->DeleteDB();
//$sql2->DeleteDB();
break;
}
}
$obj = new Table($db);
$obj->set_query("SELECT R.*,X.Nama_Sub FROM (SELECT *,IF(OPDID=0 OR KecID=0,1,0) ITEM_ERR FROM sapi_keg WHERE ".$qsql.") R LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID)");
$obj->add_field("SapiID", "ID1", "hid");
$obj->add_field("Tahapan", "ID2", "hid");
$obj->add_field("Kode", "Kode", "c");
$obj->add_field("Nama_Sub", "Kegiatan Renja", "l");
$obj->add_field("Lokasi", "Lokasi", "l");
$obj->add_field("Rupiah", "Pagu", "r", "rupiah");
$obj->add_field("ITEM_ERR", "Status", "c", "Kolom_Status2");
$obj->set_field_order("Kode", "A");
$obj->set_row_color("ITEM_ERR", 1, "ryellow");
$obj->add_row_btn("clipboard", "Detail Kegiatan", "UbahRenjaJS.keg_ubah". "Tahapan", 2);
$obj->add_row_btn("clipboard-fill", "Detail Kegiatan", "UbahRenjaJS.keg_ubah", "Tahapan", 1);
$obj->set_func_btn("UbahRenjaJS.keg_tambah", '<i class="bi-plus-lg me-1"></i>Kegiatan Perubahan');
$obj->set_func_navi("UbahRenjaJS.data_query('tabel-keg')");
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "detail-keg" ) {
$enable = true;
$adetail = ['SapiID'=>0];
if ($id_sapi > 0) {
$db->Query("SELECT * FROM sapi_keg WHERE Tahun='".$thn_renja."' AND SapiID='".$id_sapi."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
$db->Query("SELECT * FROM sapi_keg_tag WHERE Tahun='".$thn_renja."' AND SapiID='".$adetail['SapiID']."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
if ($adetail['Tahapan'] == 1) $enable = false;
}
$form = new Form($db);
$tprog = $form->option_que("_", "ProgID", $adetail['ProgID'], $enable, false, "SELECT ProgID,Nama_Prog FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND K_Bidu IN (".stripslashes(Param::Get("AK_Bidu","'X.XX'")).") GROUP BY ProgID ORDER BY K_Prog", ["ProgID","Nama_Prog"], [0,"&nbsp;"], null, "UbahRenjaJS.oc_Prog()");
$tkeg = $form->option_que("_", "KegID", $adetail['KegID'], $enable, false, "SELECT KegID,Nama_Keg FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".$adetail['ProgID']."' GROUP BY KegID ORDER BY K_Keg", ["KegID","Nama_Keg"], [0,"&nbsp;"], null, "UbahRenjaJS.oc_Keg()");
$tsub = $form->option_que("_", "SubID", $adetail['SubID'], $enable, false, "SELECT SubID,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".$adetail['KegID']."' ORDER BY K_Sub", ["SubID","Nama_Sub"], [0,"&nbsp;"]);
$tkec = $form->option_db("_", "KecID", $adetail['KecID'], $enable, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Level=1 AND Aktif=1 ORDER BY N_Lokasi", [0,"&nbsp;"], null, "UbahRenjaJS.oc_Kec()");
$tkel = $form->option_que("_", "KelID", $adetail['KelID'], $enable, false, "SELECT LokasiID,N_Lokasi FROM para_lokasi WHERE Level=2 AND Aktif=1 AND IndukID='".$adetail['KecID']."' ORDER BY K_Lokasi", ["LokasiID","N_Lokasi"], [0,"&nbsp;"]);
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], $enable, true, "text");
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], $enable, true, 2);
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], $enable, true, "double");
$thidden = $form->radio("_", "Hidden", $adetail['Hidden'], $enable, true, [1=>"Ya",0=>"Tidak"]);
$ajson['html'] = '<form id="formRenja" novalidate="novalidate">
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="ProgID">Nama Program</label>
<div class="col-sm-8 col-lg-10">'.$tprog.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="KegID">Nama Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tkeg.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="SubID">Nama Sub Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tsub.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="KecID">Kecamatan</label>
<div class="col-sm-8 col-lg-10">'.$tkec.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="KelID">Kelurahan / Desa</label>
<div class="col-sm-8 col-lg-10">'.$tkel.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
<div class="col-sm-8 col-lg-10">'.$tlokasi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Masalah">Permasalahan</label>
<div class="col-sm-8 col-lg-10">'.$tmasa.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah">Pagu Awal / Default</label>
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
<div class="col">
'.($enable?
'<button class="btn btn-outline-info text-primary" title="Salin ke Pagu semua Bulan." onclick="UbahRenjaJS.copy_Pagu();"><i class="bi-copy"></i></button>':
'<button class="btn btn-outline-secondary text-muted"><i class="bi-lock"></i></button>').'
</div>
</div>';
$abulan = bulan_array();
for ($bln = 1; $bln <= 12; $bln++) {
$bln_fix = isi_nol($bln, 2);
$trup_x = $form->textbox("_", "Rupiah_".$bln_fix, $adetail['Rupiah_'.$bln_fix], $enable, false, "double");
$ajson['html'] .= '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Rupiah_'.$bln_fix.'">Pagu '.$abulan[$bln].'</label>
<div class="col-sm-4 col-lg-4">'.$trup_x.'</div>
<div class="col-sm-4 col-lg-3"><div class="form-control">
<input type="checkbox" id="Pending_'.$bln_fix.'" value="'.$adetail['Pending_'.$bln_fix].'" onchange="this.value=(this.checked)?\'1\':\'0\';" class="form-check-input me-2"'.($adetail['Pending_'.$bln_fix]==1?' checked':'').($enable?'':' disabled=true').'>
<label class="form-check-label" for="Pending_'.$bln_fix.'">Pending '.$abulan[$bln].'</label>
</div></div>
</div>';
}
$ajson['html'] .= '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Hidden">Paket Hidden</label>
<div class="col-sm-8 col-lg-10">'.$thidden.'</div>
</div>
</form>
<input type="hidden" id="SapiID" value="'.$adetail['SapiID'].'" />
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
} else if ( $data == "option-keg" ) {
$aoption = ['type' => "option", 'id' => "KegID", 'value' => $id_keg, 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".$id_prog."' GROUP BY KegID ORDER BY K_Keg");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("KegID");
$aoption['avalue'][] = ['value'=>$db->Row("KegID"), 'html'=>$db->Row("Nama_Keg")];
}
$ajson[] = $aoption;
} else if ( $data == "option-sub" ) {
$aoption = ['type' => "option", 'id' => "SubID", 'value' => $id_sub, 'avalue' => []];
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".$id_keg."' ORDER BY K_Sub");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("SubID");
$aoption['avalue'][] = ['value'=>$db->Row("SubID"), 'html'=>$db->Row("Nama_Sub")];
}
$ajson[] = $aoption;
} else if ( $data == "option-kel" ) {
$aoption = ['type' => "option", 'id' => "KelID", 'value' => $id_kel, 'avalue' => []];
$db->Query("SELECT * FROM para_lokasi WHERE Level=2 AND Aktif=1 AND IndukID='".$id_kec."' ORDER BY N_Lokasi");
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>"SEMUA KELURAHAN / DESA"];
while ($db->Next()) {
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("LokasiID");
$aoption['avalue'][] = ['value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi")];
}
$ajson[] = $aoption;
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Kelola Data Perubahan - Rencana Kerja</div><div class="card-body">
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text">
<input id="OPDID" type="hidden" value="0">
<input id="AK_Bidu" type="hidden" value="">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="icon bi-arrow-left-right"></span></i>OPD</button>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>