Files
sidata/resources/views/jadwal_salurdana/index_dak.blade.php
T

501 lines
26 KiB
PHP

@php
$siteBreadcumb = [
["url"=>"/jadwal-belanjadana","label"=>$siteTitle],
];
@endphp
@extends('layouts.empty')
@section('styles')
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-bs4/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/css/responsive.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/css/buttons.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/css/rowGroup.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/css/fixedColumns.bootstrap4.min.css">
@endsection
@section('content')
<div class="card">
<div class="card-header">
<h2 class="card-title"><i class="fa fa-search mr-2"></i> Filter Pencarian</h2>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse">
<i class="fas fa-minus"></i>
</button>
</div>
</div>
<div class="card-body">
<form id="frmJadwalSalur" action="{{ $baseUrl }}/jadwal-salurdana" method="post">
@csrf
<div class="row">
<div class="col-1">
<div class="form-group">
<label>Tahun</label>
<input class="form-control form-control-sm" id="srcTA" name="ta" value="{{ getTA() }}" readonly>
</div>
</div>
<div class="col-11">
<div class="form-group">
<label for="txt_simtrad4_kotor">Kode Rekening</label>
<input type="hidden" name="type_dana" value="dak">
<select id="txt_id_sps" name="id_sps" class="form-control form-control-sm" required></select>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="card">
<div class="card-header">
<h2 class="card-title"><i class="fa fa-th-list mr-2"></i> Jadwal Salur</h2>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse">
<i class="fas fa-minus"></i>
</button>
</div>
</div>
<div class="card-body">
<table id="dtTableJadwalPendapatan" class="table table-bordered table-striped jambo_table tblClickRow" style="width:150%">
<thead>
<tr class="headings">
<th rowspan=2>No</th>
<th rowspan=2>Nama Rekening</th>
<th colspan=2 class="text-right">Jan</th>
<th colspan=2 class="text-right">Feb</th>
<th colspan=2 class="text-right">Mar</th>
<th colspan=2 class="text-right">Apr</th>
<th colspan=2 class="text-right">Mei</th>
<th colspan=2 class="text-right">Juni</th>
<th colspan=2 class="text-right">Juli</th>
<th colspan=2 class="text-right">Agu</th>
<th colspan=2 class="text-right">Sep</th>
<th colspan=2 class="text-right">Okt</th>
<th colspan=2 class="text-right">Nov</th>
<th colspan=2 class="text-right">Des</th>
<th colspan=2 class="text-right">Jumlah</th>
</tr>
<tr>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
<td>Jadwal</td>
<td>Realisasi</td>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
<div class="card">
<div class="card-header">
<h2 class="card-title"><i class="fa fa-th-list mr-2"></i> AKB vs Realisasi</h2>
<div class="card-tools">
{{-- @if(auth()->user()->can('Tambah SKPP')) --}}
{{-- <button class="btn btn-sm btn-success" onclick="location.href='{{ route('salur-dana.create') }}'"><i class="fa fa-edit"></i> Tambah Data</button> --}}
{{-- @endif --}}
</div>
</div>
<div class="card-body">
<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">
<thead>
<tr class="headings">
<th rowspan=2>No</th>
<th rowspan=2>SKPD</th>
<th rowspan=2>RSK</th>
<th rowspan=2>Anggaran</th>
<th colspan=2 class="text-right">Jan</th>
<th colspan=2 class="text-right">Feb</th>
<th colspan=2 class="text-right">Mar</th>
<th colspan=2 class="text-right">Apr</th>
<th colspan=2 class="text-right">Mei</th>
<th colspan=2 class="text-right">Juni</th>
<th colspan=2 class="text-right">Juli</th>
<th colspan=2 class="text-right">Agu</th>
<th colspan=2 class="text-right">Sep</th>
<th colspan=2 class="text-right">Okt</th>
<th colspan=2 class="text-right">Nov</th>
<th colspan=2 class="text-right">Des</th>
<th colspan=2 class="text-right">Jumlah</th>
</tr>
<tr>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
<td>AKB</td>
<td>Realisasi</td>
</tr>
</thead>
<tbody>
<?php
foreach ($dataAkbRealisasi as $key => $value) {
echo "<tr>
<td>".($key+1)."</td>
<td><div style='width:200px;'>".$value["nama_skpd"]."</div></td>
<td><div style='width:200px;'>".$value["nama_rsk"]."</div></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>
@stop
@section('scripts')
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables/jquery.dataTables.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/js/dataTables.responsive.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/dataTables.buttons.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/jszip/jszip.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/pdfmake/pdfmake.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/pdfmake/vfs_fonts.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.html5.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.print.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.colVis.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/js/dataTables.fixedColumns.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/js/fixedColumns.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/js/dataTables.rowGroup.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/js/rowGroup.bootstrap4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var srcDate1 = null, srcDate2 = null;
optionDAK = () =>{
$.ajax({
url: '{{ $baseUrl }}/item-search-sps?ta='+$("#srcTA").val()+'&jenis=dak',
dataType: 'json',
async: false,
success: function (data) {
$('#txt_id_sps').empty();
$('#txt_id_sps').append($('<option>',{value:"",text:""}));
$.map(data, function (item) {
$('#txt_id_sps').append($('<option>', {
value: item.id,
text : item.name
}));
})
},
});
}
optionDAK();
$('#txt_id_sps').val({{ $idSPS }});
$("#src").keyup(function(e){
if (e.keyCode == 13){
e.preventDefault();
dtTable.draw();
}
});
$("#srcTA").on("change",function(e){
dtTableSalur.draw();
dtTable.draw();
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 ( _TOTAL_ Data )",
"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",
initComplete: function () {
this.api().columns([1]).every( function () {
var column = this;
// console.log(this.index())
var select = $('<select class="form-control form-control-sm"><option value=""></option></select>')
.appendTo( $('.src-skpd') )
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
} );
column.data().unique().sort().each( function ( d, j ) {
let teks = d.replace(/<\/?[^>]+(>|$)/g, "");
select.append( '<option value="'+teks+'">'+teks+'</option>' )
} );
});
}
});
var dtTableSalur = $('#dtTableJadwalPendapatan').DataTable( {
"processing": true,
"serverSide": true,
"ordering": false,
"autoWidth": false,
"ajax": {
url: "{{ $baseUrl }}/jadwal-salurdana/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 = "dak",
d.id_sps = $("#txt_id_sps").val()
}
},
"columnDefs": [
//{ className: "td-nowrap", "targets": [ 1 ] }
],
"dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-6 text-right\"B>>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">",
"lengthMenu": [
[ 10, 20, 50 ],
[ "10", "20", "50" ]
],
"paging": true, // Table pagination
"columns": [
{ "data": null},
{ "data": "kode_rekening", "width": "400px" },
{ "data": "spsbulan1", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan2", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan3", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan4", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan5", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan6", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan7", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan8", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan9", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan10", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan11", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan12", "className":"text-right" },
{ "data": null, "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 = dtTableSalur.page.info();
let numStart = info.page;
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"]
,aData["real7"],aData["real8"],aData["real9"],aData["real10"],aData["real11"],aData["real12"]];
let total = 0;
let totalReal = 0;
let Jadwalcol=0;
$("td:eq(0)", nRow).html(index);
$("td:eq(1)", nRow).html(aData["kode_rekening"] + " | " + aData["nama_rekening"]);
$.each(sps, function(i,x){
Jadwalcol+=2;
$("td:eq("+Jadwalcol+")", nRow).html(separateNumberIndo(sps[i]));
$("td:eq("+(Jadwalcol+1)+")", nRow).html(separateNumberIndo(real[i]));
total+=parseFloat(sps[i]);
totalReal+=parseFloat(real[i]);
})
$("td:eq(26)", nRow).html(separateNumberIndo(total));
$("td:eq(27)", nRow).html(separateNumberIndo(totalReal));
return nRow;
},
"language": {
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
"zeroRecords": "Data tidak ditemukan!",
"info": "Halaman _PAGE_ dari _PAGES_ Halaman ( _TOTAL_ Data )",
"infoEmpty": "Data tidak tersedia",
"infoFiltered": "",
"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: 2,
},
rowGroup: {
endRender: function ( rows, group, index ) {
let sum = [];
let sumReal = [];
let total = 0;
let totalReal = 0;
for(let x=0;x<12;x++){
xx = x+1;
sum[x] = rows.data().pluck("spsbulan"+xx).reduce( function (a, b) {
return a + b * 1;
}, 0);
total += sum[x];
sumReal[x] = rows.data().pluck("real"+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 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: ["groupall"]
},
scrollX:true,
buttons: [
{
extend: "collection",
text: "Export",
buttons: [
{
text: "<i class=\'fas fa-file-excel\'></i> Excel",
className: "export-data link-excel",
attr: {
formid: "frmJadwalSalur",
extype: "excel"
}
},
],
}
],
});
$('#txt_id_sps').on('change', function (e) {
//dtTableSalur.draw();
$(".dataTables_processing").show();
location.href = "?id_sps="+$(this).val();
})
});
</script>
@endsection