Merge branch 'staging' into fix/sertipikat-pemohon-surveyor
This commit is contained in:
@@ -326,7 +326,7 @@ class ActivityController extends Controller
|
||||
$filteredRecords = $query->count();
|
||||
|
||||
// Get data with necessary relationships
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'dokumenjaminan'])->get();
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'dokumenjaminan','nilaiPlafond'])->get();
|
||||
|
||||
// Calculate total pages
|
||||
$pageCount = ceil($totalRecords / $request->get('size', 10));
|
||||
@@ -444,26 +444,40 @@ class ActivityController extends Controller
|
||||
$jeniAsset = null;
|
||||
$statusPembayaran = trim(strtolower($item->permohonan->status_bayar ?? ''));
|
||||
$tujuanPenilaian = $item->permohonan->tujuanPenilaian->name ?? null;
|
||||
$plafond = $item->permohonan->nilaiPlafond->name ?? null;
|
||||
|
||||
$now = Carbon::now();
|
||||
$type_report = $item->permohonan->penilai->type ?? "";
|
||||
|
||||
// $plafond = $item->permohonan->nilaiPlafond->name ?? null;
|
||||
// $type_report = $item->permohonan->penilai->type_penilai;
|
||||
$hari = $hariPaparan = 0;
|
||||
|
||||
// $hari = 0;
|
||||
// if ($plafond == '< 1M') {
|
||||
// $item->paparan = 'Tidak Ada';
|
||||
// }else if($plafond == '2 M - 5 M'){
|
||||
// $hari = 2;
|
||||
// }else if($plafond == '5 M - 10 M'){
|
||||
// $hari = 3;
|
||||
// }
|
||||
if($type_report == "sederhana"){
|
||||
$hari = 2;
|
||||
$item->paparan = 'Tidak Ada';
|
||||
} else{
|
||||
if ($plafond == '< 2M') {
|
||||
$item->paparan = 'Tidak Ada';
|
||||
$hari = 3;
|
||||
}else if($plafond == '2 M - 5 M'){
|
||||
$hari = 3;
|
||||
$hariPaparan = 2;
|
||||
}else {
|
||||
$hari = 5;
|
||||
$hariPaparan = 3;
|
||||
}
|
||||
}
|
||||
|
||||
if ($tujuanPenilaian == 'RAP') {
|
||||
$hari = 2;
|
||||
$hariPaparan = 2;
|
||||
}
|
||||
|
||||
|
||||
if ($item->permohonan && $item->permohonan->debiture) {
|
||||
$jeniAsset = $item->permohonan->debiture->documents->first() ?? null;
|
||||
}
|
||||
|
||||
$hariTambahan = 0;
|
||||
/*$hariTambahan = 0;
|
||||
|
||||
if ($tujuanPenilaian == 'RAP') {
|
||||
$hariTambahan = 2;
|
||||
@@ -473,33 +487,50 @@ class ActivityController extends Controller
|
||||
} else {
|
||||
$hariTambahan = 2; // H+2 untuk yang belum bayar
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
$tanggalMulai = $item->waktu_penilaian;
|
||||
|
||||
if ($tanggalMulai) {
|
||||
if (!$tanggalMulai instanceof Carbon) {
|
||||
$tanggalMulai = Carbon::parse($tanggalMulai);
|
||||
}
|
||||
$hariKerjaBerikutnya = hitungHariKerja($tanggalMulai->toDateString(),$tanggalMulai->copy()->addDays(1));
|
||||
$hariKerjaBerikutnya = max($hariKerjaBerikutnya, 1);
|
||||
$tanggalMulai = $tanggalMulai->copy()->addDays($hariKerjaBerikutnya);
|
||||
|
||||
// Konversi string tanggal ke objek Carbon jika belum
|
||||
if (!$tanggalMulai instanceof Carbon) {
|
||||
$tanggalMulai = Carbon::parse($tanggalMulai);
|
||||
}
|
||||
|
||||
// Hitung tanggal selesai berdasarkan hari tambahan
|
||||
$tanggalSelesai = $tanggalMulai->copy()->addDays($hariTambahan);
|
||||
$tanggalSelesai = $tanggalMulai->copy()->addDays($hari);
|
||||
$tanggalPaparan = $tanggalMulai->copy()->addDays($hariPaparan);
|
||||
|
||||
// Hitung hari kerja
|
||||
$hariKerja = hitungHariKerja($tanggalMulai->toDateString(), $tanggalSelesai->toDateString());
|
||||
$hariKerja = max($hariKerja, $hari);
|
||||
|
||||
$hariKerjaPaparan = hitungHariKerja($tanggalMulai->toDateString(), $tanggalPaparan->toDateString());
|
||||
$hariKerjaPaparan = max($hariKerjaPaparan, $hariPaparan);
|
||||
|
||||
// Set due date SLA
|
||||
$dueDateSla = $tanggalMulai->copy()->addDays($hariKerja);
|
||||
$dueDateSlaPaparan = $tanggalMulai->copy()->addDays($hariKerjaPaparan);
|
||||
|
||||
// Cek apakah sudah melewati due date
|
||||
if ($now->greaterThan($dueDateSla)) {
|
||||
/*if ($now->greaterThan($dueDateSla)) {
|
||||
$item->due_date_sla = null;
|
||||
} else {
|
||||
$item->due_date_sla = $dueDateSla->toDateString();
|
||||
}
|
||||
}*/
|
||||
|
||||
$item->due_date_sla = $dueDateSla->toDateString();
|
||||
$item->paparan = $dueDateSlaPaparan->toDateString();
|
||||
} else {
|
||||
$item->due_date_sla = null;
|
||||
$item->paparan = null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -572,4 +573,40 @@
|
||||
$combinedLegalitas = array_merge($existingLegalitas, $newLegalitas);
|
||||
return response()->json($combinedLegalitas);
|
||||
}
|
||||
|
||||
public function clearDetail(Request $request)
|
||||
{
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
$detailId = $request->input('detail_id');
|
||||
$detail = DetailDokumenJaminan::findOrFail($detailId);
|
||||
|
||||
// Delete associated files
|
||||
if ($detail->dokumen_jaminan) {
|
||||
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
|
||||
? json_decode($detail->dokumen_jaminan)
|
||||
: [$detail->dokumen_jaminan];
|
||||
|
||||
foreach ($dokumen_jaminan as $dokumen) {
|
||||
if (Storage::exists($dokumen)) {
|
||||
Storage::delete($dokumen);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Delete the detail record
|
||||
$detail->delete();
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->json(['success' => true, 'message' => 'Detail berhasil dihapus']);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Gagal menghapus detail: ' . $e->getMessage()
|
||||
], 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ class LaporanController extends Controller
|
||||
$filteredRecords = $query->count();
|
||||
|
||||
// Get the data for the current page
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','jenisFasilitasKredit', 'documents.inspeksi','penilai'])->get();
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','jenisFasilitasKredit', 'documents.inspeksi','penilai','documents.detail'])->get();
|
||||
|
||||
// Calculate the page count
|
||||
$pageCount = ceil($totalRecords / $size);
|
||||
|
||||
173
app/Http/Controllers/LaporanExternalController.php
Normal file
173
app/Http/Controllers/LaporanExternalController.php
Normal file
@@ -0,0 +1,173 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\Lpj\Models\LaporanExternal;
|
||||
use Modules\Lpj\Http\Requests\LaporanExternalRequest;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
|
||||
class LaporanExternalController extends Controller
|
||||
{
|
||||
public $user;
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$laporanExternals = LaporanExternal::with('permohonan')->paginate(10);
|
||||
return view('lpj::laporan_external.index', compact('laporanExternals'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('lpj::laporan_external.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(LaporanExternalRequest $request)
|
||||
{
|
||||
$validatedData = $request->validated();
|
||||
|
||||
if ($request->hasFile('file_resume')) {
|
||||
$validatedData['file_resume'] = $request->file('file_resume')->store('laporan_external/resume', 'public');
|
||||
}
|
||||
|
||||
if ($request->hasFile('file_laporan')) {
|
||||
$validatedData['file_laporan'] = $request->file('file_laporan')->store('laporan_external/laporan', 'public');
|
||||
}
|
||||
|
||||
LaporanExternal::create($validatedData);
|
||||
|
||||
return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil ditambahkan.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the specified resource.
|
||||
*/
|
||||
public function show(LaporanExternal $laporanExternal)
|
||||
{
|
||||
return view('lpj::laporan_external.show', compact('laporanExternal'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(LaporanExternal $laporanExternal)
|
||||
{
|
||||
$permohonan = Permohonan::find($laporanExternal->permohonan_id);
|
||||
return view('lpj::laporan_external.create', compact('laporanExternal','permohonan'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(LaporanExternalRequest $request, LaporanExternal $laporanExternal)
|
||||
{
|
||||
$validatedData = $request->validated();
|
||||
|
||||
if ($request->hasFile('file_resume')) {
|
||||
$validatedData['file_resume'] = $request->file('file_resume')->store('laporan_external/resume', 'public');
|
||||
}
|
||||
|
||||
if ($request->hasFile('file_laporan')) {
|
||||
$validatedData['file_laporan'] = $request->file('file_laporan')->store('laporan_external/laporan', 'public');
|
||||
}
|
||||
|
||||
$laporanExternal->update($validatedData);
|
||||
|
||||
return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil diperbarui.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(LaporanExternal $laporanExternal)
|
||||
{
|
||||
$laporanExternal->delete();
|
||||
|
||||
return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil dihapus.');
|
||||
}
|
||||
|
||||
public function dataForDatatables(Request $request)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('jenis_aset.view')) {
|
||||
//abort(403, 'Sorry! You are not allowed to view users.');
|
||||
}
|
||||
|
||||
// Retrieve data from the database
|
||||
$query = LaporanExternal::query();
|
||||
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
$search = $request->get('search');
|
||||
$query->where(function ($q) use ($search) {
|
||||
$q->where('nomor_laporan', 'LIKE', "%$search%")
|
||||
->orWhere('tanggal_laporan', 'LIKE', "%$search%")
|
||||
->orWhereHas('permohonan', function($q) use ($search) {
|
||||
$q->where('nomor_permohonan', 'LIKE', "%$search%");
|
||||
})
|
||||
->orWhere('tgl_final_laporan', 'LIKE', "%$search%")
|
||||
->orWhere('nilai_pasar', 'LIKE', "%$search%")
|
||||
->orWhere('indikasi_nilai_likuidasi', 'LIKE', "%$search%")
|
||||
->orWhere('indikasi_nilai_pasar_tanah', 'LIKE', "%$search%")
|
||||
->orWhere('estimasi_harga_tanah', 'LIKE', "%$search%")
|
||||
->orWhere('estimasi_harga_bangunan', 'LIKE', "%$search%")
|
||||
->orWhere('indikasi_nilai_pasar_bangunan', 'LIKE', "%$search%")
|
||||
->orWhere('indikasi_nilai_pasar_sarana_pelengkap', 'LIKE', "%$search%")
|
||||
->orWhere('indikasi_nilai_pasar_mesin', 'LIKE', "%$search%")
|
||||
->orWhere('indikasi_nilai_pasar_kendaraan_alat_berat', 'LIKE', "%$search%")
|
||||
->orWhere('file_resume', 'LIKE', "%$search%")
|
||||
->orWhere('file_laporan', 'LIKE', "%$search%");
|
||||
});
|
||||
}
|
||||
|
||||
// Apply sorting if provided
|
||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||
$order = $request->get('sortOrder');
|
||||
$column = $request->get('sortField');
|
||||
$query->orderBy($column, $order);
|
||||
}
|
||||
|
||||
// Get the total count of records
|
||||
$totalRecords = $query->count();
|
||||
|
||||
// Apply pagination if provided
|
||||
if ($request->has('page') && $request->has('size')) {
|
||||
$page = $request->get('page');
|
||||
$size = $request->get('size');
|
||||
$offset = ($page - 1) * $size; // Calculate the offset
|
||||
|
||||
$query->skip($offset)->take($size);
|
||||
}
|
||||
|
||||
// Get the filtered count of records
|
||||
$filteredRecords = $query->count();
|
||||
|
||||
// Get the data for the current page
|
||||
$data = $query->get();
|
||||
|
||||
// Calculate the page count
|
||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||
|
||||
// Calculate the current page number
|
||||
$currentPage = 0 + 1;
|
||||
|
||||
// Return the response data as a JSON object
|
||||
return response()->json([
|
||||
'draw' => $request->get('draw'),
|
||||
'recordsTotal' => $totalRecords,
|
||||
'recordsFiltered' => $filteredRecords,
|
||||
'pageCount' => $pageCount,
|
||||
'page' => $currentPage,
|
||||
'totalCount' => $totalRecords,
|
||||
'data' => $data,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -336,8 +336,9 @@
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
$prosespenawaran = PenawaranTender::find($id);
|
||||
return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran'));
|
||||
$prosespenawaran = PenawaranTender::with(['permohonan','tujuanPenilaianKjpp'])->find($id);
|
||||
$permohonan = $prosespenawaran->permohonan;
|
||||
return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran','permohonan'));
|
||||
}
|
||||
|
||||
public function penawaranulang(Request $request, $id): JsonResponse
|
||||
|
||||
@@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Modules\Lpj\Http\Requests\PersetujuanPenawaranRequest;
|
||||
use Modules\Lpj\Models\LaporanExternal;
|
||||
use Modules\Lpj\Models\PenawaranTender;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
use Modules\Lpj\Models\PersetujuanPenawaran;
|
||||
@@ -235,6 +236,13 @@ class PembayaranController extends Controller
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
|
||||
LaporanExternal::create([
|
||||
'permohonan_id' => $permohonan->id,
|
||||
'nomor_laporan' => $permohonan->nomor_registrasi,
|
||||
'tanggal_laporan' => now(),
|
||||
'created_by' => Auth::id(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace Modules\Lpj\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Barryvdh\DomPDF\Facade\Pdf; // https://github.com/barryvdh/laravel-dompdf
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
use Modules\Lpj\Models\Inspeksi;
|
||||
use Modules\Lpj\Models\Penilai;
|
||||
@@ -544,7 +545,9 @@ class PenilaiController extends Controller
|
||||
'branch',
|
||||
'tujuanPenilaian',
|
||||
'jenisfasilitasKredit',
|
||||
'penilaian.userPenilai' // Ensure this relation is included
|
||||
'penilaian.userPenilai',
|
||||
'penilai',
|
||||
'nilaiPlafond'
|
||||
])->get();
|
||||
|
||||
// Calculate the page count
|
||||
@@ -754,10 +757,10 @@ class PenilaiController extends Controller
|
||||
|
||||
|
||||
if (!$allComplete) {
|
||||
$message = $rap
|
||||
? 'Harap Mengisi laporan terlebih dahulu'
|
||||
$message = $rap
|
||||
? 'Harap Mengisi laporan terlebih dahulu'
|
||||
: 'Harap Mengisi laporan terlebih dahulu atau kertas kerja';
|
||||
|
||||
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => $message,
|
||||
@@ -799,6 +802,18 @@ class PenilaiController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function uploadTempPhoto(Request $request)
|
||||
{
|
||||
if ($request->hasFile('file')) {
|
||||
$file = $request->file('file');
|
||||
$filename = time() . '_' . $file->getClientOriginalName();
|
||||
$path = $file->storeAs('temp_photos', $filename, 'public');
|
||||
return response()->json(['success' => true, 'id' => $path]);
|
||||
}
|
||||
|
||||
return response()->json(['success' => false], 400);
|
||||
}
|
||||
|
||||
public function storeResume(Request $request)
|
||||
{
|
||||
try {
|
||||
@@ -917,6 +932,59 @@ class PenilaiController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function storeMemoWithPhotos(Request $request)
|
||||
{
|
||||
try {
|
||||
$validatedData = $request->validate([
|
||||
'permohonan_id' => 'required|integer',
|
||||
'document_id' => 'required|integer',
|
||||
'inspeksi_id' => 'required|integer',
|
||||
'memo' => 'required',
|
||||
]);
|
||||
|
||||
$memoData = json_decode($validatedData['memo'], true);
|
||||
|
||||
$memo = Penilai::updateOrCreate(
|
||||
[
|
||||
'permohonan_id' => $validatedData['permohonan_id'],
|
||||
'dokument_id' => $validatedData['document_id'],
|
||||
'inspeksi_id' => $validatedData['inspeksi_id'],
|
||||
],
|
||||
[
|
||||
'memo' => json_encode($memoData),
|
||||
]
|
||||
);
|
||||
|
||||
// Simpan foto-foto
|
||||
if ($request->hasFile('foto_0')) {
|
||||
$photoUrls = [];
|
||||
$index = 0;
|
||||
while ($request->hasFile("foto_$index")) {
|
||||
$file = $request->file("foto_$index");
|
||||
$fileName = time() . '_' . $file->getClientOriginalName();
|
||||
$filePath = $file->storeAs('public/memo_photos', $fileName);
|
||||
$photoUrls[] = Storage::url($filePath);
|
||||
$index++;
|
||||
}
|
||||
|
||||
// Tambahkan URL foto ke data memo
|
||||
$memoData['foto'] = $photoUrls;
|
||||
$memo->memo = json_encode($memoData);
|
||||
$memo->save();
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Memo dan foto berhasil disimpan',
|
||||
]);
|
||||
} catch (Exception $e) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Terjadi kesalahan: ' . $e->getMessage(),
|
||||
], 500);
|
||||
}
|
||||
}
|
||||
|
||||
public function storeLpjSederhanadanStandard(Request $request)
|
||||
{
|
||||
DB::beginTransaction();
|
||||
|
||||
@@ -891,11 +891,13 @@ class PenilaianController extends Controller
|
||||
|
||||
public function revisiLaporan(Request $request, $id)
|
||||
{
|
||||
$permohonan = Permohonan::find($id);
|
||||
$userRole = Auth::user()->roles[0]->name;
|
||||
|
||||
$authorization = Authorization::where('permohonan_id', $permohonan->id)
|
||||
->where('jenis', 'paparan')->first();
|
||||
if($request->dataHeader=='Paparan'){
|
||||
$authorization = Authorization::find($id);
|
||||
$permohonan = Permohonan::find($authorization->permohonan_id);
|
||||
} else {
|
||||
$permohonan = Permohonan::find($id);
|
||||
$userRole = Auth::user()->roles[0]->name;
|
||||
}
|
||||
|
||||
if ($permohonan->status === 'proses-paparan') {
|
||||
if ($authorization) {
|
||||
|
||||
@@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Modules\Lpj\Models\JenisPenilaian;
|
||||
use Modules\Lpj\Models\Penilai;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
use Modules\Lpj\Models\Regions;
|
||||
use Modules\Lpj\Models\DokumenJaminan;
|
||||
@@ -153,7 +154,6 @@ class RegistrasiController extends Controller
|
||||
if ($tindakan == 0) {
|
||||
$dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
|
||||
$dataku['region_id'] = $request->region;
|
||||
$dataku['sla'] = $request->sla;
|
||||
$dataku['status'] = 'registered';
|
||||
if ($request->catatan2) {
|
||||
$dataku['registrasi_catatan'] = $request->catatan2;
|
||||
@@ -168,6 +168,13 @@ class RegistrasiController extends Controller
|
||||
$modal = Permohonan::find($id);
|
||||
|
||||
$modal->update($dataku);
|
||||
|
||||
if($modal && $request->jenis_laporan){
|
||||
Penilai::updateOrCreate(
|
||||
['permohonan_id' => $id],
|
||||
['type' => $request->jenis_laporan]
|
||||
);
|
||||
}
|
||||
//
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully'];
|
||||
@@ -209,11 +216,7 @@ class RegistrasiController extends Controller
|
||||
if (1 == $jenis_penilaian) {
|
||||
$validateIt['region'] = ['required'];
|
||||
$messageIt ['region.required'] = 'Silahkan pilih Region';
|
||||
} else {
|
||||
$validateIt['sla'] = ['required'];
|
||||
$messageIt ['sla.required'] = 'Silahkan isi SLA';
|
||||
}
|
||||
|
||||
} elseif ($tindakan == 1) {
|
||||
$validateIt['catatan'] = ['required'];
|
||||
$messageIt ['catatan.required'] = 'Silahkan isi Catatan';
|
||||
|
||||
@@ -158,7 +158,7 @@ use Illuminate\Support\Facades\Auth;
|
||||
$penawaran->jenis_laporan_name = $penawaran->jenisLaporan->name;
|
||||
$penawaran->jenis_laporan_code = $penawaran->jenisLaporan->code;
|
||||
$penawaran->tujuan_penilaian_kjpp_name = $penawaran->tujuanPenilaianKjpp->name;
|
||||
$penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian;
|
||||
$penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian ?? "";
|
||||
|
||||
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
|
||||
->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id')
|
||||
@@ -244,7 +244,7 @@ use Illuminate\Support\Facades\Auth;
|
||||
$penawaran->jenis_laporan_name = $penawaran->jenisLaporan->name;
|
||||
$penawaran->jenis_laporan_code = $penawaran->jenisLaporan->code;
|
||||
$penawaran->tujuan_penilaian_kjpp_name = $penawaran->tujuanPenilaianKjpp->name;
|
||||
$penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian;
|
||||
$penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian ?? "";
|
||||
|
||||
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
|
||||
->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id')
|
||||
|
||||
@@ -3256,6 +3256,8 @@ class SurveyorController extends Controller
|
||||
|
||||
private function getUnitData($data, $request): array
|
||||
{
|
||||
|
||||
|
||||
$luas_unit_key = ($data['luas_unit'] ?? null) === 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$luas_unit = [];
|
||||
|
||||
@@ -3264,11 +3266,11 @@ class SurveyorController extends Controller
|
||||
: ($data['luas_unit_tidak_sesuai'] ?? null);
|
||||
|
||||
// Masukkan key baru yang sesuai
|
||||
$luas_luas_unit[$luas_luas_unit_key] = preg_replace('/[^0-9.,]/', '', $hasil_luas_unit);
|
||||
$luas_unit[$luas_unit_key] = preg_replace('/[^0-9.,]/', '', $hasil_luas_unit);
|
||||
|
||||
return [
|
||||
'action' => $data['action'] ?? null,
|
||||
'luas_unit' => $luas_luas_unit,
|
||||
'luas_unit' => $luas_unit,
|
||||
'kondisi_unit' => $data['kondisi_unit'] ?? null,
|
||||
'posisi_unit' => $data['posisi_unit'] ?? null,
|
||||
'lantai' => $data['lantai'] ?? null,
|
||||
|
||||
41
app/Http/Requests/LaporanExternalRequest.php
Normal file
41
app/Http/Requests/LaporanExternalRequest.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class LaporanExternalRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*/
|
||||
public function rules()
|
||||
: array
|
||||
{
|
||||
return [
|
||||
'permohonan_id' => 'required|exists:permohonan,id',
|
||||
'nomor_laporan' => 'nullable|string|max:255',
|
||||
'tgl_final_laporan' => 'nullable|date',
|
||||
'nilai_pasar' => 'nullable|numeric',
|
||||
'indikasi_nilai_likuidasi' => 'nullable|numeric',
|
||||
'indikasi_nilai_pasar_tanah' => 'nullable|numeric',
|
||||
'estimasi_harga_tanah' => 'nullable|numeric',
|
||||
'estimasi_harga_bangunan' => 'nullable|numeric',
|
||||
'indikasi_nilai_pasar_bangunan' => 'nullable|numeric',
|
||||
'indikasi_nilai_pasar_sarana_pelengkap' => 'nullable|numeric',
|
||||
'indikasi_nilai_pasar_mesin' => 'nullable|numeric',
|
||||
'indikasi_nilai_pasar_kendaraan_alat_berat' => 'nullable|numeric',
|
||||
'file_resume' => 'nullable|file|mimes:pdf|max:10240', // 10MB max
|
||||
'file_laporan' => 'nullable|file|mimes:pdf|max:10240',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize()
|
||||
: bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user