Update buat bast

This commit is contained in:
Pusdatin BPKD Jkt
2022-08-15 16:06:28 +07:00
parent 1b69790606
commit be57454faa
4 changed files with 182 additions and 0 deletions
@@ -477,6 +477,124 @@ class RealisasiBelanjaController extends Controller
} }
} }
protected function uploadFileBast($request)
{
$file = $request->file('file_bast');
if ($file){
$fileName = $file->getClientOriginalName();
$tujuan_upload = 'uploadFiles/kontrak/bast';
$file->move($tujuan_upload, $fileName);
return $fileName;
}
return false;
}
public function bast(Request $request, $id)
{
$BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew();
$req = $request->all();
$redirect = "/realisasi-belanja/".$id."/submit";
$action = "/realisasi-belanja/".$id."/bast";
// var_dump("WOY"); exit;
if ($request->isMethod('post')) {
try{
DB::beginTransaction();
$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"]);
$data["file_bast"] = $fileName;
$data["created_by"] = Auth::user()->id;
BelanjaRealisasiKontrak::create($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());
}
}
return view('realisasi_belanja.form_kontrak',compact("BelanjaRealisasi","action"));
}
public function bastUpdate(Request $request, $idBast)
{
$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());
}
}
return view('realisasi_belanja.form_kontrak',compact("BelanjaRealisasi","BelanjaRealisasiKontrak","action"));
}
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();
DB::commit();
return redirect(URL::to("/realisasi-belanja/".$BelanjaRealisasiKontrak->belanja_realisasi_id."/submit"))
->with('success','Data BAST Realisasi Belanja berhasil dihapus!');
}catch(Throwable $e){
DB::rollBack();
return redirect(URL::to("/realisasi-belanja/".$BelanjaRealisasiKontrak->belanja_realisasi_id."/submit"))
->with('error','Data BAST Realisasi Belanja gagal dihapus.');
}
}
public function downloadBast($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!";
}
}
public function download(Request $request) public function download(Request $request)
{ {
$post = $request->all(); $post = $request->all();
+22
View File
@@ -0,0 +1,22 @@
<?php
namespace App\Models;
use App\Traits\Uuids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Yajra\Oci8\Eloquent\OracleEloquent as Eloquent;
class BelanjaRealisasiBast extends Eloquent
{
use HasFactory;
protected $connection = 'Samasa';
protected $table = 'SAMASA.belanja_realisasi_bast';
protected $fillable = [
"id_kontrak",
"nomor_bast",
"tgl_bast",
"nominal_kontrak",
"file_kontrak",
"created_by"
];
}
@@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateBelanjaRealisasiBastTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('belanja_realisasi_bast', function (Blueprint $table) {
$table->id();
$table->integer("id_kontrak");
$table->string("nomor_bast",50);
$table->date("tgl_bast",50);
$table->decimal('nominal_bast', 19, 2);
$table->string("file_bast",100)->nullable();
$table->uuid("created_by");
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('belanja_realisasi_bast');
}
}
@@ -205,6 +205,11 @@
return nRow; return nRow;
}, },
"drawCallback": function( settings ) {
if (dtTable.page.info().recordsTotal == 0){
$("#upload_validated").prop("disabled", true)
}
},
"language": { "language": {
"lengthMenu": "Tampil _MENU_ data per Halaman", "lengthMenu": "Tampil _MENU_ data per Halaman",
"zeroRecords": "Data tidak ditemukan!", "zeroRecords": "Data tidak ditemukan!",