diff --git a/app/Http/Controllers/RealisasiPendapatanController.php b/app/Http/Controllers/RealisasiPendapatanController.php index c8a45a8..623cbab 100644 --- a/app/Http/Controllers/RealisasiPendapatanController.php +++ b/app/Http/Controllers/RealisasiPendapatanController.php @@ -13,6 +13,7 @@ use App\Models\User; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use Illuminate\Support\Facades\URL; +use Illuminate\Support\Facades\File; class RealisasiPendapatanController extends Controller { @@ -190,7 +191,17 @@ class RealisasiPendapatanController extends Controller $data["rkud_kode_akun"] = $req["rkud_kode_akun"]; $data["rkud_nama_akun"] = $req["rkud_nama_akun"]; $data["rkud_jumlah"] = replaceMoney($req["rkud_jumlah"]); + + $file = $request->file('file_sts'); + if ($file){ + $fileName = $req["rkud_no_sts"].".".$file->getClientOriginalExtension(); + $tujuan_upload = config('constants.upload_path_sts'); + File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true); + $file->move($tujuan_upload, $fileName); + $data["file_sts"] = $fileName; + } $data->save(); + DB::commit(); $userAnggaran = User::where("role_name","anggaran")->get()->toArray(); @@ -258,4 +269,12 @@ class RealisasiPendapatanController extends Controller return response()->download("downloadFiles/".$fileName, $fileName, $headers); } + public function downloadSts(PendapatanRealisasi $realisasi) + { + $headers = [ + 'Content-Type' => 'application/pdf', + 'Content-Disposition' => 'attachment;filename='.$realisasi->file_sts + ]; + return response()->download(config('constants.upload_path_sts').$realisasi->file_sts, $realisasi->file_sts, $headers); + } } diff --git a/app/Models/PendapatanRealisasi.php b/app/Models/PendapatanRealisasi.php index aafec07..0a41a4e 100644 --- a/app/Models/PendapatanRealisasi.php +++ b/app/Models/PendapatanRealisasi.php @@ -14,7 +14,7 @@ class PendapatanRealisasi extends Eloquent protected $table = 'SAMASA.pendapatan_realisasi'; protected $fillable = [ 'tahun','simtrad4_uraian','simtrad4_kotor','simtrad4_potongan','simtrad4_bersih','simtrad4_tgl_sp2d_bun','simtrad4_sp2d_bun', - 'rkud_tgl','rkud_no_sts','rkud_kode_akun','rkud_nama_akun','rkud_jumlah','id_sps','kode_rekening_sps','nama_rekening_sps' + 'rkud_tgl','rkud_no_sts','rkud_kode_akun','rkud_nama_akun','rkud_jumlah','id_sps','kode_rekening_sps','nama_rekening_sps','file_sts' ]; } diff --git a/config/constants.php b/config/constants.php index 800d47e..5a4f5ed 100644 --- a/config/constants.php +++ b/config/constants.php @@ -2,6 +2,7 @@ return [ 'upload_path' => "uploadFiles/", 'upload_path_kontrak' => "uploadFiles/kontrak/", + 'upload_path_sts' => "uploadFiles/sts/", 'download_path' => "downloadFiles/", 'options' => [ 'option_attachment' => '13', diff --git a/database/migrations/2022_07_11_093130_create_pendapatan_realisasi_table.php b/database/migrations/2022_07_11_093130_create_pendapatan_realisasi_table.php index 816cbad..1ea59f0 100644 --- a/database/migrations/2022_07_11_093130_create_pendapatan_realisasi_table.php +++ b/database/migrations/2022_07_11_093130_create_pendapatan_realisasi_table.php @@ -30,6 +30,7 @@ class CreatePendapatanRealisasiTable extends Migration $table->string('rkud_kode_akun',50)->nullable(); $table->string('rkud_nama_akun',255)->nullable(); $table->string('rkud_jumlah',50)->nullable(); + $table->string('file_sts',50)->nullable(); $table->timestamps(); }); } diff --git a/resources/views/realisasi_pendapatan/index.blade.php b/resources/views/realisasi_pendapatan/index.blade.php index 067f09d..ad81b4a 100644 --- a/resources/views/realisasi_pendapatan/index.blade.php +++ b/resources/views/realisasi_pendapatan/index.blade.php @@ -161,9 +161,11 @@ let numStart = info.page; let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1; let btnEdit = {{ !empty(auth()->user()->can('Update DBH Realisasi Pendapatan'))?auth()->user()->can('Update DBH Realisasi Pendapatan'):strtolower(getRole())=="admin"?"true":"false" }} ?"":""; - btnEdit = aData["rkud_no_sts"] == null ? btnEdit : ""; let btnDelete = {{ !empty(auth()->user()->can('Delete DBH Realisasi Pendapatan'))?auth()->user()->can('Delete DBH Realisasi Pendapatan'):strtolower(getRole())=="admin"?"true":"false" }} ?"":""; - btnDelete = aData["rkud_no_sts"] == null ? btnDelete : ""; + @php if(getRole()!=="admin"){ @endphp + btnEdit = aData["rkud_no_sts"] == null ? btnEdit : ""; + btnDelete = aData["rkud_no_sts"] == null ? btnDelete : ""; + @php } @endphp $("td:eq(0)", nRow).html(index); $("td:eq(2)", nRow).html(separateNumberIndo(aData["simtrad4_kotor"])); $("td:eq(3)", nRow).html(separateNumberIndo(aData["simtrad4_potongan"])); diff --git a/resources/views/realisasi_pendapatan/show.blade.php b/resources/views/realisasi_pendapatan/show.blade.php index f58e7a4..6b8f285 100644 --- a/resources/views/realisasi_pendapatan/show.blade.php +++ b/resources/views/realisasi_pendapatan/show.blade.php @@ -26,7 +26,7 @@

STS

-
+ @csrf
@@ -49,7 +49,7 @@
- rkud_no_sts))?"form-control":"form-control-plaintext" }}" value="{{ empty($realisasi_pendapatan->rkud_nama_akun)?"-":$realisasi_pendapatan->rkud_nama_akun }}"readonly> + rkud_no_sts))?"form-control":"form-control-plaintext" }}" value="{{ empty($realisasi_pendapatan->rkud_nama_akun)?"-":$realisasi_pendapatan->rkud_nama_akun }}" readonly>
@@ -58,6 +58,13 @@ rkud_no_sts))?"form-control":"form-control-plaintext" }} number-separator-indo" value="{{ separateNumberIndo($realisasi_pendapatan->rkud_jumlah) }}" readonly>
+
+ +
+ file_sts)?"":"".$realisasi_pendapatan->file_sts."
"; ?> + rkud_no_sts)?"":"style='display:none;'" ?> type="file" name="file_sts" required> +
+
can("Input STS DBH Realisasi Pendapatan") && empty($realisasi_pendapatan->rkud_no_sts)){ ?>
@@ -85,6 +92,21 @@ $("#txt_simtrad4_bersih").val("{{ separateNumberIndo($realisasi_pendapatan->simtrad4_bersih) }}"); showRinciDBH({{ $realisasi_pendapatan->id_sps }}); + let validasi = ()=>{ + + if ($("#rkud_tgl").val() == ""){ + Swal.fire("Data STS belum lengkap !", '', 'error'); + return false; + } + + if ($("#rkud_jumlah").val()!=$("#txt_simtrad4_bersih").val()){ + Swal.fire("Jumlah pada STS harus sama dengan Rencana !", '', 'error'); + return false; + } + + return true; + } + getSTS = () =>{ if ($("#rkud_no_sts").val()==""){ Swal.fire("Harap isi nomor STS!", '', 'error'); @@ -99,6 +121,10 @@ success: function (data) { if (Object.keys(data).length == 0){ Swal.fire("Data STS tidak ditemukan !", '', 'error'); + $("#rkud_tgl").val(""); + $("#rkud_kode_akun").val(""); + $("#rkud_nama_akun").val(""); + $("#rkud_jumlah").val(""); }else{ $("#rkud_tgl").val(data.tgl_validasi); $("#rkud_kode_akun").val(data.kode_bas); @@ -122,6 +148,10 @@ } }); + $("#rkud_no_sts").on("blur", function(e){ + getSTS(); + }); + $("#frmrealisasipendapatan").on("submit",function(e){ e.preventDefault(); Swal.fire({ @@ -133,12 +163,8 @@ icon: "warning", }).then((result) => { if (result.isConfirmed) { - if ($("#rkud_jumlah").val()==$("#txt_simtrad4_bersih").val()){ - if (getSTS()){ - return e.currentTarget.submit(); - } - }else{ - Swal.fire("Jumlah pada STS harus sama dengan Rencana !", '', 'error'); + if (validasi()){ + return e.currentTarget.submit(); } } }) diff --git a/routes/web.php b/routes/web.php index 9139b5a..cd640f6 100644 --- a/routes/web.php +++ b/routes/web.php @@ -65,6 +65,7 @@ Route::group(['middleware' => 'auth'], function () { Route::group(['prefix' => 'realisasi-pendapatan'], function () { Route::post('/datatable', [RealisasiPendapatanController::class,'datatable']); Route::post('/{realisasiId}/sts', [RealisasiPendapatanController::class,'sts']); + Route::get('/{realisasi}/download-sts', [RealisasiPendapatanController::class,'downloadSts']); Route::get('/rinci-dbh', [RealisasiPendapatanController::class,'rinciDBH']); Route::post('/download', [RealisasiPendapatanController::class,'download']); });