perbaikan nomor laporan, dan penambahan button revisi laporan di so
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,9 +16,6 @@
|
||||
<span id="saveButtonText">Save</span>
|
||||
</button>
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer']))
|
||||
<a href="_blank" class="btn btn-warning">
|
||||
Revisi
|
||||
</a>
|
||||
<a class="btn btn-primary"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Print
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
<label class="form-label max-w-56">Nomor Memo</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<input type="text" name="nomor_memo" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $memo->nomor_memo ?? "" }}">
|
||||
value="{{ $noLpmemo ?? "" }}" @readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- 250109828129/ --}}
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tanggal</label>
|
||||
@@ -264,23 +264,20 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('lpj::penilai.components.foto-lampiran')
|
||||
{{-- @include('lpj::penilai.components.foto-lampiran') --}}
|
||||
|
||||
<div class="flex card-footer justify-end gap-5">
|
||||
<a class="btn btn-success" onclick="saveMemo()">
|
||||
SAVE
|
||||
</a>
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer']))
|
||||
<a href="_blank" class="btn btn-warning">
|
||||
Revisi
|
||||
</a>
|
||||
<a class="btn btn-primary"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Print
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">No</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $memo['nomor_memo'] ?? '' }}</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $nomorLaporan ?? '-' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">Tanggal</td>
|
||||
@@ -178,33 +178,33 @@
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $details)
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">{{ $details->jenisLegalitasJaminan->name ?? '' }}</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor))
|
||||
<span>
|
||||
{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<br>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $details)
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">{{ $details->jenisLegalitasJaminan->name ?? '' }}</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor))
|
||||
<span>
|
||||
{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<br>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
@@ -214,13 +214,13 @@
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;" >Tanggal Terbit Sertifikat</td>
|
||||
<td style="width: 1%; padding: 2px;" >:</td>
|
||||
<td style="width: 20%; padding: 2px;">Tanggal Terbit Sertifikat</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;" >Surat Ukur No</td>
|
||||
<td style="width: 1%; padding: 2px;" >:</td>
|
||||
<td style="width: 20%; padding: 2px;">Surat Ukur No</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -249,28 +249,28 @@
|
||||
<td style="width: 79%; padding: 2px;"> {{ $memo['lokasi']['address'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;" >Kelurahan</td>
|
||||
<td style="width: 1%; padding: 2px;" >:</td>
|
||||
<td style="width: 79%; padding: 2px;" >{{ $alamat['village_code'] ?? '' }}</td>
|
||||
<td style="width: 20%; padding: 2px;">Kelurahan</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $alamat['village_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;" >Kecamatan</td>
|
||||
<td style="width: 1%; padding: 2px;" >:</td>
|
||||
<td style="width: 79%; padding: 2px;" >{{ $alamat['district_code'] ?? '' }}</td>
|
||||
<td style="width: 20%; padding: 2px;">Kecamatan</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $alamat['district_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;" >Kota</td>
|
||||
<td style="width: 1%; padding: 2px;" >:</td>
|
||||
<td style="width: 79%; padding: 2px;" > {{ $alamat['city_code'] ?? '' }}</td>
|
||||
<td style="width: 20%; padding: 2px;">Kota</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;"> {{ $alamat['city_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;" >Propinsi</td>
|
||||
<td style="width: 1%; padding: 2px;" >:</td>
|
||||
<td style="width: 79%; padding: 2px;" >{{ $alamat['province_code'] ?? '' }}</td>
|
||||
<td style="width: 20%; padding: 2px;">Propinsi</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">Titik Kordinat</td>
|
||||
<td style="width: 1%; padding: 2px;" >:</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -285,10 +285,10 @@
|
||||
<tr>
|
||||
@isset($memo['hasil_survey'])
|
||||
@foreach ($memo['hasil_survey'] as $key => $item)
|
||||
<tr>
|
||||
<td>{{ $key + 1 }} . {{ $item }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
<tr>
|
||||
<td>{{ $key + 1 }} . {{ $item }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
@@ -301,10 +301,10 @@
|
||||
<tr>
|
||||
@isset($memo['kesimpulan_saran'])
|
||||
@foreach ($memo['kesimpulan_saran'] as $key => $item)
|
||||
<tr>
|
||||
<td>{{ $key + 1 }} . {{ $item }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
<tr>
|
||||
<td>{{ $key + 1 }} . {{ $item }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
@@ -314,7 +314,7 @@
|
||||
<td>Demikian Kami Sampaikan, aatas perhatiannya kami ucapkan terimakasih</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<table style="width: 100%; text-align: center;" >
|
||||
<table style="width: 100%; text-align: center;">
|
||||
|
||||
<tr>
|
||||
<td style="height: 50px"></td>
|
||||
@@ -322,6 +322,33 @@
|
||||
<td style="height: 50px"></td>
|
||||
<td style="height: 50px"></td>
|
||||
</tr>
|
||||
@php
|
||||
$senior_officer = null;
|
||||
if ($permohonan->debiture && $permohonan->debiture->documents) {
|
||||
foreach ($permohonan->debiture->documents as $dokumen) {
|
||||
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
|
||||
$teams = $permohonan->region->teams;
|
||||
|
||||
if ($teams) {
|
||||
foreach ($teams as $team) {
|
||||
$team_users = $team->teamsUsers;
|
||||
// print_r($team_users);
|
||||
if ($team_users) {
|
||||
foreach ($team_users as $team_user) {
|
||||
$user = $team_user->user;
|
||||
|
||||
if ($user && $user->hasRole('senior-officer')) {
|
||||
$senior_officer = $user;
|
||||
break 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
use Modules\Usermanagement\Models\User;
|
||||
@endphp
|
||||
<tr>
|
||||
<td>{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
Appraisal
|
||||
@@ -332,7 +359,7 @@
|
||||
<td> {{ $senior_officer->name ?? '' }}</br>
|
||||
EO Appraisal
|
||||
</td>
|
||||
<td> {{ $senior_officer->name ?? '' }}</br>
|
||||
<td> {{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
Deputy Director
|
||||
</td>
|
||||
</tr>
|
||||
@@ -360,7 +387,6 @@
|
||||
<script>
|
||||
const data = @json($memo);
|
||||
console.log(data);
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
<h4 style="text-align: center; text-transform: uppercase; font-size: 14px;">LAPORAN PENILAIAN ATAS
|
||||
{{ $data }}</h4>
|
||||
<p style="text-align: center; font-size:12px;">NO:
|
||||
{{ $permohonan->debiture->branch->code ?? '' }}/{{ $nomorLaporan }}/LPJ/{{ $permohonan->nomor_registrasi }}/{{ onRomawi(date('m')) }}/{{ date('Y') }}
|
||||
{{ $nomorLaporan }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -24,9 +24,6 @@
|
||||
</div>
|
||||
</button>
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer']))
|
||||
<a href="_blank" class="btn btn-warning">
|
||||
Revisi
|
||||
</a>
|
||||
<a class="btn btn-primary"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Print
|
||||
|
||||
@@ -338,9 +338,6 @@
|
||||
<div class="flex card-footer justify-end gap-5">
|
||||
<button type="button" class="btn btn-success" onclick="saveResume()">Save</button>
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer']))
|
||||
<a href="_blank" class="btn btn-warning">
|
||||
Revisi
|
||||
</a>
|
||||
<a class="btn btn-primary"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Print
|
||||
|
||||
@@ -184,6 +184,7 @@
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ getNomorLaporan($permohonan->id, $dokumen->id) ?? '-' }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -132,6 +132,9 @@
|
||||
<i class="ki-filled ki-double-check"></i>
|
||||
Otorisator {{ $header ?? '' }}
|
||||
</button>
|
||||
<button class="btn btn-warning" onclick="revisiLaporan({{ $permohonan->id }})">
|
||||
<i class="ki-filled ki-arrow-circle-right"></i> Revisi
|
||||
</button>
|
||||
@endif
|
||||
|
||||
@if(Auth::user()->hasAnyRole(['administrator','EO Appraisal']) && $permohonan->approval_so && $permohonan->approval_eo==null)
|
||||
@@ -200,5 +203,53 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function revisiLaporan(dataId) {
|
||||
const dataHeader = @json($header);
|
||||
Swal.fire({
|
||||
title: 'Apakah Anda yakin?',
|
||||
text: `Untuk melakukan Revisi ${dataHeader}!`,
|
||||
icon: 'warning',
|
||||
input: 'textarea',
|
||||
inputLabel: 'Keterangan',
|
||||
inputPlaceholder: 'Masukkan keterangan...',
|
||||
inputAttributes: {
|
||||
'aria-label': 'Masukkan keterangan'
|
||||
},
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Ya, Lanjutkan!',
|
||||
cancelButtonText: 'Batal',
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
const userMessage = result.value || '';
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
});
|
||||
$.ajax({
|
||||
url: `/otorisator/revisi/${dataId}/`,
|
||||
type: 'POST',
|
||||
data: {
|
||||
message: userMessage
|
||||
},
|
||||
success: (response) => {
|
||||
Swal.fire('Berhasil!', 'Data berhasil Revisi Laporan', 'success').then(() => {
|
||||
window.location.href = '{{route('otorisator.pelaporan.index')}}';
|
||||
});
|
||||
console.log(response);
|
||||
},
|
||||
error: (error) => {
|
||||
console.error('Error:', error);
|
||||
Swal.fire('Gagal!', 'Terjadi kesalahan saat melakukan Revisi.',
|
||||
'error');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@@ -514,6 +514,7 @@ Route::middleware(['auth'])->group(function () {
|
||||
);
|
||||
|
||||
Route::post('otorisator/{id}/{context}', [PenilaianController::class, 'otorisatorUpdate'])->name('otorisator.update');
|
||||
Route::post('revisi/{id}', [PenilaianController::class, 'revisiLaporan'])->name('otorisator.revisi');
|
||||
|
||||
Route::get('pembatalan', [PenilaianController::class, 'otorisator'])->name('pembatalan.index')->defaults(
|
||||
'type',
|
||||
|
||||
Reference in New Issue
Block a user