refactor(noc): optimalkan kode dan penyederhanaan logika dalam controller dan view

- Perbaiki dan konsistenkan penulisan conditional pada `NocController`.
- Sederhanakan logika pengambilan dan mapping data di controller.
- Hapus penggunaan fungsi render di view untuk data yang sudah diolah di controller.
- Refactor partial query logic di `PembayaranController` untuk efisiensi.
This commit is contained in:
Daeng Deni Mardaeni
2025-05-04 05:53:05 +07:00
parent 5cdc4b08b3
commit d63108dea1
3 changed files with 19 additions and 55 deletions

View File

@@ -63,14 +63,14 @@
$permohonan = Permohonan::find(request()->get('permohonan_id')); $permohonan = Permohonan::find(request()->get('permohonan_id'));
if ($permohonan) { if ($permohonan) {
$permohonan->status_bayar = request()->get('status_bayar'); $permohonan->status_bayar = request()->get('status_bayar');
if($permohonan->jenis_penilaian_id==2) { if ($permohonan->jenis_penilaian_id == 2) {
$permohonan->status = $status; $permohonan->status = $status;
} }
$permohonan->save(); $permohonan->save();
// andy add, update status penawaran.status='spk' // andy add, update status penawaran.status='spk'
// $penawaran = PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi)->first(); // $penawaran = PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi)->first();
if($permohonan->jenis_penilaian_id==2) { if ($permohonan->jenis_penilaian_id == 2) {
PenawaranTender::where('nomor_registrasi', $permohonan->nomor_registrasi)->update([ PenawaranTender::where('nomor_registrasi', $permohonan->nomor_registrasi)->update([
'status' => $status, 'status' => $status,
'updated_by' => Auth::id(), 'updated_by' => Auth::id(),
@@ -109,7 +109,7 @@
/** /**
* Display the specified resource. * Display the specified resource.
*/ */
public function show($id) {} public function show($id) { }
/** /**
* Show the form for editing the specified resource. * Show the form for editing the specified resource.
@@ -117,7 +117,7 @@
public function edit($id) public function edit($id)
{ {
$persetujuanPenawaran = PersetujuanPenawaran::where('id', $id)->with( $persetujuanPenawaran = PersetujuanPenawaran::where('id', $id)->with(
['penawaran.detail', 'penawaran.permohonan.debiture','permohonan'], ['penawaran.detail', 'penawaran.permohonan.debiture', 'permohonan'],
)->first(); )->first();
return view('lpj::noc.form', compact('persetujuanPenawaran')); return view('lpj::noc.form', compact('persetujuanPenawaran'));
} }
@@ -173,18 +173,20 @@
$filteredRecords = $query->count(); $filteredRecords = $query->count();
// Get the data for the current page // Get the data for the current page
$data = $query $data = $query->get();
->with(
[
'penawaran.permohonan.debiture',
'penawaran.permohonan.branch',
'permohonan.debiture',
'permohonan.branch',
'penawaran.detail',
'penawaran.persetujuan',
],
)->get();
$data = $data->map(function ($persetujuanPenawaran) {
return [
'id' => $persetujuanPenawaran->id,
'nomor_registrasi' => $persetujuanPenawaran->permohonan->nomor_registrasi ?? $persetujuanPenawaran->penawaran->nomor_registrasi,
'nama_debitur' => $persetujuanPenawaran->permohonan->debiture->name ?? $persetujuanPenawaran->penawaran->permohonan->debiture->name,
'cabang' => $persetujuanPenawaran->permohonan->branch->name ?? $persetujuanPenawaran->penawaran->permohonan->branch->name,
'tanggal_setor' => formatTanggalIndonesia($persetujuanPenawaran->created_at, true),
'nominal_bayar' => format_currency($persetujuanPenawaran->nominal_bayar ?? 0),
'bukti_ksl' => $persetujuanPenawaran->bukti_ksl ?? null,
'tanggal_penyelesaian' => formatTanggalIndonesia($persetujuanPenawaran->updated_at, true),
];
});
// Calculate the page count // Calculate the page count
$pageCount = ceil($totalRecords / $request->get('size')); $pageCount = ceil($totalRecords / $request->get('size'));

View File

@@ -263,8 +263,7 @@ class PembayaranController extends Controller
$subquery->select('permohonan_id') $subquery->select('permohonan_id')
->from('persetujuan_penawaran') ->from('persetujuan_penawaran')
->whereNotNull('permohonan_id'); ->whereNotNull('permohonan_id');
}) });
->orWhere('status', 'revisi-pembayaran');
}); });

View File

@@ -123,50 +123,19 @@
}, },
}, },
nomor_registrasi: { nomor_registrasi: {
title: 'Nomor Registrasi', title: 'Nomor Registrasi'
render: (item, data) => {
if(data.permohonan) {
return `${data.permohonan.nomor_registrasi}`;
} else if(data.penawaran) {
return `${data.penawaran.permohonan.nomor_registrasi}`;
}
return '';
},
}, },
nama_debitur: { nama_debitur: {
title: 'Nama Debitur', title: 'Nama Debitur',
render: (item, data) => {
if(data.permohonan) {
return `${data.permohonan.debiture.name}`;
} else if(data.penawaran) {
return `${data.penawaran.permohonan.debiture.name}`;
}
return '';
},
}, },
cabang: { cabang: {
title: 'Cabang', title: 'Cabang',
render: (item, data) => {
if(data.permohonan) {
return `${data.permohonan.branch.name}`;
} else if(data.penawaran) {
return `${data.penawaran.permohonan.branch.name}`;
}
return '';
},
}, },
tanggal_setor: { tanggal_setor: {
title: 'Tanggal Setor', title: 'Tanggal Setor',
render: (item, data) => {
return `${window.formatTanggalIndonesia(data.created_at)}`;
},
}, },
nominal_bayar: { nominal_bayar: {
title: 'Nominal Bayar', title: 'Nominal Bayar',
render: (item, data) => {
return `${window.formatRupiah(data.nominal_bayar)}`;
},
}, },
bukti_ksl: { bukti_ksl: {
title: 'Bukti KSL', title: 'Bukti KSL',
@@ -182,12 +151,6 @@
}, },
tanggal_penyelesaian: { tanggal_penyelesaian: {
title: 'Tanggal Penyelesaian', title: 'Tanggal Penyelesaian',
render: (item, data) => {
if(data.status==1) {
return `${window.formatTanggalIndonesia(data.updated_at)}`;
}
return "-";
},
}, },
actions: { actions: {
title: 'Action', title: 'Action',