Develop kontrak dan BAST

This commit is contained in:
Pusdatin BPKD Jkt
2022-08-18 15:55:11 +07:00
parent be57454faa
commit d83e63e525
8 changed files with 184 additions and 74 deletions
@@ -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!";
}