🔧 refactor(noc): Integrasi Bucok & pembersihan kode NocController

- Tambah import model Bucok di NocController
- Refactor method update(): hapus variabel & logic status usang
- Update otomatis Bucok setelah NOC disimpan (nominal, tanggal, status)
- Gunakan where()->first() untuk cari record Bucok berdasarkan nomor_tiket
- Hapus 26 baris komentar dead code & filter whereHas('noc') di penyelesaian()
- Perbaiki formatting, indentasi, dan tambah blank line untuk readability
- Gunakan fallback tanggal penyelesaian (date('Y-m-d')) jika kosong
- Terapkan null coalescing operator (??) untuk handle nilai null
- Sinkronisasi status penyelesaian NOC ↔️ Bucok & kode lebih bersih
This commit is contained in:
Daeng Deni Mardaeni
2025-09-16 09:44:31 +07:00
parent bc35785c9c
commit 81159983cf

View File

@@ -6,6 +6,7 @@
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Modules\Lpj\Http\Requests\NocRequest; use Modules\Lpj\Http\Requests\NocRequest;
use Modules\Lpj\Models\Bucok;
use Modules\Lpj\Models\Noc; use Modules\Lpj\Models\Noc;
use Modules\Lpj\Models\PersetujuanPenawaran; use Modules\Lpj\Models\PersetujuanPenawaran;
use Modules\Lpj\Models\JenisPenilaian; use Modules\Lpj\Models\JenisPenilaian;
@@ -49,15 +50,12 @@
{ {
$validated = $request->validated(); $validated = $request->validated();
$validated['updated_by'] = Auth::id(); $validated['updated_by'] = Auth::id();
if (request()->get('status_bayar') == "sudah_bayar") { if (request()->get('status_bayar') == "sudah_bayar") {
$validated['status'] = '1'; $validated['status'] = '1';
$status = "spk";
} else {
$status = "persetujuan-penawaran";
} }
$dataNoc = [ $dataNoc = [
'nominal_bayar' => $validated['nominal_bayar'], 'nominal_bayar' => $validated['nominal_bayar'],
'total_pembukuan' => $validated['total_pembukuan'], 'total_pembukuan' => $validated['total_pembukuan'],
@@ -98,26 +96,11 @@
} }
$noc->save(); $noc->save();
/* Update the status of the related permohonan to 'spk' $bucok = Bucok::where('nomor_tiket', $noc->nomor_tiket)->first();
$permohonan = Permohonan::find(request()->get('permohonan_id')); $bucok->nominal_penyelesaian = $noc->total_pembukuan ?? '';
if ($permohonan) { $bucok->tanggal_penyelesaian = $noc->tanggal_pembayaran ?? date('Y-m-d');
$permohonan->status_bayar = request()->get('status_pembayar'); $bucok->penyelesaian = 'Selesai';
if ($permohonan->jenis_penilaian_id == 2) { $bucok->save();
$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) {
PenawaranTender::where('nomor_registrasi', $permohonan->nomor_registrasi)->update([
'status' => $status,
'updated_by' => Auth::id(),
'updated_at' => now(),
]);
}
// andy add, update status penawaran.status='spk'
}*/
return redirect() return redirect()
->route('noc.index')->with('success', 'NOC berhasil disimpan.'); ->route('noc.index')->with('success', 'NOC berhasil disimpan.');
@@ -130,6 +113,7 @@
{ {
$validated = $request->validated(); $validated = $request->validated();
if($request->get('is_memo')){ if($request->get('is_memo')){
$memo = Noc::find($request->get('is_memo')); $memo = Noc::find($request->get('is_memo'));
@@ -332,9 +316,7 @@
$query = PersetujuanPenawaran::query(); $query = PersetujuanPenawaran::query();
// Filter for penyelesaian (where memo_penyelesaian is not null) // Filter for penyelesaian (where memo_penyelesaian is not null)
$query->whereHas('noc', function($q) {
$q->whereNotNull('memo_penyelesaian');
});
// Apply search filter if provided // Apply search filter if provided
if ($request->has('search') && !empty($request->get('search'))) { if ($request->has('search') && !empty($request->get('search'))) {