Merge remote-tracking branch 'composer/feature/senior-officer' into staging

# Conflicts:
#	app/Http/Controllers/SurveyorController.php
#	resources/views/surveyor/index.blade.php
This commit is contained in:
Daeng Deni Mardaeni
2025-01-03 18:03:08 +07:00
26 changed files with 4935 additions and 3054 deletions

View File

@@ -250,8 +250,9 @@ class ActivityController extends Controller
])
->whereHas('userPenilai', function ($q) use ($id) {
$q->where('user_id', $id);
})->whereHas('permohonan', function ($q) {
$q->where('status', 'assign');
})
->whereHas('permohonan', function ($q) {
$q->whereIn('status', ['assign', 'proses-laporan', 'done']);
});

View File

@@ -22,7 +22,6 @@ use Illuminate\Support\Facades\App;
use App\Helpers\Lpj;
use Modules\Lpj\Http\Requests\FormSurveyorRequest;
class PenilaiController extends Controller
{
public $user;
@@ -68,13 +67,7 @@ class PenilaiController extends Controller
return view('lpj::create');
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
public function sederhana(Request $request, $id)
{
@@ -143,46 +136,48 @@ class PenilaiController extends Controller
if ($resume) {
$resumeData = json_decode($resume->resume, true);
}
$forminspeksi = null;
return view('lpj::penilai.components.resume', compact('permohonan', 'resumeData'));
if ($inspeksi) {
$forminspeksi = json_decode($inspeksi->data_form, true);
}
return view('lpj::penilai.components.resume', compact('permohonan', 'resumeData','forminspeksi'));
}
public function memo(Request $request)
{
$permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId');
$inspeksiId = $request->query('inspeksiId');
$jaminanId = $request->query('jaminanId');
$req = $this->getRequestQueryId($request);
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$penilai = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$data = $this->getDataPermohonanWithPenilaiAndInspeksi($req['permohonanId'], $req['documentId'], $req['jaminanId']);
$permohonan = $data['permohonan'];
$inspeksi = Inspeksi::where('permohonan_id', $req['permohonanId'])->where('dokument_id', $req['documentId'])->first();
$penilai = Penilai::where('permohonan_id', $req['permohonanId'])->where('dokument_id', $req['documentId'])->firstska();
$provinces = Province::all();
$basicData = $this->surveyorController->getCommonData();
$formFoto = $formPeta = $cities = $districts = $villages= $memo = null;
$formFoto = $formPeta = $cities = $districts = $villages = $memo = null;
if ($inspeksi) {
$formFoto = json_decode($inspeksi->foto_form, true);
$formPeta = json_decode($inspeksi->data_form, true);
if(isset($penilai->memo)) {
if (isset($penilai->memo)) {
$memo = json_decode($penilai->memo);
}
if(isset($memo->lokasi->province_code)){
if (isset($memo->lokasi->province_code)) {
$cities = City::where('province_code', $memo->lokasi->province_code)->get();
}
if(isset($memo->lokasi->city_code)){
if (isset($memo->lokasi->city_code)) {
$districts = District::where('city_code', $memo->lokasi->city_code)->get();
}
if(isset($memo->lokasi->district_code)) {
if (isset($memo->lokasi->district_code)) {
$villages = Village::where('district_code', $memo->lokasi->district_code)->get();
}
}
return view('lpj::penilai.components.memo', compact('permohonan', 'formFoto', 'formPeta', 'provinces', 'basicData','memo','cities', 'districts', 'villages'));
return view('lpj::penilai.components.memo', compact('permohonan', 'formFoto', 'formPeta', 'provinces', 'basicData', 'memo', 'cities', 'districts', 'villages'));
}
@@ -193,6 +188,7 @@ class PenilaiController extends Controller
{
$permohonan = Permohonan::with(['debiture.documents.jenisjaminan', 'region.teams.teamsUsers.user', 'penilaian', 'documents.inspeksi'])->find($id);
// return response()->json(['permohonan' => $permohonan]);
return view('lpj::penilai.show', compact('permohonan'));
}
@@ -231,8 +227,26 @@ class PenilaiController extends Controller
public function rap(Request $request)
{
$permohonanId = $request->query('permohonanId');
return view('lpj::penilai.components.paparan');
$documentId = $request->query('documentId');
$inspeksiId = $request->query('inspeksiId');
$jaminanId = $request->query('jaminanId');
$provinces = Province::all();
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$resume = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$lpjData = null;
$rap = null;
$forminspeksi= null;
if ($resume) {
$forminspeksi = json_decode($inspeksi->data_form, true);
$rap = json_decode($resume->rap, true);
}
return view('lpj::penilai.components.rap-penilai', compact('permohonan', 'rap', 'provinces','forminspeksi'));
}
@@ -480,7 +494,7 @@ class PenilaiController extends Controller
return response()->json([
'success' => true,
'message' => 'Berhasil menyimpan penilaian'
'message' => 'Berhasil Megirim reported ke so'
], 200);
} catch (\Exception $e) {
@@ -640,6 +654,8 @@ class PenilaiController extends Controller
public function print_out(Request $request)
{
$documentId = $request->query('documentId');
$jaminanId = $request->query('jaminanId');
$permohonanId = $request->query('permohonanId');
@@ -677,6 +693,7 @@ class PenilaiController extends Controller
if ($lpj) {
$lpjData = json_decode($lpj->lpj, true);
$memo = json_decode($lpj->memoe, true);
}
$inputAddress = $forminspeksi['asset']['alamat']['sesuai'] ?? $forminspeksi['asset']['alamat']['tidak sesuai'];
@@ -689,36 +706,25 @@ class PenilaiController extends Controller
'province_code' => $this->getWilayahName($inputAddress['province_code'] ?? null, 'province')
];
$laporan = $lpj->type == 'sederhana' ? true : false;
['sederhana', 'resume'];
['memo'];
['rap'];
// $laporan = $lpj->type == ;
// $laporanPenilai = $lpj
$viewLaporan = null;
if ($laporan) {
$viewLaporan = 'penilai.components.print-out-sederhana';
} else {
$viewLaporan = 'penilai.components.print-out-standard';
}
// $viewLaporan = 'penilai.components.print-out-sederhana';
// $viewLaporan = 'penilai.components.print-out-standard';
// $viewLaporan = 'penilai.components.print-resume';
// $viewLaporan = 'penilai.components.print-memo';
// $viewLaporan = 'penilai.components.print-rap';
try {
if ($statusLpj) {
$pdf= PDF::loadView('lpj::' . $viewLaporan, compact(
'permohonan',
'forminspeksi',
'lpjData',
'formFoto',
'basicData',
'inspeksi',
'lpj',
'statusLpj',
'alamat',
'dataPembanding',
'nomorLaporan'
));
$pdf->setPaper('A4', 'portrait');
return $pdf->stream();
} else {
$pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
'permohonan',
'forminspeksi',
@@ -734,7 +740,28 @@ class PenilaiController extends Controller
));
$pdf->setPaper('A4', 'portrait');
return $pdf->download('laporan.pdf');
return $pdf->stream();
} else {
$pdf = view('lpj::' . $viewLaporan, compact(
// $pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
'permohonan',
'forminspeksi',
'lpjData',
'formFoto',
'basicData',
'inspeksi',
'lpj',
'statusLpj',
'alamat',
'dataPembanding',
'nomorLaporan',
'memo'
));
return $pdf;
// $pdf->setPaper('A4', 'portrait');
// return $pdf->download('laporan.pdf');
}
} catch (\Exception $e) {
@@ -779,4 +806,26 @@ class PenilaiController extends Controller
}
// mengambil data dari fungsi permohonan di surveyor, dan table
// penilai, inspeksi
private function getDataPermohonanWithPenilaiAndInspeksi($permohonanId, $documentId, $jaminanId)
{
return [
'permohonan' => $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId),
'penilai' => Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first(),
'inspeksi' => Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first()
];
}
// pengunaan request query by id permohonan, dokument, jaminan , inspeksi
protected function getRequestQueryId(Request $request)
{
return [
'permohonanId' => $request->query('permohonanId'),
'documentId' => $request->query('documentId'),
'jaminanId' => $request->query('jaminanId'),
'inspeksiId' => $request->query('inspeksiId')
];
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -43,6 +43,7 @@ class FormSurveyorRequest extends FormRequest
'apartemen-kantor' => $this->getUnitRules(),
'lingkungan' => $this->getLinkunganRules(),
'fakta' => $this->getCommonRules(),
'rap' => $this->getRapRules()
];
$rules = [];
@@ -51,7 +52,7 @@ class FormSurveyorRequest extends FormRequest
foreach ($pisah as $act) {
if (isset($allRules[$act])) {
$rules = array_merge($rules, $allRules[$act]);
if ($act == 'tanah' || $act == 'bangunan' || $act == 'apartemen-kantor') {
if ($act == 'tanah' || $act == 'bangunan' || $act == 'apartemen-kantor' || $act == 'rap') {
$hasAssetDescriptionRules = true;
}
}
@@ -580,4 +581,51 @@ class FormSurveyorRequest extends FormRequest
];
}
private function getRapRules()
{
return [
'perizinan.*' => 'required',
'perizinan_file.*' => 'required',
'brosur_price_list.*' => 'required',
'brosur_price_file.*' => 'required',
'pengalaman_developer' => 'nullable',
'developer_anggota' => 'nullable',
'lainnya_developer.*' => 'nullable',
'kapan_mulai_dibangun' => 'nullable',
'kondisi_perumahan' => 'nullable',
'progres_pembangunan' => 'nullable',
'kontraktor' => 'nullable',
'lingkungan_sekitar' => 'nullable',
'komplek_disekitar' => 'nullable',
'pusat_keramaian' => 'nullable',
'transportasi_umum' => 'nullable',
'lainnya_kondisi.*' => 'nullable',
'partisi_.*' => 'nullable',
'jumlah_unit.*' => 'nullable',
'batas_batas_perumahan' => 'nullable',
'fasus_fasum.*' => 'nullable',
'progres_penjualan.*' => 'nullable',
'harga_unit.*' => 'nullable',
'target_market.*' => 'nullable',
'kerjasama_dengan_bank' => 'nullable',
'rute_menuju_lokasi' => 'nullable',
'kdb' => 'nullable',
'kdh' => 'nullable',
'gsb' => 'nullable',
'max_lantai' => 'nullable',
'klb' => 'nullable',
'gss' => 'nullable',
'pelebaran_jalan' => 'nullable',
'nama_petugas' => 'nullable',
'lat' => 'nullable|numeric',
'lng' => 'nullable|numeric',
'foto_gistaru' => 'nullable',
'foto_bhumi' => 'nullable',
'foto_argis_region' => 'nullable',
'foto_tempat' => 'nullable',
'keterangan' => 'nullable|array',
];
}
}

View File

@@ -39,6 +39,7 @@ class SurveyorRequest extends FormRequest
'fasilitas-objek' => 'fasilitas_objek',
'perkerasan-jalan' => 'perkerasan_jalan',
'foto-objek-jaminan' => 'foto_objek_jaminan',
'perizinan' => 'perizinan'
];
/**