This commit is contained in:
Pusdatin BPKD Jkt
2022-09-01 16:12:31 +07:00
parent cd762325fc
commit 44889232af
3 changed files with 150 additions and 285 deletions
@@ -63,12 +63,23 @@ class JadwalSalurdanaController extends Controller
{
$judul = strtoupper($typeDana);
$this->setTitle("Jadwal Salur Dana $judul");
// $data = DB::select(DB::raw("SELECT x.kode_skpd, x.nama_skpd, x.kode_rsk, x.nama_rsk, x.jumlah_anggaran, y.*
// FROM SAMASA.BELANJA_REALISASI x
// LEFT JOIN SAMASA.VW_AKB_REALISASI y
// ON x.KODE_RSK = y.IDRSK AND x.TAHUN_ANGGARAN = y.TAHUN_ANGGARAN
// WHERE x.TAHUN_ANGGARAN = ".getTa()." ORDER BY x.kode_skpd,x.kode_rsk "));
return view("jadwal_salurdana.index_".$typeDana);
$filter = $typeDana == "cht" ? " AND x.jenis_dana = 'DBH' AND x.sub_jenis_dana = 'CHT' ": " AND x.jenis_dana = 'DAK'";
if (getRole()=="skpd"){
$filter.=" AND x.kode_skpd='".Auth::user()->nrk."'";
}
$dataAkbRealisasi = DB::select(DB::raw("SELECT x.kode_skpd, x.nama_skpd, x.kode_rsk, x.nama_rsk, x.jumlah_anggaran, y.*
FROM SAMASA.BELANJA_REALISASI x
LEFT JOIN SAMASA.VW_AKB_REALISASI y
ON x.KODE_RSK = y.IDRSK AND x.TAHUN_ANGGARAN = y.TAHUN_ANGGARAN
WHERE x.TAHUN_ANGGARAN = ".getTa()." $filter ORDER BY x.kode_skpd,x.nama_skpd,x.kode_rsk "));
$dataAkbRealisasi = array_map(function ($value) {
return (array)$value;
}, $dataAkbRealisasi);
return view("jadwal_salurdana.index_".$typeDana, compact("dataAkbRealisasi"));
}
public function datatable_cht_dak(Request $request, $typeDana)
@@ -153,7 +153,37 @@
<td>Realisasi</td>
</tr>
</thead>
<tbody></tbody>
<tbody>
<?php
foreach ($dataAkbRealisasi as $key => $value) {
echo "<tr>
<td>".($key+1)."</td>
<td>".$value["nama_skpd"]."</td>
<td>".$value["nama_rsk"]."</td>
<td class='text-right'>".number_format($value["jumlah_anggaran"])."</td>";
$flag = "bku";
$total = [];
$arrFld = ["v_akb","v_bku"];
for($i=1;$i<=12;$i++)
{
foreach($arrFld as $fld){
$fldValue = $value[$fld."_".substr("00".$i,-2)];
$total[$fld][]=floatval($fldValue);
$class = $fld == "v_bku"?"text-success":"";
echo "<td class='text-right $class'>".number_format($fldValue)."</td>";
}
}
foreach($arrFld as $fld){
$class = $fld == "v_bku"?"text-success":"";
echo "<td class='text-right $class'>".number_format(array_sum($total[$fld]))."</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
</div>
</div>
@@ -190,6 +220,39 @@
dtTable.draw();
});
$('#dtTableJadwalBelanja').DataTable( {
"processing": false,
"serverSide": false,
"ordering": false,
"autoWidth": false,
"columnDefs": [
{ "width": "250px", "targets": 1 },
{ "width": "400px", "targets": 2 }
],
"lengthMenu": [
[ 10, 25, 50 ],
[ "10", "25", "50" ]
],
"paging": true, // Table pagination
"language": {
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
"zeroRecords": "Data tidak ditemukan!",
"info": "Halaman _PAGE_ dari _PAGES_ Halaman",
"infoEmpty": "Data tidak tersedia",
"infoFiltered": "(Disaring dari _MAX_ Data)",
"paginate": {
"previous": "<i class='fas fa-angle-double-left'></i>",
"next": "<i class='fas fa-angle-double-right'></i>",
},
"processing": "<div class='loading'></div>",
},
fixedColumns: {
left: 3,
},
scrollX: true,
scrollY: "350px",
});
var dtTableSalur = $('#dtTableJadwalPendapatan').DataTable( {
"processing": true,
"serverSide": true,
@@ -208,7 +271,7 @@
}
},
"columnDefs": [
//{ className: "td-nowrap", "targets": [ 1 ] }
{ "width":"400px","targets": [ 1 ] }
],
"dom": "<\"top\" <\"row\"<\"col-md-6\"><\"col-md-6 text-right\">>>rt<\"bottom\" <\"row\"<\"col-md-6\"><\"col-md-6\">> ><\"clear\">",
"lengthMenu": [
@@ -248,9 +311,9 @@
//{ "data": null },
],
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
let info = dtTable.page.info();
let info = dtTableSalur.page.info();
let numStart = info.page;
let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1;
let index = (numStart * dtTableSalur.page.len()) + iDisplayIndex + 1;
let sps = [aData["spsbulan1"],aData["spsbulan2"],aData["spsbulan3"],aData["spsbulan4"],aData["spsbulan5"],aData["spsbulan6"]
,aData["spsbulan7"],aData["spsbulan8"],aData["spsbulan9"],aData["spsbulan10"],aData["spsbulan11"],aData["spsbulan12"]];
let real = [aData["real1"],aData["real2"],aData["real3"],aData["real4"],aData["real5"],aData["real6"]
@@ -290,170 +353,6 @@
},
scrollX:true,
});
var dtTable = $('#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()
}
},
"columnDefs": [
//{ className: "td-nowrap", "targets": [ 1 ] }
],
"dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-6 text-right\">>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">",
"lengthMenu": [
[ 10, 25, 50 ],
[ "10", "25", "50" ]
],
"paging": true, // Table pagination
"columns": [
{ "data": null},
{ "data": "nama_skpd", "width": "400px" },
{ "data": "nama_rsk", "width": "400px" },
{ "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 = dtTable.page.info();
let numStart = info.page;
let index = (numStart * dtTable.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 real = [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=4;
$("td:eq(0)", nRow).html(index);
$("td:eq(1)", nRow).html("<div class='text-wrap width-200'>" + aData["kode_skpd"] + " | " + aData["nama_skpd"] + "</div>");
$("td:eq(2)", nRow).html("<div class='text-wrap width-200'>" + aData["kode_rsk"] + " | " + aData["nama_rsk"] + "</div>");
$("td:eq(3)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"]));
$.each(akb, function(i,x){
let nAKB = akb[i] == null ? 0 : parseFloat(akb[i]);
let nReal = real[i] == null ? 0 : parseFloat(real[i]);
$("td:eq("+Jadwalcol+")", nRow).html(separateNumberIndo(nAKB));
Jadwalcol++;
$("td:eq("+(Jadwalcol)+")", nRow).html(separateNumberIndo(nReal));
Jadwalcol++;
total+=parseFloat(nAKB);
totalReal+=parseFloat(nReal);
})
$("td:eq(28)", nRow).html(separateNumberIndo(total));
$("td:eq(29)", nRow).html(separateNumberIndo(totalReal));
return nRow;
},
"language": {
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
"zeroRecords": "Data tidak ditemukan!",
"info": "Halaman _PAGE_ dari _PAGES_ Halaman",
"infoEmpty": "Data tidak tersedia",
"infoFiltered": "(Disaring dari _MAX_ Data)",
"paginate": {
"previous": "<i class='fas fa-angle-double-left'></i>",
"next": "<i class='fas fa-angle-double-right'></i>",
},
"processing": "<div class='loading'></div>",
},
fixedColumns: {
left: 3,
},
// rowGroup: {
// endRender: function ( rows, group, index ) {
// let sum = [];
// let sumReal = [];
// let total = 0;
// let totalReal = 0;
// for(let x=0;x<12;x++){
// xx = ("00"+(x+1));
// xx = xx.substring(xx.length - 2);
// sum[x] = rows.data().pluck("v_akb_"+xx).reduce( function (a, b) {
// return a + b * 1;
// }, 0);
// total += sum[x];
// sumReal[x] = rows.data().pluck("v_bku_"+xx).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 " + 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: ["kode_skpd"]
// },
scrollX: true,
scrollY: "350px",
});
});
</script>
@endsection
@@ -167,7 +167,37 @@
<td>Realisasi</td>
</tr>
</thead>
<tbody></tbody>
<tbody>
<?php
foreach ($dataAkbRealisasi as $key => $value) {
echo "<tr>
<td>".($key+1)."</td>
<td>".$value["nama_skpd"]."</td>
<td>".$value["nama_rsk"]."</td>
<td class='text-right'>".number_format($value["jumlah_anggaran"])."</td>";
$flag = "bku";
$total = [];
$arrFld = ["v_akb","v_bku"];
for($i=1;$i<=12;$i++)
{
foreach($arrFld as $fld){
$fldValue = $value[$fld."_".substr("00".$i,-2)];
$total[$fld][]=floatval($fldValue);
$class = $fld == "v_bku"?"text-success":"";
echo "<td class='text-right $class'>".number_format($fldValue)."</td>";
}
}
foreach($arrFld as $fld){
$class = $fld == "v_bku"?"text-success":"";
echo "<td class='text-right $class'>".number_format(array_sum($total[$fld]))."</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
</div>
</div>
@@ -206,6 +236,39 @@
optionDAK();
});
$('#dtTableJadwalBelanja').DataTable( {
"processing": false,
"serverSide": false,
"ordering": false,
"autoWidth": false,
"columnDefs": [
{ "width": "250px", "targets": 1 },
{ "width": "400px", "targets": 2 }
],
"lengthMenu": [
[ 10, 25, 50 ],
[ "10", "25", "50" ]
],
"paging": true, // Table pagination
"language": {
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
"zeroRecords": "Data tidak ditemukan!",
"info": "Halaman _PAGE_ dari _PAGES_ Halaman",
"infoEmpty": "Data tidak tersedia",
"infoFiltered": "(Disaring dari _MAX_ Data)",
"paginate": {
"previous": "<i class='fas fa-angle-double-left'></i>",
"next": "<i class='fas fa-angle-double-right'></i>",
},
"processing": "<div class='loading'></div>",
},
fixedColumns: {
left: 3,
},
scrollX: true,
scrollY: "350px",
});
var dtTableSalur = $('#dtTableJadwalPendapatan').DataTable( {
"processing": true,
"serverSide": true,
@@ -265,9 +328,9 @@
//{ "data": null },
],
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
let info = dtTable.page.info();
let info = dtTableSalur.page.info();
let numStart = info.page;
let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1;
let index = (numStart * dtTableSalur.page.len()) + iDisplayIndex + 1;
let sps = [aData["spsbulan1"],aData["spsbulan2"],aData["spsbulan3"],aData["spsbulan4"],aData["spsbulan5"],aData["spsbulan6"]
,aData["spsbulan7"],aData["spsbulan8"],aData["spsbulan9"],aData["spsbulan10"],aData["spsbulan11"],aData["spsbulan12"]];
let real = [aData["real1"],aData["real2"],aData["real3"],aData["real4"],aData["real5"],aData["real6"]
@@ -399,114 +462,6 @@
dtTableSalur.draw();
})
var dtTable = $('#dtTableJadwalBelanja').DataTable( {
"processing": true,
"serverSide": true,
"ordering": false,
"autoWidth": false,
"ajax": {
url: "{{ $baseUrl }}/jadwal-salurdana/dak/datatable",
type: "POST",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: function (d) {
// d.src = $("#src").val(),
d.ta = $("#srcTA").val()
}
},
"columnDefs": [
//{ className: "td-nowrap", "targets": [ 1 ] }
],
"dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-6 text-right\">>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">",
"lengthMenu": [
[ 10, 25, 50 ],
[ "10", "25", "50" ]
],
"paging": true, // Table pagination
"columns": [
{ "data": null},
{ "data": "nama_skpd", "width": "400px" },
{ "data": "nama_rsk", "width": "400px" },
{ "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 = dtTable.page.info();
let numStart = info.page;
let index = (numStart * dtTable.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 real = [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=4;
$("td:eq(0)", nRow).html(index);
$("td:eq(1)", nRow).html("<div class='text-wrap width-200'>" + aData["kode_skpd"] + " | " + aData["nama_skpd"] + "</div>");
$("td:eq(2)", nRow).html("<div class='text-wrap width-200'>" + aData["kode_rsk"] + " | " + aData["nama_rsk"] + "</div>");
$("td:eq(3)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"]));
$.each(akb, function(i,x){
let nAKB = akb[i] == null ? 0 : parseFloat(akb[i]);
let nReal = real[i] == null ? 0 : parseFloat(real[i]);
$("td:eq("+Jadwalcol+")", nRow).html(separateNumberIndo(nAKB));
Jadwalcol++;
$("td:eq("+(Jadwalcol)+")", nRow).html(separateNumberIndo(nReal));
Jadwalcol++;
total+=parseFloat(nAKB);
totalReal+=parseFloat(nReal);
})
$("td:eq(28)", nRow).html(separateNumberIndo(total));
$("td:eq(29)", nRow).html(separateNumberIndo(totalReal));
return nRow;
},
"language": {
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
"zeroRecords": "Data tidak ditemukan!",
"info": "Halaman _PAGE_ dari _PAGES_ Halaman",
"infoEmpty": "Data tidak tersedia",
"infoFiltered": "(Disaring dari _MAX_ Data)",
"paginate": {
"previous": "<i class='fas fa-angle-double-left'></i>",
"next": "<i class='fas fa-angle-double-right'></i>",
},
"processing": "<div class='loading'></div>",
},
fixedColumns: {
left: 3,
},
scrollX: true,
scrollY: "350px",
});
optionDAK();
});
</script>