Fix data retrieval and error handling in ProsesPenawaran

Enhanced data fetching to include 'permohonan' and 'debiture' relations. Improved error messaging and validations in multiple methods, ensuring more robust data processing. Removed unnecessary whitespace for code clarity.
This commit is contained in:
Daeng Deni Mardaeni
2024-11-04 16:53:16 +07:00
parent cd3b7301fc
commit e8ff13ce6a
2 changed files with 34 additions and 29 deletions

View File

@@ -75,7 +75,7 @@ class ProsesPenawaranController extends Controller
// Get the data for the current page // Get the data for the current page
//$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); //$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
$data = $query->with(['tujuanPenilaianKJPP'])->get(); $data = $query->with(['tujuanPenilaianKJPP','permohonan','permohonan.debiture'])->get();
// Calculate the page count // Calculate the page count
$pageCount = ceil($totalRecords / $request->get('size')); $pageCount = ceil($totalRecords / $request->get('size'));
@@ -110,13 +110,13 @@ class ProsesPenawaranController extends Controller
$id = $request->id; $id = $request->id;
$penawaran = PenawaranTender::find($id); $penawaran = PenawaranTender::find($id);
$penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id) $penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id)
->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id') ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id')
->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name') ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
->where('detail_penawaran.status','=',1) ->where('detail_penawaran.status','=',1)
->get(); ->get();
if ($penawaran) { if ($penawaran) {
$i=0; $i=0;
foreach($penawrandetails as $obj) foreach($penawrandetails as $obj)
{ {
@@ -156,11 +156,11 @@ class ProsesPenawaranController extends Controller
$dataPenawaranDetail = array(); $dataPenawaranDetail = array();
if (request()->ajax()) { if (request()->ajax()) {
$validator = ProsesPenawaranController::rulesEditnya($request, $id); $validator = ProsesPenawaranController::rulesEditnya($request, $id);
if ($validator['fails']) { if ($validator['fails']) {
$data['message'] = $validator['errors']; $data['message'] = $validator['errors'];
$data['status'] = 'error'; $data['status'] = 'error';
} }
else else
{ {
try { try {
@@ -174,9 +174,9 @@ class ProsesPenawaranController extends Controller
{ {
$file_tmp = $request->file('dokumen_persetujuan'); $file_tmp = $request->file('dokumen_persetujuan');
$folderPath = 'uploads/penawaran/'; $folderPath = 'uploads/penawaran/';
if ($file_tmp->isValid()) if ($file_tmp->isValid())
{ {
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension $myFile=$file_tmp->getClientOriginalName(); // nama file with extension
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension $file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
$extension = $file_tmp->getClientOriginalExtension(); $extension = $file_tmp->getClientOriginalExtension();
@@ -205,16 +205,16 @@ class ProsesPenawaranController extends Controller
{ {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message'] ['check_file'] = array("Silahkan upload file"); $data['message'] ['check_file'] = array("Silahkan upload file");
} }
} catch (Exception $e) { } catch (Exception $e) {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.'); $data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
} }
} }
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message'] ['message_ajax'] = array("no ajax request"); $data['message'] ['message_ajax'] = array("no ajax request");
@@ -257,12 +257,12 @@ class ProsesPenawaranController extends Controller
$dataPenawaran = array(); $dataPenawaran = array();
$penawaran = PenawaranTender::find($id); $penawaran = PenawaranTender::find($id);
$checkActiveDateRange = checkActiveDateRangePenawaran($id); $checkActiveDateRange = checkActiveDateRangePenawaran($id);
// cek masa aktif penawaran // cek masa aktif penawaran
if($checkActiveDateRange) if($checkActiveDateRange)
{ {
$checkKelengkapanDetailKJPP = checkKelengkapanDetailKJPP($id); $checkKelengkapanDetailKJPP = checkKelengkapanDetailKJPP($id);
if($checkKelengkapanDetailKJPP) if($checkKelengkapanDetailKJPP)
{ {
DB::beginTransaction(); DB::beginTransaction();
@@ -271,43 +271,43 @@ class ProsesPenawaranController extends Controller
'updated_by' => Auth::id(), 'updated_by' => Auth::id(),
'updated_at' => now() 'updated_at' => now()
]; ];
$dataPermohonan = ['status' => 'persetujuan-penawaran', $dataPermohonan = ['status' => 'persetujuan-penawaran',
'updated_by' => Auth::id(), 'updated_by' => Auth::id(),
'updated_at' => now() 'updated_at' => now()
]; ];
$permohonan = Permohonan::where('nomor_registrasi','=', $penawaran->nomor_registrasi)->first(); $permohonan = Permohonan::where('nomor_registrasi','=', $penawaran->nomor_registrasi)->first();
$penawaran->update($dataPenawaran); $penawaran->update($dataPenawaran);
$permohonan->update($dataPermohonan); $permohonan->update($dataPermohonan);
DB::commit(); DB::commit();
$data['message'] ['message_success'] = array('Sukses melakukan Proses Penawaran'); $data['message'] ['message_success'] = array('Sukses melakukan Proses Penawaran');
$data['status'] = 'success'; $data['status'] = 'success';
} catch (Exception $e) { } catch (Exception $e) {
DB::rollBack(); DB::rollBack();
// dd($e); // dd($e);
$data['message'] ['message_error_try_catch'] = array("Gagal melakukan Proses Penawaran"); $data['message'] ['message_error_try_catch'] = array("Gagal melakukan Proses Penawaran");
$data['status'] = 'error'; $data['status'] = 'error';
} }
} }
else else
{ {
$data['message'] ['cek_kelengkapan_data'] = array("Silahkan lengkapi data KJPP"); $data['message'] ['cek_kelengkapan_data'] = array("Silahkan lengkapi data KJPP");
$data['status'] = 'error'; $data['status'] = 'error';
} }
} }
else else
{ {
$data['message'] ['active_date_range'] = array("Penawaran sudah di tutup"); $data['message'] ['active_date_range'] = array("Penawaran sudah di tutup");
$data['status'] = 'error'; $data['status'] = 'error';
} }
return response()->json($data); return response()->json($data);
} }
@@ -326,12 +326,12 @@ class ProsesPenawaranController extends Controller
'updated_at' => now() 'updated_at' => now()
]; ];
$detailpenawaran->update($dataDetailPenawaran); $detailpenawaran->update($dataDetailPenawaran);
$data['status'] = 'success'; $data['status'] = 'success';
$data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName); $data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName);
} catch (Exception $e) { } catch (Exception $e) {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message'] ['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName); $data['message'] ['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
} }

View File

@@ -135,8 +135,13 @@
debiture: { debiture: {
title: 'Nama Debitur', title: 'Nama Debitur',
render: (item, data) => { render: (item, data) => {
return `${data.debiture.name}` if(data.permohonan) {
return `${data.permohonan.debiture.name}`;
}
return "-";
} }
}, },
start_date: { start_date: {
title: 'Tanggal Penawaran', title: 'Tanggal Penawaran',