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'));
if ($permohonan) {
$permohonan->status_bayar = request()->get('status_bayar');
if($permohonan->jenis_penilaian_id==2) {
if ($permohonan->jenis_penilaian_id == 2) {
$permohonan->status = $status;
}
$permohonan->save();
// andy add, update status penawaran.status='spk'
// $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([
'status' => $status,
'updated_by' => Auth::id(),
@@ -109,7 +109,7 @@
/**
* Display the specified resource.
*/
public function show($id) {}
public function show($id) { }
/**
* Show the form for editing the specified resource.
@@ -117,7 +117,7 @@
public function edit($id)
{
$persetujuanPenawaran = PersetujuanPenawaran::where('id', $id)->with(
['penawaran.detail', 'penawaran.permohonan.debiture','permohonan'],
['penawaran.detail', 'penawaran.permohonan.debiture', 'permohonan'],
)->first();
return view('lpj::noc.form', compact('persetujuanPenawaran'));
}
@@ -173,18 +173,20 @@
$filteredRecords = $query->count();
// Get the data for the current page
$data = $query
->with(
[
'penawaran.permohonan.debiture',
'penawaran.permohonan.branch',
'permohonan.debiture',
'permohonan.branch',
'penawaran.detail',
'penawaran.persetujuan',
],
)->get();
$data = $query->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
$pageCount = ceil($totalRecords / $request->get('size'));

View File

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

View File

@@ -123,50 +123,19 @@
},
},
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 '';
},
title: 'Nomor Registrasi'
},
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: {
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: {
title: 'Tanggal Setor',
render: (item, data) => {
return `${window.formatTanggalIndonesia(data.created_at)}`;
},
},
nominal_bayar: {
title: 'Nominal Bayar',
render: (item, data) => {
return `${window.formatRupiah(data.nominal_bayar)}`;
},
},
bukti_ksl: {
title: 'Bukti KSL',
@@ -182,12 +151,6 @@
},
tanggal_penyelesaian: {
title: 'Tanggal Penyelesaian',
render: (item, data) => {
if(data.status==1) {
return `${window.formatTanggalIndonesia(data.updated_at)}`;
}
return "-";
},
},
actions: {
title: 'Action',