Download All Salur dan Belanja

This commit is contained in:
Pusdatin BPKD Jkt
2023-01-10 11:20:41 +07:00
parent c482d85b24
commit e6f4fc9595
6 changed files with 513 additions and 220 deletions
@@ -103,12 +103,13 @@
</div>
</div>
<div class="card-body">
<div id="search-dt">
<?php /* <div id="search-dt">
<?php if (getRole()!="skpd"){ ?>
<label class="src-skpd">SKPD: </label>
<?php } ?>
</div>
<table id="dtTableJadwalBelanja" class="table table-bordered table-striped jambo_table tblClickRow" style="width:150%">
*/?>
<table id="dtTableJadwalBelanja" class="table table-bordered table-striped jambo_table nowrap" style="width:150%">
<thead>
<tr class="headings">
<th rowspan=2>No</th>
@@ -160,7 +161,7 @@
</thead>
<tbody>
<?php
foreach ($dataAkbRealisasi as $key => $value) {
/* foreach ($dataAkbRealisasi as $key => $value) {
echo "<tr>
<td>".($key+1)."</td>
<td><div style='width:200px;'>".$value["nama_skpd"]."</div></td>
@@ -186,7 +187,7 @@
}
echo "</tr>";
}
}*/
?>
</tbody>
</table>
@@ -225,11 +226,23 @@
dtTable.draw();
});
$('#dtTableJadwalBelanja').DataTable( {
"processing": false,
"serverSide": false,
var dtTableBelanja =$('#dtTableJadwalBelanja').DataTable( {
"processing": true,
"serverSide": true,
"ordering": false,
"autoWidth": false,
"ajax": {
url: "{{ $baseUrl }}/jadwal-salurdana/cht/datatable",
type: "POST",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: function (d) {
d.src = $("#src").val(),
d.ta = $("#srcTA").val(),
d.type_dana = "cht"
}
},
"columnDefs": [
{ "width": "250px", "targets": 1 },
{ "width": "400px", "targets": 2 }
@@ -239,6 +252,132 @@
[ "10", "25", "50", "All" ]
],
"paging": true, // Table pagination
"columns": [
{ "data": null},
{ "data": "nama_skpd", "width": "400px" },
{ "data": "nama_rsk", "className":"text-left" },
{ "data": "jumlah_anggaran", "className":"text-right" },
{ "data": "v_akb_01", "className":"text-right" },
{ "data": "v_bku_01", "className":"text-right text-success" },
{ "data": "v_akb_02", "className":"text-right" },
{ "data": "v_bku_02", "className":"text-right text-success" },
{ "data": "v_akb_03", "className":"text-right" },
{ "data": "v_bku_03", "className":"text-right text-success" },
{ "data": "v_akb_04", "className":"text-right" },
{ "data": "v_bku_04", "className":"text-right text-success" },
{ "data": "v_akb_05", "className":"text-right" },
{ "data": "v_bku_05", "className":"text-right text-success" },
{ "data": "v_akb_06", "className":"text-right" },
{ "data": "v_bku_06", "className":"text-right text-success" },
{ "data": "v_akb_07", "className":"text-right" },
{ "data": "v_bku_07", "className":"text-right text-success" },
{ "data": "v_akb_08", "className":"text-right" },
{ "data": "v_bku_08", "className":"text-right text-success" },
{ "data": "v_akb_09", "className":"text-right" },
{ "data": "v_bku_09", "className":"text-right text-success" },
{ "data": "v_akb_10", "className":"text-right" },
{ "data": "v_bku_10", "className":"text-right text-success" },
{ "data": "v_akb_11", "className":"text-right" },
{ "data": "v_bku_11", "className":"text-right text-success" },
{ "data": "v_akb_12", "className":"text-right" },
{ "data": "v_bku_12", "className":"text-right text-success" },
{ "data": null, "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
//{ "data": null },
],
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
let info = dtTableBelanja.page.info();
let numStart = info.page;
let index = (numStart * dtTableBelanja.page.len()) + iDisplayIndex + 1;
let akb = [aData["v_akb_01"],aData["v_akb_02"],aData["v_akb_03"],aData["v_akb_04"],aData["v_akb_05"],aData["v_akb_06"]
,aData["v_akb_07"],aData["v_akb_08"],aData["v_akb_09"],aData["v_akb_10"],aData["v_akb_11"],aData["v_akb_12"]];
let bku = [aData["v_bku_01"],aData["v_bku_02"],aData["v_bku_03"],aData["v_bku_04"],aData["v_bku_05"],aData["v_bku_06"]
,aData["v_bku_07"],aData["v_bku_08"],aData["v_bku_09"],aData["v_bku_10"],aData["v_bku_11"],aData["v_bku_12"]];
let total = 0;
let totalReal = 0;
let Jadwalcol=2;
$("td:eq(0)", nRow).html(index);
$("td:eq(1)", nRow).html(aData["kode_skpd"] + " | " + aData["nama_skpd"]);
$("td:eq(2)", nRow).html(aData["kode_rsk"] + " | " + aData["nama_rsk"]);
$("td:eq(3)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"]));
$.each(akb, function(i,x){
Jadwalcol+=2;
n_bku = bku[i] == null ? 0:bku[i];
$("td:eq("+Jadwalcol+")", nRow).html(separateNumberIndo(akb[i]));
$("td:eq("+(Jadwalcol+1)+")", nRow).html(separateNumberIndo(n_bku));
total+=parseFloat(akb[i]);
totalReal+=parseFloat(n_bku);
})
Jadwalcol+=2;
$("td:eq("+Jadwalcol+")", nRow).html(separateNumberIndo(total));
$("td:eq("+(Jadwalcol+1)+")", nRow).html(separateNumberIndo(totalReal));
return nRow;
},
rowGroup: {
endRender: function ( rows, group, index ) {
let sumAnggaran = [];
let sum = [];
let sumReal = [];
let total = 0;
let totalReal = 0;
sumAnggaran = rows.data().pluck("jumlah_anggaran").reduce( function (a, b) {
return a + b * 1;
}, 0);
for(let x=0;x<12;x++){
xx = x+1;
sum[x] = rows.data().pluck("v_akb_"+("00"+xx).substr(-2)).reduce( function (a, b) {
return a + b * 1;
}, 0);
total += sum[x];
sumReal[x] = rows.data().pluck("v_bku_"+("00"+xx).substr(-2)).reduce( function (a, b) {
return a + b * 1;
}, 0);
totalReal += sumReal[x];
}
let textmuted = index == 1 ? "text-muted":"";
let labelGroup = index == 1 ?"JUMLAH | " + group : "TOTAL";
return $("<tr/>")
.append( "<td></td>")
.append( "<td colspan='2' class=\'text-left " + textmuted +"\'><strong>"+labelGroup+"</strong></td>")
.append( "<td class=\'text-right\'><strong>"+ separateNumberIndo(sumAnggaran) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[0]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[0]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[1]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[1]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[2]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[2]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[3]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[3]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[4]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[4]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[5]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[5]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[6]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[6]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[7]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[7]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[8]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[8]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[9]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[9]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[10]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[10]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[11]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[11]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(total) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(totalReal) +"</strong></td>" )
},
startRender: function ( rows, group, index ) {
},
dataSrc: ["tahun","kode_skpd"],
},
"language": {
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
"zeroRecords": "Data tidak ditemukan!",
@@ -256,30 +395,30 @@
},
scrollX: true,
scrollY: "350px",
initComplete: function () {
this.api().columns([1]).every( function () {
var column = this;
//console.log(this);
// console.log(this.index())
var select = $('<select class="form-control form-control-sm"><option value=""></option></select>')
column.data().unique().sort().each( function ( d, j ) {
let teks = d.replace(/<\/?[^>]+(>|$)/g, "");
select.append( '<option value="'+teks+'">'+teks+'</option>' )
} );
// initComplete: function () {
// this.api().columns([1]).every( function () {
// var column = this;
// //console.log(this);
// // console.log(this.index())
// var select = $('<select class="form-control form-control-sm"><option value=""></option></select>')
// column.data().unique().sort().each( function ( d, j ) {
// let teks = d.replace(/<\/?[^>]+(>|$)/g, "");
// select.append( '<option value="'+teks+'">'+teks+'</option>' )
// } );
select
.appendTo( $('.src-skpd') )
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
// select
// .appendTo( $('.src-skpd') )
// .on( 'change', function () {
// var val = $.fn.dataTable.util.escapeRegex(
// $(this).val()
// );
column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
} );
});
}
// column
// .search( val ? '^'+val+'$' : '', true, false )
// .draw();
// } );
// });
// }
});
var dtTableSalur = $('#dtTableJadwalPendapatan').DataTable( {