perbaikan laporan berdasarkan form inspeksi di so dan penilai dan perbaikan tambah data di jenis jaminan

This commit is contained in:
majid
2025-01-08 07:42:10 +07:00
parent fcc53a7111
commit 92ac480c9b
25 changed files with 2569 additions and 1477 deletions

View File

@@ -129,6 +129,16 @@ class PenilaiController extends Controller
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
Penilai::updateOrCreate(
[
'permohonan_id' => $permohonanId,
'dokument_id' => $documentId,
'inspeksi_id' => $inspeksiId,
],
[
'type_penilai' => 'resume',
]
);
$resume = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
@@ -157,6 +167,16 @@ class PenilaiController extends Controller
$penilai = Penilai::where('permohonan_id', $req['permohonanId'])->where('dokument_id', $req['documentId'])->first();
$provinces = Province::all();
$basicData = $this->surveyorController->getCommonData();
Penilai::updateOrCreate(
[
'permohonan_id' => $req['permohonanId'],
'dokument_id' => $req['documentId'],
'inspeksi_id' => $request->inspeksiId,
],
[
'type_penilai' => 'memo',
]
);
$formFoto = $formPeta = $cities = $districts = $villages = $memo = null;
if ($inspeksi) {
@@ -236,9 +256,19 @@ class PenilaiController extends Controller
$provinces = Province::all();
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
Penilai::updateOrCreate(
[
'permohonan_id' => $permohonanId,
'dokument_id' => $documentId,
'inspeksi_id' => $inspeksiId,
],
[
'type_penilai' => 'rap',
]
);
$resume = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$lpjData = null;
$rap = null;
$forminspeksi= null;
@@ -468,21 +498,24 @@ class PenilaiController extends Controller
}
public function saveStatusLpj(Request $request)
{
{
Penilai::updateOrCreate(
[
'permohonan_id' => $request->permohonan_id,
'dokument_id' => $request->document_id,
'inspeksi_id' => $request->inspeksi_id,
],
[
'type' => $request->type,
]
);
return response()->json(['success' => true]);
}
Penilai::updateOrCreate(
[
'permohonan_id' => $request->permohonan_id,
'dokument_id' => $request->document_id,
'inspeksi_id' => $request->inspeksi_id,
],
[
'type' => $request->type,
'type_penilai' => $request->type,
]
);
return response()->json(['success' => true]);
}
public function storePenilaian($id)
@@ -661,7 +694,7 @@ class PenilaiController extends Controller
$jaminanId = $request->query('jaminanId');
$permohonanId = $request->query('permohonanId');
$statusLpj = $request->query('statusLpj');
$tipeLaporan = $request->query('tipe');
$tipeLaporan = $request->query('type');
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId,
$documentId,
@@ -730,8 +763,8 @@ class PenilaiController extends Controller
$pdf->setPaper('A4', 'portrait');
return $pdf->stream();
} else {
$pdf = view('lpj::' . $viewLaporan, compact(
// $pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
// $pdf = view('lpj::' . $viewLaporan, compact(
$pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
'permohonan',
'forminspeksi',
'lpjData',
@@ -746,9 +779,8 @@ class PenilaiController extends Controller
'memo'
));
return $pdf;
// $pdf->setPaper('A4', 'portrait');
// return $pdf->download('laporan.pdf');
$pdf->setPaper('A4', 'portrait');
return $pdf->download('Laporan_'. $tipeLaporan . '_' . $permohonan->nomor_registrasi . '_' .$permohonan->debiture->name .'_data.pdf');
}
} catch (\Exception $e) {
@@ -767,7 +799,6 @@ class PenilaiController extends Controller
'memo' => 'penilai.components.print-memo',
'rap' => 'penilai.components.print-rap'
];
return $viewMap[$tipe] ?? 'penilai.components.print-resume';
}
@@ -828,4 +859,29 @@ class PenilaiController extends Controller
'inspeksiId' => $request->query('inspeksiId')
];
}
public function checkPrintOutLaporan(Request $request) {
$permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId');
$inspeksiId = $request->query('inspeksiId');
// Ambil data berdasarkan ID
$statusLpj = Penilai::where('permohonan_id', $permohonanId)
->where('dokument_id', $documentId)
->where('inspeksi_id', $inspeksiId)
->first();
// Jika data tidak ditemukan, kembalikan status null
if (!$statusLpj) {
return response()->json(['status' => null]);
}
// Tentukan tipe berdasarkan kondisi
$type = $statusLpj->type_penilai ?? null;
// Kembalikan respons dengan tipe yang sesuai
return response()->json(['status' => $type]);
}
}

View File

@@ -17,6 +17,10 @@ use Modules\Lpj\Models\StatusPermohonan;
use Modules\Lpj\Models\Teams;
use Modules\Lpj\Models\Inspeksi;
use Modules\Lpj\Models\Penilai ;
use Modules\Location\Models\Province;
use Modules\Location\Models\City;
use Modules\Location\Models\District;
use Modules\Location\Models\Village;
use Modules\Usermanagement\Models\User;
use Modules\Lpj\Http\Controllers\SurveyorController;
// use Modules\Lpj\Http\Controllers\PenilaiController;
@@ -630,9 +634,12 @@ class PenilaianController extends Controller
$permohonan = $this->surveyorController->getPermohonanJaminanId($id, $documentId, $jaminanId);
$basicData = $this->surveyorController->getCommonData();
$provinces = Province::all();
$inspeksi = Inspeksi::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$lpj = Penilai::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$lpj = Penilai::where('permohonan_id', $id)
->where('dokument_id', $documentId)
->where('inspeksi_id', $inspeksi->id)
->first();
$forminspeksi = null;
$lpjData = null;
@@ -643,8 +650,26 @@ class PenilaianController extends Controller
if ($lpj) {
$lpjData = json_decode($lpj->lpj, true);
}
$viewLaporan = $this->getViewLaporan($lpj->type_penilai);
return view('lpj::penilaian.laporan-so', compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData'));
if (empty($viewLaporan)) {
return redirect()->back()->with('error', 'Laporan belum dibuat');
}
return view('lpj::'. $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces'));
}
private function getViewLaporan($tipe)
{
$viewMap = [
'sederhana' => 'penilai.components.lpj-sederhana-standard',
'standard' => 'penilai.components.lpj-sederhana-standard',
'resume' => 'penilai.components.resume',
'memo' => 'penilai.components.memo',
'rap' => 'penilai.components.rap-penilai'
];
return $viewMap[$tipe] ?? '';
}
public function storePenilaiLaporan(Request $request)

View File

@@ -210,7 +210,7 @@ class SurveyorController extends Controller
$rules = [];
$hasAssetDescriptionRules = false;
$hasFactaDat = false;
$hasFactaData = false;
$pisah = array_filter(
explode(',', $action),
function ($act) use ($allowedActions) {
@@ -1398,12 +1398,28 @@ class SurveyorController extends Controller
$provinceCode = $cekAlamat['province_code'] ?? $provinceCode;
$cityCode = $cekAlamat['city_code'] ?? $cityCode;
$districtCode = $cekAlamat['district_code'] ?? $districtCode;
}
// Ambil data menggunakan kode yang telah ditentukan
// 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::surveyor.components.inspeksi', compact(
'permohonan',
'surveyor',
@@ -2440,17 +2456,28 @@ class SurveyorController extends Controller
private function getKapalData($data, $request): array
{
$alamatData = [
'village_code' => $data['village_code'] ?? null,
'district_code' => $data['district_code'] ?? null,
'city_code' => $data['city_code'] ?? null,
'province_code' => $data['province_code'] ?? null,
];
return [
'action' => $data['action'] ?? null,
'nama_wakil_debitur' => $data['nama_wakil_debitur'] ?? null,
'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null,
'dermaga' => $data['dermaga'] ?? null,
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
'kecamatan' => $data['kecamatan'] ?? null,
'kota_madya' => $data['kota_madya'] ?? null,
'provinsi' => $data['provinsi'] ?? null,
'jenis' => $data['jenis'] ?? null,
'nama_jalan' => $data['nama_jalan'] ?? null,
'perumahan_gang' => $data['perumahan_gang'] ?? null,
'blok_nomor' => $data['blok_nomor'] ?? null,
'bandara' => $data['bandara'] ?? null,
'alamat' => [
'sesuai' => $alamatData
],
'jenis_kapal' => $data['jenis_kapal'] ?? null,
'jenis_kapal_lainnya' => $data['jenis_kapal_lainnya'] ?? null,
'size' => $data['size'] ?? null,
'kondisi' => $data['kondisi'] ?? null,
'klasifikasi' => $data['klasifikasi'] ?? null,
@@ -2534,6 +2561,13 @@ class SurveyorController extends Controller
}
public function getKendaraanData($data, $request): array
{
$alamatData = [
'village_code' => $data['village_code'] ?? null,
'district_code' => $data['district_code'] ?? null,
'city_code' => $data['city_code'] ?? null,
'province_code' => $data['province_code'] ?? null,
];
return [
'action' => $data['action'] ?? null,
'tanggal_survey' => $data['tanggal_survey'] ?? null,
@@ -2542,11 +2576,15 @@ class SurveyorController extends Controller
'nama_jalan' => $data['nama_jalan'] ?? null,
'perumahan_gang' => $data['perumahan_gang'] ?? null,
'blok_nomor' => $data['blok_nomor'] ?? null,
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
'kecamatan' => $data['kecamatan'] ?? null,
'kota_madya' => $data['kota_madya'] ?? null,
'provinsi' => $data['provinsi'] ?? null,
'alamat' => [
'sesuai' => $alamatData
],
'masa_stnk' => $data['masa_stnk'] ?? null,
'masa_pajak' => $data['masa_pajak'] ?? null,
'kendaraan' => $data['kendaraan'] ?? null,
'kendaraan_input' => $data['kendaraan_input'] ?? null,
'kondisi' => $data['kondisi'] ?? null,
'nomor_polisi' => $data['nomor_polisi'] ?? null,
'nomor_polis_tidak_sesuai' => $data['nomor_polis_tidak_sesuai'] ?? null,
'merek' => $data['merek'] ?? null,
@@ -2559,30 +2597,50 @@ class SurveyorController extends Controller
'nomor_mesin_tidak_sesuai' => $data['nomor_mesin_tidak_sesuai'] ?? null,
'posisi_kilometer' => $data['posisi_kilometer'] ?? null,
'transmisi' => $data['transmisi'] ?? null,
'transmisi_input' => $data['transmisi_input'] ?? null,
'mesin_panel_instrument' => $data['mesin_panel_instrument'] ?? null,
'mesin_panel_instrument_input' => $data['mesin_panel_instrument_input'] ?? null,
'fungsi_mesin_panel_instrument' => $data['fungsi_mesin_panel_instrument'] ?? null,
'fungsi_mesin_panel_instrument_input' => $data['fungsi_mesin_panel_instrument_input'] ?? null,
'interior' => $data['interior'] ?? null,
'interior' => $data['interior'] ?? null,
'interior_input' => $data['interior_input'] ?? null,
'jumlah_pintu' => $data['jumlah_pintu'] ?? null,
'jumlah_pintu_input' => $data['jumlah_pintu_input'] ?? null,
'rangka_karoseri' => $data['rangka_karoseri'] ?? null,
'rangka_karoseri_input' => $data['rangka_karoseri_input'] ?? null,
'ban' => $data['ban'] ?? null,
'ban_input' => $data['ban_input'] ?? null,
'velg' => $data['velg'] ?? null,
'velg_input' => $data['velg_input'] ?? null,
'bamper_depan' => $data['bamper_depan'] ?? null,
'bamper_depan_input' => $data['bamper_depan_input'] ?? null,
'bamper_belakang' => $data['bamper_belakang'] ?? null,
'bamper_belakang_input' => $data['bamper_belakang_input'] ?? null,
'lampu_depan' => $data['lampu_depan'] ?? null,
'lampu_depan_input' => $data['lampu_depan_input'] ?? null,
'lampu_belakang' => $data['lampu_belakang'] ?? null,
'lampu_belakang_input' => $data['lampu_belakang_input'] ?? null,
'kaca_kendaraan' => $data['kaca_kendaraan'] ?? null,
'kaca_kendaraan_input' => $data['kaca_kendaraan_input'] ?? null,
'air_conditioner' => $data['air_conditioner'] ?? null,
'air_conditioner_input' => $data['air_conditioner_input'] ?? null,
'tape_radio_cd' => $data['tape_radio_cd'] ?? null,
'tape_radio_cd_input' => $data['tape_radio_cd_input'] ?? null,
'sensor_parkir' => $data['sensor_parkir'] ?? null,
'sensor_parkir_input' => $data['sensor_parkir_input'] ?? null,
'sensor_camera_recorder' => $data['sensor_camera_recorder'] ?? null,
'sensor_camera_recorder_input' => $data['sensor_camera_recorder_input'] ?? null,
'lcd' => $data['lcd'] ?? null,
'lcd_innput' => $data['lcd_innput'] ?? null,
'sabuk_keselamatan' => $data['sabuk_keselamatan'] ?? null,
'sabuk_keselamatan_input' => $data['sabuk_keselamatan_input'] ?? null,
'airbag' => $data['airbag'] ?? null,
'airbag_input' => $data['airbag_input'] ?? null,
'asuransi' => $data['asuransi'] ?? null,
'asuransi_input' => $data['asuransi_input'] ?? null,
'perusahaan_asuransi' => $data['perusahaan_asuransi'] ?? null,
'tahun_berakhir' => $data['tahun_berakhir'] ?? null,
@@ -2622,6 +2680,13 @@ class SurveyorController extends Controller
public function getAlatBeratData($data, $request): array
{
$alamatData = [
'village_code' => $data['village_code'] ?? null,
'district_code' => $data['district_code'] ?? null,
'city_code' => $data['city_code'] ?? null,
'province_code' => $data['province_code'] ?? null,
];
return [
'action' => $data['action'] ?? null,
'tanggal_survey' => $data['tanggal_survey'] ?? null,
@@ -2630,11 +2695,10 @@ class SurveyorController extends Controller
'dengan_wadeb' => $data['dengan_wadeb'] ?? null,
'nama_jalan' => $data['nama_jalan'] ?? null,
'perumahan_gang' => $data['perumahan_gang'] ?? null,
'blok' => $data['blok'] ?? null,
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
'kecamatan' => $data['kecamatan'] ?? null,
'kota_madya' => $data['kota_madya'] ?? null,
'provinsi' => $data['provinsi'] ?? null,
'blok_nomor' => $data['blok_nomor'] ?? null,
'alamat' => [
'sesuai' => $alamatData
],
'jenis_model' => $data['jenis_model'] ?? null,
'nomor_lambung' => $data['nomor_lambung'] ?? null,
'model_unit' => $data['model_unit'] ?? null,
@@ -2653,24 +2717,35 @@ class SurveyorController extends Controller
'overhaul_mesin' => $data['overhaul_mesin'] ?? null,
'mesin_panel' => $data['mesin_panel'] ?? null,
'mesin_panel_input' => $data['mesin_panel_input'] ?? null,
'fungsi_panel' => $data['fungsi_panel'] ?? null,
'fungsi_panel_input' => $data['fungsi_panel_input'] ?? null,
'interior' => $data['interior'] ?? null,
'interior_input' => $data['interior_input'] ?? null,
'rangka_Karoseri' => $data['rangka_Karoseri'] ?? null,
'rangka_Karoseri_input' => $data['rangka_Karoseri_input'] ?? null,
'ban' => $data['ban'] ?? null,
'ban_input' => $data['ban_input'] ?? null,
'velg' => $data['velg'] ?? null,
'velg_input' => $data['velg_input'] ?? null,
'air_conditioner' => $data['air_conditioner'] ?? null,
'air_conditioner_input' => $data['air_conditioner_input'] ?? null,
'aksesoris' => $data['aksesoris'] ?? null,
'aksesoris_input' => $data['aksesoris_input'] ?? null,
'lcd' => $data['lcd'] ?? null,
'lcd_input' => $data['lcd_input'] ?? null,
'perlengkapan' => $data['perlengkapan'] ?? null,
'perlengkapan_input' => $data['perlengkapan_input'] ?? null,
'asuransi' => $data['asuransi'] ?? null,
'asuransi_input' => $data['asuransi_input'] ?? null,
'perusahaan_asuransi' => $data['perusahaan_asuransi'] ?? null,
'tahun_berakhir' => $data['tahun_berakhir'] ?? null,
'sensor_kamera' => $data['sensor_kamera'] ?? null,
'sabuk_keselamatan' => $data['sabuk_keselamatan'] ?? null,
'air_bag' => $data['air_bag'] ?? null,
'faktor_positif' => $data['faktor_positif'] ?? null,
'faktor_negatif' => $data['faktor_negatif'] ?? null,
'fakta_positif' => $data['fakta_positif'] ?? null,
'fakta_negatif' => $data['fakta_negatif'] ?? null,
'kesimpulan' => $data['kesimpulan'] ?? null,
'catatan' => $data['catatan'] ?? null,
];
@@ -2678,18 +2753,27 @@ class SurveyorController extends Controller
private function getPesawatData($data, $request): array
{
$alamatData = [
'village_code' => $data['village_code'] ?? null,
'district_code' => $data['district_code'] ?? null,
'city_code' => $data['city_code'] ?? null,
'province_code' => $data['province_code'] ?? null,
];
return [
'action' => $data['action'] ?? null,
'tanggal_survey' => $data['tanggal_survey'] ?? null,
'nama_wakil' => $data['nama_wakil'] ?? null,
'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null,
'nama_jalan' => $data['nama_jalan'] ?? null,
'perumahan_gang' => $data['perumahan_gang'] ?? null,
'blok_nomor' => $data['blok_nomor'] ?? null,
'bandara' => $data['bandara'] ?? null,
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
'kecamatan' => $data['kecamatan'] ?? null,
'kota_madya' => $data['kota_madya'] ?? null,
'provinsi' => $data['provinsi'] ?? null,
'alamat' => [
'sesuai' => $alamatData
],
'jenis_pesawat' => $data['jenis_pesawat'] ?? null,
'jenis_pesawat_lainnya' => $data['jenis_pesawat_lainnya'] ?? null,
'size' => $data['size'] ?? null,
'kondisi' => $data['kondisi'] ?? null,
'nama_pesawat' => $data['nama_pesawat'] ?? null,
@@ -2772,8 +2856,9 @@ class SurveyorController extends Controller
'deskripsi_Interior' => $data['deskripsi_Interior'] ?? null,
// Validasi untuk faktor dan kesimpulan
'faktor_positif' => $data['faktor_positif'] ?? null,
'faktor_negatif' => $data['faktor_negatif'] ?? null,
'fakta_positif' => $data['fakta_positif'] ?? null,
'fakta_negatif' => $data['fakta_negatif'] ?? null,
'kesimpulan' => $data['kesimpulan'] ?? null,
'catatan' => $data['catatan'] ?? null,
];