fix(print-out): perbaikan prit out, resume, memo, standard, sedehana dan rap

This commit is contained in:
majid
2025-01-24 07:47:12 +07:00
parent 09edabffdd
commit a1282fbdca
15 changed files with 734 additions and 356 deletions

View File

@@ -341,7 +341,37 @@ class PenilaiController extends Controller
$rap = json_decode($resume->rap, true);
}
return view('lpj::penilai.components.rap-penilai', compact('permohonan', 'rap', 'provinces', 'forminspeksi', 'noLpRAP', 'basicData'));
$cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null;
if ($cekAlamat) {
$provinceCode = $cekAlamat['province_code'] ?? $provinceCode;
$cityCode = $cekAlamat['city_code'] ?? $cityCode;
$districtCode = $cekAlamat['district_code'] ?? $districtCode;
// Ambil data menggunakan kode yang telah ditentukan
}
$cities = City::where('province_code', $provinceCode)->get();
$districts = District::where('city_code', $cityCode)->get();
$villages = Village::where('district_code', $districtCode)->get();
if ($forminspeksi) {
if (isset($forminspeksi['alamat']['sesuai']['province_code'])) {
$cities = City::where('province_code', $forminspeksi['alamat']['sesuai']['province_code'])->get();
}
if (isset($forminspeksi['alamat']['sesuai']['city_code'])) {
$districts = District::where('city_code', $forminspeksi['alamat']['sesuai']['city_code'])->get();
}
if (isset($forminspeksi['alamat']['sesuai']['district_code'])) {
$villages = Village::where('district_code', $forminspeksi['alamat']['sesuai']['district_code'])->get();
}
}
return view('lpj::penilai.components.rap-penilai', compact('permohonan', 'rap', 'provinces', 'cities',
'districts',
'villages','forminspeksi', 'noLpRAP', 'basicData','cekAlamat'));
}
@@ -1140,7 +1170,6 @@ class PenilaiController extends Controller
'perihal',
'jenis_asset_tidak_sesuai',
'lokasi.lokasi',
'lokasi.address',
'lokasi.province_code',
'lokasi.city_code',
'lokasi.district_code',
@@ -1199,7 +1228,6 @@ class PenilaiController extends Controller
'fakta.fakta_positif',
'fakta.fakta_negatif',
'fisik',
'sesuai_imb',
'keterangan'
],
];

View File

@@ -1256,20 +1256,33 @@ class SurveyorController extends Controller
$needsSave = true;
}
// Fields untuk alamat dalam asset
// Fields untuk alamat dalam asset
elseif (in_array($field, ['address', 'village_code', 'district_code', 'city_code', 'province_code'])) {
if (!isset($dataForm['asset']['alamat'])) {
$dataForm['asset']['alamat'] = [];
$dataForm['asset']['alamat'] = [
'sesuai' => [
'address' => '',
'village_code' => '',
'district_code' => '',
'city_code' => '',
'province_code' => ''
]
];
}
$alamatStatus = $dataForm['asset']['alamat'] == 'sesuai' ? 'sesuai' : 'tidak sesuai';
// Tentukan status alamat (sesuai/tidak sesuai)
$alamatStatus = isset($dataForm['asset']['alamat']['sesuai']) ? 'sesuai' : 'tidak sesuai';
// Update nilai dalam status yang ada
if (!isset($dataForm['asset']['alamat'][$alamatStatus])) {
$dataForm['asset']['alamat'][$alamatStatus] = [];
}
// Update nilai field yang sesuai
$dataForm['asset']['alamat'][$alamatStatus][$field] = $newValue;
}
// Jenis asset dalam asset
elseif ($field === 'jenis_asset') {
$assetStatus = $request->input('asset_status', 'sesuai');
@@ -2586,11 +2599,94 @@ class SurveyorController extends Controller
private function getRapData($data, $request): array
{
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))
->where('dokument_id', $request->input('dokument_id'))
->first();
$dataForm = json_decode($inspeksi->data_form, true);
$perizinanData = isset($dataForm['perizinan']) ? $dataForm['perizinan'] : [];
if ($request->has('perizinan')) {
foreach ($request->perizinan as $key => $perizinanName) {
// Cek apakah ada file baru yang diupload
if ($request->hasFile("perizinan_file.{$key}")) {
// Jika ada file baru, tambahkan/update data
$file = $request->file("perizinan_file.{$key}");
$path = $file->store('perizinan', 'public');
// Cek apakah perizinan dengan nama yang sama sudah ada
$existingIndex = array_search($perizinanName, array_column($perizinanData, 'perizinan'));
if ($existingIndex !== false) {
// Update file untuk perizinan yang sudah ada
$perizinanData[$existingIndex] = [
'perizinan' => $perizinanName,
'perizinan_file' => $path
];
} else {
// Tambah perizinan baru
$perizinanData[] = [
'perizinan' => $perizinanName,
'perizinan_file' => $path
];
}
}
}
}
$data['perizinan'] = $perizinanData;
$partisiResult = [];
if (isset($data['partisi'])) {
foreach ($data['partisi'] as $name => $values) {
if (!empty($values['value'])) {
$partisiResult[$name] = [
'nama' => $values['nama'],
'value' => $values['value']
];
}
}
}
$brosurData = isset($dataForm['brosur_price_list']) ? $dataForm['brosur_price_list'] : [];
if ($request->has('brosur_price_list')) {
foreach ($request->brosur_price_list as $key => $jenis) {
// Cek apakah ada file baru yang diupload
if ($request->hasFile("brosur_price_list_file.{$key}")) {
// Jika ada file baru, tambahkan/update data
$file = $request->file("brosur_price_list_file.{$key}");
$path = $file->store('brosur-pricelist', 'public');
// Cek apakah jenis brosur yang sama sudah ada
$existingIndex = array_search($jenis, array_column($brosurData, 'jenis'));
if ($existingIndex !== false) {
// Update file untuk jenis yang sudah ada
$brosurData[$existingIndex] = [
'jenis' => $jenis,
'file_path' => $path
];
} else {
// Tambah jenis brosur baru
$brosurData[] = [
'jenis' => $jenis,
'file_path' => $path
];
}
}
}
}
$data['brosur_price_list'] = $brosurData;
$rapData = [
'perizinan' => $data['perizinan'] ?? null,
'perizinan_file' => $data['perizinan_file'] ?? null,
'brosur_price_list' => $data['brosur_price_list'] ?? null,
'brosur_price_file' => $data['brosur_price_file'] ?? null,
'perizinan' => $perizinanData ?? null,
'brosur_price_list' => $brosurData ?? null,
'pengalaman_developer' => $data['pengalaman_developer'] ?? null,
'developer_anggota' => $data['developer_anggota'] ?? null,
'lainnya_developer' => $data['lainnya_developer'] ?? null,
@@ -2603,7 +2699,7 @@ class SurveyorController extends Controller
'pusat_keramaian' => $data['pusat_keramaian'] ?? null,
'transportasi_umum' => $data['transportasi_umum'] ?? null,
'lainnya_kondisi' => $data['lainnya_kondisi'] ?? null,
'partisi' => $data['partisi'] ?? null,
'partisi' => $partisiResult ?? null,
'jumlah_unit' => $data['jumlah_unit'] ?? null,
'batas_batas_perumahan' => $data['batas_batas_perumahan'] ?? null,
'fasus_fasum' => $data['fasus_fasum'] ?? null,