Rincian DAU

This commit is contained in:
Pusdatin BPKD Jkt
2023-02-22 16:58:20 +07:00
parent 2bc555bb5e
commit 55ad9ff3d7
9 changed files with 219 additions and 27 deletions
@@ -10,6 +10,7 @@ use App\Models\Kegiatan;
use App\Models\SubKegiatan;
use App\Models\Rsk;
use App\Models\Sps_pendapatan;
use App\Models\MstDauRinci;
use App\Models\Siesetpembayaran;
use App\Models\Sp2d;
use App\Models\BelanjaRealisasi;
@@ -270,4 +271,19 @@ class ItemSearchController extends Controller
return response()->json($trbas);
}
public function dau_rinci(Request $request)
{
$sk = [];
$select = DB::raw("id, name");
if($request->has('q')){
$search = $request->q;
$sk = MstDauRinci::select($select)
->where('name', 'LIKE', "%$search%")
->get();
}else{
$sk = MstDauRinci::select($select)->get();
}
return response()->json($sk);
}
}
@@ -22,6 +22,7 @@ use App\Models\UnitSatuan;
use App\Models\Sp2d;
use App\Models\Trbas;
use App\Models\Sps_pendapatan;
use App\Models\BelanjaRealisasiRinciDau;
use App\Imports\RealisasiBelanjaImport;
use App\Imports\RealisasiBelanjaImportDak;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
@@ -159,7 +160,20 @@ class RealisasiBelanjaController extends Controller
try{
DB::beginTransaction();
$input = $this->inputDataRealisasi($request);
BelanjaRealisasi::create($input);
$belanjaRealisasi = BelanjaRealisasi::create($input);
if ($request["jenis_dana"] == "DAU"){
foreach($request["dau"]["deskripsi"] as $k=>$dau){
$inputRinciDau["belanja_realisasi_id"] = $belanjaRealisasi->id;
$inputRinciDau["id_rinci_dau"] = $dau;
$inputRinciDau["deskripsi"] = $request["dau"]["deskripsi_name"][$k];
$inputRinciDau["jml_anggaran"] = replaceMoney($request["dau"]["anggaran"][$k]);
$inputRinciDau["volume_satuan"] = $request["dau"]["volume"][$k];
$inputRinciDau["unit_satuan"] = $request["dau"]["unit"][$k];
BelanjaRealisasiRinciDau::create($inputRinciDau);
}
}
DB::commit();
return redirect(URL::to("/realisasi-belanja"))
@@ -292,7 +306,28 @@ class RealisasiBelanjaController extends Controller
$jmlRealisasi1 = empty($realisasi->sms1)?0:$realisasi->sms1;
$jmlRealisasi2 = empty($realisasi->sms2)?0:$realisasi->sms2;
return view('realisasi_belanja.submit_realisasi', compact("BelanjaRealisasi","BelanjaRealisasiDetail","BelanjaRealisasiRinci","jmlRealisasi1","jmlRealisasi2"));
$BelanjaRealisasiRinciDau = BelanjaRealisasiRinciDau::where("belanja_realisasi_id",$BelanjaRealisasi->id)->get();
$unitSatuan = UnitSatuan::orderBy("id")->get();
return view('realisasi_belanja.submit_realisasi', compact("BelanjaRealisasi","BelanjaRealisasiDetail","BelanjaRealisasiRinci","BelanjaRealisasiRinciDau","jmlRealisasi1","jmlRealisasi2","unitSatuan"));
}
public function realisasiDau(Request $request)
{
$req = $request->all();
$idSubmit = 0;
foreach($req["dau"]["realisasi"] as $k=>$dau){
$inputRinciDau["jml_realisasi"] = replaceMoney($dau);
$inputRinciDau["volume_satuan_realisasi"] = $request["dau"]["volume_realisasi"][$k];
$inputRinciDau["unit_satuan_realisasi"] = $request["dau"]["unit_realisasi"][$k];
$BelanjaRealisasiRinciDau = BelanjaRealisasiRinciDau::where("id",$request["dau"]["id"]);
$BelanjaRealisasiRinciDau->update($inputRinciDau);
$idSubmit = $BelanjaRealisasiRinciDau->first()->belanja_realisasi_id;
}
return redirect(URL::to("/realisasi-belanja/".$idSubmit."/submit"))
->with('success','Data Rinci DAU berhasil disimpan!');
}
public function tableFilter(Request $request)
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Yajra\Oci8\Eloquent\OracleEloquent as Eloquent;
class BelanjaRealisasiRinciDau extends Eloquent
{
use HasFactory;
protected $connection = 'Samasa';
protected $table = 'SAMASA.belanja_realisasi_rinci_dau';
protected $fillable = [
"belanja_realisasi_id",
"id_rinci_dau",
"deskripsi",
"jml_anggaran",
"volume_satuan",
"unit_satuan",
"jml_realisasi",
"volume_satuan_realisasi",
"unit_satuan_realisasi"
];
}
+25
View File
@@ -528,3 +528,28 @@ $(document).on("click",".export-data",function(){
}).appendTo("#"+form);
$("#"+form).submit();
})
let dauRinci = ()=>{
$('.rinci_dau').select2({
placeholder: 'Pilih Deskripsi',
allowClear: true,
ajax: {
url: Url+'/item-search-dau-rinci',
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.name,
id: item.id
}
})
};
},
cache: true
}
});
}
dauRinci();
+1 -1
View File
@@ -9,7 +9,7 @@
<div class="">
<div class="">
<p class="login-box-msg p-0">
<img src="{{ URL::to("/bg-login.png") }}" width="170" height="150"></i>
<img src="{{ URL::to("/bg-login.png") }}" width="170"></i>
</p>
<p class="text-center">Sistem Informasi Dana Transfer<br>Provinsi DKI Jakarta</p>
@@ -72,33 +72,34 @@
</div>
</div>
</div>
<div id="divDAU" class="mb-3 p-3" style="background: gainsboro;">
<div id="divDAU" class="mb-3 p-3" style="background: whitesmoke; border:1px solid #dfdfdf; display:none; ">
<h5>Rincian DAU</h5>
<hr>
<div id="div-rinci-dau">
<div class="divClassPerubahan row">
<div class="col-3">
<div class="data-dau row">
<div class="col-4">
<div class="form-group">
<label class="col-form-label label-align">Rinci Aktivitas</label>
<input type="text" class="form-control" name="dau[deskripsi][]" required>
<select name="dau[deskripsi][]" class="form-control rinci_dau" required></select>
<input name="dau[deskripsi_name][]" class="txt_rinci_dau" type="hidden">
</div>
</div>
<div class="col-3">
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align">Anggaran</label>
<input type="text" class="form-control number-separator-indo" name="dau[anggaran][]" required>
<input type="text" class="form-control form-control-sm number-separator-indo" name="dau[anggaran][]" required>
</div>
</div>
<div class="col-3">
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Volume</label>
<input class="form-control number-separator-indo" name="dau[volume][]" required>
<input class="form-control form-control-sm number-separator-indo" name="dau[volume][]" required>
</div>
</div>
<div class="col-3">
<div class="col-2">
<div class="form-group">
<label class="col-form-label label-align" for="sk">Unit</label>
<select name="dau[volume][]" class="form-control" required placeholder="Unit Realisasi">
<select name="dau[unit][]" class="form-control form-control-sm " required placeholder="Unit Realisasi">
<?php foreach($unitSatuan as $satuan){ ?>
<option value="{{ $satuan->nama_satuan }}">{{ $satuan->nama_satuan }}</option>
<?php } ?>
@@ -106,8 +107,8 @@
</div>
</div>
</div>
<button id="btnAddRbaPerubahan" type="button" class="btn btn-primary"><i class="fa fa-plus"></i> Tambah Data</button>
</div>
<button id="btnAddRinciDAU" type="button" class="btn btn-primary"><i class="fa fa-plus"></i> Tambah Rincian</button>
</div>
{{-- <button id="btn_save_realisasi_pendapatan" type="submit" class="btn btn-sm btn-success"><i class="fa fa-save"></i> Simpan</button> --}}
@@ -138,6 +139,10 @@
$("#sub_jenis").val('').trigger('change');
subJenisDana($(this).val());
jenisBelanja($(this).val());
$("#divDAU").hide();
if ($(this).val()=="DAU"){
$("#divDAU").show();
}
})
$('select[name=sub_jenis_dana]').on('select2:select', function (e) {
@@ -145,27 +150,56 @@
cekInputKontrak(data.text);
})
$("#btnAddRbaPerubahan").on("click",()=>{
$("#btnAddRinciDAU").on("click",()=>{
$("#div-rinci-dau").append(`
<div class="divClassPerubahan row">
<div class="col-6">
<div class="data-dau row">
<div class="col-4">
<div class="form-group">
<label>Tanggal RBA Perubahan</label>
<input type="text" class="form-control indo_date" name="rba[tgl_perubahan][]" placeholder="Tanggal Perubahan">
<label class="col-form-label label-align">Rinci Aktivitas</label>
<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-5">
<div class="col-2">
<div class="form-group">
<label>Upload Tanda Terima Perubahan</label>
<input class="form-control" type="file" name="rba[file_perubahan][]">
<a style="display: none;" class="rbaFilePerubahan fileDownloadFormulir" href="javascript://"><i class="fa fa-download"></i> Download File</a>
<label class="col-form-label label-align">Anggaran</label>
<input type="text" class="form-control form-control-sm number-separator-indo" name="dau[anggaran][]" required>
</div>
</div>
<div class="align-self-center"><button type="button" class="btn btn-danger mt-1 btnRemoveThis"><i class="fa fa-minus"></i></button></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>
<select name="dau[unit][]" class="form-control form-control-sm " required placeholder="Unit Realisasi">
<?php foreach($unitSatuan as $satuan){ ?>
<option value="{{ $satuan->nama_satuan }}">{{ $satuan->nama_satuan }}</option>
<?php } ?>
</select>
</div>
</div>
<div class="col-2 align-self-center">
<button type="button" class="btn btn-danger hapusRinciDau mt-3">x</button>
</div>
</div>
`);
dauRinci();
});
$(document).on("click",".hapusRinciDau",function(){
$(this).closest(".data-dau").remove()
})
$(document).on('select2:select','.rinci_dau', function (e) {
let data = e.params.data;
$($(".txt_rinci_dau")[$(".rinci_dau").index($(this))]).val(data.text);
})
});
</script>
@endsection
@@ -63,6 +63,10 @@
$("select[name=jenis_dana]").attr("disabled", true);
$('select[name=jenis_dana]').change();
@php if ($BelanjaRealisasi->jenis_dana != "DAU"){ @endphp
$("#detail_dau").remove();
@php } @endphp
let $newOptionSubJenisDana = $("<option selected='selected'></option>").val("{{ $BelanjaRealisasi->sub_jenis_dana }}").text("{{ $BelanjaRealisasi->nama_subjenis_dana }}")
$("select[name=sub_jenis_dana]").val("{{ $BelanjaRealisasi->sub_jenis_dana }}");
$("select[name=sub_jenis_dana]").append($newOptionSubJenisDana).trigger('change');
@@ -189,6 +193,12 @@
$("#div_submit_realisasi").html(data);
}
});
$("#divDAU").remove();
$(document).on("click","#btnSimpanDau",function(){
$("#frmDAU").submit();
});
});
</script>
@endsection
@@ -81,6 +81,10 @@
</div>
</div>
<div class="tab-pane fade" id="custom-tabs-four-detail" role="tabpanel" aria-labelledby="custom-tabs-four-detail-tab">
<h5>Detail Per-bulan</h5>
<?php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")){ ?>
<a class="modalButton float-left" title="Input Rincian" href="{{ url('/realisasi-belanja/'.$BelanjaRealisasi->id.'/inputRealisasi?type=rinci&redirect_link=/realisasi-belanja/'.$BelanjaRealisasi->id.'/submit') }}"><i class="fa fa-paper-plane"></i> Input Rincian</a>
<?php } ?>
<table class="table table-striped">
<thead>
<tr>
@@ -106,9 +110,52 @@
</tr>
</tbody>
</table>
<?php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")){ ?>
<a class="btn btn-success modalButton" title="Input Rincian" href="{{ url('/realisasi-belanja/'.$BelanjaRealisasi->id.'/inputRealisasi?type=rinci&redirect_link=/realisasi-belanja/'.$BelanjaRealisasi->id.'/submit') }}"><i class="fa fa-paper-plane"></i> Input Rincian</a>
<hr>
<div id="detail_dau">
<h5>Detail DAU</h5>
<form method="POST" id="frmDAU" action="{{ url('/realisasi-belanja/'.$BelanjaRealisasi->id.'/realisasi-dau') }}">
@csrf
<table class="table table-striped">
<thead>
<tr>
<th>No</th>
<th>Uraian</th>
<th>Anggaran</th>
<th>Volume</th>
<th>Satuan</th>
<th>Realisasi</th>
<th>Volume Realisasi</th>
<th>Satuan Realisasi</th>
</tr>
</thead>
<tbody>
<?php foreach($BelanjaRealisasiRinciDau as $k=>$rinciDau){ ?>
<tr>
<td>{{ ($k+1) }}</td>
<td>{{ $rinciDau->deskripsi }}</td>
<td>{{ number_format($rinciDau->jml_anggaran) }}</td>
<td>{{ $rinciDau->volume_satuan }}</td>
<td>{{ $rinciDau->unit_satuan }}</td>
<td>
<input type="hidden" name="dau[id][]" value="{{ $rinciDau->id }}">
<input type="text" class="form-control form-control-sm" name="dau[realisasi][]" value="{{ $rinciDau->jml_realisasi }}">
</td>
<td>
<input type="text" class="form-control form-control-sm" name="dau[volume_realisasi][]" value="{{ $rinciDau->volume_satuan_realisasi }}"></td>
<td>
<select name="dau[unit_realisasi][]" class="form-control form-control-sm " required placeholder="Unit Realisasi">
<?php foreach($unitSatuan as $satuan){ ?>
<option value="{{ $satuan->nama_satuan }}" {{ $rinciDau->unit_satuan_realisasi == $satuan->nama_satuan?"selected":"" }}>{{ $satuan->nama_satuan }}</option>
<?php } ?>
</select>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</form>
<button id="btnSimpanDau" type="button" class="btn btn-success">Simpan Data</button>
</div>
</div>
</div>
</div>
+2
View File
@@ -107,6 +107,7 @@ Route::group(['middleware' => 'auth'], function () {
Route::post('/{id}/inputRealisasi', [RealisasiBelanjaController::class,'inputRealisasi']);
Route::delete('/delete-detail/{id}', [RealisasiBelanjaController::class,'deleteDetail']);
Route::post('/download', [RealisasiBelanjaController::class,'download']);
Route::post('/{id}/realisasi-dau', [RealisasiBelanjaController::class,'realisasiDau']);
Route::get('/{id}/kontrak', [RealisasiBelanjaController::class,'kontrak']);
Route::post('/{id}/kontrak', [RealisasiBelanjaController::class,'kontrak']);
@@ -139,6 +140,7 @@ Route::group(['middleware' => 'auth'], function () {
Route::get('item-search-subjenisbelanja', [ItemSearchController::class,'subjenisBelanja']);
Route::get('item-search-subjenisdana', [ItemSearchController::class,'subjenisDana']);
Route::get('item-search-rekening', [ItemSearchController::class,'rek_dana']);
Route::get('item-search-dau-rinci', [ItemSearchController::class,'dau_rinci']);
Route::post('role-list', [MstPenggunaController::class,'roleList']);
Route::get('logout', [AuthController::class, 'logout'])->name('logout');