update dau rinci (realisasi belanja)

This commit is contained in:
Marsa
2026-07-06 10:00:46 +07:00
parent b6dd0b04bc
commit fbc640485f
6 changed files with 483 additions and 300 deletions
+26 -8
View File
@@ -18,10 +18,12 @@ use App\Models\MstJenisDana;
use App\Models\MstJenisBelanja; use App\Models\MstJenisBelanja;
use App\Models\MstSubJenisBelanja; use App\Models\MstSubJenisBelanja;
use App\Models\VwRekeningPendapatan; use App\Models\VwRekeningPendapatan;
use App\Models\MappingDauRinci;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Session;
use App\Models\PendapatanRealisasiSts; use App\Models\PendapatanRealisasiSts;
use App\Models\AkunTamsilTpg; use App\Models\AkunTamsilTpg;
@@ -193,14 +195,14 @@ class ItemSearchController extends Controller
if (in_array($kode_akun, $arrTPG)) { if (in_array($kode_akun, $arrTPG)) {
$cek = PendapatanRealisasiSts::where("rkud_no_sts", $no_skprd) $cek = PendapatanRealisasiSts::where("rkud_no_sts", $no_skprd)
->where("rkud_kode_akun", $kode_akun) ->where("rkud_kode_akun", $kode_akun)
->count(); ->count();
if ($cek > 0) { if ($cek > 0) {
$urlAPIDev = "http://10.15.34.90:8820/api/tpg-tamsil/cek-sp2t"; $urlAPIDev = "http://10.15.34.90:8820/api/tpg-tamsil/cek-sp2t";
$userDev = "sidata_tpgtamsil_dev"; $userDev = "sidata_tpgtamsil_dev";
$passDev = "sidataAp!TpgT4ms1lD3v"; $passDev = "sidataAp!TpgT4ms1lD3v";
$urlAPI = "https://simpad.jakarta.go.id/api/tpg-tamsil/cek-sp2t'"; $urlAPI = "https://simpad.jakarta.go.id/api/tpg-tamsil/cek-sp2t'";
$user = "sidata_tpgtamsil"; $user = "sidata_tpgtamsil";
$pass = "sidataAp!TpgT4ms1l"; $pass = "sidataAp!TpgT4ms1l";
@@ -218,8 +220,8 @@ class ItemSearchController extends Controller
$sts["kode_bas"] = $httpSTS["data"]["kode_rekening"]; $sts["kode_bas"] = $httpSTS["data"]["kode_rekening"];
$sts["n_akun"] = $httpSTS["data"]["nam_rekening"]; $sts["n_akun"] = $httpSTS["data"]["nam_rekening"];
$sts["nilai_bayar"] = separateNumberIndo($httpSTS["data"]["jumlah"]); $sts["nilai_bayar"] = separateNumberIndo($httpSTS["data"]["jumlah"]);
} }
} }
} else { } else {
$select = DB::raw("NO_SKPRD,TGL_VALIDASI,KODE_BAS,NILAI_BAYAR,TRBAS.N_AKUN"); $select = DB::raw("NO_SKPRD,TGL_VALIDASI,KODE_BAS,NILAI_BAYAR,TRBAS.N_AKUN");
$sts = Siesetpembayaran::select($select) $sts = Siesetpembayaran::select($select)
@@ -334,9 +336,25 @@ class ItemSearchController extends Controller
public function dau_rinci_detail(Request $request) public function dau_rinci_detail(Request $request)
{ {
$search = $request->id; // $search = $request->id;
$sk = MstDauRinci::where('id', $search)->first(); // $sk = MstDauRinci::where('id', $search)->first();
return response()->json($sk); // return response()->json($sk);
$subJenisDana = $request->sub_jenis_dana;
$tahun = Session::get('Tahun_Anggaran');
$kodeSkpd = Auth::user()->kode_skpd;
if (!$subJenisDana || !$tahun || !$kodeSkpd) {
return response()->json([]);
}
$idDauRinciList = MappingDauRinci::where('ID_JENIS_DANA', $subJenisDana)
->where('TAHUN', $tahun)
->where('KODE_SKPD', $kodeSkpd)
->pluck('ID_DAU_RINCI');
$outputs = MstDauRinci::whereIn('id', $idDauRinciList)->get();
return response()->json($outputs);
} }
} }
@@ -0,0 +1,65 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Models\MappingDauRinci;
use Illuminate\Http\Request;
class MappingDauRinciController extends Controller
{
public function index()
{
$items = MappingDauRinci::paginate(15);
return response()->json($items);
}
public function create()
{
return response()->json(['message' => 'Display form for creating resource']);
}
public function store(Request $request)
{
$data = $request->validate([
'field1' => 'required|string|max:255',
'field2' => 'nullable|string',
'field3' => 'nullable|numeric',
]);
$item = MappingDauRinci::create($data);
return response()->json($item, 201);
}
public function show(MappingDauRinci $mappingDauRinci)
{
return response()->json($mappingDauRinci);
}
public function edit(MappingDauRinci $mappingDauRinci)
{
return response()->json($mappingDauRinci);
}
public function update(Request $request, MappingDauRinci $mappingDauRinci)
{
$data = $request->validate([
'field1' => 'sometimes|required|string|max:255',
'field2' => 'nullable|string',
'field3' => 'nullable|numeric',
]);
$mappingDauRinci->update($data);
return response()->json($mappingDauRinci);
}
public function destroy(MappingDauRinci $mappingDauRinci)
{
$mappingDauRinci->delete();
return response()->json(null, 204);
}
}
@@ -51,10 +51,10 @@ class RealisasiBelanjaController extends Controller
abort(403, 'Tidak diperbolehkan menambah data oleh admin!'); abort(403, 'Tidak diperbolehkan menambah data oleh admin!');
} }
$get = $request->all(); $get = $request->all();
$rskExists = BelanjaRealisasi::where("tahun_anggaran",getTA()) $rskExists = BelanjaRealisasi::where("tahun_anggaran", getTA())
->where("kode_skpd",Auth::user()->kode_skpd) ->where("kode_skpd", Auth::user()->kode_skpd)
->where("kode_rsk", $get["rsk"]) ->where("kode_rsk", $get["rsk"])
->count(); ->count();
if ($rskExists > 0) { if ($rskExists > 0) {
return redirect(URL::to("/realisasi-belanja")) return redirect(URL::to("/realisasi-belanja"))
->with('error', 'Data dengan RSK yang dipilih sudah ada!'); ->with('error', 'Data dengan RSK yang dipilih sudah ada!');
@@ -305,7 +305,7 @@ class RealisasiBelanjaController extends Controller
if ($BelanjaRealisasi->jenis_dana == "DBH" && $BelanjaRealisasi->nama_subjenis_dana != "CHT") { if ($BelanjaRealisasi->jenis_dana == "DBH" && $BelanjaRealisasi->nama_subjenis_dana != "CHT") {
$vwSPD = BelanjaRealisasi::getSPD($BelanjaRealisasi->kode_sub_kegiatan, $BelanjaRealisasi->id_skpd); $vwSPD = BelanjaRealisasi::getSPD($BelanjaRealisasi->kode_sub_kegiatan, $BelanjaRealisasi->id_skpd);
} else { } else {
$vwSPD = BelanjaRealisasiSPD::where("id_rsk", $BelanjaRealisasi->kode_rsk)->get(); $vwSPD = BelanjaRealisasiSPD::where("id_rsk", $BelanjaRealisasi->kode_rsk)->get();
} }
$vwSP2D = DB::select( $vwSP2D = DB::select(
@@ -430,18 +430,34 @@ class RealisasiBelanjaController extends Controller
$dataFilter = DB::select(DB::raw("SELECT COUNT(ID) as JML FROM VW_BELANJA_REALISASI " . $this->tableFilter($request))); $dataFilter = DB::select(DB::raw("SELECT COUNT(ID) as JML FROM VW_BELANJA_REALISASI " . $this->tableFilter($request)));
$dataTotal = BelanjaRealisasi::where("tahun_anggaran", $ta)->count(); $dataTotal = BelanjaRealisasi::where("tahun_anggaran", $ta)->count();
$sqlStr = "SELECT * FROM VW_DPA_RSK WHERE C_ANGG_TAHUN=" . getTA(); // $sqlStr = "SELECT * FROM VW_DPA_RSK WHERE C_ANGG_TAHUN=" . getTA();
if (getRole() == "skpd") { if (getRole() == "skpd") {
$dataTotal = BelanjaRealisasi::where("tahun_anggaran", $ta)->whereRaw("KODE_SKPD='" . Auth::user()->nrk . "'")->count(); $dataTotal = BelanjaRealisasi::where("tahun_anggaran", $ta)->whereRaw("KODE_SKPD='" . Auth::user()->nrk . "'")->count();
} elseif (getRole() == "sbpk") { } elseif (getRole() == "sbpk") {
$dataTotal = BelanjaRealisasi::where("tahun_anggaran", $ta)->whereRaw("KODE_SKPD IN (SELECT C_OPD FROM NEWSIPKD.TROPD WHERE C_WIL_SP2DPROSES=" . Auth::user()->wilayah . ")"); $dataTotal = BelanjaRealisasi::where("tahun_anggaran", $ta)->whereRaw("KODE_SKPD IN (SELECT C_OPD FROM NEWSIPKD.TROPD WHERE C_WIL_SP2DPROSES=" . Auth::user()->wilayah . ")") - count();
} }
$filterClause = $this->tableFilter($request);
$grandTotals = DB::select(DB::raw("
SELECT
NVL(SUM(JUMLAH_ANGGARAN),0) AS total_anggaran,
NVL(SUM(JUMLAH_REALISASI),0) AS total_realisasi
FROM VW_BELANJA_REALISASI
$filterClause
"));
$grandTotalAnggaran = !empty($grandTotals) ? $grandTotals[0]->total_anggaran : 0;
$grandTotalRealisasi = !empty($grandTotals) ? $grandTotals[0]->total_realisasi : 0;
$data = DB::select(DB::raw(BelanjaRealisasi::tableDataReport($ta, $this->tableFilter($request), $offset, $limit))); $data = DB::select(DB::raw(BelanjaRealisasi::tableDataReport($ta, $this->tableFilter($request), $offset, $limit)));
return response()->json([ return response()->json([
"recordsTotal" => $dataTotal, "recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter[0]->jml, "recordsFiltered" => $dataFilter[0]->jml,
"data" => $data "data" => $data,
"grandTotalAnggaran" => $grandTotalAnggaran,
"grandTotalRealisasi" => $grandTotalRealisasi
]); ]);
} }
@@ -690,7 +706,7 @@ class RealisasiBelanjaController extends Controller
$semester = ""; $semester = "";
$redirect = isset($req["redirect_link"]) ? $req["redirect_link"] : URL::to("/realisasi-belanja"); $redirect = isset($req["redirect_link"]) ? $req["redirect_link"] : URL::to("/realisasi-belanja");
if ($req["type"] == "sms") { if ($req["type"] == "sms") {
$sms = (int)$req["sms"]; $sms = (int) $req["sms"];
if ($sms == 1) { if ($sms == 1) {
$semester = "SEMESTER 1"; $semester = "SEMESTER 1";
$filter = " AND D_POSTING BETWEEN '" . $ta . "0101' AND '" . $ta . "0630' "; $filter = " AND D_POSTING BETWEEN '" . $ta . "0101' AND '" . $ta . "0630' ";
@@ -714,7 +730,7 @@ class RealisasiBelanjaController extends Controller
$data["volume_satuan_realisasi"] = $req["vol_realisasi"]; $data["volume_satuan_realisasi"] = $req["vol_realisasi"];
$data["unit_satuan_realisasi"] = $req["unit_realisasi"]; $data["unit_satuan_realisasi"] = $req["unit_realisasi"];
// $data["periode_anggaran"] = $req["periode_anggaran"]; // $data["periode_anggaran"] = $req["periode_anggaran"];
$data["semester"] = (int)$req["sms"]; $data["semester"] = (int) $req["sms"];
$data["created_by"] = Auth::user()->id; $data["created_by"] = Auth::user()->id;
BelanjaRealisasiDetail::create($data); BelanjaRealisasiDetail::create($data);
@@ -1092,7 +1108,7 @@ class RealisasiBelanjaController extends Controller
foreach ($arrCol as $key => $fieldVal) { foreach ($arrCol as $key => $fieldVal) {
if (is_array($fieldVal)) { if (is_array($fieldVal)) {
foreach ($fieldVal as $rowfieldVal) { foreach ($fieldVal as $rowfieldVal) {
$valNotNull = $val[$rowfieldVal] ? $val[$rowfieldVal] : 0; $valNotNull = $val[$rowfieldVal] ? $val[$rowfieldVal] : 0;
$contentVal = str_contains($rowfieldVal, "volume_satuan_realisasi") ? $valNotNull . " " . $val["unit_satuan"] : $valNotNull; $contentVal = str_contains($rowfieldVal, "volume_satuan_realisasi") ? $valNotNull . " " . $val["unit_satuan"] : $valNotNull;
$sheet->setCellValue(getAlphabetCell($i) . $rows, $contentVal); $sheet->setCellValue(getAlphabetCell($i) . $rows, $contentVal);
$i++; $i++;
+20
View File
@@ -0,0 +1,20 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Yajra\Oci8\Eloquent\OracleEloquent as Eloquent;
class MappingDauRinci extends Eloquent
{
use HasFactory;
protected $connection = 'Samasa';
protected $table = 'mapping_dau_rinci';
protected $fillable = [
"id_dau_rinci",
"id_jenis_dana",
"tahun",
"kode_skpd"
];
}
+115 -79
View File
@@ -1,10 +1,14 @@
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-6">
<div class="form-group">
<label class="col-form-label label-align" for="txt_simtrad4_kotor">Kode Rekening</label>
<select id="id_sps" name="id_sps" style="width:100%" class="form-control sps_search"></select>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-form-label label-align" for="jenis">Jenis Dana</label> <label class="col-form-label label-align" for="jenis">Jenis Dana</label>
<select id="jenis_dana" name="jenis_dana" class="form-control form-control-sm jenis_dana" required> <select id="jenis_dana" name="jenis_dana" class="form-control form-control-sm jenis_dana" required>
@php foreach(getJenisDana() as $jenisDana){ @endphp @php foreach (getJenisDana() as $jenisDana) { @endphp
<option value="{{ $jenisDana }}">{{ $jenisDana }}</option> <option value="{{ $jenisDana }}">{{ $jenisDana }}</option>
@php } @endphp @php } @endphp
</select> </select>
</div> </div>
@@ -12,10 +16,6 @@
<label class="col-form-label label-align" for="jenis">Sub Jenis Dana</label> <label class="col-form-label label-align" for="jenis">Sub Jenis Dana</label>
<select id="sub_jenis_dana" name="sub_jenis_dana" class="form-control sub_jenis_dana" required></select> <select id="sub_jenis_dana" name="sub_jenis_dana" class="form-control sub_jenis_dana" required></select>
</div> </div>
<div class="form-group">
<label class="col-form-label label-align" for="txt_simtrad4_kotor">Kode Rekening</label>
<select id="id_sps" name="id_sps" style="width:100%" class="form-control sps_search"></select>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-form-label label-align" for="jenis">Jenis Belanja</label> <label class="col-form-label label-align" for="jenis">Jenis Belanja</label>
<select id="jenis" name="jenis" class="form-control jenis_belanja_search" required></select> <select id="jenis" name="jenis" class="form-control jenis_belanja_search" required></select>
@@ -61,8 +61,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label> <label class="col-form-label label-align" for="sk">Unit</label>
<select id="unit" name="unit" class="form-control form-control-sm" required placeholder="Unit Realisasi"> <select id="unit" name="unit" class="form-control form-control-sm" required placeholder="Unit Realisasi">
<?php foreach($unitSatuan as $satuan){ ?> <?php foreach ($unitSatuan as $satuan) { ?>
<option value="{{ $satuan->nama_satuan }}">{{ $satuan->nama_satuan }}</option> <option value="{{ $satuan->nama_satuan }}">{{ $satuan->nama_satuan }}</option>
<?php } ?> <?php } ?>
</select> </select>
</div> </div>
@@ -77,17 +77,18 @@
<hr> <hr>
<div id="div-rinci-dau"> <div id="div-rinci-dau">
<div class="data-dau row"> <div class="data-dau row">
<div class="col-2"> <div class="col-2">
<div class="form-group"> <div class="form-group">
<label class="col-form-label label-align" for="sk">Sumber Dana Anggaran DAU </label> <label class="col-form-label label-align" for="sk">Sumber Dana Anggaran DAU </label>
<select class="form-control form-control-sm" id="periode_anggaran" name="dau[periode_anggaran][]" > <select class="form-control form-control-sm" id="periode_anggaran" name="dau[periode_anggaran][]">
<option value="DAU Tahun Berjalan" name="dau[periode_anggaran][]">DAU Tahun Berjalan</option> <option value="DAU Tahun Berjalan" name="dau[periode_anggaran][]">DAU Tahun Berjalan</option>
<option value="Sisa DAU Tahun Sebelumnya" name="dau[periode_anggaran][]">Sisa DAU Tahun Sebelumnya</option> <option value="Sisa DAU Tahun Sebelumnya" name="dau[periode_anggaran][]">Sisa DAU Tahun
Sebelumnya</option>
</select> </select>
</div> </div>
</div> </div>
<div class="col-3"> <div class="col-3">
<div class="form-group"> <div class="form-group">
<label class="col-form-label label-align">Jenis Output (Berdasarkan PMK)</label> <label class="col-form-label label-align">Jenis Output (Berdasarkan PMK)</label>
<select name="dau[deskripsi][]" class="form-control rinci_dau" required></select> <select name="dau[deskripsi][]" class="form-control rinci_dau" required></select>
<input name="dau[deskripsi_name][]" class="txt_rinci_dau" type="hidden"> <input name="dau[deskripsi_name][]" class="txt_rinci_dau" type="hidden">
@@ -96,7 +97,8 @@
<div class="col-2"> <div class="col-2">
<div class="form-group"> <div class="form-group">
<label class="col-form-label label-align">Anggaran</label> <label class="col-form-label label-align">Anggaran</label>
<input type="text" class="form-control form-control-sm number-separator-indo anggaran-dau" name="dau[anggaran][]" required> <input type="text" class="form-control form-control-sm number-separator-indo anggaran-dau"
name="dau[anggaran][]" required>
</div> </div>
</div> </div>
<div class="col-2"> <div class="col-2">
@@ -108,30 +110,31 @@
<div class="col-2"> <div class="col-2">
<div class="form-group"> <div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label> <label class="col-form-label label-align" for="sk">Unit</label>
<input class="form-control form-control-sm dau-satuan" name="dau[unit][]" readonly required placeholder="Unit Realisasi"> <input class="form-control form-control-sm dau-satuan" name="dau[unit][]" readonly required
placeholder="Unit Realisasi">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<button id="btnAddRinciDAU" type="button" class="btn btn-primary"><i class="fa fa-plus"></i> Tambah Rincian</button> <button id="btnAddRinciDAU" type="button" class="btn btn-primary"><i class="fa fa-plus"></i> Tambah Rincian</button>
</div> </div>
{{-- <button id="btn_save_realisasi_pendapatan" type="submit" class="btn btn-sm btn-success"><i class="fa fa-save"></i> Simpan</button> --}} {{-- <button id="btn_save_realisasi_pendapatan" type="submit" class="btn btn-sm btn-success"><i class="fa fa-save"></i>
Simpan</button> --}}
@section('scripts') @section('scripts')
<script type="text/javascript"> <script type="text/javascript">
var cekInputKontrak = (dat)=>{ var cekInputKontrak = (dat) => {
if (dat == "Fisik") if (dat == "Fisik") {
{
$("#div_jml_rencana_kontrak").show(); $("#div_jml_rencana_kontrak").show();
$("input[name=jml_rencana_kontrak]").prop("required", true); $("input[name=jml_rencana_kontrak]").prop("required", true);
}else{ } else {
$("#div_jml_rencana_kontrak").hide(); $("#div_jml_rencana_kontrak").hide();
$("input[name=jml_rencana_kontrak]").val(0); $("input[name=jml_rencana_kontrak]").val(0);
$("input[name=jml_rencana_kontrak]").prop("required", false); $("input[name=jml_rencana_kontrak]").prop("required", false);
} }
} }
$(document).ready(function(){ $(document).ready(function () {
$("#divDAU").hide(); $("#divDAU").hide();
$("#divDAU input, #divDAU select").prop("disabled", true); $("#divDAU input, #divDAU select").prop("disabled", true);
@@ -149,19 +152,19 @@
$("#sub_jenis").val('').trigger('change'); $("#sub_jenis").val('').trigger('change');
subJenisDana($(this).val()); subJenisDana($(this).val());
jenisBelanja($(this).val()); jenisBelanja($(this).val());
$("input[name=alokasi_anggaran]").prop("disabled",false); $("input[name=alokasi_anggaran]").prop("disabled", false);
$("input[name=vol]").prop("disabled",false); $("input[name=vol]").prop("disabled", false);
$("select[name=unit]").prop("disabled",false); $("select[name=unit]").prop("disabled", false);
$("select[name=periode_anggaran]").prop("disabled",false ); $("select[name=periode_anggaran]").prop("disabled", false);
$("#divDAU").hide(); $("#divDAU").hide();
$("#divDAU input").prop("disabled", true); $("#divDAU input").prop("disabled", true);
if ($(this).val()=="DAU"){ if ($(this).val() == "DAU") {
$("#divDAU").show(); $("#divDAU").show();
$("input[name=alokasi_anggaran]").prop("disabled",true); $("input[name=alokasi_anggaran]").prop("disabled", true);
$("input[name=vol]").prop("disabled",true); $("input[name=vol]").prop("disabled", true);
$("select[name=unit]").prop("disabled",true ); $("select[name=unit]").prop("disabled", true);
$("#divDAU input, #divDAU select").prop("disabled", false); $("#divDAU input, #divDAU select").prop("disabled", false);
$("select[name=periode_anggaran]").prop("disabled",false ); $("select[name=periode_anggaran]").prop("disabled", false);
} }
}) })
@@ -170,56 +173,67 @@
cekInputKontrak(data.text); cekInputKontrak(data.text);
}) })
$("#btnAddRinciDAU").on("click",()=>{ $("#btnAddRinciDAU").on("click", () => {
$("#div-rinci-dau").append(` // $("#div-rinci-dau").append(
<div class="data-dau row"> const rowHtml = `
<div class="col-2"> <div class="data-dau row">
<div class="form-group"> <div class="col-2">
<label class="col-form-label label-align" for="sk">Sumber Dana Anggaran DAU</label> <div class="form-group">
<select class="form-control form-control-sm" name="dau[periode_anggaran][]"> <label class="col-form-label label-align" for="sk">Sumber Dana Anggaran DAU</label>
<option value="DAU Tahun Berjalan" name="dau[periode_anggaran][]">DAU Tahun Berjalan</option> <select class="form-control form-control-sm" name="dau[periode_anggaran][]">
<option value="Sisa DAU Tahun Sebelumnya" name="dau[periode_anggaran][]">Sisa DAU Tahun Sebelumnya</option> <option value="DAU Tahun Berjalan" name="dau[periode_anggaran][]">DAU Tahun Berjalan</option>
</select> <option value="Sisa DAU Tahun Sebelumnya" name="dau[periode_anggaran][]">Sisa DAU Tahun Sebelumnya</option>
</div> </select>
</div> </div>
<div class="col-3"> </div>
<div class="form-group"> <div class="col-3">
<label class="col-form-label label-align">Jenis Output (Berdasarkan PMK)</label> <div class="form-group">
<select name="dau[deskripsi][]" class="form-control rinci_dau" required></select> <label class="col-form-label label-align">Jenis Output (Berdasarkan PMK)</label>
<input class="txt_rinci_dau" name="dau[deskripsi_name][]" type="hidden"> <select name="dau[deskripsi][]" class="form-control rinci_dau" required></select>
<input class="txt_rinci_dau" name="dau[deskripsi_name][]" type="hidden">
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align">Anggaran</label>
<input type="text" class="form-control form-control-sm number-separator-indo anggaran-dau" name="dau[anggaran][]" required>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Volume</label>
<input class="form-control form-control-sm number-separator-indo" name="dau[volume][]" required>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label>
<input class="form-control form-control-sm dau-satuan" name="dau[unit][]" readonly required placeholder="Unit Realisasi">
</div>
<div class="col-1 align-self-center">
<button type="button" class="btn btn-danger hapusRinciDau mt-3">x</button>
</div>
</div> </div>
</div> `;
<div class="col-2"> const $newRow = $(rowHtml);
<div class="form-group"> $("#div-rinci-dau").append($newRow);
<label class="col-form-label label-align">Anggaran</label>
<input type="text" class="form-control form-control-sm number-separator-indo anggaran-dau" name="dau[anggaran][]" required>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Volume</label>
<input class="form-control form-control-sm number-separator-indo" name="dau[volume][]" required>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label>
<input class="form-control form-control-sm dau-satuan" name="dau[unit][]" readonly required placeholder="Unit Realisasi">
</div>
<div class="col-1 align-self-center">
<button type="button" class="btn btn-danger hapusRinciDau mt-3">x</button>
</div>
</div>
`);
populateJenisOutput($newRow.find('.rinci_dau'));
dauRinci(); dauRinci();
}); });
$(document).on("click",".hapusRinciDau",function(){ $('#sub_jenis_dana').on('change', function () {
// Find every generated row's dropdown and update them all
$('.rinci_dau').each(function () {
populateJenisOutput($(this));
});
});
$(document).on("click", ".hapusRinciDau", function () {
$(this).closest(".data-dau").remove() $(this).closest(".data-dau").remove()
}) })
$(document).on('select2:select','.rinci_dau', function (e) { $(document).on('select2:select', '.rinci_dau', function (e) {
let data = e.params.data; let data = e.params.data;
let idx = $(".rinci_dau").index($(this)); let idx = $(".rinci_dau").index($(this));
$($(".txt_rinci_dau")[idx]).val(data.text); $($(".txt_rinci_dau")[idx]).val(data.text);
@@ -228,10 +242,10 @@
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
type: "json", type: "json",
method: "POST", method: "POST",
data:{ data: {
'id': data.id 'id': data.id
}, },
success: function(datax){ success: function (datax) {
$($(".dau-satuan")[idx]).val(datax.satuan); $($(".dau-satuan")[idx]).val(datax.satuan);
} }
}) })
@@ -239,16 +253,38 @@
}); });
function populateJenisOutput($targetDropdown) {
let subJenisDana = $("#sub_jenis_dana").val();
// let searchGroup = "DAU";
$targetDropdown.empty().append('<option value="">Pilih Deskripsi</option>');
var cekInputDAU = function(){ if (!subJenisDana) return;
if ($("#jenis_dana").val()=="DAU"){
$.ajax({
url: "{{ url("/item-search-dau-rinci-detail") }}",
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
type: "json",
method: "POST",
data: {
'sub_jenis_dana': subJenisDana
},
success: function (data) {
data.forEach(function (item) {
$targetDropdown.append('<option value="' + item.id + '">' + item.deskripsi + '</option>');
});
}
});
}
var cekInputDAU = function () {
if ($("#jenis_dana").val() == "DAU") {
let jmlAnggaran = 0; let jmlAnggaran = 0;
for(let x=0;x<$(".anggaran-dau").length;x++){ for (let x = 0; x < $(".anggaran-dau").length; x++) {
jmlAnggaran += parseFloat(replaceValue($($(".anggaran-dau")[x]).val())); jmlAnggaran += parseFloat(replaceValue($($(".anggaran-dau")[x]).val()));
} }
if (jmlAnggaran != parseFloat(replaceValue($("input[name=anggaran]").val()))){ if (jmlAnggaran != parseFloat(replaceValue($("input[name=anggaran]").val()))) {
Swal.fire("Info","Jumlah Anggaran yang diinput tidak sesuai!","error") Swal.fire("Info", "Jumlah Anggaran yang diinput tidak sesuai!", "error")
return false; return false;
} }
} }
+230 -202
View File
@@ -1,137 +1,153 @@
@php @php
// var_dump(Auth::user()->lock_ubah_data); exit; // var_dump(Auth::user()->lock_ubah_data); exit;
$siteBreadcumb = [ $siteBreadcumb = [
["url"=>"/realisasi-pendapatan","label"=>$siteTitle], ["url" => "/realisasi-pendapatan", "label" => $siteTitle],
]; ];
@endphp @endphp
@extends('layouts.empty') @extends('layouts.empty')
@section('styles') @section('styles')
<!-- DataTables --> <!-- DataTables -->
<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-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"
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/css/buttons.bootstrap4.min.css"> 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-fixedcolumns/css/fixedColumns.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-fixedcolumns/css/fixedColumns.bootstrap4.min.css">
@endsection @endsection
@section('content') @section('content')
<div class="card card-secondary"> <div class="card card-secondary">
<div class="card-header"> <div class="card-header">
<h2 class="card-title"><i class="fa fa-filter mr-2"></i> FILTER DATA <h2 class="card-title"><i class="fa fa-filter mr-2"></i> FILTER DATA
<?= !empty($BelanjaRealisasi->f_view_sbpk) && getRole()!="skpd"?"<span class='text-success'><strong>[ Review SBPK ]</strong></span>":"" ?></h2> <?= !empty($BelanjaRealisasi->f_view_sbpk) && getRole() != "skpd" ? "<span class='text-success'><strong>[ Review SBPK ]</strong></span>" : "" ?>
<div class="card-tools"> </h2>
{{-- @if(auth()->user()->can('Tambah SKPP')) --}} <div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse"> {{-- @if(auth()->user()->can('Tambah SKPP')) --}}
<i class="fas fa-minus"></i> <button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse">
</button> <i class="fas fa-minus"></i>
{{-- @endif --}} </button>
</div> {{-- @endif --}}
</div> </div>
<div class="card-body"> </div>
<form id="frmRealisasi" method="post" action="{{ $baseUrl }}/realisasi-belanja/download"> <div class="card-body">
@csrf <form id="frmRealisasi" method="post" action="{{ $baseUrl }}/realisasi-belanja/download">
<div class="row"> @csrf
<div class="col-1"> <div class="row">
<div class="form-group"> <div class="col-1">
<label>Tahun</label> <div class="form-group">
<input class="form-control form-control-sm" id="srcTA" name="ta" value="{{ getTA() }}" readonly> <label>Tahun</label>
</div> <input class="form-control form-control-sm" id="srcTA" name="ta" value="{{ getTA() }}" readonly>
</div> </div>
<div class="col-2">
<div class="form-group">
<label>Jenis Dana</label>
<select class="form-control form-control-sm" id="srcJenisDana" name="jenis_dana">
<option value="">Semua</option>
@php foreach(getJenisDana() as $jenisDana){ @endphp
<option value="{{ $jenisDana }}">{{ $jenisDana }}</option>
@php } @endphp
</select>
</div>
</div>
<div class="col-2">
<div class="form-group">
<label>Sub Jenis Dana</label>
<select class="form-control sub_jenis_dana" id="srcSubJenisDana" name="sub_jenis_dana">
</select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<label>Kode Rekening</label>
<select id="id_sps" name="id_sps" style="width:100%" class="form-control sps_search" required></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>
<div class="col-3">
<div class="form-group">
<label>Review SBPK</label>
<select class="form-control form-control-sm" id="f_review" name="f_review">
<option value="">Semua</option>
<option value=1>Sudah direview</option>
<option value=2>Belum direview</option>
</select>
</div>
</div>
<?php } ?>
{{-- <div class="col-5">
<div class="form-group">
<label>Berdasarkan Kata</label>
<input class="form-control form-control-sm" type="text" id="src">
</div>
</div> --}}
</div> </div>
</form> <div class="col-2">
</div> <div class="form-group">
</div> <label>Jenis Dana</label>
<div class="card card-secondary"> <select class="form-control form-control-sm" id="srcJenisDana" name="jenis_dana">
<div class="card-header"> <option value="">Semua</option>
<h2 class="card-title"><i class="fa fa-th-list mr-2"></i> {{ $sitesubTitle }}</h2> @php foreach (getJenisDana() as $jenisDana) { @endphp
<div class="card-tools"> <option value="{{ $jenisDana }}">{{ $jenisDana }}</option>
@php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")) { @endphp @php } @endphp
<a id= "btnTambah" class="modalButton btn btn-sm btn-success" size="modal-xl" title="Tambah Data Realisasi Belanja" href="{{ URL::to("/realisasi-belanja/create-from-rsk") }}"><i class='fa fa-edit'></i> Tambah Data</a> </select>
@php } @endphp </div>
</div>
<div class="col-2">
<div class="form-group">
<label>Sub Jenis Dana</label>
<select class="form-control sub_jenis_dana" id="srcSubJenisDana" name="sub_jenis_dana">
</select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<label>Kode Rekening</label>
<select id="id_sps" name="id_sps" style="width:100%" class="form-control sps_search"
required></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>
<div class="col-3">
<div class="form-group">
<label>Review SBPK</label>
<select class="form-control form-control-sm" id="f_review" name="f_review">
<option value="">Semua</option>
<option value=1>Sudah direview</option>
<option value=2>Belum direview</option>
</select>
</div>
</div>
<?php } ?>
{{-- <div class="col-5">
<div class="form-group">
<label>Berdasarkan Kata</label>
<input class="form-control form-control-sm" type="text" id="src">
</div>
</div> --}}
</div> </div>
</div> </form>
<div class="card-body"> </div>
<table id="tblRealisasi" class="table table-striped jambo_table tblClickRow" style="width:100%;"> </div>
<thead> <div class="card card-secondary">
<tr class="headings"> <div class="card-header">
<th>No</th> <h2 class="card-title"><i class="fa fa-th-list mr-2"></i> {{ $sitesubTitle }}</h2>
<?php <div class="card-tools">
$arrCol = array( @php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")) { @endphp
"SKPD", <a id="btnTambah" class="modalButton btn btn-sm btn-success" size="modal-xl"
"Program", title="Tambah Data Realisasi Belanja" href="{{ URL::to("/realisasi-belanja/create-from-rsk") }}"><i
"Sub Kegiatan", class='fa fa-edit'></i> Tambah Data</a>
"Aktivitas", @php } @endphp
"Rekening",
"Anggaran",
"Volume",
"Unit",
"Jumlah Realisasi",
"Volume Realisasi",
"Unit Realisasi",
"SPD",
"Jenis",
"Aksi"
);
foreach($arrCol as $rowCol){
echo "<th>$rowCol</th>";
}
?>
</tr>
</thead>
<tbody></tbody>
</table>
</div> </div>
</div> </div>
<div class="card-body">
<table id="tblRealisasi" class="table table-striped jambo_table tblClickRow" style="width:100%;">
<thead>
<tr class="headings">
<th>No</th>
<?php
$arrCol = array(
"SKPD",
"Program",
"Sub Kegiatan",
"Aktivitas",
"Rekening",
"Anggaran",
"Volume",
"Unit",
"Jumlah Realisasi",
"Volume Realisasi",
"Unit Realisasi",
"SPD",
"Jenis",
"Aksi"
);
foreach ($arrCol as $rowCol) {
echo "<th>$rowCol</th>";
}
?>
</tr>
</thead>
<tbody></tbody>
<tfoot>
<tr class="bg-light font-weight-bold">
<td></td>
<td colspan="5" class="text-left">TOTAL KESELURUHAN</td>
<td id="grand-total-anggaran" class="text-right">0</td>
<td colspan="2"></td>
<td id="grand-total-realisasi" class="text-right">0</td>
<td colspan="5"></td>
</tr>
</tfoot>
</table>
</div>
</div>
@stop @stop
@section('scripts') @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/jquery.dataTables.min.js"></script>
@@ -152,21 +168,21 @@
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/js/rowGroup.bootstrap4.min.js"></script> <script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/js/rowGroup.bootstrap4.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.3/jquery.scrollTo.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.3/jquery.scrollTo.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function () {
var srcDate1 = null, srcDate2 = null; var srcDate1 = null, srcDate2 = null;
var selectionRow = ""; var selectionRow = "";
$("#srcJenisDana").on("change",function(){ $("#srcJenisDana").on("change", function () {
subJenisDana($(this).val()); subJenisDana($(this).val());
}); });
subJenisDana($("#srcJenisDana").val()); subJenisDana($("#srcJenisDana").val());
$("#srcJenisDana, #srcSubJenisDana, #srcTA, #id_sps, #f_review").on("change",function(){ $("#srcJenisDana, #srcSubJenisDana, #srcTA, #id_sps, #f_review").on("change", function () {
dtTable.draw(); dtTable.draw();
}); });
$("#src").keyup(function(e){ $("#src").keyup(function (e) {
if (e.keyCode == 13){ if (e.keyCode == 13) {
e.preventDefault(); e.preventDefault();
dtTable.draw(); dtTable.draw();
} }
@@ -176,7 +192,7 @@
placeholder: 'Pilih SKPD', placeholder: 'Pilih SKPD',
allowClear: true, allowClear: true,
ajax: { ajax: {
url: '{{ $baseUrl }}/skpd-search?realisasi-belanja=ya&ta='+$("#srcTA").val(), url: '{{ $baseUrl }}/skpd-search?realisasi-belanja=ya&ta=' + $("#srcTA").val(),
dataType: 'json', dataType: 'json',
delay: 250, delay: 250,
processResults: function (data) { processResults: function (data) {
@@ -205,7 +221,7 @@
placeholder: 'Pilih Sub Kegiatan', placeholder: 'Pilih Sub Kegiatan',
allowClear: true, allowClear: true,
ajax: { ajax: {
url: '{{ $baseUrl }}/item-search-sk?realisasi-belanja=ya&ta='+$("#srcTA").val(), url: '{{ $baseUrl }}/item-search-sk?realisasi-belanja=ya&ta=' + $("#srcTA").val(),
dataType: 'json', dataType: 'json',
delay: 250, delay: 250,
processResults: function (data) { processResults: function (data) {
@@ -230,7 +246,7 @@
dtTable.draw(); dtTable.draw();
}) })
var dtTable = $('#tblRealisasi').DataTable( { var dtTable = $('#tblRealisasi').DataTable({
"processing": true, "processing": true,
"serverSide": true, "serverSide": true,
"ordering": false, "ordering": false,
@@ -243,11 +259,11 @@
}, },
data: function (d) { data: function (d) {
d.ta = $("#srcTA").val(), d.ta = $("#srcTA").val(),
d.jenis_dana = $("#srcJenisDana").val(), d.jenis_dana = $("#srcJenisDana").val(),
d.sub_jenis_dana = $("#srcSubJenisDana").val(), d.sub_jenis_dana = $("#srcSubJenisDana").val(),
d.skpd = $("#skpd").val(), d.skpd = $("#skpd").val(),
d.id_sps = $("#id_sps").val(), d.id_sps = $("#id_sps").val(),
d.f_review = $("#f_review").val() d.f_review = $("#f_review").val()
} }
}, },
"columnDefs": [ "columnDefs": [
@@ -255,62 +271,62 @@
], ],
"dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-2 ml-auto \"f><\"col-md-1 text-right\"B>>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">", "dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-2 ml-auto \"f><\"col-md-1 text-right\"B>>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">",
"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": [ "columns": [
{ "data": null}, { "data": null },
{ "data": "nama_skpd", "className":"text-left", "defaultContent":"-" }, { "data": "nama_skpd", "className": "text-left", "defaultContent": "-" },
{ "data": "nama_program", "className":"text-left", "defaultContent":"-" }, { "data": "nama_program", "className": "text-left", "defaultContent": "-" },
{ "data": "nama_sub_kegiatan", "className":"text-left", "defaultContent":"20%" }, { "data": "nama_sub_kegiatan", "className": "text-left", "defaultContent": "20%" },
{ "data": "nama_rsk", "className":"text-left", "defaultContent":"-", "width":"20%" }, { "data": "nama_rsk", "className": "text-left", "defaultContent": "-", "width": "20%" },
{ "data": "nama_rekening", "className":"text-left", "defaultContent":"-", "width":"20%" }, { "data": "nama_rekening", "className": "text-left", "defaultContent": "-", "width": "20%" },
{ "data": "jumlah_anggaran", "className":"text-right", "defaultContent":"0" }, { "data": "jumlah_anggaran", "className": "text-right", "defaultContent": "0" },
{ "data": "volume_satuan", "className":"text-center", "defaultContent":"0", "width":50 }, { "data": "volume_satuan", "className": "text-center", "defaultContent": "0", "width": 50 },
{ "data": "unit_satuan", "className":"text-center", "defaultContent":"-", "width":50 }, { "data": "unit_satuan", "className": "text-center", "defaultContent": "-", "width": 50 },
{ "data": null, "className":"text-right"}, { "data": null, "className": "text-right" },
{ "data": "volume_satuan_realisasi", "className":"text-center", "defaultContent":"0", "width":50 }, { "data": "volume_satuan_realisasi", "className": "text-center", "defaultContent": "0", "width": 50 },
{ "data": "unit_satuan_realisasi", "className":"text-center", "defaultContent":"-", "width":50 }, { "data": "unit_satuan_realisasi", "className": "text-center", "defaultContent": "-", "width": 50 },
{ "data": null}, { "data": null },
{ "data": "jenis_dana", "className":"text-center"}, { "data": "jenis_dana", "className": "text-center" },
{ "data": null} { "data": null }
], ],
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) { "rowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
let info = dtTable.page.info(); let info = dtTable.page.info();
let numStart = info.page; let numStart = info.page;
let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1; let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1;
let realisasi = aData["jml"] > 0 ? "<span class='text-success font-weight-bold p-1'>"+separateNumberIndo(aData["jml"])+"</span>":""; let realisasi = aData["jml"] > 0 ? "<span class='text-success font-weight-bold p-1'>" + separateNumberIndo(aData["jml"]) + "</span>" : "";
// let btnInput = parseInt(aData["f_view_sbpk"]) == 0 ? `<a class="btn btn-warning btn-sm" href="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`/edit" title="Ubah"><i class="fa fa-edit"></i></a> // let btnInput = parseInt(aData["f_view_sbpk"]) == 0 ? `<a class="btn btn-warning btn-sm" href="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`/edit" title="Ubah"><i class="fa fa-edit"></i></a>
// <button type="submit" class="btn btn-danger btn-sm"title="Hapus"><i class="fa fa-trash"></i></button>`:``; // <button type="submit" class="btn btn-danger btn-sm"title="Hapus"><i class="fa fa-trash"></i></button>`:``;
let btnInput = `<a class="btn btn-warning btn-sm btnEdit" href="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`/edit" title="Ubah" ><i class="fa fa-edit"></i></a> let btnInput = `<a class="btn btn-warning btn-sm btnEdit" href="{{ URL::to("/realisasi-belanja") }}/` + aData["id"] + `/edit" title="Ubah" ><i class="fa fa-edit"></i></a>
<button type="submit" class="btn btn-danger btn-sm btnHapus"title="Hapus" id="btnHapus"><i class="fa fa-trash"></i></button>`; <button type="submit" class="btn btn-danger btn-sm btnHapus"title="Hapus" id="btnHapus"><i class="fa fa-trash"></i></button>`;
let volume_satuan_realisasi = aData["volume_satuan_realisasi"] > 0 ? "<span class='text-success font-weight-bold p-1'>"+separateNumberIndo(aData["volume_satuan_realisasi"])+"</span>":""; let volume_satuan_realisasi = aData["volume_satuan_realisasi"] > 0 ? "<span class='text-success font-weight-bold p-1'>" + separateNumberIndo(aData["volume_satuan_realisasi"]) + "</span>" : "";
let unit_satuan_realisasi = aData["unit_satuan_realisasi"] != null ? "<span class='text-success font-weight-bold p-1'>"+aData["unit_satuan_realisasi"]+"</span>":""; let unit_satuan_realisasi = aData["unit_satuan_realisasi"] != null ? "<span class='text-success font-weight-bold p-1'>" + aData["unit_satuan_realisasi"] + "</span>" : "";
$(nRow).addClass("c_row_"+aData["kode_rsk"]); $(nRow).addClass("c_row_" + aData["kode_rsk"]);
$("td:eq(0)", nRow).html(index); $("td:eq(0)", nRow).html(index);
$("td:eq(1)", nRow).html("<div style='width:200px;'>"+aData["kode_skpd"]+" | "+aData["nama_skpd"]+"</div>"); $("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_program"]+" | "+aData["nama_program"]+"</div>"); $("td:eq(2)", nRow).html("<div style='width:200px;'>" + aData["kode_program"] + " | " + aData["nama_program"] + "</div>");
$("td:eq(3)", nRow).html("<div style='width:200px;'>"+aData["kode_sub_kegiatan"]+" | "+aData["nama_sub_kegiatan"]+"</div>"); $("td:eq(3)", nRow).html("<div style='width:200px;'>" + aData["kode_sub_kegiatan"] + " | " + aData["nama_sub_kegiatan"] + "</div>");
$("td:eq(4)", nRow).html("<div style='width:200px;'>"+aData["kode_rsk"]+" | "+aData["nama_rsk"]+"</div>"); $("td:eq(4)", nRow).html("<div style='width:200px;'>" + aData["kode_rsk"] + " | " + aData["nama_rsk"] + "</div>");
$("td:eq(5)", nRow).html(aData["kode_rekening"] == null ? "-":"<div style='width:200px;'>"+aData["kode_rekening"]+" | "+aData["nama_rekening"]+"</div>"); $("td:eq(5)", nRow).html(aData["kode_rekening"] == null ? "-" : "<div style='width:200px;'>" + aData["kode_rekening"] + " | " + aData["nama_rekening"] + "</div>");
$("td:eq(6)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"])); $("td:eq(6)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"]));
$("td:eq(7)", nRow).html(separateNumberIndo(aData["volume_satuan"])); $("td:eq(7)", nRow).html(separateNumberIndo(aData["volume_satuan"]));
$("td:eq(9)", nRow).html(realisasi); $("td:eq(9)", nRow).html(realisasi);
$("td:eq(10)", nRow).html(volume_satuan_realisasi); $("td:eq(10)", nRow).html(volume_satuan_realisasi);
$("td:eq(11)", nRow).html(unit_satuan_realisasi); $("td:eq(11)", nRow).html(unit_satuan_realisasi);
$("td:eq(12)", nRow).html(<?= getRole()=="bendahara"?'(aData["jenis_dana"] == "DBH" && aData["nama_subjenis_dana"] != "CHT") ? aData["jml_spd"]:"<a class=\"modalButton\" title=\"Pilih SPD [ RSK: "+aData["kode_rsk"]+" ]\" href=\"'.URL::to("/").'/realisasi-belanja/"+aData["kode_rsk"]+"/ubah-spd/?redirect=/realisasi-belanja\">"+aData["jml_spd"]+"</a>"':'aData["jml_spd"]' ?>); $("td:eq(12)", nRow).html(<?= getRole() == "bendahara" ? '(aData["jenis_dana"] == "DBH" && aData["nama_subjenis_dana"] != "CHT") ? aData["jml_spd"]:"<a class=\"modalButton\" title=\"Pilih SPD [ RSK: "+aData["kode_rsk"]+" ]\" href=\"' . URL::to("/") . '/realisasi-belanja/"+aData["kode_rsk"]+"/ubah-spd/?redirect=/realisasi-belanja\">"+aData["jml_spd"]+"</a>"' : 'aData["jml_spd"]' ?>);
$("td:eq(13)", nRow).html(aData["jenis_dana"]+"::"+aData["nama_subjenis_dana"]); $("td:eq(13)", nRow).html(aData["jenis_dana"] + "::" + aData["nama_subjenis_dana"]);
$("td:eq(14)", nRow).html(` $("td:eq(14)", nRow).html(`
<form class="form-delete" action="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`" method="POST"> <form class="form-delete" action="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] + `" method="POST">
@csrf @csrf
@method('DELETE') @method('DELETE')
<a href="{{ URL::to("/realisasi-belanja") }}/` + aData["id"] +`/submit" class="btn btn-sm btn-info"><i class="fa fa-eye"></i></a> <a href="{{ URL::to("/realisasi-belanja") }}/` + aData["id"] + `/submit" class="btn btn-sm btn-info"><i class="fa fa-eye"></i></a>
@php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")) { @endphp @php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")) { @endphp
` + btnInput + ` ` + btnInput + `
@php } @endphp @php } @endphp
</form>`); </form>`);
return nRow; return nRow;
}, },
@@ -327,29 +343,29 @@
"processing": "<div class='loading'></div>", "processing": "<div class='loading'></div>",
}, },
rowGroup: { rowGroup: {
endRender: function ( rows, group, index ) { endRender: function (rows, group, index) {
let sum = rows.data().pluck("jumlah_anggaran").reduce( function (a, b) { let sum = rows.data().pluck("jumlah_anggaran").reduce(function (a, b) {
return a + b * 1; return a + b * 1;
}, 0); }, 0);
let sum2 = rows.data().pluck("jml").reduce( function (a, b) { let sum2 = rows.data().pluck("jml").reduce(function (a, b) {
return a + b * 1; return a + b * 1;
}, 0); }, 0);
let textmuted = index == 1 ? "text-muted":""; let textmuted = index == 1 ? "text-muted" : "";
let labelGroup = index == 1 ?"JUMLAH | " + group : "TOTAL"; let labelGroup = index == 1 ? "JUMLAH | " + group : "TOTAL";
return $("<tr/>") return $("<tr/>")
.append("<td></td>") .append("<td></td>")
.append("<td colspan='5' class=\'text-left " + textmuted +"\'><strong>"+labelGroup+"</strong></td>") .append("<td colspan='5' class=\'text-left " + textmuted + "\'><strong>" + labelGroup + "</strong></td>")
.append("<td class='text-right'><strong>"+ separateNumberIndo(sum) +"</strong></td>" ) .append("<td class='text-right'><strong>" + separateNumberIndo(sum) + "</strong></td>")
.append("<td colspan='2'></td>") .append("<td colspan='2'></td>")
.append("<td class='text-right'><strong>"+ separateNumberIndo(sum2) +"</strong></td>" ) .append("<td class='text-right'><strong>" + separateNumberIndo(sum2) + "</strong></td>")
.append("<td colspan='5'></td>") .append("<td colspan='5'></td>")
}, },
startRender: function ( rows, group, index ) { startRender: function (rows, group, index) {
// let group1 = rows.data().pluck("GROUP1"); // let group1 = rows.data().pluck("GROUP1");
// let group2 = rows.data().pluck("GROUP2"); // let group2 = rows.data().pluck("GROUP2");
// let groupNumber = index == 0 ? group1[0] : group2[0]; // let groupNumber = index == 0 ? group1[0] : group2[0];
// if (index == 0){ // if (index == 0){
// return $("<tr/>") // return $("<tr/>")
@@ -359,9 +375,9 @@
// .append("<td colspan=5>&nbsp;&nbsp;<a href=\'/akun/index/detail/?acc="+groupNumber.split(".").join("_")+"\'><strong>" + groupNumber + ". " + group + "</strong></a></td>") // .append("<td colspan=5>&nbsp;&nbsp;<a href=\'/akun/index/detail/?acc="+groupNumber.split(".").join("_")+"\'><strong>" + groupNumber + ". " + group + "</strong></a></td>")
// } // }
}, },
dataSrc: ["tahun_anggaran","nama_skpd"], dataSrc: ["tahun_anggaran", "nama_skpd"],
}, },
scrollX:true, scrollX: true,
scrollY: "350px", scrollY: "350px",
buttons: [ buttons: [
{ {
@@ -374,39 +390,51 @@
attr: { attr: {
formid: "frmRealisasi", formid: "frmRealisasi",
extype: "excel" extype: "excel"
} }
}, },
], ],
} }
], ],
"drawCallback": function( settings ) { "drawCallback": function (settings) {
$(".dataTables_scrollBody").scrollTo($("#tblRealisasi .c_row_"+selectionRow)); $(".dataTables_scrollBody").scrollTo($("#tblRealisasi .c_row_" + selectionRow));
@php echo Auth::user()->lock_ubah_data == 1 ? "$('.btnEdit').remove();\n":""; @endphp @php echo Auth::user()->lock_ubah_data == 1 ? "$('.btnEdit').remove();\n" : ""; @endphp
@php echo Auth::user()->lock_hapus_data == 1 ? "$('.btnHapus').remove();\n":""; @endphp @php echo Auth::user()->lock_hapus_data == 1 ? "$('.btnHapus').remove();\n" : ""; @endphp
} }
}); });
$(document).on("submit","#frmInputSPD",function(e){ dtTable.on('xhr', function () {
var json = dtTable.ajax.json();
if (json) {
let totalAnggaran = json.grandTotalAnggaran ?? 0;
let totalRealisasi = json.grandTotalRealisasi ?? 0;
$('#grand-total-anggaran').html(separateNumberIndo(totalAnggaran));
$('#grand-total-realisasi').html(separateNumberIndo(totalRealisasi));
}
});
$(document).on("submit", "#frmInputSPD", function (e) {
e.preventDefault(); e.preventDefault();
$.ajax({ $.ajax({
type: "POST", type: "POST",
data : $(this).serialize(), data: $(this).serialize(),
url: $("#frmInputSPD").attr("action"), url: $("#frmInputSPD").attr("action"),
success: function(data){ success: function (data) {
$("#modal-default").modal("hide"); $("#modal-default").modal("hide");
if (data.success == true) if (data.success == true) {
{
dtTable.ajax.reload(null, false); dtTable.ajax.reload(null, false);
selectionRow = $("input[name=id_rsk]").val(); selectionRow = $("input[name=id_rsk]").val();
Swal.fire(data.message, '', 'success'); Swal.fire(data.message, '', 'success');
}else{ } else {
Swal.fire(data.message, '', 'error'); Swal.fire(data.message, '', 'error');
} }
} }
}); });
}); });
@php echo Auth::user()->lock_tambah_data == 1 ? "$('#btnTambah').remove();\n":""; @endphp @php echo Auth::user()->lock_tambah_data == 1 ? "$('#btnTambah').remove();\n" : ""; @endphp
}); });
</script> </script>