perbaikan form inspeksi bagian unit, dan kertas kerja

This commit is contained in:
majid
2024-12-14 04:23:14 +07:00
parent 3c5b372f7d
commit ab7150a97f
9 changed files with 889 additions and 612 deletions

View File

@@ -192,19 +192,24 @@ class PenilaiController extends Controller
]);
}
public function kertas_kerja($id, $jeniJaminan)
public function kertas_kerja($id, $jaminanId)
{
$data = Inspeksi::where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first();
$headerInfo = [
'tanggal_penilaian' => '',
'nama_pemilik' => '',
'nama_pemberi_tugas' => '',
'lokasi_lengkap' => '',
'nama_debitur' => ''
];
// $data = null;
// $headerInfo = [
// 'tanggal_penilaian' => '',
// 'nama_pemilik' => '',
// 'nama_pemberi_tugas' => '',
// 'lokasi_lengkap' => '',
// 'nama_debitur' => ''
// ];
return Excel::download(new KertasKerjaExport($data, $headerInfo), 'kertas-kerja.xlsx');
// $datas = json_decode($data->data_pembanding);
// return response()->json(['data' =>$datas ]);
return view('lpj::component.kertas-kerja');
// return Excel::download(new KertasKerjaExport($data), 'kertas-kerja.xlsx');
}

View File

@@ -164,7 +164,6 @@ class SurveyorController extends Controller
return response()->json([
'success' => true,
'message' => 'Data berhasil disimpan',
'data' => $processedData
], 200);
} catch (\Exception $e) {
@@ -178,67 +177,86 @@ class SurveyorController extends Controller
private function getActionSpecificRules($data, $action, $request): array
{
$pisah = explode(',', $action);
$allRules = [
'tanah' => $this->getTanahData($data, $request),
'bangunan' => $this->getBangunanData($data, $request),
'kapal' => $this->getKapalData($data, $request),
'kendaraan' => $this->getKendaraanData($data, $request),
'mesin' => $this->getMesinData($data, $request),
'pesawat' => $this->getPesawatData($data, $request),
'alat-berat' => $this->getAlatBeratData($data, $request),
'apartemen-kantor' => $this->getUnitData($data, $request),
'lingkungan' => $this->getLingkunganData($data, $request),
'fakta' => $this->getFactData($data, $request),
$allowedActions = [
'apartemen-kantor' => 'getUnitData',
'tanah' => 'getTanahData',
'bangunan' => 'getBangunanData',
'kapal' => 'getKapalData',
'kendaraan' => 'getKendaraanData',
'mesin' => 'getMesinData',
'pesawat' => 'getPesawatData',
'alat-berat' => 'getAlatBeratData',
'lingkungan' => 'getLingkunganData',
'fakta' => 'getFactData'
];
$rules = [];
$hasAssetDescriptionRules = false;
$pisah = array_filter(
explode(',', $action),
function($act) use ($allowedActions) {
return isset($allowedActions[trim($act)]);
}
);
foreach ($pisah as $act) {
if (isset($allRules[$act])) {
$rules = array_merge($rules, $allRules[$act]);
if ($act == 'tanah' || $act == 'bangunan' || $act == 'apartemen-kantor') {
$hasAssetDescriptionRules = true;
}
$act = trim($act);
$method = $allowedActions[$act];
$actionRules = $this->$method($data, $request);
$rules = array_merge($rules, $actionRules);
if (in_array($act, ['apartemen-kantor', 'tanah', 'bangunan'])) {
$hasAssetDescriptionRules = true;
}
}
if ($hasAssetDescriptionRules) {
$rules = array_merge($rules, $this->getAssetData($data));
}
return $rules;
}
public function storeDenah(Request $request)
{
try {
$maxSize = getMaxFileSize('Foto');
$validatedData = $request->validate([
'foto_denah' => 'required|file|mimes:jpeg,jpg,png,pdf,svg|max:'. $maxSize,
$validationRules = [
'luas' => 'required|numeric',
'permohonan_id' => 'required',
'jenis_jaminan_id' => 'required'
]);
];
$validatedData['foto_denah'] = $this->uploadFile($request->file('foto_denah'), 'foto_denah');
if ($request->hasFile('foto_denah')) {
$maxSize = getMaxFileSize('Foto');
$validationRules['foto_denah'] = 'file|mimes:jpeg,jpg,png,pdf,svg|max:'. $maxSize;
}
$validatedData = $request->validate($validationRules);
$formatJsonDenah = [
'foto_denah' => $validatedData['foto_denah'],
'luas' => $validatedData['luas'],
];
if ($request->hasFile('foto_denah')) {
$formatJsonDenah['foto_denah'] = $this->uploadFile($request->file('foto_denah'), 'foto_denah');
}
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))
->where('jenis_jaminan_id', $request->input('jenis_jaminan_id'))
->first();
if ($inspeksi) {
$existingDenah = json_decode($inspeksi->denah_form, true) ?? [];
$updatedDenah = array_merge($existingDenah, $formatJsonDenah);
$inspeksi->update([
'denah_form' => json_encode($formatJsonDenah)
'denah_form' => json_encode($updatedDenah)
]);
} else {
Inspeksi::create([
@@ -1660,7 +1678,7 @@ class SurveyorController extends Controller
true
),
'hadap_mata_angin' => [
$data['hadap_mata_angin'] => ($data['hadap_mata_angin'] == 'sesuai') ? $data['hadap_mata_angin_sesuai'] : $data['hadap_mata_angin_tidak_sesuai']
$data['hadap_mata_angin'] => $data['hadap_mata_angin'] == 'sesuai' ? $data['hadap_mata_angin_sesuai'] : $data['hadap_mata_angin_tidak_sesuai'] ?? null
],
'bentuk_tanah' => $this->getFieldData(
$data,