🧩 feat(penilaian, otorisator): gunakan ambang NPW untuk approval dan rapikan UI
- Terapkan logika berbasis NPW (total_nilai_pasar_wajar) dari JSON LPJ untuk menentukan status approval pada PenilaianController (sekitar baris 517–533).
- Senior Officer: status selesai jika NPW ≤ 1.000.000.000, selain itu masuk proses-laporan.
- EO Appraisal: status selesai jika NPW ≤ 5.000.000.000, selain itu masuk proses-laporan.
- DD Appraisal: tetap status selesai.
- Ambil NPW dari json_decode($permohonan->penilaian->lpj) dan hilangkan pemisah ribuan dengan str_replace('.', '', $npw) .
- Tampilkan tombol Otorisator di tampilan resources/views/penilaian/otorisator/show.blade.php berdasarkan ambang NPW:
- EO: tombol muncul jika NPW > 1.000.000.000.
- DD: tombol muncul jika NPW > 5.000.000.000.
- Rapikan kelas Tailwind pada komponen card, header, body, grid dan fleksibelitas layout agar konsisten (reorder class, penyesuaian urutan dan semantik).
- Perbaiki urutan icon dan teks pada tombol aksi agar konsisten (mis. mr-2 ki-filled ki-eye ).
This commit is contained in:
@@ -517,12 +517,18 @@ class PenilaianController extends Controller
|
||||
$role = Auth::user()->roles[0]->name;
|
||||
$status = 'done';
|
||||
$approvalField = null;
|
||||
|
||||
$lpj_ = optional(json_decode($permohonan->penilaian->lpj));
|
||||
$npw = $lpj_->total_nilai_pasar_wajar ?? 0;
|
||||
$npw = str_replace('.', '', $npw);
|
||||
|
||||
|
||||
if ($role === 'senior-officer') {
|
||||
$approvalField = 'approval_so';
|
||||
$status = in_array($permohonan->nilai_plafond_id, [3]) ? 'done' : 'proses-laporan';
|
||||
$status = $npw <=1000000000 ? 'done' : 'proses-laporan';
|
||||
} elseif ($role === 'EO Appraisal') {
|
||||
$approvalField = 'approval_eo';
|
||||
$status = in_array($permohonan->nilai_plafond_id, [2, 1]) ? 'done' : 'proses-laporan';
|
||||
$status = $npw <=5000000000 ? 'done' : 'proses-laporan';
|
||||
} elseif ($role === 'DD Appraisal') {
|
||||
$approvalField = 'approval_dd';
|
||||
$status = 'done';
|
||||
|
||||
Reference in New Issue
Block a user