diff --git a/app/Http/Controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php
index 1510f63..adde98d 100644
--- a/app/Http/Controllers/ActivityController.php
+++ b/app/Http/Controllers/ActivityController.php
@@ -244,6 +244,15 @@ class ActivityController extends Controller
// abort(403, 'Sorry! You are not allowed to view users.');
}
+ $userRole = $user->roles->pluck('name')->first();
+ $regionId = null;
+
+ // If user is senior-officer, get their regionId
+ if ($userRole === 'senior-officer') {
+ $userTeam = TeamsUsers::with('team')->firstWhere('user_id', $user->id);
+ $regionId = $userTeam?->team->regions_id;
+ }
+
// Retrieve data from the database
$query = Permohonan::query();
@@ -289,22 +298,39 @@ class ActivityController extends Controller
// Get filtered count
$filteredRecords = $query->count();
- // Get data
-
- $data = null;
- $userRole = $user->roles[0]->name ?? null;
-
- if (in_array($userRole, ['surveyor', 'surveyor-penilai'])) {
- $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian'])
- ->whereHas('penilaian.userPenilai', function ($q) use ($user) {
- $q->where('user_id', $user->id);
- })
- ->get();
- } else {
- $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])
- ->get();
+ // Filter by region if user is senior-officer
+ if ($regionId) {
+ $query->whereHas('region', function ($q) use ($regionId) {
+ $q->where('region_id', $regionId);
+ });
}
+ // Filter for specific roles
+ if (in_array($userRole, ['surveyor', 'surveyor-penilai'])) {
+ $query->whereHas('penilaian.userPenilai', function ($q) use ($user) {
+ $q->where('user_id', $user->id);
+ });
+ }
+
+ $totalRecords = $query->count();
+
+ // Pagination
+ if ($request->has('page') && $request->has('size')) {
+ $page = (int) $request->get('page', 1);
+ $size = (int) $request->get('size', 10);
+ $offset = ($page - 1) * $size;
+ $query->skip($offset)->take($size);
+ }
+
+ // Get filtered count
+ $filteredRecords = $query->count();
+
+ // Get data with necessary relationships
+ $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'dokumenjaminan'])->get();
+
+ // Calculate total pages
+ $pageCount = ceil($totalRecords / $request->get('size', 10));
+
diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php
index f71e327..4e8ca97 100644
--- a/app/Http/Controllers/SurveyorController.php
+++ b/app/Http/Controllers/SurveyorController.php
@@ -2407,7 +2407,7 @@ class SurveyorController extends Controller
$data['hub_cadeb_penghuni'] => ($data['hub_cadeb_penghuni'] == 'sesuai') ? $data['hub_cadeb_penghuni_sesuai'] : $data['hub_penghuni_tidak_sesuai']
],
'pihak_bank' => $data['pihak_bank'] ?? null,
- 'nomor_nib' => $data['nomor_nib'] ?? null,
+
'kordinat_lng' => $data['kordinat_lng'] ?? null,
'kordinat_lat' => $data['kordinat_lat'] ?? null,
]
@@ -3265,33 +3265,33 @@ class SurveyorController extends Controller
if ($checkKesesuaian) {
// Mengecek apakah status kesesuaian adalah 'sesuai'
$isSesuai = ($data[$fieldName] ?? '') === 'sesuai';
-
+
// Menggunakan key berdasarkan status kesesuaian
$result = [
$isSesuai ? 'sesuai' : 'tidak_sesuai' => $data[$fieldName] ?? null
];
-
+
// Tambahkan field ekstra jika ada
if ($extraField) {
$result[$extraField] = $data["{$fieldName}_{$extraField}"] ?? null;
}
-
+
return $result;
}
-
+
// Jika tidak melakukan pengecekan kesesuaian, hanya ambil data berdasarkan fieldName
$result = [
$fieldName => $data[$fieldName] ?? null,
];
-
+
// Jika ada extra field, tambahkan ke result
if ($extraField) {
$result[$extraField] = $data["{$fieldName}_{$extraField}"] ?? null;
}
-
+
return $result;
}
-
+
public function export(string $type)
{
@@ -3332,12 +3332,13 @@ class SurveyorController extends Controller
->where('dokument_id', $request->input('document_id'))
->first();
- if (!$inspeksi) {
- return response()->json([
- 'success' => false,
- 'message' => 'Data inspeksi tidak ditemukan'
- ], 404);
- }
+ if (!$inspeksi) {
+ $inspeksi = new Inspeksi();
+ $inspeksi->permohonan_id = $request->input('permohonan_id');
+ $inspeksi->dokument_id = $request->input('document_id');
+ $inspeksi->data_form = json_encode([]); // Inisialisasi data_form kosong
+ $inspeksi->save();
+ }
// Decode data form yang ada
$dataForm = json_decode($inspeksi->data_form, true) ?: [];
@@ -3493,36 +3494,43 @@ class SurveyorController extends Controller
public function print_out_inspeksi($permohonan_id, $dokument_id, $jenis_jaminan_id)
{
- $permohonan = $this->getPermohonanJaminanId(
- $permohonan_id,
- $dokument_id,
- $jenis_jaminan_id
- );
+ // Ambil data permohonan dan data umum
+ $permohonan = $this->getPermohonanJaminanId($permohonan_id, $dokument_id, $jenis_jaminan_id);
$basicData = $this->getCommonData();
+
+ // Ambil data inspeksi
$inspeksi = Inspeksi::where('permohonan_id', $permohonan_id)
->where('dokument_id', $dokument_id)
->first();
-
- $forminspeksi = null;
-
- if ($inspeksi) {
- $forminspeksi = json_decode($inspeksi->data_form, true);
+
+ if (!$inspeksi) {
+ // Redirect jika inspeksi tidak ditemukan
+ return redirect()->back()->with('error', 'Data inspeksi tidak ditemukan.');
}
-
- // Cek jika forminspeksi kosong
+
+ // Decode data form inspeksi
+ $forminspeksi = json_decode($inspeksi->data_form, true);
+
if (!$forminspeksi) {
- // Redirect kembali dengan pesan error
- return redirect()->back()->with('error', 'Silahkan isi terlebih dahulu form inspeksi');
+ // Redirect jika data form inspeksi kosong
+ return redirect()->back()->with('error', 'Silahkan isi terlebih dahulu form inspeksi.');
}
-
-
- $pdf = PDF::loadView('lpj::surveyor.components.print-out.main', compact(
- 'permohonan',
- 'basicData',
- 'forminspeksi',
- ));
+
+ // Pilih template PDF berdasarkan nama inspeksi
+ $templateView = strtolower($inspeksi->name) === 'rap'
+ ? 'lpj::surveyor.components.print-out.main'
+ : 'lpj::surveyor.components.print-out.main';
+
+ // Generate PDF
+ $pdf = PDF::loadView($templateView, compact('permohonan', 'basicData', 'forminspeksi'));
$pdf->setPaper('A4', 'portrait');
- return $pdf->download('Laporan_data.pdf');
+
+ // Tentukan nama file PDF
+ $namaDebiture = $permohonan->debiture->name . '-' . $permohonan->nomor_registrasi;
+ $fileName = 'inspeksi-' . $namaDebiture . '-data.pdf';
+
+ return $pdf->download($fileName);
}
+
}
diff --git a/app/Http/Requests/FormSurveyorRequest.php b/app/Http/Requests/FormSurveyorRequest.php
index e29b5cd..8d6ff65 100644
--- a/app/Http/Requests/FormSurveyorRequest.php
+++ b/app/Http/Requests/FormSurveyorRequest.php
@@ -570,7 +570,6 @@ class FormSurveyorRequest extends FormRequest
'dokument_id' => 'required',
'type' => 'required',
'nomor_registrasi' => 'required',
- 'nomor_nib' => 'nullable',
'debitur_perwakilan' => 'required|array',
'jenis_asset_name' => 'nullable|',
'jenis_asset' => 'required',
diff --git a/module.json b/module.json
index 8eb0128..37e7ebd 100644
--- a/module.json
+++ b/module.json
@@ -302,7 +302,10 @@
"pemohon-ao",
"pemohon-eo",
"admin",
- "surveyor"
+ "surveyor",
+ "senior-officer",
+ "EO Appraisal",
+ "DD Appraisal"
]
},
{
diff --git a/resources/views/activity/index.blade.php b/resources/views/activity/index.blade.php
index 798fe44..eda029b 100644
--- a/resources/views/activity/index.blade.php
+++ b/resources/views/activity/index.blade.php
@@ -4,46 +4,45 @@
{{ Breadcrumbs::render('activity') }}
@endsection
@section('content')
-@push('styles')
-
-
-@endpush
+ .dropdowns-content a:hover {
+ background-color: #f1f1f1;
+ }
+
+ @endpush
@endif
- @foreach ($permohonan->debiture->documents as $dokumen)
-
documents as $dokumen)
+
- @foreach ($permohonan->debiture->documents as $dokumen)
+ @foreach ($permohonan->documents as $dokumen)
@@ -155,7 +155,7 @@
Jenis Jaminan
- @foreach ($permohonan->debiture->documents as $document)
+ @foreach ($permohonan->documents as $document)
{{ $document->jenisjaminan->name }}
@endforeach
diff --git a/resources/views/surveyor/components/card-tambah.blade.php b/resources/views/surveyor/components/card-tambah.blade.php
index 3e3d694..6116d9d 100644
--- a/resources/views/surveyor/components/card-tambah.blade.php
+++ b/resources/views/surveyor/components/card-tambah.blade.php
@@ -1,10 +1,9 @@
-
-
-
- @foreach ($permohonan->debiture->documents as $dokumen)
+ @foreach ($permohonan->documents as $dokumen)
@php
+
$jaminanId = $dokumen->id;
+
$currentInspeksi = $inspeksiData[$jaminanId] ?? null;
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
@@ -15,8 +14,7 @@
'url' =>
route('surveyor.inspeksi', [
'id' => $permohonan->id,
- ]) .
- "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
+ ]) . "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
'show' => true,
'icon' => !empty($currentInspeksi['data_form']),
],
@@ -29,8 +27,7 @@
'url' =>
route('surveyor.denah', [
'id' => $permohonan->id,
- ]) .
- "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
+ ]) . "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
'show' => true,
'icon' => !empty($currentInspeksi['denah_form']),
];
@@ -42,8 +39,7 @@
'url' =>
route('surveyor.foto', [
'id' => $permohonan->id,
- ]) .
- "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
+ ]) . "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
'show' => true,
'icon' => !empty($currentInspeksi['foto_form']),
],
@@ -52,8 +48,7 @@
'url' =>
route('surveyor.data-pembanding', [
'id' => $permohonan->id,
- ]) .
- "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
+ ]) . "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
'show' => true,
'icon' => !empty($currentInspeksi['data_pembanding']),
],
@@ -103,8 +98,10 @@
diff --git a/resources/views/surveyor/components/header.blade.php b/resources/views/surveyor/components/header.blade.php
index 00206b1..c6a0e88 100644
--- a/resources/views/surveyor/components/header.blade.php
+++ b/resources/views/surveyor/components/header.blade.php
@@ -260,6 +260,7 @@
+