Perbarui logika filter dan tampilan laporan serta otorisasi

- Menambahkan logika filter tambahan pada status permohonan di `LaporanController`.
- Memperbaiki render button berdasarkan kondisi `status_bayar` di `laporan/index.blade.php`.
- Menambahkan relasi baru untuk data penilaian di `PenilaianController`.
- Memperbaiki validasi nilai plafon pada fitur otorisasi di `otorisator/index.blade.php`.
- Menambahkan kondisi dinamis untuk data persetujuan EO dan DD di `otorisator/show.blade.php`.
This commit is contained in:
Daeng Deni Mardaeni
2024-12-30 17:44:51 +07:00
parent f05051c4c8
commit 2230a2349e
5 changed files with 22 additions and 6 deletions

View File

@@ -46,7 +46,11 @@ class LaporanController extends Controller
} }
// Retrieve data from the database // 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'); $query = $query->orderBy('nomor_registrasi', 'desc');
// Apply search filter if provided // Apply search filter if provided

View File

@@ -550,7 +550,7 @@ class PenilaianController extends Controller
$filteredRecords = $query->count(); $filteredRecords = $query->count();
// Ambil data dengan relasi // 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 // Hitung jumlah halaman

View File

@@ -186,10 +186,11 @@
actions: { actions: {
title: 'Actions', title: 'Actions',
render: (item, data) => { render: (item, data) => {
const inspeksiId = data.debiture?.documents[0]?.inspeksi[0].id || '-'; const inspeksiId = data.debiture?.documents[0]?.inspeksi[0]?.id || '-';
const dokumenID = data.debiture?.documents[0]?.id || '-'; const dokumenID = data.debiture?.documents[0]?.id || '-';
const jenisJaminanID = data.debiture?.documents[0]?.jenis_jaminan_id || '-'; const jenisJaminanID = data.debiture?.documents[0]?.jenis_jaminan_id || '-';
return ` if(data.status_bayar=="sudah_bayar") {
return `
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0}}" class="btn btn-sm btn-success"> <a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0}}" class="btn btn-sm btn-success">
Resume Resume
</a> </a>
@@ -198,6 +199,13 @@
Laporan Laporan
</a> </a>
`; `;
} else {
return `
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0}}" class="btn btn-sm btn-success">
Resume
</a>
`;
}
}, },
} }
}, },

View File

@@ -259,7 +259,7 @@
<i class="ki-filled ki-double-check"></i> <i class="ki-filled ki-double-check"></i>
</a> </a>
`; `;
} 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 += ` buttons += `
<a class="btn btn-sm btn-icon btn-clear btn-primary" onclick="otorisatorData(${data.id})"> <a class="btn btn-sm btn-icon btn-clear btn-primary" onclick="otorisatorData(${data.id})">
<i class="ki-filled ki-double-check"></i> <i class="ki-filled ki-double-check"></i>

View File

@@ -85,16 +85,20 @@
<td>{{ getUser($permohonan->approval_so)->name ?? 'N/A' }}</td> <td>{{ getUser($permohonan->approval_so)->name ?? 'N/A' }}</td>
<td>{{ $permohonan->approval_so_at ? formatTanggalIndonesia($permohonan->approval_so_at,1) : 'N/A' }}</td> <td>{{ $permohonan->approval_so_at ? formatTanggalIndonesia($permohonan->approval_so_at,1) : 'N/A' }}</td>
</tr> </tr>
@if($permohonan->approval_eo!=null)
<tr> <tr>
<td>Disetujui Oleh (EO)</td> <td>Disetujui Oleh (EO)</td>
<td>{{ getUser($permohonan->approval_eo)->name ?? 'N/A' }}</td> <td>{{ getUser($permohonan->approval_eo)->name ?? 'N/A' }}</td>
<td>{{ $permohonan->approval_eo_at ? formatTanggalIndonesia($permohonan->approval_eo_at,1) : 'N/A' }}</td> <td>{{ $permohonan->approval_eo_at ? formatTanggalIndonesia($permohonan->approval_eo_at,1) : 'N/A' }}</td>
</tr> </tr>
@endif
@if(in_array($permohonan->nilai_plafond_id,[1,4]) && $permohonan->approval_dd!=null)
<tr> <tr>
<td>Disetujui Oleh (DD)</td> <td>Disetujui Oleh (DD)</td>
<td>{{ getUser($permohonan->approval_dd)->name ?? 'N/A' }}</td> <td>{{ getUser($permohonan->approval_dd)->name ?? 'N/A' }}</td>
<td>{{ $permohonan->approval_dd_at ? formatTanggalIndonesia($permohonan->approval_dd_at,1) : 'N/A' }}</td> <td>{{ $permohonan->approval_dd_at ? formatTanggalIndonesia($permohonan->approval_dd_at,1) : 'N/A' }}</td>
</tr> </tr>
@endif
</tbody> </tbody>
</table> </table>
</div> </div>
@@ -137,7 +141,7 @@
</button> </button>
@endif @endif
@if(Auth::user()->hasAnyRole(['administrator','DD Appraisal']) && $permohonan->approval_eo && $permohonan->approval_dd==null) @if(Auth::user()->hasAnyRole(['administrator','DD Appraisal']) && $permohonan->approval_eo && $permohonan->approval_dd==null && in_array($permohonan->nilai_plafond_id,[1,4]))
<button onclick="otorisatorData({{ $permohonan->id }})" type="button" class="btn btn-primary"> <button onclick="otorisatorData({{ $permohonan->id }})" type="button" class="btn btn-primary">
<i class="ki-filled ki-double-check"></i> <i class="ki-filled ki-double-check"></i>
Otorisator {{ $header ?? '' }} Otorisator {{ $header ?? '' }}