diff --git a/app/Http/Controllers/LaporanController.php b/app/Http/Controllers/LaporanController.php index 3057ed5..3d80fd6 100644 --- a/app/Http/Controllers/LaporanController.php +++ b/app/Http/Controllers/LaporanController.php @@ -31,11 +31,22 @@ class LaporanController extends Controller /** * Show the specified resource. */ - public function show($id) {} + public function show($id) { + $permohonan = Permohonan::with([ + 'penilai'])->find($id); + return view('lpj::laporan.show', compact('permohonan')); + } /** * Store form inspeksi. */ - public function store(Request $request) {} + public function store(Request $request) { + $permohonan = Permohonan::find($request->permohonan_id); + if($request->nilai_liquidasi) { + $permohonan->nilai_liquidasi = $request->liquidasi; + $permohonan->save(); + return redirect()->route('laporan.index')->with('success', 'Nilai Liquidasi updated successfully'); + } + } public function update(Request $request, $id) {} @@ -46,7 +57,11 @@ class LaporanController extends Controller } // Retrieve data from the database - $query = Permohonan::query()->whereIn('status',['proses-laporan','done']); + $query = Permohonan::query()->whereIn('status',['proses-laporan','done'])->whereNotNull('approval_so_at')->whereNotNull('approval_eo_at')->where(function ($q) { + $q->whereIn('nilai_plafond_id', [1,4]) + ->whereNotNull('approval_dd_at') + ->orWhereIn('nilai_plafond_id', [2,3]); + }); $query = $query->orderBy('nomor_registrasi', 'desc'); // Apply search filter if provided diff --git a/app/Http/Controllers/PembayaranController.php b/app/Http/Controllers/PembayaranController.php index 729d0a3..ada9491 100644 --- a/app/Http/Controllers/PembayaranController.php +++ b/app/Http/Controllers/PembayaranController.php @@ -173,14 +173,30 @@ if ($request->keterangan) { $data['approve_keterangan_bayar'] = $request->keterangan; } - $output['data'] = $data; - $modal = Permohonan::find($id); - $modal->update($data); - // + // Update the status of the related permohonan to 'spk' + $permohonan = Permohonan::find($id); + + if ($permohonan) { + $data['status_bayar'] = 'sudah_bayar'; + if($permohonan->jenis_penilaian_id == 2) { + $data['status'] = 'spk'; + } + + $permohonan->update($data); + + if($permohonan->jenis_penilaian_id == 2) { + PenawaranTender::where('nomor_registrasi', $permohonan->nomor_registrasi)->update([ + 'status' => 'spk', + 'updated_by' => Auth::id(), + 'updated_at' => now(), + ]); + } + } + $output['status'] = 'success'; - $output['message'] = ['Otorisasi' . $modal->nomor_registrasi . 'berhasil di lakukan']; + $output['message'] = ['Otorisasi' . $permohonan->nomor_registrasi . 'berhasil di lakukan']; } catch (Exception $e) { $output['status'] = 'error'; $output['message'] = ['Otorisasi gagal di lakukan.']; diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index 39af828..faf91ea 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -550,7 +550,7 @@ class PenilaianController extends Controller $filteredRecords = $query->count(); // Ambil data dengan relasi - $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'approveSo'])->get(); + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'approveSo', 'approveEo', 'approveDd'])->get(); // Hitung jumlah halaman diff --git a/app/Http/Controllers/PersetujuanPenawaranController.php b/app/Http/Controllers/PersetujuanPenawaranController.php index 6172030..1486fbe 100644 --- a/app/Http/Controllers/PersetujuanPenawaranController.php +++ b/app/Http/Controllers/PersetujuanPenawaranController.php @@ -67,24 +67,6 @@ $persetujuanPenawaran->save(); - // Update the status of the related permohonan to 'spk' - $permohonan = Permohonan::find(request()->get('permohonan_id')); - if ($permohonan) { - $permohonan->status_bayar = request()->get('status_bayar'); - $permohonan->status = 'noc'; - $permohonan->save(); - - // andy add, update status penawaran.status='spk' - // $penawaran = PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi)->first(); - PenawaranTender::where('nomor_registrasi', $permohonan->nomor_registrasi)->update([ - 'status' => 'noc', - 'updated_by' => Auth::id(), - 'updated_at' => now(), - ]); - // andy add, update status penawaran.status='spk' - - } - return redirect() ->route('persetujuan-penawaran.index')->with('success', 'Persetujuan Penawaran berhasil disimpan.'); } diff --git a/app/Http/Controllers/RegistrasiFinalController.php b/app/Http/Controllers/RegistrasiFinalController.php index 435496b..d2bb6fa 100644 --- a/app/Http/Controllers/RegistrasiFinalController.php +++ b/app/Http/Controllers/RegistrasiFinalController.php @@ -46,12 +46,11 @@ } // Retrieve data from the database - $query = PenawaranTender::with(['permohonan', 'tujuanPenilaianKjpp'])->whereHas( - 'permohonan', - function ($q) { - $q->where('status', '=', 'spk'); - }, - )->withCount('penawarandetails'); + $query =PenawaranTender::query() + ->select('penawaran.*', 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name') + ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id') + ->where('penawaran.status','=','spk') + ->withCount('penawarandetails'); // Apply search filter if provided if ($request->has('search') && !empty($request->get('search'))) { diff --git a/app/Models/Permohonan.php b/app/Models/Permohonan.php index 0ed5c0a..562da21 100644 --- a/app/Models/Permohonan.php +++ b/app/Models/Permohonan.php @@ -161,6 +161,10 @@ return $this->belongsTo(Penilaian::class, 'nomor_registrasi', 'nomor_registrasi'); } + public function penilai(){ + return $this->belongsTo(Penilai::class, 'id', 'permohonan_id'); + } + public function penawaranTender() { return $this->belongsTo(PenawaranTender::class, 'nomor_registrasi', 'nomor_registrasi'); diff --git a/database/migrations/2024_12_31_020608_update_permohonan_table.php b/database/migrations/2024_12_31_020608_update_permohonan_table.php new file mode 100644 index 0000000..e9f71eb --- /dev/null +++ b/database/migrations/2024_12_31_020608_update_permohonan_table.php @@ -0,0 +1,28 @@ +string('nilai_liquidasi')->nullable()->after('nilai_plafond_id'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('permohonan', function (Blueprint $table) { + $table->dropColumn('nilai_liquidasi'); + }); + } +}; diff --git a/module.json b/module.json index 9f089e1..f1a7700 100644 --- a/module.json +++ b/module.json @@ -14,7 +14,7 @@ "menu": { "otorisator": [ { - "title": "Permohonan", + "title": "Otorisasi Permohonan", "path": "authorization", "icon": "ki-filled ki-security-user text-lg text-info", "classes": "", @@ -25,6 +25,19 @@ "pemohon-eo" ] }, + { + "title": "Otorisasi Pembatalan Permohonan", + "path": "otorisator.pembatalan", + "icon": "ki-filled ki-file-deleted text-lg text-info", + "classes": "", + "attributes": [], + "permission": "", + "roles": [ + "administrator", + "senior-officer", + "pemohon-eo" + ] + }, { "title": "Otorisasi Penawaran", "path": "otorisasitender.penawaran", @@ -40,7 +53,7 @@ ] }, { - "title": "Pembayaran", + "title": "Otorisasi Pembayaran", "path": "pembayaran.approval", "icon": "ki-filled ki-ensure text-lg text-info", "classes": "", @@ -49,12 +62,11 @@ "roles": [ "administrator", "admin", - "EO Appraisal", - "DD Appraisal" + "pemohon-eo" ] }, { - "title": "Pelaporan", + "title": "Otorisasi Pelaporan", "path": "otorisator.pelaporan", "icon": "ki-filled ki-filter-tablet text-lg text-info", "classes": "", @@ -68,21 +80,7 @@ ] }, { - "title": "Pembatalan", - "path": "otorisator.pembatalan", - "icon": "ki-filled ki-file-deleted text-lg text-info", - "classes": "", - "attributes": [], - "permission": "", - "roles": [ - "administrator", - "senior-officer", - "EO Appraisal", - "DD Appraisal" - ] - }, - { - "title": "SLA", + "title": "Otorisasi SLA", "path": "otorisator.sla", "icon": "ki-filled ki-calendar-tick text-lg text-info", "classes": "", @@ -522,17 +520,6 @@ "admin" ] }, - { - "title": "SLA", - "path": "basicdata.sla", - "classes": "", - "attributes": [], - "permission": "", - "roles": [ - "administrator", - "admin" - ] - }, { "title": "Bentuk", "path": "basicdata.bentuk-tanah", diff --git a/resources/views/activity/progres_activity/index.blade.php b/resources/views/activity/progres_activity/index.blade.php index 1f706d8..7f97ae8 100644 --- a/resources/views/activity/progres_activity/index.blade.php +++ b/resources/views/activity/progres_activity/index.blade.php @@ -94,7 +94,7 @@
| - Bukti KSL - - | -- Tanggal Penyelesaian + | + Bukti Bayar | @@ -80,6 +76,11 @@ | ++ Keterangan + + | +Action | + Jenis Penilaian + + | Status @@ -135,6 +139,12 @@ return `${data.tujuan_penilaian.name}`; }, }, + jenis_penilaian_id: { + title: 'Jenis Penilaian', + render: (item, data) => { + return `${data.jenis_penilaian.name}`; + }, + }, status: { title: 'Status' }, diff --git a/resources/views/penilaian/otorisator/index.blade.php b/resources/views/penilaian/otorisator/index.blade.php index 5c09fa6..b00b238 100644 --- a/resources/views/penilaian/otorisator/index.blade.php +++ b/resources/views/penilaian/otorisator/index.blade.php @@ -259,7 +259,7 @@ `; - } else if ((isAdmin || userRoles.includes('DD Appraisal')) && data.approval_eo && !data.approval_dd) { + } else if ((isAdmin || userRoles.includes('DD Appraisal')) && data.approval_eo && !data.approval_dd && [1, 4].includes(data.nilai_plafond_id)) { buttons += ` diff --git a/resources/views/penilaian/otorisator/show.blade.php b/resources/views/penilaian/otorisator/show.blade.php index 5290994..744de21 100644 --- a/resources/views/penilaian/otorisator/show.blade.php +++ b/resources/views/penilaian/otorisator/show.blade.php @@ -85,16 +85,20 @@ | {{ getUser($permohonan->approval_so)->name ?? 'N/A' }} | {{ $permohonan->approval_so_at ? formatTanggalIndonesia($permohonan->approval_so_at,1) : 'N/A' }} | + @if($permohonan->approval_eo!=null)
|---|---|---|---|---|---|
| Disetujui Oleh (EO) | {{ getUser($permohonan->approval_eo)->name ?? 'N/A' }} | {{ $permohonan->approval_eo_at ? formatTanggalIndonesia($permohonan->approval_eo_at,1) : 'N/A' }} | |||
| Disetujui Oleh (DD) | {{ getUser($permohonan->approval_dd)->name ?? 'N/A' }} | {{ $permohonan->approval_dd_at ? formatTanggalIndonesia($permohonan->approval_dd_at,1) : 'N/A' }} |