diff --git a/app/Http/Controllers/RealisasiBelanjaController.php b/app/Http/Controllers/RealisasiBelanjaController.php
index ca6e0d3..8d202f7 100644
--- a/app/Http/Controllers/RealisasiBelanjaController.php
+++ b/app/Http/Controllers/RealisasiBelanjaController.php
@@ -9,6 +9,7 @@ use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Facades\Excel;
use App\Models\BelanjaRealisasi;
use App\Models\BelanjaRealisasiKontrak;
+use App\Models\BelanjaRealisasiBast;
use App\Models\TempRealisasiBelanja;
use App\Models\VwAkbSpdRealRsk;
use App\Models\UnitSatuan;
@@ -17,6 +18,7 @@ use App\Imports\RealisasiBelanjaImport;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Illuminate\Support\Facades\URL;
+use Illuminate\Support\Facades\File;
class RealisasiBelanjaController extends Controller
{
@@ -48,6 +50,7 @@ class RealisasiBelanjaController extends Controller
public function submit(Request $request, $id)
{
+
$BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew();
// var_dump($BelanjaRealisasi->kode_rsk,$BelanjaRealisasi->kode_sub_kegiatan); exit;
$this->setTitle("Realisasi Belanja");
@@ -358,12 +361,13 @@ class RealisasiBelanjaController extends Controller
}
}
- protected function uploadFileKontrak($request)
+ protected function uploadFileKontrak($request, $id)
{
$file = $request->file('file_kontrak');
if ($file){
$fileName = $file->getClientOriginalName();
- $tujuan_upload = 'uploadFiles/kontrak';
+ $tujuan_upload = config('constants.upload_path_kontrak').$id;
+ File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true);
$file->move($tujuan_upload, $fileName);
return $fileName;
}
@@ -383,7 +387,7 @@ class RealisasiBelanjaController extends Controller
$this->validate($request, [
'file_kontrak' => 'required|mimes:pdf',
]);
- $fileName = $this->uploadFileKontrak($request);
+ $fileName = $this->uploadFileKontrak($request, $id);
BelanjaRealisasiKontrak::where("belanja_realisasi_id",$id)->where("nomor_kontrak",$req["nomor_kontrak"])->firstOrNew()->delete();
$data["belanja_realisasi_id"] = $id;
@@ -391,7 +395,7 @@ class RealisasiBelanjaController extends Controller
$data["tgl_kontrak"] = ConvertIndoDate($req["tgl_kontrak"]);
$data["nominal_kontrak"] = replaceMoney($req["nominal_kontrak"]);
$data["file_kontrak"] = $fileName;
- $data["nomor_bast"] = $req["nomor_bast"];
+ $data["nomor_bast"] = "";
$data["created_by"] = Auth::user()->id;
BelanjaRealisasiKontrak::create($data);
@@ -421,8 +425,8 @@ class RealisasiBelanjaController extends Controller
$data["nomor_kontrak"] = $req["nomor_kontrak"];
$data["tgl_kontrak"] = ConvertIndoDate($req["tgl_kontrak"]);
$data["nominal_kontrak"] = replaceMoney($req["nominal_kontrak"]);
- $data["nomor_bast"] = $req["nomor_bast"];
- $fileName = $this->uploadFileKontrak($request);
+ $data["nomor_bast"] = "";
+ $fileName = $this->uploadFileKontrak($request, $BelanjaRealisasi->id);
if ($fileName){
$data["file_kontrak"] = $fileName;
}
@@ -443,14 +447,25 @@ class RealisasiBelanjaController extends Controller
public function destroyKontrak($id)
{
try{
+
DB::beginTransaction();
+
$BelanjaRealisasiKontrak = BelanjaRealisasiKontrak::where("id",$id)->firstorNew();
- $alamatFile = "uploadFiles/kontrak/".$BelanjaRealisasiKontrak->file_kontrak;
+ $alamatFile = config('constants.upload_path_kontrak').$BelanjaRealisasiKontrak->belanja_realisasi_id."/".$BelanjaRealisasiKontrak->file_kontrak;
if (file_exists($alamatFile)){
unlink($alamatFile);
}
+
+ $basts = BelanjaRealisasiBast::where("id_kontrak",$id)->get();
+ foreach($basts as $bast)
+ {
+ $this->delBast($bast->id);
+ }
+
BelanjaRealisasiKontrak::where("id",$id)->delete();
+
DB::commit();
+
return redirect(URL::to("/realisasi-belanja/".$BelanjaRealisasiKontrak->belanja_realisasi_id."/submit"))
->with('success','Data Kontrak Realisasi Belanja berhasil dihapus!');
@@ -471,18 +486,19 @@ class RealisasiBelanjaController extends Controller
'Content-Disposition' => 'attachment;filename='.$BelanjaRealisasiKontrak->file_kontrak
];
if ($BelanjaRealisasiKontrak){
- return response()->download("uploadFiles/kontrak/".$BelanjaRealisasiKontrak->file_kontrak, $BelanjaRealisasiKontrak->file_kontrak, $headers);
+ return response()->download(config('constants.upload_path_kontrak').$BelanjaRealisasiKontrak->file_kontrak, $BelanjaRealisasiKontrak->file_kontrak, $headers);
}else{
echo "File tidak ditemukan!";
}
}
- protected function uploadFileBast($request)
+ protected function uploadFileBast($request, $id)
{
$file = $request->file('file_bast');
if ($file){
$fileName = $file->getClientOriginalName();
- $tujuan_upload = 'uploadFiles/kontrak/bast';
+ $tujuan_upload = config('constants.upload_path_kontrak').$id."/bast";
+ File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true);
$file->move($tujuan_upload, $fileName);
return $fileName;
}
@@ -491,10 +507,17 @@ class RealisasiBelanjaController extends Controller
public function bast(Request $request, $id)
{
- $BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew();
+ $kontrak = BelanjaRealisasiKontrak::where("id", $id)->firstOrNew();
+ $BelanjaRealisasiBast = BelanjaRealisasiBast::where("id_kontrak",$id)->get();
+ return view('realisasi_belanja.list_bast',compact("BelanjaRealisasiBast","kontrak"));
+ }
+
+ public function bastCreate(Request $request, $idKontrak)
+ {
$req = $request->all();
- $redirect = "/realisasi-belanja/".$id."/submit";
- $action = "/realisasi-belanja/".$id."/bast";
+ $kontrak = BelanjaRealisasiKontrak::where("id", $idKontrak)->firstOrNew();
+ $redirect = "/realisasi-belanja/".$kontrak->belanja_realisasi_id."/submit";
+ $action = "/realisasi-belanja/".$idKontrak."/bast/add";
// var_dump("WOY"); exit;
if ($request->isMethod('post')) {
try{
@@ -502,16 +525,15 @@ class RealisasiBelanjaController extends Controller
$this->validate($request, [
'file_bast' => 'required|mimes:pdf',
]);
- $fileName = $this->uploadFileBast($request);
-
- BelanjaRealisasiKontrak::where("id_kontrak",$id)->where("nomor_bast",$req["nomor_bast"])->firstOrNew()->delete();
- $data["belanja_realisasi_id"] = $id;
- $data["nomor_bast"] = $req["nomor_kontrak"];
- $data["tgl_bast"] = ConvertIndoDate($req["tgl_kontrak"]);
- $data["nominal_bast"] = replaceMoney($req["nominal_kontrak"]);
+ $fileName = $this->uploadFileBast($request, $kontrak->belanja_realisasi_id);
+ BelanjaRealisasiBast::where("id_kontrak",$idKontrak)->where("nomor_bast",$req["nomor_bast"])->firstOrNew()->delete();
+ $data["id_kontrak"] = $idKontrak;
+ $data["nomor_bast"] = $req["nomor_bast"];
+ $data["tgl_bast"] = ConvertIndoDate($req["tgl_bast"]);
+ $data["nominal_bast"] = replaceMoney($req["nominal_bast"]);
$data["file_bast"] = $fileName;
$data["created_by"] = Auth::user()->id;
- BelanjaRealisasiKontrak::create($data);
+ BelanjaRealisasiBast::create($data);
DB::commit();
@@ -523,51 +545,25 @@ class RealisasiBelanjaController extends Controller
}
}
- return view('realisasi_belanja.form_kontrak',compact("BelanjaRealisasi","action"));
+ return view('realisasi_belanja.form_bast',compact("kontrak","action"));
}
- public function bastUpdate(Request $request, $idBast)
+ protected function delBast($id)
{
- $BelanjaRealisasiBast = BelanjaRealisasiBast::where("id",$idBast)->firstorNew();
- // $BelanjaRealisasi = BelanjaRealisasi::where("id", $BelanjaRealisasiKontrak->belanja_realisasi_id)->firstOrNew();
- $req = $request->all();
- $redirect = "/realisasi-belanja/".$BelanjaRealisasiKontrak->belanja_realisasi_id."/submit";
- $action = "/realisasi-belanja/".$idKontrak."/bast";
- if ($request->isMethod('put')) {
- try{
- DB::beginTransaction();
- $data["nomor_kontrak"] = $req["nomor_kontrak"];
- $data["tgl_kontrak"] = ConvertIndoDate($req["tgl_kontrak"]);
- $data["nominal_kontrak"] = replaceMoney($req["nominal_kontrak"]);
- $data["nomor_bast"] = $req["nomor_bast"];
- $fileName = $this->uploadFileKontrak($request);
- if ($fileName){
- $data["file_kontrak"] = $fileName;
- }
- $BelanjaRealisasiKontrak->update($data);
- DB::commit();
-
- return redirect($redirect)->with('success','Data BAST berhasil di input!');
- }catch(\Exception $e){
- throw new \Exception($e->getMessage());
- DB::rollBack();
- return redirect($redirect)->with('error',$e->getMessage());
- }
+ $BelanjaRealisasiBast = BelanjaRealisasiBast::where("id",$id)->firstorNew();
+ $BelanjaRealisasiKontrak = BelanjaRealisasiKontrak::where("id",$BelanjaRealisasiBast->id_kontrak)->firstorNew();
+ $alamatFile = config('constants.upload_path_kontrak').$BelanjaRealisasiKontrak->belanja_realisasi_id."/bast/".$BelanjaRealisasiBast->file_bast;
+ if (file_exists($alamatFile)){
+ unlink($alamatFile);
}
-
- return view('realisasi_belanja.form_kontrak',compact("BelanjaRealisasi","BelanjaRealisasiKontrak","action"));
+ return BelanjaRealisasiBast::where("id",$id)->delete();
}
public function destroyBast($id)
{
try{
DB::beginTransaction();
- $BelanjaRealisasiKontrak = BelanjaRealisasiKontrak::where("id",$id)->firstorNew();
- $alamatFile = "uploadFiles/kontrak/".$BelanjaRealisasiKontrak->file_kontrak;
- if (file_exists($alamatFile)){
- unlink($alamatFile);
- }
- BelanjaRealisasiKontrak::where("id",$id)->delete();
+ $this->delBast($id);
DB::commit();
return redirect(URL::to("/realisasi-belanja/".$BelanjaRealisasiKontrak->belanja_realisasi_id."/submit"))
->with('success','Data BAST Realisasi Belanja berhasil dihapus!');
@@ -589,7 +585,7 @@ class RealisasiBelanjaController extends Controller
'Content-Disposition' => 'attachment;filename='.$BelanjaRealisasiKontrak->file_kontrak
];
if ($BelanjaRealisasiKontrak){
- return response()->download("uploadFiles/kontrak/".$BelanjaRealisasiKontrak->file_kontrak, $BelanjaRealisasiKontrak->file_kontrak, $headers);
+ return response()->download(config('constants.upload_path_kontrak').$BelanjaRealisasiKontrak->file_kontrak, $BelanjaRealisasiKontrak->file_kontrak, $headers);
}else{
echo "File tidak ditemukan!";
}
diff --git a/app/Models/BelanjaRealisasiBast.php b/app/Models/BelanjaRealisasiBast.php
index 905bde1..8f67455 100644
--- a/app/Models/BelanjaRealisasiBast.php
+++ b/app/Models/BelanjaRealisasiBast.php
@@ -15,8 +15,8 @@ class BelanjaRealisasiBast extends Eloquent
"id_kontrak",
"nomor_bast",
"tgl_bast",
- "nominal_kontrak",
- "file_kontrak",
+ "nominal_bast",
+ "file_bast",
"created_by"
];
}
diff --git a/config/constants.php b/config/constants.php
new file mode 100644
index 0000000..800d47e
--- /dev/null
+++ b/config/constants.php
@@ -0,0 +1,13 @@
+ "uploadFiles/",
+ 'upload_path_kontrak' => "uploadFiles/kontrak/",
+ 'download_path' => "downloadFiles/",
+ 'options' => [
+ 'option_attachment' => '13',
+ 'option_email' => '14',
+ 'option_monetery' => '15',
+ 'option_ratings' => '16',
+ 'option_textarea' => '17',
+ ]
+ ];
\ No newline at end of file
diff --git a/resources/views/realisasi_belanja/form_bast.blade.php b/resources/views/realisasi_belanja/form_bast.blade.php
new file mode 100644
index 0000000..4decefc
--- /dev/null
+++ b/resources/views/realisasi_belanja/form_bast.blade.php
@@ -0,0 +1,35 @@
+
+
\ No newline at end of file
diff --git a/resources/views/realisasi_belanja/form_kontrak.blade.php b/resources/views/realisasi_belanja/form_kontrak.blade.php
index 08a145c..5b7350f 100644
--- a/resources/views/realisasi_belanja/form_kontrak.blade.php
+++ b/resources/views/realisasi_belanja/form_kontrak.blade.php
@@ -22,12 +22,6 @@
-
+
-
AKB vs REALISASI
@@ -131,8 +140,17 @@
jenis_dana) == "DAK" && strtoupper($BelanjaRealisasi->sub_jenis_dana) == "FISIK") { ?>
+
-
KONTRAK = Auth::user()->can("Create Kontrak")?'[
Tambah Kontrak ]':'' ?>
No
@@ -140,7 +158,6 @@
Tanggal
Jumlah
File
- Nomor BAST
can("Create Kontrak")){ ?>
@@ -149,20 +166,20 @@
$kontrak){ ?>
-
+
{{ $key+1 }}
{{ $kontrak->nomor_kontrak }}
{{ date("d-m-Y",strtotime($kontrak->tgl_kontrak)) }}
{{ separateNumberIndo($kontrak->nominal_kontrak) }}
= empty($kontrak->file_kontrak)?"-":"id ."/download-kontrak")."'>".$kontrak->file_kontrak." " ?>
- {{ $kontrak->nomor_bast }}
can("Create Kontrak")){ ?>
@@ -179,8 +196,17 @@
+
-
REALISASI
Jumlah Realisasi
diff --git a/routes/web.php b/routes/web.php
index b9a3059..05fb578 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -74,13 +74,19 @@ Route::group(['middleware' => 'auth'], function () {
Route::get('/{id}/inputRealisasi', [RealisasiBelanjaController::class,'inputRealisasi']);
Route::post('/{id}/inputRealisasi', [RealisasiBelanjaController::class,'inputRealisasi']);
Route::delete('/delete-detail/{id}', [RealisasiBelanjaController::class,'deleteDetail']);
+ Route::post('/download', [RealisasiBelanjaController::class,'download']);
+
Route::get('/{id}/kontrak', [RealisasiBelanjaController::class,'kontrak']);
Route::post('/{id}/kontrak', [RealisasiBelanjaController::class,'kontrak']);
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::post('/download', [RealisasiBelanjaController::class,'download']);
+
+ Route::get('/{idKontrak}/bast', [RealisasiBelanjaController::class,'bast']);
+ Route::delete('/{idKontrak}/bast', [RealisasiBelanjaController::class,'destroyBast']);
+ Route::get('/{idKontrak}/bast/add', [RealisasiBelanjaController::class,'bastCreate']);
+ Route::post('/{idKontrak}/bast/add', [RealisasiBelanjaController::class,'bastCreate']);
});
Route::resource('realisasi-belanja', RealisasiBelanjaController::class);