Download All Salur dan Belanja
This commit is contained in:
@@ -25,14 +25,11 @@ class JadwalSalurdanaController extends Controller
|
|||||||
return view('jadwal_salurdana.index');
|
return view('jadwal_salurdana.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function datatable(Request $request)
|
protected function filterJadwalSalur($request)
|
||||||
{
|
{
|
||||||
|
$ta = getTA();
|
||||||
|
|
||||||
$post = $request->all();
|
$post = $request->all();
|
||||||
$offset = $post["start"];
|
|
||||||
$limit = $post["length"];
|
|
||||||
$src = isset($post["src"]) ? $post["src"]:"";
|
|
||||||
$ta = $post["ta"];
|
|
||||||
$dataFilter = 0;
|
|
||||||
$typeDana = isset($post["type_dana"])?$post["type_dana"]:"";
|
$typeDana = isset($post["type_dana"])?$post["type_dana"]:"";
|
||||||
$idSPS = isset($post["id_sps"])?$post["id_sps"]:"";
|
$idSPS = isset($post["id_sps"])?$post["id_sps"]:"";
|
||||||
$sqlstr = Sps_pendapatan::queryJadwalSalurDana($ta);
|
$sqlstr = Sps_pendapatan::queryJadwalSalurDana($ta);
|
||||||
@@ -41,8 +38,6 @@ class JadwalSalurdanaController extends Controller
|
|||||||
$sqlstr.=" AND x.KODE_REKENING='$idSPS'";
|
$sqlstr.=" AND x.KODE_REKENING='$idSPS'";
|
||||||
}
|
}
|
||||||
|
|
||||||
$dataTotal = count(DB::select(DB::raw($sqlstr)));
|
|
||||||
|
|
||||||
if (!empty($typeDana)){
|
if (!empty($typeDana)){
|
||||||
if ($typeDana == "cht"){
|
if ($typeDana == "cht"){
|
||||||
$sqlstr.=" AND x.kode_rekening='4.2.01.01.01.0004'";
|
$sqlstr.=" AND x.kode_rekening='4.2.01.01.01.0004'";
|
||||||
@@ -50,7 +45,46 @@ class JadwalSalurdanaController extends Controller
|
|||||||
$sqlstr.=" AND SUBSTR(x.kode_rekening,1,12) IN ('4.2.01.01.03','4.2.01.01.04')";
|
$sqlstr.=" AND SUBSTR(x.kode_rekening,1,12) IN ('4.2.01.01.03','4.2.01.01.04')";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $sqlstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function filterBelanja($request, $typeDana)
|
||||||
|
{
|
||||||
|
$ta = getTA();
|
||||||
|
|
||||||
|
$post = $request->all();
|
||||||
|
$src = isset($post["src"]) ? $post["src"]:"";
|
||||||
|
$typeDanaFilter = $typeDana == "cht" ? " AND x.jenis_dana = 'DBH' AND lower(x.NAMA_SUBJENIS_DANA) = 'cht' ": " AND x.jenis_dana = 'DAK'";
|
||||||
|
$idSPS = isset($post["id_sps"])?$post["id_sps"]:"";
|
||||||
|
$skpd = isset($post["skpd"])?$post["skpd"]:"";
|
||||||
|
|
||||||
|
$sqlstr = 'SELECT x.kode_skpd, x.nama_skpd, x.kode_rsk, x.nama_rsk, x.jumlah_anggaran, y.*
|
||||||
|
FROM SAMASA.VW_BELANJA_REALISASI x
|
||||||
|
LEFT JOIN SAMASA.MV_ASYNC_AKB_REALISASI y
|
||||||
|
ON x.KODE_RSK = y.I_IDRSK AND x.TAHUN_ANGGARAN = y.C_ANGG_TAHUN
|
||||||
|
WHERE x.TAHUN_ANGGARAN = \''.$ta.'\''.$typeDanaFilter;
|
||||||
|
|
||||||
|
if (getRole()=="skpd"){
|
||||||
|
$sqlstr.=" AND KODE_SKPD='".Auth::user()->nrk."'";
|
||||||
|
}else{
|
||||||
|
if ($skpd){
|
||||||
|
$sqlstr.=" AND KODE_SKPD='$skpd'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $sqlstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function datatable(Request $request)
|
||||||
|
{
|
||||||
|
$post = $request->all();
|
||||||
|
$offset = $post["start"];
|
||||||
|
$limit = $post["length"];
|
||||||
|
|
||||||
|
$sqlstr = $this->filterJadwalSalur($request);
|
||||||
|
$dataTotal = count(DB::select(DB::raw($sqlstr)));
|
||||||
|
|
||||||
$sqlLimit = $limit > 0?" OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY ":"";
|
$sqlLimit = $limit > 0?" OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY ":"";
|
||||||
$data = DB::select(DB::raw($sqlstr.'ORDER BY x.kode_rekening '.$sqlLimit));
|
$data = DB::select(DB::raw($sqlstr.'ORDER BY x.kode_rekening '.$sqlLimit));
|
||||||
$dataFilter = count(DB::select(DB::raw($sqlstr)));
|
$dataFilter = count(DB::select(DB::raw($sqlstr)));
|
||||||
@@ -64,35 +98,7 @@ class JadwalSalurdanaController extends Controller
|
|||||||
|
|
||||||
public function index_cht_dak(Request $request, $typeDana)
|
public function index_cht_dak(Request $request, $typeDana)
|
||||||
{
|
{
|
||||||
$judul = strtoupper($typeDana);
|
return view("jadwal_salurdana.index_cht_dak", compact("typeDana"));
|
||||||
$this->setTitle("Jadwal Salur Dana $judul");
|
|
||||||
$filter = $typeDana == "cht" ? " AND x.jenis_dana = 'DBH' AND x.sub_jenis_dana = 3 ": " AND x.jenis_dana = 'DAK'";
|
|
||||||
if (getRole()=="skpd"){
|
|
||||||
$filter.=" AND x.kode_skpd='".Auth::user()->nrk."'";
|
|
||||||
}
|
|
||||||
$idSPS = 0;
|
|
||||||
if ($request->has("id_sps"))
|
|
||||||
{
|
|
||||||
if ($request->id_sps > 0)
|
|
||||||
{
|
|
||||||
$filter.=" AND x.kode_rekening='".$request->id_sps."'";
|
|
||||||
$idSPS = $request->id_sps;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$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 (".BelanjaRealisasi::akbRealisasi().") y
|
|
||||||
ON x.KODE_RSK = y.I_IDRSK
|
|
||||||
-- AND x.TAHUN_ANGGARAN = y.C_ANGG_TAHUN
|
|
||||||
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","idSPS"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function datatable_cht_dak(Request $request, $typeDana)
|
public function datatable_cht_dak(Request $request, $typeDana)
|
||||||
@@ -100,25 +106,12 @@ class JadwalSalurdanaController extends Controller
|
|||||||
$post = $request->all();
|
$post = $request->all();
|
||||||
$offset = $post["start"];
|
$offset = $post["start"];
|
||||||
$limit = $post["length"];
|
$limit = $post["length"];
|
||||||
// $src = $post["src"];
|
|
||||||
$ta = $post["ta"];
|
$sqlstr = $this->filterBelanja($request, $typeDana);
|
||||||
$typeDanaFilter = $typeDana == "cht" ? " AND x.jenis_dana = 'DBH' AND x.sub_jenis_dana = 'CHT' ": " AND x.jenis_dana = 'DAK'";
|
|
||||||
$dataFilter=0;
|
|
||||||
$sqlstr = '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.MV_ASYNC_AKB_REALISASI y
|
|
||||||
ON x.KODE_RSK = y.I_IDRSK AND x.TAHUN_ANGGARAN = y.C_ANGG_TAHUN
|
|
||||||
WHERE x.TAHUN_ANGGARAN = \''.$ta.'\''.$typeDanaFilter;
|
|
||||||
|
|
||||||
if (getRole()=="skpd"){
|
|
||||||
$sqlstr.=" AND KODE_SKPD='".Auth::user()->nrk."'";
|
|
||||||
}
|
|
||||||
$sqlLimit = $limit > 0?" OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY ":"";
|
$sqlLimit = $limit > 0?" OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY ":"";
|
||||||
$data = DB::select(DB::raw($sqlstr.' ORDER BY x.kode_skpd,x.kode_rsk '.$sqlLimit));
|
$data = DB::select(DB::raw($sqlstr.' ORDER BY x.kode_skpd,x.kode_rsk '.$sqlLimit));
|
||||||
$dataTotal = count(DB::select(DB::raw($sqlstr)));
|
$dataTotal = count(DB::select(DB::raw($sqlstr)));
|
||||||
// if (!empty($src)){
|
|
||||||
//$data->whereRaw("(LOWER(NAMA_REKENING) LIKE '%".strtolower($src)."%' OR LOWER(KODE_REKENING) LIKE '%".strtolower($src)."%')");
|
|
||||||
// }
|
|
||||||
$dataFilter = count(DB::select(DB::raw($sqlstr)));
|
$dataFilter = count(DB::select(DB::raw($sqlstr)));
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
@@ -128,33 +121,18 @@ class JadwalSalurdanaController extends Controller
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function download(Request $request)
|
protected function exportJadwalSalur($request)
|
||||||
{
|
{
|
||||||
$post = $request->all();
|
$sqlstr = $this->filterJadwalSalur($request);
|
||||||
$typeDana = isset($post["type_dana"])?$post["type_dana"]:"";
|
|
||||||
$idSPS = isset($post["id_sps"])?$post["id_sps"]:"";
|
|
||||||
$ta = $post["ta"];
|
|
||||||
$sqlstr = Sps_pendapatan::queryJadwalSalurDana($ta);
|
|
||||||
|
|
||||||
if (!empty($idSPS)){
|
|
||||||
$sqlstr.=" AND x.ID=$idSPS";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($typeDana)){
|
|
||||||
if ($typeDana == "cht"){
|
|
||||||
$sqlstr.=" AND kode_rekening='4.2.01.01.01.0004'";
|
|
||||||
}else{
|
|
||||||
$sqlstr.=" AND SUBSTR(kode_rekening,1,12) IN ('4.2.01.01.03','4.2.01.01.04')";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$sqlstr .= " ORDER BY kode_rekening";
|
$sqlstr .= " ORDER BY kode_rekening";
|
||||||
|
|
||||||
$data = DB::select(DB::raw($sqlstr));
|
$data = DB::select(DB::raw($sqlstr));
|
||||||
$data = json_decode(json_encode($data),true);
|
$data = json_decode(json_encode($data),true);
|
||||||
|
|
||||||
$fileName = 'Jadwal-salur-dana.xlsx';
|
|
||||||
$spreadsheet = new Spreadsheet();
|
$spreadsheet = new Spreadsheet();
|
||||||
$sheet = $spreadsheet->getActiveSheet();
|
$sheet = $spreadsheet->getActiveSheet();
|
||||||
|
$sheet->setTitle('Jadwal Salur');
|
||||||
|
|
||||||
$sheet->setCellValue('A1', 'Kode Rekening');
|
$sheet->setCellValue('A1', 'Kode Rekening');
|
||||||
$sheet->setCellValue('B1', 'Nama Rekening');
|
$sheet->setCellValue('B1', 'Nama Rekening');
|
||||||
$alpha = range("A","Z");
|
$alpha = range("A","Z");
|
||||||
@@ -211,6 +189,101 @@ class JadwalSalurdanaController extends Controller
|
|||||||
$sheet->setCellValue($strAlpha.$rows , "=SUM($SUMRANGE)");
|
$sheet->setCellValue($strAlpha.$rows , "=SUM($SUMRANGE)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $spreadsheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function download(Request $request)
|
||||||
|
{
|
||||||
|
$spreadsheet = $this->exportJadwalSalur($request);
|
||||||
|
|
||||||
|
$fileName = 'Jadwal-salur-dana.xlsx';
|
||||||
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$writer->save("downloadFiles/".$fileName);
|
||||||
|
$headers = [
|
||||||
|
'Content-Type' => 'application/vnd.ms-excel',
|
||||||
|
'Content-Disposition' => 'attachment;filename='.$fileName
|
||||||
|
];
|
||||||
|
|
||||||
|
return response()->download("downloadFiles/".$fileName, $fileName, $headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function downloadAll(Request $request)
|
||||||
|
{
|
||||||
|
$post = $request->all();
|
||||||
|
|
||||||
|
$fileName = 'Jadwal-salur-belanja-'.date("Ymd").'.xlsx';
|
||||||
|
|
||||||
|
$spreadsheet = $this->exportJadwalSalur($request);
|
||||||
|
$spreadsheet->createSheet();
|
||||||
|
$spreadsheet->setActiveSheetIndex(1);
|
||||||
|
$sheet = $spreadsheet->getActiveSheet();
|
||||||
|
|
||||||
|
$sheet->setTitle('Akb dan Realisasi');
|
||||||
|
$sheet->setCellValue('A1', 'SKPD');
|
||||||
|
$sheet->setCellValue('B1', 'RSK');
|
||||||
|
$alpha = range("A","Z");
|
||||||
|
$colIndex = 2;
|
||||||
|
// Nama Kolom bulan
|
||||||
|
$bulans = GetBulan();
|
||||||
|
foreach($bulans as $bulan){
|
||||||
|
$sheet->setCellValue($alpha[$colIndex].'1', $bulan);
|
||||||
|
$colIndex++;
|
||||||
|
$sheet->mergeCells($alpha[$colIndex].'1'.':'.$alpha[$colIndex].'1');
|
||||||
|
$colIndex++;
|
||||||
|
}
|
||||||
|
$sheet->setCellValue(getAlphabetCell($colIndex).'1', "Total");
|
||||||
|
$sheet->mergeCells(getAlphabetCell($colIndex).'1'.':'.getAlphabetCell($colIndex+1).'1');
|
||||||
|
$sheet->mergeCells('A1:A2');
|
||||||
|
$sheet->mergeCells('B1:B2');
|
||||||
|
$colIndex++;
|
||||||
|
|
||||||
|
// Nama Kolom Jadwal dan Realisasi
|
||||||
|
$colName = "Realisasi";
|
||||||
|
for($i=2;$i<=$colIndex;$i++){
|
||||||
|
$colName = $colName == "AKB" ? "Realisasi":"AKB";
|
||||||
|
$sheet->setCellValue(getAlphabetCell($i).'2', $colName);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$sqlstr = $this->filterBelanja($request, $post["type_dana"]);
|
||||||
|
|
||||||
|
$data = DB::select(DB::raw($sqlstr));
|
||||||
|
$data = json_decode(json_encode($data),true);
|
||||||
|
|
||||||
|
// Data Kolom Bulan dan Realisasi
|
||||||
|
$rows = 3;
|
||||||
|
foreach ($data as $val){
|
||||||
|
$sheet->setCellValue('A' . $rows, $val["kode_skpd"]." | ".$val["nama_skpd"]);
|
||||||
|
$sheet->setCellValue('B' . $rows, $val["kode_rsk"]." | ".$val["nama_rsk"]);
|
||||||
|
$totalJadwalSalur = 0;
|
||||||
|
$totalRealisasi = 0;
|
||||||
|
$currIndex = 2;
|
||||||
|
for($i=1;$i<=12;$i++){
|
||||||
|
$sheet->setCellValue(getAlphabetCell($currIndex).$rows, $val["v_akb_".substr("00".$i,-2)]);
|
||||||
|
$totalJadwalSalur += $val["v_akb_".substr("00".$i,-2)];
|
||||||
|
$currIndex++;
|
||||||
|
$sheet->setCellValue(getAlphabetCell($currIndex).$rows, $val["v_bku_".substr("00".$i,-2)]);
|
||||||
|
$totalRealisasi += $val["v_bku_".substr("00".$i,-2)];
|
||||||
|
$currIndex++;
|
||||||
|
}
|
||||||
|
$sheet->setCellValue(getAlphabetCell($currIndex).$rows, $totalJadwalSalur);
|
||||||
|
$sheet->setCellValue(getAlphabetCell($currIndex+1).$rows, $totalRealisasi);
|
||||||
|
|
||||||
|
$rows++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TOTAL BAWAH
|
||||||
|
$sheet->setCellValue("A".$rows , "TOTAL");
|
||||||
|
$sheet->mergeCells('A'.$rows.':'.'B'.$rows);
|
||||||
|
for ($x=2;$x<=$colIndex;$x++){
|
||||||
|
$strAlpha = getAlphabetCell($x);
|
||||||
|
$SUMRANGE = $strAlpha."3:".$strAlpha.($rows-1);
|
||||||
|
$sheet->setCellValue($strAlpha.$rows , "=SUM($SUMRANGE)");
|
||||||
|
}
|
||||||
|
|
||||||
|
$spreadsheet->setActiveSheetIndex(0);
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
$writer->save("downloadFiles/".$fileName);
|
$writer->save("downloadFiles/".$fileName);
|
||||||
$headers = [
|
$headers = [
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ class RealisasiBelanjaController extends Controller
|
|||||||
public function submit_akb_spd(VwBelanjaRealisasi $BelanjaRealisasi)
|
public function submit_akb_spd(VwBelanjaRealisasi $BelanjaRealisasi)
|
||||||
{
|
{
|
||||||
|
|
||||||
$vwAKB = DB::select(DB::raw("SELECT * FROM (".BelanjaRealisasi::akbRealisasi().") x WHERE I_IDRSK = ".$BelanjaRealisasi->kode_rsk));
|
$vwAKB = DB::select(DB::raw("SELECT * FROM SAMASA.MV_ASYNC_AKB_REALISASI x WHERE I_IDRSK = ".$BelanjaRealisasi->kode_rsk));
|
||||||
$vwAKB = json_decode(json_encode($vwAKB[0]), true);
|
$vwAKB = json_decode(json_encode($vwAKB[0]), true);
|
||||||
|
|
||||||
$vwSPD = [];
|
$vwSPD = [];
|
||||||
|
|||||||
@@ -108,13 +108,7 @@ class BelanjaRealisasi extends Eloquent
|
|||||||
public function akbRealisasi()
|
public function akbRealisasi()
|
||||||
{
|
{
|
||||||
$ta = getTA();
|
$ta = getTA();
|
||||||
$sqlstr = "SELECT I_IDRSK,SUM(V_AKB_01) AS V_AKB_01,SUM(V_AKB_02) AS V_AKB_02,SUM(V_AKB_03) AS V_AKB_03,SUM(V_AKB_04) AS V_AKB_04,SUM(V_AKB_05) AS V_AKB_05,
|
$sqlstr = "SELECT * FROM MV_ASYNC_AKB_REALISASI WHERE TAHUN = $ta";
|
||||||
SUM(V_AKB_06) AS V_AKB_06,SUM(V_AKB_07) AS V_AKB_07,SUM(V_AKB_08) AS V_AKB_08,SUM(V_AKB_09) AS V_AKB_09,SUM(V_AKB_10) AS V_AKB_10,
|
|
||||||
SUM(V_AKB_11) AS V_AKB_11,SUM(V_AKB_12) AS V_AKB_12,
|
|
||||||
SUM(V_BKU_01) AS V_BKU_01,SUM(V_BKU_02) AS V_BKU_02,SUM(V_BKU_03) AS V_BKU_03,SUM(V_BKU_04) AS V_BKU_04,SUM(V_BKU_05) AS V_BKU_05,
|
|
||||||
SUM(V_BKU_06) AS V_BKU_06,SUM(V_BKU_07) AS V_BKU_07,SUM(V_BKU_08) AS V_BKU_08,SUM(V_BKU_09) AS V_BKU_09,SUM(V_BKU_10) AS V_BKU_10,
|
|
||||||
SUM(V_BKU_11) AS V_BKU_11,SUM(V_BKU_12) AS V_BKU_12
|
|
||||||
FROM MV_ASYNC_AKB_REALISASI GROUP BY I_IDRSK";
|
|
||||||
|
|
||||||
return $sqlstr;
|
return $sqlstr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,12 +103,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div id="search-dt">
|
<?php /* <div id="search-dt">
|
||||||
<?php if (getRole()!="skpd"){ ?>
|
<?php if (getRole()!="skpd"){ ?>
|
||||||
<label class="src-skpd">SKPD: </label>
|
<label class="src-skpd">SKPD: </label>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</div>
|
</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>
|
<thead>
|
||||||
<tr class="headings">
|
<tr class="headings">
|
||||||
<th rowspan=2>No</th>
|
<th rowspan=2>No</th>
|
||||||
@@ -160,7 +161,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php
|
<?php
|
||||||
foreach ($dataAkbRealisasi as $key => $value) {
|
/* foreach ($dataAkbRealisasi as $key => $value) {
|
||||||
echo "<tr>
|
echo "<tr>
|
||||||
<td>".($key+1)."</td>
|
<td>".($key+1)."</td>
|
||||||
<td><div style='width:200px;'>".$value["nama_skpd"]."</div></td>
|
<td><div style='width:200px;'>".$value["nama_skpd"]."</div></td>
|
||||||
@@ -186,7 +187,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
}
|
}*/
|
||||||
?>
|
?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -225,11 +226,23 @@
|
|||||||
dtTable.draw();
|
dtTable.draw();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#dtTableJadwalBelanja').DataTable( {
|
var dtTableBelanja =$('#dtTableJadwalBelanja').DataTable( {
|
||||||
"processing": false,
|
"processing": true,
|
||||||
"serverSide": false,
|
"serverSide": true,
|
||||||
"ordering": false,
|
"ordering": false,
|
||||||
"autoWidth": 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": [
|
"columnDefs": [
|
||||||
{ "width": "250px", "targets": 1 },
|
{ "width": "250px", "targets": 1 },
|
||||||
{ "width": "400px", "targets": 2 }
|
{ "width": "400px", "targets": 2 }
|
||||||
@@ -239,6 +252,132 @@
|
|||||||
[ "10", "25", "50", "All" ]
|
[ "10", "25", "50", "All" ]
|
||||||
],
|
],
|
||||||
"paging": true, // Table pagination
|
"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": {
|
"language": {
|
||||||
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
|
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
|
||||||
"zeroRecords": "Data tidak ditemukan!",
|
"zeroRecords": "Data tidak ditemukan!",
|
||||||
@@ -256,30 +395,30 @@
|
|||||||
},
|
},
|
||||||
scrollX: true,
|
scrollX: true,
|
||||||
scrollY: "350px",
|
scrollY: "350px",
|
||||||
initComplete: function () {
|
// initComplete: function () {
|
||||||
this.api().columns([1]).every( function () {
|
// this.api().columns([1]).every( function () {
|
||||||
var column = this;
|
// var column = this;
|
||||||
//console.log(this);
|
// //console.log(this);
|
||||||
// console.log(this.index())
|
// // console.log(this.index())
|
||||||
var select = $('<select class="form-control form-control-sm"><option value=""></option></select>')
|
// var select = $('<select class="form-control form-control-sm"><option value=""></option></select>')
|
||||||
column.data().unique().sort().each( function ( d, j ) {
|
// column.data().unique().sort().each( function ( d, j ) {
|
||||||
let teks = d.replace(/<\/?[^>]+(>|$)/g, "");
|
// let teks = d.replace(/<\/?[^>]+(>|$)/g, "");
|
||||||
select.append( '<option value="'+teks+'">'+teks+'</option>' )
|
// select.append( '<option value="'+teks+'">'+teks+'</option>' )
|
||||||
} );
|
// } );
|
||||||
|
|
||||||
select
|
// select
|
||||||
.appendTo( $('.src-skpd') )
|
// .appendTo( $('.src-skpd') )
|
||||||
.on( 'change', function () {
|
// .on( 'change', function () {
|
||||||
var val = $.fn.dataTable.util.escapeRegex(
|
// var val = $.fn.dataTable.util.escapeRegex(
|
||||||
$(this).val()
|
// $(this).val()
|
||||||
);
|
// );
|
||||||
|
|
||||||
column
|
// column
|
||||||
.search( val ? '^'+val+'$' : '', true, false )
|
// .search( val ? '^'+val+'$' : '', true, false )
|
||||||
.draw();
|
// .draw();
|
||||||
} );
|
// } );
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
});
|
});
|
||||||
|
|
||||||
var dtTableSalur = $('#dtTableJadwalPendapatan').DataTable( {
|
var dtTableSalur = $('#dtTableJadwalPendapatan').DataTable( {
|
||||||
|
|||||||
+196
-110
@@ -25,7 +25,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form id="frmJadwalSalur" action="{{ $baseUrl }}/jadwal-salurdana" method="post">
|
<form id="frmJadwalSalur" action="{{ $baseUrl }}/jadwal-salurdana/download-all" method="post">
|
||||||
@csrf
|
@csrf
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-1">
|
<div class="col-1">
|
||||||
@@ -34,11 +34,24 @@
|
|||||||
<input class="form-control form-control-sm" id="srcTA" name="ta" value="{{ getTA() }}" readonly>
|
<input class="form-control form-control-sm" id="srcTA" name="ta" value="{{ getTA() }}" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-11">
|
<div class="col-3">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="txt_simtrad4_kotor">Kode Rekening</label>
|
<label>Kode Rekening</label>
|
||||||
<input type="hidden" name="type_dana" value="dak">
|
<input id="type_dana" type="hidden" name="type_dana" value="{{ $typeDana }}">
|
||||||
<select id="txt_id_sps" name="id_sps" class="form-control form-control-sm" required></select>
|
<select id="txt_id_sps" name="id_sps" style="width:100%" class="form-control sps_search"></select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php if (getRole()!="skpd"){ ?>
|
||||||
|
<div class="col-3">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>SKPD</label>
|
||||||
|
<select class="form-control" id="skpd" name="skpd"></select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
<div class="col-3 d-flex">
|
||||||
|
<div class="form-group align-self-end">
|
||||||
|
<button class="btn btn-sm btn-success" type="submit"><i class="fa fa-download"></i> Download</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -117,11 +130,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<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">
|
<table id="dtTableJadwalBelanja" class="table table-bordered table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="headings">
|
<tr class="headings">
|
||||||
@@ -172,37 +180,7 @@
|
|||||||
<td>Realisasi</td>
|
<td>Realisasi</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody></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>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -228,54 +206,163 @@
|
|||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
var srcDate1 = null, srcDate2 = null;
|
var srcDate1 = null, srcDate2 = null;
|
||||||
|
|
||||||
optionDAK = () =>{
|
<?php if ($typeDana=="cht"){ ?>
|
||||||
$.ajax({
|
let $newOptionSPS = $("<option selected='selected'></option>").val("4.2.01.01.01.0004").text("DBH Cukai Hasil Tembakau (CHT)");
|
||||||
url: '{{ $baseUrl }}/item-search-sps?ta='+$("#srcTA").val()+'&jenis=dak',
|
$("#txt_id_sps").val("4.2.01.01.01.0004");
|
||||||
dataType: 'json',
|
$("#txt_id_sps").append($newOptionSPS).trigger('change');
|
||||||
async: false,
|
$("#txt_id_sps").prop("disabled", true);
|
||||||
success: function (data) {
|
<?php } ?>
|
||||||
$('#txt_id_sps').empty();
|
|
||||||
$('#txt_id_sps').append($('<option>',{value:"",text:""}));
|
|
||||||
$.map(data, function (item) {
|
|
||||||
$('#txt_id_sps').append($('<option>', {
|
|
||||||
value: item.idx,
|
|
||||||
text : item.name
|
|
||||||
}));
|
|
||||||
})
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
optionDAK();
|
var dtTableBelanja =$('#dtTableJadwalBelanja').DataTable( {
|
||||||
$('#txt_id_sps').val("{{ $idSPS }}");
|
"processing": true,
|
||||||
|
"serverSide": true,
|
||||||
$("#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,
|
"ordering": false,
|
||||||
"autoWidth": false,
|
"autoWidth": false,
|
||||||
"columnDefs": [
|
"ajax": {
|
||||||
{ "width": "250px", "targets": 1 },
|
url: "{{ $baseUrl }}/jadwal-salurdana/{{ $typeDana }}/datatable",
|
||||||
{ "width": "400px", "targets": 2 }
|
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 = $("#type_dana").val(),
|
||||||
|
d.id_sps = $("#txt_id_sps").val(),
|
||||||
|
d.skpd = $("#skpd").val()
|
||||||
|
}
|
||||||
|
},
|
||||||
"lengthMenu": [
|
"lengthMenu": [
|
||||||
[ 10, 25, 50, -1 ],
|
[ 10, 25, 50,-1 ],
|
||||||
[ "10", "25", "50", "All" ]
|
[ "10", "25", "50", "All" ]
|
||||||
],
|
],
|
||||||
"paging": true, // Table pagination
|
"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("<div style='width:200px;'>" + aData["kode_skpd"] + " | " + aData["nama_skpd"] + "</div>");
|
||||||
|
$("td:eq(2)", nRow).html("<div style='width:200px;'>" + aData["kode_rsk"] + " | " + aData["nama_rsk"] + "</div>");
|
||||||
|
$("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": {
|
"language": {
|
||||||
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
|
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
|
||||||
"zeroRecords": "Data tidak ditemukan!",
|
"zeroRecords": "Data tidak ditemukan!",
|
||||||
@@ -293,29 +380,6 @@
|
|||||||
},
|
},
|
||||||
scrollX: true,
|
scrollX: true,
|
||||||
scrollY: "350px",
|
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( {
|
var dtTableSalur = $('#dtTableJadwalPendapatan').DataTable( {
|
||||||
@@ -332,14 +396,14 @@
|
|||||||
data: function (d) {
|
data: function (d) {
|
||||||
//d.src = $("#src").val(),
|
//d.src = $("#src").val(),
|
||||||
d.ta = $("#srcTA").val(),
|
d.ta = $("#srcTA").val(),
|
||||||
d.type_dana = "dak",
|
d.type_dana = "{{ $typeDana }}",
|
||||||
d.id_sps = $("#txt_id_sps").val()
|
d.id_sps = $("#txt_id_sps").val()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"columnDefs": [
|
"columnDefs": [
|
||||||
//{ className: "td-nowrap", "targets": [ 1 ] }
|
//{ 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\">",
|
"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": [
|
"lengthMenu": [
|
||||||
[ 10, 20, 50,-1 ],
|
[ 10, 20, 50,-1 ],
|
||||||
[ "10", "20", "50","All" ]
|
[ "10", "20", "50","All" ]
|
||||||
@@ -491,11 +555,33 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#txt_id_sps').on('change', function (e) {
|
$('#txt_id_sps').on('change', function (e) {
|
||||||
//dtTableSalur.draw();
|
dtTableSalur.draw();
|
||||||
$(".dataTables_processing").show();
|
|
||||||
location.href = "?id_sps="+$(this).val();
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$('#skpd').on('change', function (e) {
|
||||||
|
dtTableBelanja.draw();
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#skpd').select2({
|
||||||
|
placeholder: 'Pilih SKPD',
|
||||||
|
allowClear: true,
|
||||||
|
ajax: {
|
||||||
|
url: '{{ $baseUrl }}/skpd-search?realisasi-belanja=ya&ta='+$("#srcTA").val(),
|
||||||
|
dataType: 'json',
|
||||||
|
delay: 250,
|
||||||
|
processResults: function (data) {
|
||||||
|
return {
|
||||||
|
results: $.map(data, function (item) {
|
||||||
|
return {
|
||||||
|
text: item.name,
|
||||||
|
id: item.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};
|
||||||
|
},
|
||||||
|
cache: true
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
@@ -66,6 +66,7 @@ Route::group(['middleware' => 'auth'], function () {
|
|||||||
Route::post('/{typeDana}/datatable', [JadwalSalurdanaController::class,'datatable_cht_dak']);
|
Route::post('/{typeDana}/datatable', [JadwalSalurdanaController::class,'datatable_cht_dak']);
|
||||||
Route::get('/', [JadwalSalurdanaController::class,'index']);
|
Route::get('/', [JadwalSalurdanaController::class,'index']);
|
||||||
Route::post('/datatable', [JadwalSalurdanaController::class,'datatable']);
|
Route::post('/datatable', [JadwalSalurdanaController::class,'datatable']);
|
||||||
|
Route::post('/download-all', [JadwalSalurdanaController::class,'downloadAll']);
|
||||||
Route::post('/', [JadwalSalurdanaController::class,'download']);
|
Route::post('/', [JadwalSalurdanaController::class,'download']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user