fix(penilai):perbaikkan laporan lpj, paparan so, call report

This commit is contained in:
majid
2025-03-04 13:23:28 +07:00
parent 8d696cd51a
commit ad3ef0883b
13 changed files with 92 additions and 51 deletions

View File

@@ -763,6 +763,22 @@ class PenilaiController extends Controller
$permohonan = Permohonan::findOrFail($id);
if ($permohonan->status === 'proses-laporan') {
return response()->json([
'success' => false,
'message' => 'Masih proses laporan',
], 400);
}
if ($permohonan->status === 'proses-paparan') {
return response()->json([
'success' => false,
'message' => 'Masih proses paparan',
]);
}
$permohonan->update([
'status' => 'proses-laporan',
]);
@@ -1322,7 +1338,7 @@ class PenilaiController extends Controller
public function generateNoLaporan($permohonan, $documentId, $type)
{
$typeMapping = ['lpj' => 'LPJ', 'memo' => 'MAK', 'rap' => 'RAP', 'call-report' => 'CR'];
$typeMapping = ['sederhana' => 'LPJ', 'standard' => 'LPJ', 'memo' => 'MAK', 'rap' => 'RAP', 'call-report' => 'CR'];
// Cek apakah data sudah ada
$laporan = Laporan::where([
@@ -1593,6 +1609,22 @@ class PenilaiController extends Controller
public function revisiSurveyor(Request $request, $id)
{
$permohonan = Permohonan::findOrFail($id);
if ($permohonan->status === 'proses-laporan') {
return response()->json([
'success' => false,
'message' => 'Masih proses laporan',
], 400);
}
if ($permohonan->status === 'proses-paparan') {
return response()->json([
'success' => false,
'message' => 'Masih proses paparan',
], 400);
}
$permohonan->update([
'status' => 'revisi-survey',
'keterangan' => $request->message,

View File

@@ -482,14 +482,14 @@ class PenilaianController extends Controller
$permohonan->update([
'status_bayar' => $newStatus,
'keterangan' => $request->message,
'keterangan' => $request->keterangan,
]);
break;
case 'pembatalan':
$permohonan->update([
'status' => 'batal',
'keterangan' => $request->message,
'keterangan' => $request->keterangan,
]);
break;
@@ -509,7 +509,7 @@ class PenilaianController extends Controller
}
if ($approvalField) {
$this->updatePermohonan($permohonan, $status, $approvalField, $request->message);
$this->updatePermohonan($permohonan, $status, $approvalField, $request->keterangan);
}
break;
@@ -559,11 +559,12 @@ class PenilaianController extends Controller
'status_so' => '1',
'approve_so' => Auth::user()->id,
'approve_so_at' => now(),
'keterangan_so' => $request->message,
'keterangan_so' => $request->keterangan,
]);
$permohonan->update([
'tanggal_paparan' => $request->tanggalPaparan
'tanggal_paparan' => $request->tanggalPaparan,
'keterangan' => $request->keterangan
]);
} elseif (Auth::user()->roles[0]->name === 'EO Appraisal') {
$status = '2';
@@ -578,7 +579,7 @@ class PenilaianController extends Controller
'status_eo' => '1',
'approve_eo' => Auth::user()->id,
'approve_eo_at' => now(),
'keterangan_eo' => $request->message,
'keterangan_eo' => $request->keterangan,
]);
} elseif (Auth::user()->roles[0]->name === 'DD Appraisal' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so && $authorization->approve_dd === null) {
$authorization->update([
@@ -586,7 +587,7 @@ class PenilaianController extends Controller
'status_dd' => '1',
'approve_dd' => Auth::user()->id,
'approve_dd_at' => now(),
'keterangan_dd' => $request->message,
'keterangan_dd' => $request->keterangan,
]);
$permohonan->update([
@@ -893,25 +894,27 @@ class PenilaianController extends Controller
$permohonan = Permohonan::findOrFail($id);
$userRole = Auth::user()->roles[0]->name;
if ($permohonan->status === 'proses-paparan' && in_array($userRole, ['EO Appraisal', 'DD Appraisal'])) {
Authorization::delete([
'permohonan_id' => $permohonan->id,
'jenis' => 'paparan',
'request' => 'paparan',
]);
$authorization = Authorization::where('permohonan_id', $permohonan->id)
->where('jenis', 'paparan')->first();
if ($permohonan->status === 'proses-paparan') {
if ($authorization) {
$authorization->delete();
}
$status = 'revisi-paparan';
} elseif ($permohonan->status === 'proses-laporan' && $userRole === 'EO Appraisal') {
$permohonan->update([
'approve_so' => null,
'approve_so_at' => null,
'approval_so' => 0,
'approval_so_at' => null,
]);
$status = 'revisi-laporan';
} elseif ($permohonan->status === 'proses-laporan' && $userRole === 'DD Appraisal') {
$permohonan->update([
'approve_so' => null,
'approve_so_at' => null,
'approve_eo' => null,
'approve_eo_at' => null,
'approval_so' => 0,
'approval_so_at' => null,
'approval_eo' => 0,
'approval_eo_at' => null,
]);
$status = 'revisi-laporan';
@@ -925,7 +928,7 @@ class PenilaianController extends Controller
// Perbarui status dan informasi lainnya
$permohonan->update([
'status' => $status,
'keterangan' => $request->message,
'keterangan' => $request->keterangan,
'submitted_at' => now(),
]);

View File

@@ -231,7 +231,7 @@ class RegistrasiController extends Controller
{
$permohonan = Permohonan::find($id);
$debitur = Debiture::find($permohonan->debiture_id);
$documents = DokumenJaminan::with('pemilik', 'detail')->where('debiture_id', $id)->get();
$documents = DokumenJaminan::with('pemilik', 'detail')->where('permohonan_id', $id)->get();
return view('lpj::registrasi.show', compact('id', 'permohonan', 'documents', 'debitur'));
}

View File

@@ -252,7 +252,7 @@
</div>
</div>
<div class="w-full grid grid-cols-1 lg:grid-cols-2 gap-4">
<div class="w-full grid grid-cols-1 lg:grid-cols-1 gap-4">
<!-- Bagian Nilai KJPP -->
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md">
@@ -293,7 +293,7 @@
</div>
<!-- Bagian Nilai Internal -->
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md">
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md hidden">
<div class="card-header bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Nilai Internal</h1>
</div>
@@ -505,23 +505,23 @@
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
<button type="button" class="btn btn-primary" id="saveButton" onclick="submitData()">
<button type="button" class="btn btn-primary" id="saveButton" onclick="submitData()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
<i class="ki-filled ki-save-2"></i>
<span id="saveButtonText">Save</span>
<span id="saveButtonText">Simpan</span>
</button>
@endif
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal']))
<a class="btn btn-info"
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
LAMPIRAN FOTO DAN DOKUMEN
Lampiran Foto dan Dokument
</a>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}"
class="btn btn-light">
<i class="ki-filled ki-printer"></i> Hasil Inspeksi
<i class="ki-filled ki-printer"></i>Cetak Hasil Inspeksi
</a>
<a class="btn btn-primary"
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
<i class="ki-filled ki-printer"></i> Print Laporan
<i class="ki-filled ki-printer"></i> Cetak Laporan
</a>
@endif
</div>

View File

@@ -45,23 +45,23 @@
</div>
<div class="flex card-footer justify-end gap-5">
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
<button type="button" class="btn btn-primary" id="saveButton" onclick="saveLpjSederhanadanStandard()">
<button type="button" class="btn btn-primary" id="saveButton" onclick="saveLpjSederhanadanStandard()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
<i class="ki-filled ki-save-2"></i>
<span id="saveButtonText">Save</span>
<span id="saveButtonText">Simpan</span>
</button>
@endif
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal', 'administrator']))
<a class="btn btn-info"
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
LAMPIRAN FOTO DAN DOKUMEN
Lampiran Foto dan Dokument
</a>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}" class="btn btn-light"
>
<i class="ki-filled ki-printer"></i> Hasil Inspeksi
<i class="ki-filled ki-printer"></i> Cetak Hasil Inspeksi
</a>
<a class="btn btn-success"
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
<i class="ki-filled ki-printer"></i> Print Laporan
<i class="ki-filled ki-printer"></i> Cetak Laporan
</a>
@endif
</div>

View File

@@ -293,7 +293,7 @@
<div class="flex card-footer justify-end gap-5">
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
<a class="btn btn-primary" onclick="saveMemo()">
<a class="btn btn-primary" onclick="saveMemo()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
<i class="ki-filled ki-save-2"></i>
Simpan
</a>

View File

@@ -161,21 +161,21 @@
<tr>
<td style="width: 20%; padding: 2px;">Lelang ke</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $report['lelang'] ?? '' }}</td>
<td style="width: 79%; padding: 2px;">{{ $report['lelang_kjpp'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Nilai Pasar Wajar (NPW)</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ isset($report['nilai_pasar']) ? formatRupiah($report['nilai_pasar']) : '-' }}</td>
<td style="width: 79%; padding: 2px;">{{ isset($report['nilai_pasar_kjpp']) ? formatRupiah($report['nilai_pasar_kjpp']) : '-' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">
Nilai Likuidasi
{{ isset($report['persentase_likuidasi']) ? '(' . $report['persentase_likuidasi'] . '%)' : '-' }}
{{ isset($report['persentase_likuidasi_kjpp']) ? '(' . $report['persentase_likuidasi_kjpp'] . '%)' : '-' }}
</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">
{{ isset($report['hasil_nilai_likuidasi']) ? formatRupiah($report['hasil_nilai_likuidasi']) : '-' }}
{{ isset($report['hasil_nilai_likuidasi_kjpp']) ? formatRupiah($report['hasil_nilai_likuidasi_kjpp']) : '-' }}
</td>
</tr>

View File

@@ -66,7 +66,7 @@
</div>
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
<button type="button" class="btn btn-primary" id="saveButton" onclick="submitData()">
<button type="button" class="btn btn-primary" id="saveButton" onclick="submitData()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
<i class="ki-filled ki-save-2"></i>
<span id="saveButtonText" >Save</span>
<div class="spinner-border spinner-border-sm text-light" role="status" style="display: none;"
@@ -78,15 +78,15 @@
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal', 'administrator']))
<a class="btn btn-info"
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
LAMPIRAN FOTO DAN DOKUMEN
Lampiran Foto dan Dokument
</a>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}" class="btn btn-light"
>
<i class="ki-filled ki-printer"></i> Hasil Inspeksi
<i class="ki-filled ki-printer"></i> Cetak Hasil Inspeksi
</a>
<a class="btn btn-success"
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
<i class="ki-filled ki-printer"></i> Print Laporan
<i class="ki-filled ki-printer"></i> Cetak Laporan
</a>
@endif
</div>

View File

@@ -424,7 +424,7 @@
<div class="flex card-footer justify-end gap-5">
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
<button type="button" class="btn btn-primary" onclick="saveResume()">
<button type="button" class="btn btn-primary" onclick="saveResume()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
<i class="ki-filled ki-save-2"></i>
Simpan</button>
@endif

View File

@@ -191,7 +191,7 @@
actions: {
title: 'Action',
render: (item, data) => {
if (data.status === 'survey-completed' || data.status === 'proses-laporan' || data.status === 'paparan' || data.status === 'proses-paparan' || data.status === 'paparan' || data.status == 'revisi-laporan' || data.status === 'done') {
if (data.status === 'survey-completed' || data.status === 'proses-laporan' || data.status === 'paparan' || data.status === 'proses-paparan' || data.status === 'paparan' || data.status == 'revisi-laporan' || data.status === 'done' || data.status === 'revisi-paparan') {
return `
<div class="flex flex-nowrap justify-center gap-1.5">
<a class="btn btn-sm btn-outline btn-info" href="penilai/${data.id}/show">

View File

@@ -336,9 +336,12 @@
@endforeach
<div class="flex justify-start gap-5">
<a class="btn btn-success" onclick="savePenilai()">
<i class="ki-filled ki-paper-plane"></i>
REPORT
</a>
<a class="btn btn-warning" onclick="revisiSurveyor('{{ $permohonan->id }}', '{{$permohonan->debiture->name }}', '{{$permohonan->nomor_registrasi }}')">
<a class="btn btn-warning" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' ? 'disabled' : '' }} onclick="revisiSurveyor('{{ $permohonan->id }}', '{{$permohonan->debiture->name }}', '{{$permohonan->nomor_registrasi }}')">
<i class="ki-filled ki-arrow-circle-right"></i>
REVISI
</a>
</div>
@@ -630,6 +633,9 @@
// window.location.reload();
hideLoadingSwal();
toastrSuccessBuild(response.message);
}else{
// hideLoadingSwal();
Swal.fire('Perhatian!', response.message, 'warning');
}
},
error: function(xhr, status, error) {

View File

@@ -268,7 +268,7 @@
if (rejectResult.isConfirmed) {
handleAjaxRequest(
`/otorisator/revisi/${dataId}`, {
message: rejectResult.value
keterangan: rejectResult.value
},
'Data berhasil ditolak.',
'Terjadi kesalahan saat melakukan penolakan.'
@@ -370,10 +370,10 @@
).then((result) => {
if (result.isConfirmed) {
const requestData = isPaparanSO ? {
message: result.value.message,
keterangan: result.value.message,
tanggalPaparan: result.value.tanggalPaparan
} : {
message: result.value.message
keterangan: result.value.message
};
handleAjaxRequest(

View File

@@ -240,7 +240,7 @@
title: 'Tanggal Paparan',
render: (item, data) => {
if(data.tanggal_paparan) {
return ` ${data?.keterangan} | ${window.formatTanggalIndonesia(data.tanggal_paparan)}`;
return ` ${data?.authorization?.keterangan_so} | ${window.formatTanggalIndonesia(data.tanggal_paparan)}`;
}
return "-";