diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php
index 0f6d8c1..6a778a0 100644
--- a/app/Helpers/Lpj.php
+++ b/app/Helpers/Lpj.php
@@ -8,6 +8,7 @@ use Modules\Lpj\Models\PenawaranTender;
use Modules\Lpj\Models\Penilaian;
use Modules\Lpj\Models\JenisDokumen;
use Modules\Lpj\Models\TeamsUsers;
+use Modules\Lpj\Models\Laporan;
use Modules\Usermanagement\Models\User;
function formatTanggalIndonesia($date, $time = false)
@@ -350,3 +351,11 @@ function checkRegionUserName($userId)
return null;
}
}
+
+function getNomorLaporan($permohonanId, $documentId){
+ $laporan = Laporan::where([
+ 'permohonan_id' => $permohonanId,
+ 'dokumen_jaminan_id' => $documentId,
+ ])->first();
+ return $laporan->nomor_laporan ?? null;
+}
diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php
index 08a85e0..21643e0 100644
--- a/app/Http/Controllers/PenilaiController.php
+++ b/app/Http/Controllers/PenilaiController.php
@@ -75,12 +75,23 @@ class PenilaiController extends Controller
$documentId = $request->query('documentId');
$jaminanId = $request->query('jaminanId');
-
+ $inspeksiId = $request->query('inspeksiId');
$permohonan = $this->surveyorController->getPermohonanJaminanId($id, $documentId, $jaminanId);
$basicData = $this->surveyorController->getCommonData();
+ $noLpSederhana = $this->generateNoLaporan($permohonan, $documentId, 'lpj');
+
$inspeksi = Inspeksi::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
- $lpj = Penilai::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
+ $lpj = Penilai::updateOrCreate(
+ [
+ 'permohonan_id' => $id,
+ 'dokument_id' => $documentId,
+ 'inspeksi_id' => $inspeksiId,
+ ],
+ [
+ 'type_penilai' => 'standard',
+ ]
+ );
$forminspeksi = null;
$lpjData = null;
@@ -100,12 +111,24 @@ class PenilaiController extends Controller
$documentId = $request->query('documentId');
$jaminanId = $request->query('jaminanId');
+ $inspeksiId = $request->query('inspeksiId');
$permohonan = $this->surveyorController->getPermohonanJaminanId($id, $documentId, $jaminanId);
$basicData = $this->surveyorController->getCommonData();
+ $noLpSederhana = $this->generateNoLaporan($permohonan, $documentId, 'lpj');
+
$inspeksi = Inspeksi::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
- $lpj = Penilai::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
+ $lpj = Penilai::updateOrCreate(
+ [
+ 'permohonan_id' => $id,
+ 'dokument_id' => $documentId,
+ 'inspeksi_id' => $inspeksiId,
+ ],
+ [
+ 'type_penilai' => 'standard',
+ ]
+ );
$forminspeksi = null;
$lpjData = null;
@@ -129,6 +152,7 @@ class PenilaiController extends Controller
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
+ $noLpresume = $this->generateNoLaporan($permohonan, $documentId, 'resume');
Penilai::updateOrCreate(
[
'permohonan_id' => $permohonanId,
@@ -153,7 +177,7 @@ class PenilaiController extends Controller
$forminspeksi = json_decode($inspeksi->data_form, true);
}
- return view('lpj::penilai.components.resume', compact('permohonan', 'resumeData','forminspeksi'));
+ return view('lpj::penilai.components.resume', compact('permohonan', 'resumeData', 'forminspeksi'));
}
public function memo(Request $request)
@@ -163,6 +187,7 @@ class PenilaiController extends Controller
$data = $this->getDataPermohonanWithPenilaiAndInspeksi($req['permohonanId'], $req['documentId'], $req['jaminanId']);
$permohonan = $data['permohonan'];
+ $noLpmemo = $this->generateNoLaporan($permohonan, $req['documentId'], 'memo');
$inspeksi = Inspeksi::where('permohonan_id', $req['permohonanId'])->where('dokument_id', $req['documentId'])->first();
$penilai = Penilai::where('permohonan_id', $req['permohonanId'])->where('dokument_id', $req['documentId'])->first();
$provinces = Province::all();
@@ -198,7 +223,7 @@ class PenilaiController extends Controller
}
}
- return view('lpj::penilai.components.memo', compact('permohonan', 'formFoto', 'formPeta', 'provinces', 'basicData', 'memo', 'cities', 'districts', 'villages'));
+ return view('lpj::penilai.components.memo', compact('permohonan', 'formFoto', 'formPeta', 'provinces', 'basicData', 'memo', 'cities', 'districts', 'villages', 'noLpmemo'));
}
@@ -271,13 +296,13 @@ class PenilaiController extends Controller
$lpjData = null;
$rap = null;
- $forminspeksi= null;
+ $forminspeksi = null;
if ($resume) {
$forminspeksi = json_decode($inspeksi->data_form, true);
$rap = json_decode($resume->rap, true);
}
- return view('lpj::penilai.components.rap-penilai', compact('permohonan', 'rap', 'provinces','forminspeksi'));
+ return view('lpj::penilai.components.rap-penilai', compact('permohonan', 'rap', 'provinces', 'forminspeksi'));
}
@@ -310,6 +335,7 @@ class PenilaiController extends Controller
});
}
+ $query->whereRaw('LOWER(status) IN (?, ?, ?)', ['assign','done', 'proses-laporan']);
if (!Auth::user()->hasRole('administrator')) {
$query->whereHas('penilaian.userPenilai', function ($q) {
@@ -373,12 +399,17 @@ class PenilaiController extends Controller
{
$permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId');
-
+ $jaminanId = $request->query('jaminanId');
// Fetch the data from the database
$data = Inspeksi::where('permohonan_id', $permohonanId)
->where('dokument_id', $documentId)
->first();
+ $permohonan = $this->surveyorController->getPermohonanJaminanId(
+ $permohonanId,
+ $documentId,
+ $jaminanId
+ );
// Check if data exists
if (!$data) {
return response()->json(['message' => 'Data not found'], 404);
@@ -436,7 +467,10 @@ class PenilaiController extends Controller
// Now create the export
// return response()->json([ 'data' => $fotoForm]);
- return Excel::download(new KertasKerjaExport($exportData), 'kertas-kerja.xlsx');
+
+ // return view('lpj::component.kertas-kerja-tes
+ // ', compact('permohonan', 'data'));
+ return Excel::download(new KertasKerjaExport($permohonan, $data), 'kertas-kerja.xlsx');
}
@@ -498,23 +532,23 @@ class PenilaiController extends Controller
}
public function saveStatusLpj(Request $request)
-{
+ {
- Penilai::updateOrCreate(
- [
- 'permohonan_id' => $request->permohonan_id,
- 'dokument_id' => $request->document_id,
- 'inspeksi_id' => $request->inspeksi_id,
- ],
- [
- 'type' => $request->type,
- 'type_penilai' => $request->type,
- ]
- );
+ Penilai::updateOrCreate(
+ [
+ 'permohonan_id' => $request->permohonan_id,
+ 'dokument_id' => $request->document_id,
+ 'inspeksi_id' => $request->inspeksi_id,
+ ],
+ [
+ 'type' => $request->type,
+ 'type_penilai' => $request->type,
+ ]
+ );
- return response()->json(['success' => true]);
-}
+ return response()->json(['success' => true]);
+ }
@@ -532,8 +566,8 @@ class PenilaiController extends Controller
!empty($item->rap)
);
});
-
-
+
+
if (!$allComplete) {
return response()->json([
'success' => false,
@@ -718,26 +752,18 @@ class PenilaiController extends Controller
$statusLpj = $request->query('statusLpj');
$tipeLaporan = $request->query('type');
- $permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId,
- $documentId,
- $jaminanId);
+ $permohonan = $this->surveyorController->getPermohonanJaminanId(
+ $permohonanId,
+ $documentId,
+ $jaminanId
+ );
$basicData = $this->surveyorController->getCommonData();
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$lpj = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
- $laporan = Laporan::firstOrCreate(
- [
- 'permohonan_id' => $permohonanId,
- 'dokumen_jaminan_id' => $documentId,
- ],
- [
- 'nomor_laporan' => generateLpjUniqueCode(6),
- ]
- );
-
- $nomorLaporan = $laporan->nomor_laporan;
+ $nomorLaporan = getNomorLaporan($permohonanId, $documentId);
$forminspeksi = null;
$lpjData = null;
$formFoto = null;
@@ -789,7 +815,7 @@ class PenilaiController extends Controller
return $pdf->stream();
} else {
// $pdf = view('lpj::' . $viewLaporan, compact(
- $pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
+ $pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
'permohonan',
'forminspeksi',
'lpjData',
@@ -806,8 +832,10 @@ class PenilaiController extends Controller
));
// return $pdf;
+
+ $cleanNomorLaporan = str_replace(['/', '\\'], '-', $nomorLaporan);
$pdf->setPaper('A4', 'portrait');
- return $pdf->download('Laporan_'. $tipeLaporan . '_' . $permohonan->nomor_registrasi . '_' .$permohonan->debiture->name .'_data.pdf');
+ return $pdf->download('Laporan_'. $tipeLaporan . '_' .$permohonan->debiture->name . '_' . $cleanNomorLaporan .'_data.pdf');
}
} catch (\Exception $e) {
@@ -818,16 +846,16 @@ class PenilaiController extends Controller
}
private function getViewLaporan($tipe)
-{
- $viewMap = [
- 'sederhana' => 'penilai.components.print-out-sederhana',
- 'standard' => 'penilai.components.print-out-standard',
- 'resume' => 'penilai.components.print-resume',
- 'memo' => 'penilai.components.print-memo',
- 'rap' => 'penilai.components.print-out-rap'
- ];
- return $viewMap[$tipe] ?? 'penilai.components.print-resume';
-}
+ {
+ $viewMap = [
+ 'sederhana' => 'penilai.components.print-out-sederhana',
+ 'standard' => 'penilai.components.print-out-standard',
+ 'resume' => 'penilai.components.print-resume',
+ 'memo' => 'penilai.components.print-memo',
+ 'rap' => 'penilai.components.print-out-rap'
+ ];
+ return $viewMap[$tipe] ?? 'penilai.components.print-resume';
+ }
public function getWilayahName($code, $type)
{
@@ -887,7 +915,8 @@ class PenilaiController extends Controller
];
}
- public function checkPrintOutLaporan(Request $request) {
+ public function checkPrintOutLaporan(Request $request)
+ {
$permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId');
$inspeksiId = $request->query('inspeksiId');
@@ -911,4 +940,42 @@ class PenilaiController extends Controller
}
+ public function generateNoLaporan($permohonan, $documentId, $type)
+{
+ $typeMapping = ['lpj' => 'LPJ', 'memo' => 'MAK', 'rap' => 'RAP'];
+
+ // Cek apakah data sudah ada
+ $laporan = Laporan::where([
+ 'permohonan_id' => $permohonan->id,
+ 'dokumen_jaminan_id' => $documentId,
+ ])->first();
+
+ if ($laporan) {
+
+ $nomorArray = explode('/', $laporan->nomor_laporan);
+ $nomorArray[2] = $typeMapping[$type] ?? 'RSM';
+ $laporan->update([
+ 'nomor_laporan' => implode('/', $nomorArray)
+ ]);
+ } else {
+
+ $laporan = Laporan::create([
+ 'permohonan_id' => $permohonan->id,
+ 'dokumen_jaminan_id' => $documentId,
+ 'nomor_laporan' => implode('/', [
+ $permohonan->debiture->branch->code,
+ generateLpjUniqueCode(3),
+ $typeMapping[$type] ?? 'RSM',
+ $permohonan->nomor_registrasi,
+ onRomawi(date('m')),
+ substr(date('Y'), -2)
+ ])
+ ]);
+ }
+
+ return $laporan->nomor_laporan;
+}
+
+
+
}
diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php
index 17b58f5..4521f3b 100644
--- a/app/Http/Controllers/PenilaianController.php
+++ b/app/Http/Controllers/PenilaianController.php
@@ -381,7 +381,7 @@ class PenilaianController extends Controller
$header = $headers[$type] ?? 'Pelaporan';
- if($header==='SLA') {
+ if ($header === 'SLA') {
return view('lpj::penilaian.otorisator.index-sla', compact('header'));
}
return view('lpj::penilaian.otorisator.index', compact('header'));
@@ -397,22 +397,22 @@ class PenilaianController extends Controller
];
$header = $headers[$type] ?? 'Pelaporan';
- $authorization=null;
- if($header === 'SLA') {
+ $authorization = null;
+ if ($header === 'SLA') {
$authorization = Authorization::with(['user'])->find($id);
$permohonan = Permohonan::find($authorization->permohonan_id);
} else {
$permohonan = Permohonan::find($id);
}
- if($header === 'SLA') {
- return view('lpj::penilaian.otorisator.sla', compact('permohonan', 'header','authorization'));
+ if ($header === 'SLA') {
+ return view('lpj::penilaian.otorisator.sla', compact('permohonan', 'header', 'authorization'));
}
- return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header','authorization'));
+ return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header', 'authorization'));
}
public function otorisatorUpdate(Request $request, $id, $context)
{
- if($context==='SLA'){
+ if ($context === 'SLA') {
$authorization = Authorization::with(['user'])->find($id);
if (!$authorization) {
return response()->json([
@@ -482,7 +482,7 @@ class PenilaianController extends Controller
]);
} elseif (Auth::user()->roles[0]->name === 'EO Appraisal' || Auth::user()->roles[0]->name === 'administrator') {
$status = '2';
- if(!in_array($permohonan->nulai_plafond_id,[1,4])){
+ if (!in_array($permohonan->nulai_plafond_id, [1,4])) {
$status = '1';
$permohonan->update([
'status' => $authorization->request
@@ -664,7 +664,7 @@ class PenilaianController extends Controller
return redirect()->back()->with('error', 'Laporan belum dibuat');
}
- return view('lpj::'. $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces','resumeData', 'rap','memo'));
+ return view('lpj::'. $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'resumeData', 'rap', 'memo'));
}
private function getViewLaporan($tipe)
@@ -731,8 +731,21 @@ class PenilaianController extends Controller
'error' => $e->getMessage()
], 500);
}
+ }
+ public function revisiLaporan($id, Request $request)
+ {
+ $permohonan = Permohonan::findOrFail($id);
+ $permohonan->update([
+ 'status' => 'done',
+ 'keterangan' => $request->message,
+ 'submitted_at' => now()
+ ]);
+ return response()->json([
+ 'success' => true,
+ 'message' => 'Berhasil Revisi Laporan penilai',
+ ], 200);
}
}
diff --git a/resources/views/penilai/components/lpj-sederhana-standard.blade.php b/resources/views/penilai/components/lpj-sederhana-standard.blade.php
index 0c4f3b5..2ef1928 100644
--- a/resources/views/penilai/components/lpj-sederhana-standard.blade.php
+++ b/resources/views/penilai/components/lpj-sederhana-standard.blade.php
@@ -16,9 +16,6 @@
Save
@if (Auth::user()->hasAnyRole(['senior-officer']))
-
- Revisi
-
Print
diff --git a/resources/views/penilai/components/memo.blade.php b/resources/views/penilai/components/memo.blade.php
index 57501fd..ab956eb 100644
--- a/resources/views/penilai/components/memo.blade.php
+++ b/resources/views/penilai/components/memo.blade.php
@@ -38,10 +38,10 @@
No
:
- {{ $memo['nomor_memo'] ?? '' }}
+ {{ $nomorLaporan ?? '-' }}
- @if (@isset($dokumen))
- @foreach ($dokumen->detail as $details)
- Tanggal
@@ -178,33 +178,33 @@
{{ $permohonan->debiture->name ?? '' }}
-
- @endforeach
+ @if (@isset($dokumen))
+ @foreach ($dokumen->detail as $details)
+ {{ $details->jenisLegalitasJaminan->name ?? '' }}
- :
-
- @if (isset($detail->dokumen_jaminan))
- @php
- $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
- ? json_decode($detail->dokumen_nomor)
- : ($detail->dokumen_nomor
- ? [$detail->dokumen_nomor]
- : []);
- @endphp
- @foreach ($dokumen_jaminan as $index => $dokumen)
-
-
- @endforeach
- @endif
-
+
+ @endforeach
@endif
@@ -214,13 +214,13 @@
{{ $details->jenisLegalitasJaminan->name ?? '' }}
+ :
+
+ @if (isset($detail->dokumen_jaminan))
+ @php
+ $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
+ ? json_decode($detail->dokumen_nomor)
+ : ($detail->dokumen_nomor
+ ? [$detail->dokumen_nomor]
+ : []);
+ @endphp
+ @foreach ($dokumen_jaminan as $index => $dokumen)
+
+
+ @endforeach
+ @endif
+
| @@ -322,6 +322,33 @@ | |||
| {{ $penilai->userPenilaiTeam->name ?? '' }} Appraisal @@ -332,7 +359,7 @@ | {{ $senior_officer->name ?? '' }} EO Appraisal | -{{ $senior_officer->name ?? '' }} + | {{ User::role('DD Appraisal')->first()->name ?? '' }} Deputy Director |