Update kontrak

This commit is contained in:
Pusdatin BPKD Jkt
2022-08-03 11:45:58 +07:00
parent 5d5d8b2741
commit 4683420bf9
8 changed files with 172 additions and 184 deletions
@@ -47,8 +47,8 @@ class RealisasiBelanjaController extends Controller
{
$BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew();
// var_dump($BelanjaRealisasi->kode_rsk,$BelanjaRealisasi->kode_sub_kegiatan); exit;
$this->setTitle("Realisasi Belanja ".$BelanjaRealisasi->jenis_dana." ".$BelanjaRealisasi->sub_jenis_dana);
$this->setSubtitle("Detail Data");
$this->setTitle("Realisasi Belanja");
$this->setSubtitle("Realisasi Belanja :: ".$BelanjaRealisasi->jenis_dana." ".$BelanjaRealisasi->sub_jenis_dana);
$vwAKB = VwAkbSpdRealRsk::where("I_IDRSK",$BelanjaRealisasi->kode_rsk)->firstorNew();
$BelanjaRealisasiKontrak = BelanjaRealisasiKontrak::where("belanja_realisasi_id",$id)->get();
$vwSPD = DB::select(DB::raw(
@@ -247,7 +247,7 @@ class RealisasiBelanjaController extends Controller
];
BelanjaRealisasi::create($input);
}
TempRealisasiBelanja::truncate();
TempRealisasiBelanja::where("userid",Auth::user()->id)->truncate();
DB::commit();
return redirect('/upload-realisasi-belanja/'.$typeDana)->with('success','Data Realisasi belanja berhasil diupload.');
}catch(\Exception $e){
@@ -329,6 +329,18 @@ class RealisasiBelanjaController extends Controller
}
}
protected function uploadFileKontrak($request)
{
$file = $request->file('file_kontrak');
if ($file){
$fileName = $file->getClientOriginalName();
$tujuan_upload = 'uploadFiles/kontrak';
$file->move($tujuan_upload, $fileName);
return $fileName;
}
return false;
}
public function kontrak(Request $request, $id)
{
$BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew();
@@ -339,14 +351,20 @@ class RealisasiBelanjaController extends Controller
if ($request->isMethod('post')) {
try{
DB::beginTransaction();
BelanjaRealisasiKontrak::where("belanja_realisasi_id",$id)->where("nomor_kontrak",$req["nomor_kontrak"])->firstOrNew()->truncate();
$this->validate($request, [
'file_kontrak' => 'required|mimes:pdf',
]);
$fileName = $this->uploadFileKontrak($request);
BelanjaRealisasiKontrak::where("belanja_realisasi_id",$id)->where("nomor_kontrak",$req["nomor_kontrak"])->firstOrNew()->delete();
$data["belanja_realisasi_id"] = $id;
$data["nomor_kontrak"] = $req["nomor_kontrak"];
$data["tgl_kontrak"] = ConvertIndoDate($req["tgl_kontrak"]);
$data["nominal_kontrak"] = replaceMoney($req["nominal_kontrak"]);
$data["file_kontrak"] = isset($req["file_kontrak"])?$req["file_kontrak"]:"";
$data["file_kontrak"] = $fileName;
$data["created_by"] = Auth::user()->id;
BelanjaRealisasiKontrak::create($data);
DB::commit();
return redirect($redirect)->with('success','Data Kontrak berhasil di input!');
@@ -373,6 +391,10 @@ class RealisasiBelanjaController extends Controller
$data["nomor_kontrak"] = $req["nomor_kontrak"];
$data["tgl_kontrak"] = ConvertIndoDate($req["tgl_kontrak"]);
$data["nominal_kontrak"] = replaceMoney($req["nominal_kontrak"]);
$fileName = $this->uploadFileKontrak($request);
if ($fileName){
$data["file_kontrak"] = $fileName;
}
$BelanjaRealisasiKontrak->update($data);
DB::commit();
@@ -391,16 +413,33 @@ class RealisasiBelanjaController extends Controller
{
try{
DB::beginTransaction();
$BelanjaRealisasiKontrak = BelanjaRealisasiKontrak::where("id",$id)->firstorNew();
unlink("uploadFiles/kontrak/".$BelanjaRealisasiKontrak->file_kontrak);
BelanjaRealisasiKontrak::where("id",$id)->delete();
DB::commit();
return redirect('/realisasi-belanja/'.$id.'/kontrak')
return redirect('/realisasi-belanja/'.$BelanjaRealisasiKontrak->belanja_realisasi_id.'/submit')
->with('success','Data Kontrak Realisasi Belanja berhasil dihapus!');
}catch(Throwable $e){
DB::rollBack();
return redirect('/realisasi-belanja/'.$id.'/kontrak')
return redirect('/realisasi-belanja/'.$BelanjaRealisasiKontrak->belanja_realisasi_id.'/submit')
->with('error','Data Kontrak Realisasi Belanja gagal dihapus.');
}
}
public function downloadKontrak($kode)
{
$kode = explode("__",$kode);
$BelanjaRealisasiKontrak = BelanjaRealisasiKontrak::where(["belanja_realisasi_id"=>$kode[0], "id"=>$kode[1]])->firstorNew();
$headers = [
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'attachment;filename='.$BelanjaRealisasiKontrak->file_kontrak
];
if ($BelanjaRealisasiKontrak){
return response()->download("uploadFiles/kontrak/".$BelanjaRealisasiKontrak->file_kontrak, $BelanjaRealisasiKontrak->file_kontrak, $headers);
}else{
echo "File tidak ditemukan!";
}
}
}
+3 -5
View File
@@ -36,7 +36,7 @@
</a>
</li>
<?php } ?>
<?php if (Auth::user()->can("Read DBH Jadwal") || $role == "superadmin"){ ?>
<?php if (Auth::user()->can("Read DAK Jadwal") || $role == "superadmin"){ ?>
<li class="nav-item">
<a href="{{ url('/jadwal-salurdana/dak') }}" class="nav-link">
<i class="nav-icon fa fa-minus"></i>
@@ -46,14 +46,13 @@
<?php } ?>
</ul>
</li>
<?php if (Auth::user()->can("Upload DBH Rencana Belanja") || $role == "superadmin"){ ?>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="fas fa-upload nav-icon"></i>
<p>Upload Rencana Belanja <i class="right fas fa-angle-left"></i></p>
</a>
<ul class="nav nav-treeview">
<?php if (Auth::user()->can("Read DBH Jadwal") || $role == "superadmin"){ ?>
<?php if (Auth::user()->can("Upload DBH Rencana Belanja") || $role == "superadmin"){ ?>
<li class="nav-item">
<a href="{{ url('/upload-realisasi-belanja/dbh') }}" class="nav-link">
<i class="nav-icon fa fa-minus"></i>
@@ -61,7 +60,7 @@
</a>
</li>
<?php } ?>
<?php if (Auth::user()->can("Read DBH Jadwal") || $role == "superadmin"){ ?>
<?php if (Auth::user()->can("Upload DAK Rencana Belanja") || $role == "superadmin"){ ?>
<li class="nav-item">
<a href="{{ url('/upload-realisasi-belanja/dak') }}" class="nav-link">
<i class="nav-icon fa fa-minus"></i>
@@ -71,7 +70,6 @@
<?php } ?>
</ul>
</li>
<?php } ?>
<?php if (Auth::user()->can("Read DBH Realisasi Pendapatan") || $role == "superadmin"){ ?>
<li class="nav-item">
<a href="{{ url('/realisasi-pendapatan') }}" class="nav-link">
+1 -1
View File
@@ -23,7 +23,7 @@
</li>
<li class="nav-item dropdown">
<a class="nav-link" data-toggle="dropdown" href="#">
<i class="fa fa-user mr-2"></i>{{ Auth::user()->name." | ".$role }}</span>
<i class="fa fa-user mr-2"></i>{{ Auth::user()->name." | Role : ".strtoupper($role) }}</span>
</a>
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
<a class="dropdown-item modalButton" title="Ganti Kata Sandi" href="{{ route("users.changepass", Auth::user()->id) }}" ><i class="fa fa-key mr-2"></i> Ganti Kata Sandi</a>
@@ -1,106 +0,0 @@
<form id="frmInputRealisasi" action="{{ url('/realisasi-belanja/'.$BelanjaRealisasi->id.'/inputRealisasi') }}" method="POST" autocomplete="off">
@csrf
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label>Rinci Sub Kegiatan</label>
<input type="hidden" value="{{ $redirect }}" name="redirect_link">
<input type="hidden" value="{{ $BelanjaRealisasi->nama_rsk }}" name="id_rsk">
<textarea type="text" id="rsk_realisasi" rows=4 required class="form-control" name="rsk_realisasi" disabled>{{ $BelanjaRealisasi->nama_rsk }}</textarea>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label>No. SP2D</label>
<input type="text" id="no_sp2d" required class="form-control" name="no_sp2d" value="{{ $BelanjaRealisasiDetail->i_sp2dno_dok }}" disabled>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label>Jumlah Realisasi</label>
<input type="text" id="jml_realisasi" required class="form-control" name="jml_realisasi" placeholder="Jumlah Realisasi" value="{{ separateNumberIndo($BelanjaRealisasiDetail->v_spp) }}" disabled>
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<?php $volSatuan = empty($BelanjaRealisasiDetail->volume_satuan_realisasi) ? 0: $BelanjaRealisasiDetail->volume_satuan_realisasi; ?>
<label>Volume Realisasi</label>
<input type="number" id="vol_realisasi" required class="form-control" name="vol_realisasi" value="{{ $volSatuan }}" placeholder="Volume Realisasi">
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<label>Unit Realisasi</label>
<select id="unit_realisasi" name="unit_realisasi" class="form-control" required placeholder="Unit Realisasi">
<option></option>
<?php $unitSatuanVal = empty($BelanjaRealisasiDetail->unit_satuan_realisasi) ? "": $BelanjaRealisasiDetail->unit_satuan_realisasi; ?>
<?php foreach($unitSatuan as $satuan){ ?>
<option {{ $unitSatuanVal == $satuan->nama_satuan ? "selected":"" }}>{{ $satuan->nama_satuan }}</option>
<?php } ?>
</select>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<button id="btnSubmit" type="button" class="btn btn-success"><i class="fa fa-paper-plane"></i> Simpan</button>
</div>
</div>
</form>
<script type="text/javascript">
$(document).ready(function(){
detailSP2D = (noSP2D)=>{
$.ajax({
url: '/item-search-sp2d?no_sp2d='+noSP2D,
dataType: 'json',
success: function (data) {
$("#vol_realisasi").prop("disabled", true);
$("#unit_realisasi").prop("disabled", true);
if (Object.keys(data).length == 0){
Swal.fire('Data SP2D tidak ditemukan!!', '', 'error');
}else{
let jml = parseFloat(data.v_sp2d);
$("#jml_realisasi").val(separateNumberIndo(jml));
$("#vol_realisasi").prop("disabled", false);
$("#unit_realisasi").prop("disabled", false);
}
}
});
}
$("#no_sp2d").on("keypress",function(e){
if (e.keyCode == 13){
e.preventDefault();
detailSP2D($(this).val());
}
});
let cekValidasi=()=>{
if ($("#no_sp2d").val() == ""){
Swal.fire('No SP2D blm diisi!!', '', 'error');
return false;
}
if ($("#jml_realisasi").val() == ""){
Swal.fire('Jumlah Realisasi kosong!!', '', 'error');
return false;
}
if ($("#vol_realisasi").val() == 0){
Swal.fire('Volume Realisasi kosong!!', '', 'error');
return false;
}
if ($("#unit_realisasi").val() == ""){
Swal.fire('Unit Realisasi kosong!!', '', 'error');
return false;
}
return true;
}
$("#btnSubmit").on("click",function(e){
if (cekValidasi()){
$("#frmInputRealisasi input").prop("disabled", false);
$("#frmInputRealisasi").submit();
}
})
});
</script>
@@ -1,4 +1,4 @@
<form id="frmKontrak" action="{{ url($action) }}" method="POST" autocomplete="off">
<form id="frmKontrak" action="{{ url($action) }}" method="POST" autocomplete="off" enctype="multipart/form-data">
@csrf
<?php if (isset($BelanjaRealisasiKontrak)){ ?>
@method('PUT')
@@ -22,6 +22,13 @@
<input type="text" id="nominal_kontrak" required class="form-control number-separator-indo" name="nominal_kontrak" value="{{ isset($BelanjaRealisasiKontrak)?separateNumberIndo($BelanjaRealisasiKontrak->nominal_kontrak):"" }}" placeholder="Nominal Kontrak">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label>File Kontrak (*.pdf)</label>
<input class="form-control" type="file" name="file_kontrak" {{ isset($BelanjaRealisasiKontrak) ? "":"required" }}>
<label>{{ isset($BelanjaRealisasiKontrak)?"File yang di upload : ".$BelanjaRealisasiKontrak->file_kontrak:"" }}</label>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<button type="submit" class="btn btn-success"><i class="fa fa-paper-plane"></i> Simpan</button>
</div>
@@ -36,7 +36,33 @@
</select>
</div>
</div>
<div class="col-11">
<div class="col-3">
<div class="form-group">
<label>Jenis Dana</label>
<select class="form-control form-control-sm" id="srcJenisDana">
@php
$listDana = ["DBH","DAK"];
foreach($listDana as $dana){
echo "<option value=$dana>$dana</option>";
}
@endphp
</select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<label>&nbsp;</label>
<select class="form-control form-control-sm" id="srcSubJenisDana">
@php
$listSubDana = ["All","CHT"];
foreach($listSubDana as $Subdana){
echo "<option value=$Subdana>$Subdana</option>";
}
@endphp
</select>
</div>
</div>
<div class="col-5">
<div class="form-group">
<label>Berdasarkan Kata</label>
<input class="form-control form-control-sm" type="text" id="src">
@@ -89,10 +115,19 @@
$(document).ready(function(){
var srcDate1 = null, srcDate2 = null;
// $('#tblRealisasi tbody').on('click', 'tr', function () {
// var data = dtTable.row( this ).data();
// location.href = "/realisasi-belanja/" + data["id"] +"/submit";
// });
$("#srcJenisDana").on("change",function(){
$("#srcSubJenisDana").empty();
// console.log($(this).val());
if ($(this).val()=="DBH"){
$.each(["All","CHT"],function(i,x){
$('#srcSubJenisDana').append($('<option>', { value: x,text : x}));
})
}else{
$.each(["Fisik","Non-Fisik"],function(i,x){
$('#srcSubJenisDana').append($('<option>', { value: x,text : x}));
})
}
});
$("#src").keyup(function(e){
if (e.keyCode == 13){
@@ -117,6 +152,9 @@
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: function (d) {
d.ta = $("#srcTA").val(),
d.jenis_dana = $("#srcJenisDana").val(),
d.sub_jenis_dana = $("#srcSubJenisDana").val()
}
},
"columnDefs": [
@@ -18,7 +18,7 @@
@section('content')
<div class="card">
<div class="card-header">
<h2 class="card-title"><i class="fa fa-th-list mr-2"></i> {{ $sitesubTitle }}</h2>
<h2 class="card-title"><i class="fa fa-th-list mr-2"></i> <strong>{{ strtoupper($sitesubTitle) }}</strong></h2>
<div class="card-tools">
{{-- @if(auth()->user()->can('Tambah SKPP')) --}}
<button class="btn btn-sm btn-default" onclick="location.href='{{ url('/realisasi-belanja') }}'"><i class="fa fa-arrow-left"></i> Kembali</button>
@@ -36,7 +36,7 @@
<div class="card-body">
<div class="row">
<div class="col-6">
<strong><i class="fa fa-th-list mr-2"></i> AKB vs Realisasi</strong><hr style="margin-bottom: 0 !important;">
<strong><i class="fa fa-th-list mr-2"></i> AKB vs REALISASI</strong><hr style="margin-bottom: 0 !important;">
<div class="row">
<div class='col-12'>
<table class="table table-striped">
@@ -69,40 +69,6 @@
</div>
</div>
<div class="col-6">
<strong><i class="fa fa-th-list mr-2"></i> Data Kontrak</strong> [ <a class="modalButton" title="Input Kontrak" href="{{ url('/realisasi-belanja/'.$BelanjaRealisasi->id.'/kontrak') }}">Tambah Kontrak</a> ]<hr style="margin-bottom: 0 !important;">
<table class="table table-sm table-striped">
<thead>
<th>No</th>
<th>Nomor Kontrak</th>
<th class="text-center">Tanggal</th>
<th class="text-right">Jumlah</th>
<th class="text-center"></th>
</thead>
<tbody>
<?php
$totalKontrak = 0;
foreach($BelanjaRealisasiKontrak as $key=>$kontrak){ ?>
<tr>
<td>{{ $key+1 }}</td>
<td>{{ $kontrak->nomor_kontrak }}</td>
<td class="text-center">{{ date("d-m-Y",strtotime($kontrak->tgl_kontrak)) }}</td>
<td class="text-right">{{ separateNumberIndo($kontrak->nominal_kontrak) }}</td>
<td class="text-center">
<form class='form-delete' action='/realisasi-belanja/{{ $kontrak->id }}/kontrak' method='POST'>
<input type='hidden' name='_token' id='csrf-token' value='{{ Session::token() }}' />
<input type='hidden' name='_method' value='DELETE'>
<a class='btn btn-default btn-sm modalButton' href='/realisasi-belanja/{{ $kontrak->id }}/kontrak/update' title='Ubah Kontrak'><i class='fa fa-edit'></i></a>
<button type="submit" class="btn btn-default btn-sm" name="btnSubmit"><i class="fa fa-trash"></i></button>
</form>
</td>
</tr>
<?php $totalKontrak+=floatVal($kontrak->nominal_kontrak); } ?>
<tr >
<td colspan="3"><strong>TOTAL KONTRAK</strong></td>
<td colspan="2" class="text-right"><strong>{{ separateNumberIndo($totalKontrak) }}</strong></td>
</tr>
</tbody>
</table>
<strong><i class="fa fa-th-list mr-2"></i> SPD</strong><hr style="margin-bottom: 0 !important;">
<table class="table table-sm table-striped">
<thead>
@@ -128,7 +94,7 @@
</tr>
</tbody>
</table>
<strong><i class="fa fa-th-list mr-2"></i> SP2D</strong><hr style="margin-bottom: 0 !important;">
<strong><i class="fa fa-th-list mr-2 mt-3"></i> SP2D</strong><hr style="margin-bottom: 0 !important;">
<table class="table table-sm table-striped">
<thead>
<th>No</th>
@@ -157,6 +123,51 @@
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<strong><i class="fa fa-th-list mr-2"></i> KONTRAK</strong> <?= Auth::user()->can("Create Kontrak")?'[ <a class="modalButton" title="Input Kontrak" href="'.url('/realisasi-belanja/'.$BelanjaRealisasi->id.'/kontrak') .'">Tambah Kontrak</a> ]':'' ?><hr style="margin-bottom: 0 !important;">
<table class="table table-sm table-striped">
<thead>
<th>No</th>
<th>Nomor Kontrak</th>
<th class="text-center">Tanggal</th>
<th class="text-right">Jumlah</th>
<th class="text-center">File</th>
<?php if (Auth::user()->can("Create Kontrak")){ ?>
<th class="text-center"></th>
<?php } ?>
</thead>
<tbody>
<?php
$totalKontrak = 0;
foreach($BelanjaRealisasiKontrak as $key=>$kontrak){ ?>
<tr>
<td>{{ $key+1 }}</td>
<td>{{ $kontrak->nomor_kontrak }}</td>
<td class="text-center">{{ date("d-m-Y",strtotime($kontrak->tgl_kontrak)) }}</td>
<td class="text-right">{{ separateNumberIndo($kontrak->nominal_kontrak) }}</td>
<td class="text-center"><?= empty($kontrak->file_kontrak)?"-":"<a href='".url("/realisasi-belanja/".$BelanjaRealisasi->id.'__'.$kontrak->id ."/download-kontrak")."'>".$kontrak->file_kontrak."</a>" ?></td>
<?php if (Auth::user()->can("Create Kontrak")){ ?>
<td class="text-center">
<form class='form-delete' action='/realisasi-belanja/{{ $kontrak->id }}/kontrak' method='POST'>
<input type='hidden' name='_token' id='csrf-token' value='{{ Session::token() }}' />
<input type='hidden' name='_method' value='DELETE'>
<a class='btn btn-default btn-sm modalButton' href='/realisasi-belanja/{{ $kontrak->id }}/kontrak/update' title='Ubah Kontrak'><i class='fa fa-edit'></i></a>
<button type="submit" class="btn btn-default btn-sm" name="btnSubmit"><i class="fa fa-trash"></i></button>
</form>
</td>
<?php } ?>
</tr>
<?php $totalKontrak+=floatVal($kontrak->nominal_kontrak); } ?>
<tr >
<td colspan="3"><strong>TOTAL KONTRAK</strong></td>
<td class="text-right"><strong>{{ separateNumberIndo($totalKontrak) }}</strong></td>
<td colspan="2">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="card">
<div class="card-body">
<strong><i class="fa fa-th-list mr-2"></i> REALISASI</strong><hr style="margin-bottom: 0 !important;">
+1
View File
@@ -70,6 +70,7 @@ Route::group(['middleware' => 'auth'], function () {
Route::delete('/{id}/kontrak', [RealisasiBelanjaController::class,'destroyKontrak']);
Route::get('/{idKontrak}/kontrak/update', [RealisasiBelanjaController::class,'kontrakUpdate']);
Route::put('/{idKontrak}/kontrak', [RealisasiBelanjaController::class,'kontrakUpdate']);
Route::get('/{kode}/download-kontrak', [RealisasiBelanjaController::class,'downloadKontrak']);
});
Route::resource('realisasi-belanja', RealisasiBelanjaController::class);