Merge pull request 'feature/senior-officer' (#132) from feature/senior-officer into staging
Reviewed-on: #132
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -730,6 +730,7 @@ class SurveyorController extends Controller
|
||||
'lingkungan' => 'validateLingkungan',
|
||||
'fakta' => 'validateFactData',
|
||||
'rap' => 'validateRapData',
|
||||
'apartemen-kantor' => 'validateUnitData',
|
||||
];
|
||||
|
||||
// Ambil data inspeksi
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -47,14 +47,17 @@
|
||||
];
|
||||
// Memindahkan foto_tempat ke depan jika ada
|
||||
if (($key = array_search('upload_gs', $fotoTypes)) !== false) {
|
||||
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) {
|
||||
return isset($forminspeksi[$type]) &&
|
||||
file_exists(storage_path('app/public/' . $forminspeksi[$type]));
|
||||
});
|
||||
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
|
||||
|
||||
<table width="100%" border="0">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -205,17 +205,16 @@
|
||||
<tr>
|
||||
@php
|
||||
|
||||
$cekHub =
|
||||
isset($forminspeksi['asset']['hub_cadeb']) &&
|
||||
$forminspeksi['asset']['hub_cadeb'] === 'sesuai'
|
||||
? 'sesuai'
|
||||
: 'tidak sesuai';
|
||||
$cekHub =
|
||||
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'];
|
||||
@endphp
|
||||
<td style=" padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitu</td>
|
||||
$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 Debitur</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
|
||||
</tr>
|
||||
@@ -483,15 +482,15 @@
|
||||
<table>
|
||||
<tr>
|
||||
@php
|
||||
$cekLuas = isset($forminspeksi['luas_unit']['tidak sesuai'])
|
||||
? 'tidak sesuai'
|
||||
: 'sesuai';
|
||||
$cekLuas = isset($forminspeksi['luas_unit']['tidak sesuai'])
|
||||
? 'tidak sesuai'
|
||||
: 'sesuai';
|
||||
|
||||
$luas = $forminspeksi['luas_unit'][$cekLuas] ?? null;
|
||||
@endphp
|
||||
$luas = $forminspeksi['luas_unit'][$cekLuas] ?? null;
|
||||
@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',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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})"
|
||||
|
||||
Reference in New Issue
Block a user