perbaikana perhitungan npw dan nl otomatis, dan perbaikan otorisator

This commit is contained in:
majid
2024-12-20 07:11:41 +07:00
committed by putrakuningan
parent f3faa6b0ab
commit 5bc4d54f3d
12 changed files with 552 additions and 769 deletions

View File

@@ -359,7 +359,7 @@ class PenilaianController extends Controller
'pembatalan' => 'Pembatalan',
'sla' => 'SLA',
];
$header = $headers[$type] ?? 'Pelaporan';
return view('lpj::penilaian.otorisator.index', compact('header'));
@@ -380,7 +380,7 @@ class PenilaianController extends Controller
return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header'));
}
public function otorisatorUpdate($id, $context)
public function otorisatorUpdate(Request $request, $id, $context)
{
$permohonan = Permohonan::find($id);
@@ -396,28 +396,30 @@ class PenilaianController extends Controller
$newStatus = $permohonan->status_bayar === 'sudah_bayar' ? 'belum_bayar' : 'sudah_bayar';
$permohonan->update([
'status_bayar' => $newStatus
'status_bayar' => $newStatus,
'keterangan' => $request->message
]);
break;
case 'pembatalan':
$permohonan->update([
'authorized_status' => 1,
'status' => 'batal',
'keterangan' => $request->message
]);
break;
case 'pelaporan':
$permohonan->update([
'status' => 'disetujui',
'status' => 'proses-laporan',
'keterangan' => $request->message
]);
break;
case 'sla':
$permohonan->update([
'status' => 'order',
'status' => 'proses-sla',
'keterangan' => $request->message
]);
break;
@@ -449,10 +451,10 @@ class PenilaianController extends Controller
// Tentukan status berdasarkan otorisator
$status = match ($otorisator) {
'Pelaporan' => 'proses laporan',
'Pelaporan' => 'proses-laporan',
'Pembayaran' => 'proses',
'Pembatalan' => 'proses',
'SLA' => 'proses',
'Pembatalan' => 'batal',
'SLA' => 'freeze',
default => '',
};
@@ -477,10 +479,13 @@ class PenilaianController extends Controller
if (!empty($otorisator)) {
if ($status == 'proses') {
$query->whereIn('status_bayar', ['sudah_bayar', 'belum_bayar']);
} elseif ($status == 'proses-laporan') {
$query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
} elseif ($status == 'batal') {
$query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
} elseif ($status == 'freeze') {
$query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
}
// else {
// $query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
// }
}
// Filter berdasarkan region user yang login