Merge pull request 'feature/senior-officer' (#132) from feature/senior-officer into staging

Reviewed-on: #132
This commit is contained in:
putrakuningan
2025-03-17 08:59:47 +01:00
12 changed files with 97 additions and 49 deletions

View File

@@ -968,8 +968,8 @@ class PenilaiController extends Controller
]
);
$existingPhotos = isset($memo->memo) ? json_decode($memo->memo)->foto : [];
dd($existingPhotos);
// $existingPhotos = isset($memo->memo) ? json_decode($memo->memo) : [];
// dd($existingPhotos);
// Simpan foto-foto
if ($request->hasFile('foto_0')) {
$photoUrls = [];
@@ -982,15 +982,15 @@ class PenilaiController extends Controller
$index++;
}
$memoData['foto'] = array_merge($existingPhotos, $photoUrls);
// $memoData['foto'] = array_merge($existingPhotos, $photoUrls);
}else{
$memoData['foto'] = $existingPhotos;
}
// }else{
// $memoData['foto'] = $existingPhotos;
// Tambahkan URL foto ke data memo
$memoData['foto'] = $photoUrls;
$memo->memo = json_encode($memoData);
$memo->save();
}
return response()->json([
'success' => true,

View File

@@ -730,6 +730,7 @@ class SurveyorController extends Controller
'lingkungan' => 'validateLingkungan',
'fakta' => 'validateFactData',
'rap' => 'validateRapData',
'apartemen-kantor' => 'validateUnitData',
];
// Ambil data inspeksi

View File

@@ -10,6 +10,7 @@ class PermohonanHistoryService
public function createHistory(Permohonan $permohonan, string $status, ?string $keterangan, array $beforeRequest, array $afterRequest, ?string $filePath = null)
{
try {
$history = PermohonanHistory::create([
'permohonan_id' => $permohonan->id,
'status' => $status,

View File

@@ -388,5 +388,47 @@ class SurveyorValidateService
}
public function validateUnitData(array $data): array
{
$invalidFields = [];
// Validasi action
if (empty($data['action'])) {
$invalidFields[] = 'Action harus diisi';
}
// Validasi luas_unit
if (empty($data['luas_unit'])) {
$invalidFields[] = 'Luas unit harus diisi';
}
// Validasi kondisi_unit
if (empty($data['kondisi_unit'])) {
$invalidFields[] = 'Kondisi unit harus diisi';
}
// Validasi posisi_unit
if (empty($data['posisi_unit'])) {
$invalidFields[] = 'Posisi unit harus diisi';
}
// Validasi lantai
if (empty($data['lantai'])) {
$invalidFields[] = 'Lantai harus diisi';
}
// Validasi view
if (empty($data['view'])) {
$invalidFields[] = 'View harus diisi';
}
// Validasi bentuk_unit
if (empty($data['bentuk_unit'])) {
$invalidFields[] = 'Bentuk unit harus diisi';
}
return $invalidFields;
}
}

View File

@@ -60,7 +60,7 @@
$labelNilai = [
'bangunan' => 'Luas Bangunan',
'tanah' => 'Luas Tanah',
'apartement-kantor' => 'Luas Apartemen/Kantor',
'apartemen-kantor' => 'Luas Unit',
'alat-berat' => 'Luas Alat Berat',
'mesin' => 'Luas Mesin',
'kendaraan' => 'Luas Kendaraan',
@@ -85,6 +85,8 @@
$luas =
$forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ??
($forminspeksi['tanah']['luas_tanah']['sesuai'] ?? null);
} else if ($item === 'apartemen-kantor') {
$luas = $forminspeksi['luas_unit']['sesuai'] ?? ($forminspeksi['luas_unit']['tidak sesuai'] ?? null);
} else {
$luas = null;
}
@@ -234,7 +236,7 @@
</div>
<script type="text/javascript">
const datas = @json($forminspeksi);
const datas = @json($lpjData);
console.log(datas);
document.addEventListener('DOMContentLoaded', function() {

View File

@@ -50,9 +50,12 @@
unset($fotoTypes[$key]);
array_unshift($fotoTypes, 'upload_gs');
}
// Filter fotoTypes untuk memastikan hanya yang memiliki imagePath valid
$validPhotoTypes = array_filter($fotoTypes, function ($type) use ($forminspeksi) {
// Check if value is a string (not an array) and file exists
return isset($forminspeksi[$type]) &&
is_string($forminspeksi[$type]) &&
file_exists(storage_path('app/public/' . $forminspeksi[$type]));
});
@endphp

View File

@@ -138,12 +138,12 @@
</td>
<td style="text-align: right;">
<p style="margin: 0; padding:0; font-size:10px;">
Tanggal: {{ \Carbon\Carbon::parse($permohonan->penilaian->updated_at)->format('d-m-Y') }}
Tanggal: {{ \Carbon\Carbon::parse(date('Y-m-d'))->format('d-m-Y') }}
</p>
<p style="margin: 0; padding:0; font-size:10px;">
Waktu: {{ \Carbon\Carbon::parse($permohonan->penilaian->updated_at)->format('H:i') }}
Waktu: {{ \Carbon\Carbon::parse(date('H:i:s'))->format('H:i:s') }}
</p>
<p style="margin: 0; padding:0; font-size:10px;">User: {{ $penilaiUser->name }}</p>
<p style="margin: 0; padding:0; font-size:10px;">User: {{ Auth::user()->name }}</p>
</td>
</tr>
</table>

View File

@@ -184,9 +184,9 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="tanggal_survey" class="form-label max-w-56">Tanggal Survey</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="date" id="tanggal_survey" name="tanggal_survey"
<input type="date-time" id="tanggal_survey" name="tanggal_survey"
class="input w-full" placeholder="Masukkan Tanggal Survey"
value="{{ $memo->lokasi->tanggal_survey ?? old('tanggal_survey') }}">
value="{{ $permohonan->penilaian->updated_at ?? old('tanggal_survey') }}" @readonly(true)>
</div>
</div>

View File

@@ -66,9 +66,9 @@
<table>
<tr>
<td>
Menindak lanjuti permintann penilaian jaminan dari {{ $permohonan->user->name }} AO Cabang
Menindak lanjuti permintan penilaian jaminan dari {{ $permohonan->user->name }} AO Cabang
{{ $permohonan->debiture->branch->name ?? '' }}
tanggal {{ formatTanggalIndonesia($memo['tanggal']) ?? '' }}, dapat di sampaikan sebagai berikut:
tanggal {{ formatTanggalIndonesia($permohonan->created_at) ?? '' }}, dapat di sampaikan sebagai berikut:
</td>
</tr>
</table>
@@ -139,7 +139,7 @@
<td style="width: 25%; padding: 2px;">Tanggal Kunjungan</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
{{ formatTanggalIndonesia($permohonan->penilaian->updated_at) }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px;">Surveyor</td>

View File

@@ -206,16 +206,15 @@
@php
$cekHub =
isset($forminspeksi['asset']['hub_cadeb']) &&
$forminspeksi['asset']['hub_cadeb'] === 'sesuai'
isset($forminspeksi['asset']['hub_cadeb']) && $forminspeksi['asset']['hub_cadeb'] === 'sesuai'
? 'sesuai'
: 'tidak sesuai';
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb'][$cekHub])
? $forminspeksi['asset']['hub_cadeb']['tidak sesuai']
: $forminspeksi['asset']['hub_cadeb']['sesuai'];
$hubCadeb = $cekHub === 'sesuai'
? ($forminspeksi['asset']['hub_cadeb']['sesuai'] ?? null)
: ($forminspeksi['asset']['hub_cadeb']['tidak sesuai'] ?? null);
@endphp
<td style=" padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitu</td>
<td style=" padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
</tr>
@@ -491,7 +490,7 @@
@endphp
<td style="padding: 2px; vertical-align: top;">Luas Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $luas ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">{{ $luas ?? '' }} m<sup>2</sup> </td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Bentuk Unit</td>
@@ -724,7 +723,7 @@
$labelNilai = [
'bangunan' => 'Luas Bangunan',
'tanah' => 'Luas Tanah',
'apartement-kantor' => 'Luas Apartemen/Kantor',
'apartemen-kantor' => 'Luas Unit',
'alat-berat' => 'Luas Alat Berat',
'mesin' => 'Luas Mesin',
'kendaraan' => 'Luas Kendaraan',

View File

@@ -185,9 +185,10 @@
? 'sesuai'
: 'tidak sesuai';
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb'][$cekHub])
? $forminspeksi['asset']['hub_cadeb']['tidak sesuai']
: $forminspeksi['asset']['hub_cadeb']['sesuai'];
$hubCadeb = $cekHub === 'sesuai'
? ($forminspeksi['asset']['hub_cadeb']['sesuai'] ?? null)
: ($forminspeksi['asset']['hub_cadeb']['tidak sesuai'] ?? null);
@endphp
<td style="width:25%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
@@ -203,8 +204,8 @@
: 'tidak sesuai';
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb_penghuni'][$cekHub])
? $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai']
: $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'];
? ($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'] ?? null)
: ($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'] ?? null);
@endphp
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
@@ -262,7 +263,7 @@
$labelNilai = [
'bangunan' => 'Luas Bangunan',
'tanah' => 'Luas Tanah',
'apartement-kantor' => 'Luas Apartemen/Kantor',
'apartemen-kantor' => 'Luas Unit',
'alat-berat' => 'Luas Alat Berat',
'mesin' => 'Luas Mesin',
'kendaraan' => 'Luas Kendaraan',

View File

@@ -613,8 +613,7 @@
</button>
`;
} else {
if (data.penilaian.waktu_penilaian == null ||
(data.penilaian.waktu_penilaian && data.penilaian.authorized_status == null)) {
if (!data.penilaian.waktu_penilaian) {
actionHtml += `
<a class="btn btn-sm btn-icon btn-clear btn-primary"
onclick="prosesJadwalSurvey(${data.penilaian.id})"