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

Reviewed-on: #126
This commit is contained in:
putrakuningan
2025-03-08 08:55:46 +01:00
11 changed files with 1254 additions and 1194 deletions

View File

@@ -25,15 +25,19 @@ use App\Helpers\Lpj;
use Modules\Lpj\Http\Requests\FormSurveyorRequest; use Modules\Lpj\Http\Requests\FormSurveyorRequest;
use Modules\Lpj\Models\Authorization; use Modules\Lpj\Models\Authorization;
use Modules\Lpj\Models\Debiture; use Modules\Lpj\Models\Debiture;
use Modules\Lpj\Services\SaveFormInspesksiService;
class PenilaiController extends Controller class PenilaiController extends Controller
{ {
public $user; public $user;
protected $surveyorController; protected $surveyorController;
protected $inspeksiService;
public function __construct(SurveyorController $surveyorController)
public function __construct(SurveyorController $surveyorController, SaveFormInspesksiService $inspeksiService)
{ {
$this->surveyorController = $surveyorController; $this->surveyorController = $surveyorController;
$this->inspeksiService = $inspeksiService;
} }
/** /**
@@ -108,7 +112,11 @@ class PenilaiController extends Controller
if ($lpj) { if ($lpj) {
$lpjData = json_decode($lpj->lpj, true); $lpjData = json_decode($lpj->lpj, true);
} }
$debitur = Debiture::find($permohonan->debiture_id);
$provinceCode = $debitur->province_code;
$cityCode = $debitur->city_code;
$districtCode = $debitur->district_code;
$cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null; $cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null;
if ($cekAlamat) { if ($cekAlamat) {
@@ -172,7 +180,11 @@ class PenilaiController extends Controller
if ($lpj) { if ($lpj) {
$lpjData = json_decode($lpj->lpj, true); $lpjData = json_decode($lpj->lpj, true);
} }
$debitur = Debiture::find($permohonan->debiture_id);
$provinceCode = $debitur->province_code;
$cityCode = $debitur->city_code;
$districtCode = $debitur->district_code;
$cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null; $cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null;
if ($cekAlamat) { if ($cekAlamat) {
@@ -1044,7 +1056,8 @@ class PenilaiController extends Controller
DB::beginTransaction(); DB::beginTransaction();
try { try {
$result = $this->surveyorController->store($request); $validatedData = $request->all();
$result = $this->inspeksiService->storeInspeksi($validatedData, $request->input('type'), $request);
$data = [ $data = [

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -22,7 +22,7 @@
</style> </style>
<div class="signature-pad-container mx-auto border p-4 max-w-md sm:max-w-lg lg:max-w-xl"> <div class="signature-pad-container mx-auto border p-4 max-w-md sm:max-w-lg lg:max-w-xl">
<h3 class="signature-title text-lg sm:text-xl font-semibold mb-2">{{ ucfirst($type) }}</h3> <h3 class="signature-title text-md sm:text-lg mb-2 uppercase">{{ ucfirst($type) }}</h3>
<div class="w-full aspect-w-2 aspect-h-1"> <div class="w-full aspect-w-2 aspect-h-1">
<canvas <canvas
id="signature-pad-{{ $type }}" id="signature-pad-{{ $type }}"

View File

@@ -355,8 +355,6 @@
const preview = newCell.querySelector('img'); const preview = newCell.querySelector('img');
if (preview) { if (preview) {
preview.id = newImageId; preview.id = newImageId;
preview.src = '';
preview.accept = ".jpg,.jpeg,.png";
preview.classList.add('hidden'); preview.classList.add('hidden');
input.onchange = function() { input.onchange = function() {
const file = this.files[0]; const file = this.files[0];

View File

@@ -180,11 +180,12 @@
: 'tidak sesuai'; : 'tidak sesuai';
$selectedValue = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null; $selectedValue = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
@endphp @endphp
<div id="jenis_asset" class="flex items-baseline gap-2" <div id="jenis_asset" class="flex items-baseline gap-2"
style="{{ old('jenis_asset_tidak_sesuai', isset($forminspeksi['asset']['jenis_asset']['tidak sesuai'])) ? '' : 'display: none;' }}"> style="{{ old('jenis_asset_tidak_sesuai', isset($forminspeksi['asset']['jenis_asset']['tidak sesuai'])) ? '' : 'display: none;' }}">
<select id="jenis_asset_tidak_sesuai" class="input w-full" <select id="jenis_asset_tidak_sesuai" class="input w-full"
name="jenis_asset_tidak_sesuai"> name="jenis_asset_tidak_sesuai" onchange="handleJenisAssetChange(this)">
<option value="">Select Jenis asset</option> <option value="">Pilih Jenis Aset</option>
@if (isset($basicData['jenisJaminan'])) @if (isset($basicData['jenisJaminan']))
@foreach ($basicData['jenisJaminan'] as $item) @foreach ($basicData['jenisJaminan'] as $item)
<option value="{{ $item->name }}" <option value="{{ $item->name }}"
@@ -194,9 +195,12 @@
@endforeach @endforeach
@endif @endif
</select> </select>
{{-- <button type="button" class="btn btn-md btn-primary"
onclick="updateAnalisa('jenis_asset')">Save</button> --}}
</div> </div>
<!-- Input untuk "Lainnya" -->
<input id="jenis_asset_lainnya" type="text" name="jenis_asset_lainnya"
class="input w-full mt-2" placeholder="Masukkan Jenis Aset Lainnya..."
value="{{ old('jenis_asset_lainnya', isset($forminspeksi['asset']['jenis_asset']['Lainnya']) ? $forminspeksi['asset']['jenis_asset']['Lainnya'] : '') }}"
style="{{ old('jenis_asset_lainnya', isset($forminspeksi['asset']['jenis_asset']['Lainnya'])) == 'Lainnya' ? '' : 'display: none;' }}" />
</div> </div>
<em id="error-jenis_asset" class="alert text-danger text-sm"></em> <em id="error-jenis_asset" class="alert text-danger text-sm"></em>
</div> </div>
@@ -596,5 +600,15 @@
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
loadSavedLocationData(); loadSavedLocationData();
}); });
function handleJenisAssetChange(select) {
const lainnyaInput = document.getElementById('jenis_asset_lainnya');
if (select.value === 'Lainnya') {
lainnyaInput.style.display = 'block';
} else {
lainnyaInput.style.display = 'none';
lainnyaInput.value = ''; // Reset nilai input jika bukan "lainnya"
}
}
</script> </script>
@include('lpj::surveyor.js.utils') @include('lpj::surveyor.js.utils')

View File

@@ -209,10 +209,10 @@
</div> </div>
</div> </div>
@if (isset($link_url_region->regions->url))
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56"> <label class="form-label max-w-56">
<span class="form-label">{{ $link_url_region->regions->name_url }}</span> <span class="form-label">Blad Tata Ruang Perdaerah</span>
</label> </label>
<div class="input-group w-full flex gap-2"> <div class="input-group w-full flex gap-2">
<input class="name_rute" type="hidden" name="name_rute" value="rute"> <input class="name_rute" type="hidden" name="name_rute" value="rute">
@@ -226,19 +226,12 @@
alt="Foto Argis Region" class="mt-2 max-w-full h-auto" alt="Foto Argis Region" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_argis_region']) ? '' : 'display: none;' }} max-width: 30rem;"> style="{{ isset($forminspeksi['foto_argis_region']) ? '' : 'display: none;' }} max-width: 30rem;">
</div> </div>
<a href="{{ $link_url_region->regions->url }}" type="button" class="btn btn-light" <
target="_blank">
<i class="ki-filled ki-map"></i>
{{ $link_url_region->regions->name_url }}
</a>
</div> </div>
</div> </div>
@endif
</div> </div>
<!-- Upload Photo Button --> <!-- Upload Photo Button -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
<label for="" class="form-label max-w-56 text-sm font-medium text-gray-700">Upload Peta</label> <label for="" class="form-label max-w-56 text-sm font-medium text-gray-700">Upload Peta</label>
<div class="w-full grid gap-5"> <div class="w-full grid gap-5">

View File

@@ -270,7 +270,7 @@
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<label for="jarak_makam" class="form-label max-w-56">Jarak</label> <label for="jarak_makam" class="form-label max-w-56">Jarak</label>
<input type="number" class="input mt-2" name="jarak_makam" <input type="text" class="input mt-2" name="jarak_makam"
value="{{ old('jarak_makam', $forminspeksi['lingkungan']['jarak_makam'] ?? '') }}" value="{{ old('jarak_makam', $forminspeksi['lingkungan']['jarak_makam'] ?? '') }}"
placeholder="Km" /> placeholder="Km" />
</div> </div>
@@ -313,7 +313,7 @@
style="{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'display:flex;' : 'display:none;' }}"> style="{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'display:flex;' : 'display:none;' }}">
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<label for="jarak_tps" class="form-label max-w-56">Jarak</label> <label for="jarak_tps" class="form-label max-w-56">Jarak</label>
<input type="number" id="jarak_tps" class="input mt-2" name="jarak_tps" <input type="text" id="jarak_tps" class="input mt-2" name="jarak_tps"
value="{{ old('jarak_tps', $forminspeksi['lingkungan']['jarak_tps'] ?? '') }}" value="{{ old('jarak_tps', $forminspeksi['lingkungan']['jarak_tps'] ?? '') }}"
placeholder="Km" /> placeholder="Km" />
</div> </div>

View File

@@ -46,6 +46,11 @@
<input type="checkbox" <input type="checkbox"
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) && in_array($item->name, $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) ? 'checked' : '' }}> {{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) && in_array($item->name, $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) ? 'checked' : '' }}>
{{ $item->name }} {{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']) ? ' (' . $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] . ')' : '' }}
@endif
</label> </label>
</td> </td>
@endforeach @endforeach
@@ -150,6 +155,10 @@
<input type="checkbox" <input type="checkbox"
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '') ? 'checked' : '' }}> {{ isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '') ? 'checked' : '' }}>
{{ $item->name }} {{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['lainnya']) ? ' (' . $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] . ')' : '' }}
@endif
</label> </label>
</td> </td>
@endforeach @endforeach
@@ -198,7 +207,7 @@
- Nama Makam: - Nama Makam:
{{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }} {{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }}
, Jarak Makam: , Jarak Makam:
{{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }} Km {{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }}
@endif @endif
</label> </label>
<label class="checkbox-label"> <label class="checkbox-label">
@@ -225,7 +234,7 @@
{{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }} {{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }}
, Jarak TPS: , Jarak TPS:
{{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }} {{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }}
km
@endif @endif
</label> </label>
<label class="checkbox-label"> <label class="checkbox-label">

View File

@@ -293,15 +293,18 @@
<table style="width: 100%"> <table style="width: 100%">
<tr> <tr>
@php @php
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai']) $statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai']) ? 'sesuai' : 'tidak sesuai';
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null; $selectedData = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
$lainnya = isset($forminspeksi['asset']['jenis_asset']['Lainnya'])
? $forminspeksi['asset']['jenis_asset']['Lainnya']
: null;
@endphp @endphp
<td width="25%" style="padding: 2px; vertical-align: top;">Jenis Aset</td> <td width="25%" style="padding: 2px; vertical-align: top;">Jenis Aset</td>
<td width="1%" style=" vertical-align: top;">:</td> <td width="1%" style=" vertical-align: top;">:</td>
<td style="vertical-align: top; width: %;"> <td style="vertical-align: top; width: %;">
{{ $selectedData ?? '' }} {{ $selectedData ?? '' }} {{ $lainnya ?? '' }}
</td> </td>
</tr> </tr>
@@ -428,12 +431,12 @@
</div> </div>
@if (!empty($basicData['hubCadeb'])) @if (!empty($basicData['hubCadeb']))
<table > <table>
<tr> <tr>
@php $count = 0; @endphp @php $count = 0; @endphp
@foreach ($basicData['hubCadeb'] as $item) @foreach ($basicData['hubCadeb'] as $item)
<td> <td>
<label > <label>
<input type="checkbox" <input type="checkbox"
{{ isset($item->name) && ($hubCadebSesuai === $item->name || $hubCadebTidakSesuai === $item->name) ? 'checked' : '' }}> {{ isset($item->name) && ($hubCadebSesuai === $item->name || $hubCadebTidakSesuai === $item->name) ? 'checked' : '' }}>
{{ $item->name ?? '' }} {{ $item->name ?? '' }}
@@ -578,8 +581,8 @@
<!-- K.J.P.P --> <!-- K.J.P.P -->
@if (isset($forminspeksi['signature']['kjjp'])) @if (isset($forminspeksi['signature']['kjjp']))
<td style="width: 100px;"> <td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['kjjp']['image'] }}" <img style="width: 100px;"
alt="KJPP"> src="{{ $forminspeksi['signature']['kjjp']['image'] }}" alt="KJPP">
</td> </td>
@endif @endif
</tr> </tr>

View File

@@ -91,7 +91,12 @@
<input type="checkbox" <input type="checkbox"
{{ isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) && in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) ? 'checked' : '' }}> {{ isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) && in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) ? 'checked' : '' }}>
{{ $item->name }} {{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['tanah']['bentuk_tanah']['lainnya']) ? ' (' . $forminspeksi['tanah']['bentuk_tanah']['lainnya'] . ')' : '' }}
@endif
</label> </label>
</td> </td>
@endforeach @endforeach
</tr> </tr>
@@ -147,6 +152,13 @@
<input type="checkbox" <input type="checkbox"
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) && in_array($item->name, $forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) ? 'checked' : '' }}> {{ isset($forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) && in_array($item->name, $forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) ? 'checked' : '' }}>
{{ $item->name }} {{ $item->name }}
@if ($item->name == 'Lebih Tinggi')
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi']) ? ' (' . $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] . ')' : '' }}
@endif
@if ($item->name == 'Lebih Rendah')
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah']) ? ' (' . $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] . ')' : '' }}
@endif
</label> </label>
</td> </td>
@endforeach @endforeach
@@ -211,6 +223,10 @@
<input type="checkbox" <input type="checkbox"
{{ isset($forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) && in_array($item->name, $forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) ? 'checked' : '' }}> {{ isset($forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) && in_array($item->name, $forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) ? 'checked' : '' }}>
{{ $item->name }} {{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['tanah']['posisi_kavling']['lainnya']) ? ' (' . $forminspeksi['tanah']['posisi_kavling']['lainnya'] . ')' : '' }}
@endif
</label> </label>
</td> </td>
@endforeach @endforeach