diff --git a/app/Exports/BranchExport.php b/app/Exports/BranchExport.php deleted file mode 100644 index 1de8ebf..0000000 --- a/app/Exports/BranchExport.php +++ /dev/null @@ -1,49 +0,0 @@ -id, - $row->code, - $row->name, - $row->created_at - ]; - } - - public function headings() - : array - { - return [ - 'ID', - 'Code', - 'Name', - 'Created At' - ]; - } - - public function columnFormats() - : array - { - return [ - 'A' => NumberFormat::FORMAT_NUMBER, - 'D' => NumberFormat::FORMAT_DATE_DATETIME - ]; - } - } diff --git a/app/Exports/CurrencyExport.php b/app/Exports/CurrencyExport.php deleted file mode 100644 index 27a73cb..0000000 --- a/app/Exports/CurrencyExport.php +++ /dev/null @@ -1,54 +0,0 @@ -id, - $row->code, - $row->name, - $row->decimal_places, - $row->updated_at, - $row->deleted_at, - $row->created_at - ]; - } - - public function headings() - : array - { - return [ - 'ID', - 'Code', - 'Name', - 'Decimal Places', - 'Created At' - ]; - } - - public function columnFormats() - : array - { - return [ - 'A' => NumberFormat::FORMAT_NUMBER, - 'B' => NumberFormat::FORMAT_NUMBER, - 'E' => NumberFormat::FORMAT_DATE_DATETIME - ]; - } - } diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php index 6a4c032..c51457b 100644 --- a/app/Helpers/Lpj.php +++ b/app/Helpers/Lpj.php @@ -1,6 +1,8 @@ province) ? $alamat->province->name . ', ' : '') . ($alamat->postal_code ?? ''); } + +// andy add +function checkActiveDateRangePenawaran($id) +{ + $penawaran = PenawaranTender::find($id); + + $start_date = strtotime($penawaran->start_date); + $end_date = strtotime($penawaran->end_date); + $todays_date = strtotime(now()); + + $allow = true; + if ($todays_date >= $start_date && $todays_date <= $end_date) { + //Penawaran dibuka + $allow = true; + } else { + if ($todays_date < $start_date) { + //Penawaran Belum dibuka + $allow = true; + } else { + //Penawaran sudah ditutup + $allow = false; + } + } + + return $allow; +} + +function checkKelengkapanDetailKJPP($id) +{ + $allow = true; + // DB::enableQueryLog(); + // detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap? + $query = PenawaranDetailTender::select('id') + ->where('penawaran_id', '=', $id) + ->where(function ($query) { + $query->orWhere('biaya_penawaran', '', ""); + $query->orWhereNull('biaya_penawaran'); + + $query->orWhere('attachment', '', ""); + $query->orWhereNull('attachment'); + + $query->orWhere('dokumen_persetujuan', '', ""); + $query->orWhereNull('dokumen_persetujuan'); + })->get(); + // $sql = DB::getQueryLog(); + + + if (sizeof($query) > 0) { + $allow = false; + } + + return $allow; +} + +// convert +function convertSlug($slug) { + + $words = explode('-', $slug); + + foreach ($words as $index => $word) { + $words[$index] = strtoupper($word); + } + + return implode(' ', $words); +} +// andy add + diff --git a/app/Http/Controllers/AuthorizationController.php b/app/Http/Controllers/AuthorizationController.php deleted file mode 100644 index 5f6d270..0000000 --- a/app/Http/Controllers/AuthorizationController.php +++ /dev/null @@ -1,200 +0,0 @@ -get()); - return view('lpj::authorization.index'); - } - - public function store(BranchRequest $request) - { - $validate = $request->validated(); - - if ($validate) { - try { - // Save to database - Branch::create($validate); - return redirect() - ->route('basicdata.branch.index') - ->with('success', 'Branch created successfully'); - } catch (Exception $e) { - return redirect() - ->route('basicdata.branch.create') - ->with('error', 'Failed to create branch'); - } - } - } - - public function create() - { - return view('lpj::branch.create'); - } - - public function edit($id) - { - $branch = Branch::find($id); - return view('lpj::branch.create', compact('branch')); - } - - public function update(BranchRequest $request, $id) - { - $validate = $request->validated(); - - if ($validate) { - try { - // Update in database - $branch = Branch::find($id); - $branch->update($validate); - return redirect() - ->route('basicdata.branch.index') - ->with('success', 'Branch updated successfully'); - } catch (Exception $e) { - return redirect() - ->route('basicdata.branch.edit', $id) - ->with('error', 'Failed to update branch'); - } - } - } - - public function destroy($id) - { - try { - // Delete from database - $branch = Branch::find($id); - $branch->delete(); - - echo json_encode(['success' => true, 'message' => 'Branch deleted successfully']); - } catch (Exception $e) { - echo json_encode(['success' => false, 'message' => 'Failed to delete branch']); - } - } - - public function dataForDatatables(Request $request) - { - // if (is_null($this->user) || !$this->user->can('branch.view')) { - //abort(403, 'Sorry! You are not allowed to view users.'); - // } - - // Retrieve data from the database - $query = Permohonan::query(); - // 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(); - $data = $query->select('permohonan.id', 'permohonan.nomor_registrasi' - , 'branches.name AS branche_name' - , 'debitures.name AS debiture_name' - // , 'tujuan_penilaian.name AS debiture_name' - , DB::raw("CONCAT(tujuan_penilaian.code,' - ', tujuan_penilaian.name) AS nama_tujuan_penilaian") - , 'users.name AS account_officer') - ->leftJoin('branches', 'branches.id', '=', 'permohonan.branch_id') - ->leftJoin('debitures', 'debitures.id', '=', 'permohonan.debiture_id') - ->leftJoin('tujuan_penilaian', 'tujuan_penilaian.id', '=', 'permohonan.tujuan_penilaian_id') - ->leftJoin('users', 'users.id', '=', 'permohonan.user_id') - ->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, - ]); - /* - // 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('code', 'LIKE', "%$search%"); - $q->orWhere('name', '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, - ]); - */ - } - - public function export() - { - return Excel::download(new BranchExport, 'branch.xlsx'); - } - } diff --git a/app/Http/Controllers/BranchController.php b/app/Http/Controllers/BranchController.php deleted file mode 100644 index a7c20ee..0000000 --- a/app/Http/Controllers/BranchController.php +++ /dev/null @@ -1,150 +0,0 @@ -validated(); - - if ($validate) { - try { - // Save to database - Branch::create($validate); - return redirect() - ->route('basicdata.branch.index') - ->with('success', 'Branch created successfully'); - } catch (Exception $e) { - return redirect() - ->route('basicdata.branch.create') - ->with('error', 'Failed to create branch'); - } - } - } - - public function create() - { - return view('lpj::branch.create'); - } - - public function edit($id) - { - $branch = Branch::find($id); - return view('lpj::branch.create', compact('branch')); - } - - public function update(BranchRequest $request, $id) - { - $validate = $request->validated(); - - if ($validate) { - try { - // Update in database - $branch = Branch::find($id); - $branch->update($validate); - return redirect() - ->route('basicdata.branch.index') - ->with('success', 'Branch updated successfully'); - } catch (Exception $e) { - return redirect() - ->route('basicdata.branch.edit', $id) - ->with('error', 'Failed to update branch'); - } - } - } - - public function destroy($id) - { - try { - // Delete from database - $branch = Branch::find($id); - $branch->delete(); - - echo json_encode(['success' => true, 'message' => 'Branch deleted successfully']); - } catch (Exception $e) { - echo json_encode(['success' => false, 'message' => 'Failed to delete branch']); - } - } - - public function dataForDatatables(Request $request) - { - if (is_null($this->user) || !$this->user->can('branch.view')) { - //abort(403, 'Sorry! You are not allowed to view users.'); - } - - // Retrieve data from the database - $query = Branch::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('code', 'LIKE', "%$search%"); - $q->orWhere('name', '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, - ]); - } - - public function export() - { - return Excel::download(new BranchExport, 'branch.xlsx'); - } - } diff --git a/app/Http/Controllers/CurrencyController.php b/app/Http/Controllers/CurrencyController.php deleted file mode 100644 index 042e7af..0000000 --- a/app/Http/Controllers/CurrencyController.php +++ /dev/null @@ -1,150 +0,0 @@ -validated(); - - if ($validate) { - try { - // Save to database - Currency::create($validate); - return redirect() - ->route('basicdata.currency.index') - ->with('success', 'Currency created successfully'); - } catch (Exception $e) { - return redirect() - ->route('basicdata.currency.create') - ->with('error', 'Failed to create currency'); - } - } - } - - public function create() - { - return view('lpj::currency.create'); - } - - public function edit($id) - { - $currency = Currency::find($id); - return view('lpj::currency.create', compact('currency')); - } - - public function update(CurrencyRequest $request, $id) - { - $validate = $request->validated(); - - if ($validate) { - try { - // Update in database - $currency = Currency::find($id); - $currency->update($validate); - return redirect() - ->route('basicdata.currency.index') - ->with('success', 'Currency updated successfully'); - } catch (Exception $e) { - return redirect() - ->route('basicdata.currency.edit', $id) - ->with('error', 'Failed to update currency'); - } - } - } - - public function destroy($id) - { - try { - // Delete from database - $currency = Currency::find($id); - $currency->delete(); - - echo json_encode(['success' => true, 'message' => 'Currency deleted successfully']); - } catch (Exception $e) { - echo json_encode(['success' => false, 'message' => 'Failed to delete currency']); - } - } - - public function dataForDatatables(Request $request) - { - if (is_null($this->user) || !$this->user->can('currency.view')) { - //abort(403, 'Sorry! You are not allowed to view users.'); - } - - // Retrieve data from the database - $query = Currency::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('code', 'LIKE', "%$search%"); - $q->orWhere('name', '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, - ]); - } - - public function export() - { - return Excel::download(new CurrencyExport, 'currency.xlsx'); - } - } diff --git a/app/Http/Controllers/DokumenJaminanController.php b/app/Http/Controllers/DokumenJaminanController.php index dca91a5..dc4ac6e 100644 --- a/app/Http/Controllers/DokumenJaminanController.php +++ b/app/Http/Controllers/DokumenJaminanController.php @@ -14,9 +14,11 @@ use Modules\Lpj\Models\Debiture; use Modules\Lpj\Models\DetailDokumenJaminan; use Modules\Lpj\Models\DokumenJaminan; + use Modules\Lpj\Models\HubunganPemilikJaminan; use Modules\Lpj\Models\JenisJaminan; use Modules\Lpj\Models\JenisLegalitasJaminan; use Modules\Lpj\Models\PemilikJaminan; + use ZipArchive; class DokumenJaminanController extends Controller { @@ -86,6 +88,7 @@ 'dokumen_jaminan' => 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name, 'name' => $request->name[$key], 'keterangan' => $request->keterangan[$key], + 'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : '', ]; DetailDokumenJaminan::create($detail); } catch (Exception $e) { @@ -124,10 +127,18 @@ $jenisJaminan = JenisJaminan::all(); $jenisLegalitasJaminan = JenisLegalitasJaminan::all(); $pemilikJaminan = PemilikJaminan::where('debiture_id', $id)->get(); + $hubunganPemilik = HubunganPemilikJaminan::all(); return view( 'lpj::debitur.jaminan', - compact('debitur', 'provinces', 'jenisJaminan', 'jenisLegalitasJaminan', 'pemilikJaminan'), + compact( + 'debitur', + 'provinces', + 'jenisJaminan', + 'jenisLegalitasJaminan', + 'pemilikJaminan', + 'hubunganPemilik', + ), ); } @@ -141,6 +152,52 @@ DB::beginTransaction(); $validate['debiture_id'] = $id; + if ($validate['pemilik_jaminan_id'] == 00) { + $pemilik_jaminan = [ + 'hubungan_pemilik_jaminan_id' => request()->get('hubungan_pemilik_jaminan_id'), + 'province_code' => $debitur->province_code, + 'city_code' => $debitur->city_code, + 'district_code' => $debitur->district_code, + 'village_code' => $debitur->village_code, + 'postal_code' => $debitur->postal_code, + 'address' => $debitur->address, + 'nomor_id' => request()->get('nomor_id'), + 'name' => request()->get('pemilik_name'), + ]; + + $detailSertifikat = []; + $names = request()->input('detail_sertifikat.name', []); + $nomorIds = request()->input('detail_sertifikat.nomor_id', []); + + foreach ($names as $index => $name) { + if (isset($nomorIds[$index])) { + $detailSertifikat[] = [ + 'name' => $name, + 'nomor_id' => $nomorIds[$index], + ]; + } + } + + $pemilik_jaminan['detail_sertifikat'] = json_encode($detailSertifikat); + + //dd($pemilik_jaminan); + + try { + $pemilikJaminan = PemilikJaminan::updateOrCreate([ + 'debiture_id' => $id, + 'name' => request()->get('pemilik_name'), + ], $pemilik_jaminan); + } catch (Exception $e) { + return redirect()->route('debitur.jaminan.index', $id)->with( + 'error', + 'Gagal update pemilik jaminan: ' . $e->getMessage(), + ); + } + + $validate['pemilik_jaminan_id'] = $pemilikJaminan->id; + } + + if ($validate['pemilik_jaminan_id'] == 0) { $pemilik_jaminan = [ 'hubungan_pemilik_jaminan_id' => 1, @@ -159,11 +216,14 @@ 'debiture_id' => $id, 'name' => $debitur->name, ], $pemilik_jaminan); + + $validate['pemilik_jaminan_id'] = $pemilikJaminan->id; } $document = DokumenJaminan::find($jaminan); $document->update($validate); + if ($request->detail_dokumen_jaminan_id) { foreach ($request->detail_dokumen_jaminan_id as $key => $value) { if (isset($request->dokumen_jaminan[$key])) { @@ -217,16 +277,14 @@ 'success', 'Dokumen Jaminan berhasil diubah', ); - } catch - (Exception $e) { + } catch (Exception $e) { DB::rollBack(); return redirect()->route('debitur.jaminan.index', $id)->with('error', $e->getMessage()); } } } - public - function edit( + public function edit( $id, $jaminan, ) { @@ -240,6 +298,7 @@ $jenisJaminan = JenisJaminan::all(); $jenisLegalitasJaminan = JenisLegalitasJaminan::all(); $pemilikJaminan = PemilikJaminan::where('debiture_id', $document->debiture_id)->get(); + $hubunganPemilik = HubunganPemilikJaminan::all(); return view( 'lpj::debitur.jaminan', @@ -254,20 +313,20 @@ 'districts', 'villages', 'pemilikJaminan', + 'hubunganPemilik', ), ); } - public - function destroy( + public function destroy( $id, $jaminan_id, ) { try { $jaminan = DokumenJaminan::find($jaminan_id); - $details = DetailDokumenJaminan::where('dokumen_jaminan_id',$jaminan->id)->get(); - foreach ($details as $detail){ - Storage::delete('public/'. $detail->dokumen_jaminan); + $details = DetailDokumenJaminan::where('dokumen_jaminan_id', $jaminan->id)->get(); + foreach ($details as $detail) { + Storage::delete('public/' . $detail->dokumen_jaminan); $detail->delete(); } $jaminan->delete(); @@ -277,11 +336,58 @@ } } - public - function download( - $id, - ) { - $document = DetailDokumenJaminan::find($id); + public function bulkDownload() + { + $dokumenIds = request()->get('jaminan'); // Expecting an array of dokumen_jaminan_id + $documents = DetailDokumenJaminan::where('dokumen_jaminan_id', $dokumenIds)->get(); + if ($documents->isEmpty()) { + return redirect()->back()->with('error', 'No documents found for the provided IDs.'); + } + + $zip = new ZipArchive; + $zipFileName = 'documents_jaminan_' . $dokumenIds . '.zip'; + $zipFilePath = storage_path('app/public/' . $zipFileName); + + if ($zip->open($zipFilePath, ZipArchive::CREATE) === true) { + foreach ($documents as $document) { + $filePath = storage_path('app/public/' . $document->dokumen_jaminan); + if (file_exists($filePath)) { + $zip->addFile($filePath, basename($filePath)); + } else { + // Log or display an error message for missing files + return redirect()->back()->with('error', 'File not found: ' . $filePath); + } + } + $zip->close(); + + if (!file_exists($zipFilePath)) { + return redirect()->back()->with('error', 'Failed to create ZIP file.'); + } + } else { + return redirect()->back()->with('error', 'Failed to create ZIP file.'); + } + + return response()->download($zipFilePath, $zipFileName, [ + 'Content-Type' => 'application/zip', + 'Content-Disposition' => 'attachment; filename="' . $zipFileName . '"', + 'Content-Length' => filesize($zipFilePath), + ])->deleteFileAfterSend(false); + } + + + public function download() + { + $dokumen = request()->get('dokumen'); + $document = DetailDokumenJaminan::find($dokumen); return response()->download(storage_path('app/public/' . $document->dokumen_jaminan)); } + + public function legalitasJaminan($id, $jaminan) + { + $jenisJaminan = JenisJaminan::find($id); + $legalitasJaminan = $jenisJaminan->jenis_legalitas_jaminan_id; + + $legalitas = JenisLegalitasJaminan::whereIn('code', json_decode($legalitasJaminan, true))->get(); + echo json_encode($legalitas); + } } diff --git a/app/Http/Controllers/JenisFasilitasKreditController.php b/app/Http/Controllers/JenisFasilitasKreditController.php index 8d8a886..36ba491 100644 --- a/app/Http/Controllers/JenisFasilitasKreditController.php +++ b/app/Http/Controllers/JenisFasilitasKreditController.php @@ -13,7 +13,6 @@ class JenisFasilitasKreditController extends Controller { - use LpjHelpers; // <---- Using the LpjHelpers Trait public $user; public function index() @@ -28,12 +27,6 @@ if ($validate) { try { // Save to database - // andy add - $lastNumberCodeJFK = LpjHelpers::onLastCodeJFK(); - - $validate['name'] =strtoupper($request->name); - $validate['code'] =$lastNumberCodeJFK; - // andy add JenisFasilitasKredit::create($validate); return redirect() diff --git a/app/Http/Controllers/LaporanController.php b/app/Http/Controllers/LaporanController.php new file mode 100644 index 0000000..ec4cf45 --- /dev/null +++ b/app/Http/Controllers/LaporanController.php @@ -0,0 +1,34 @@ +user) || !$this->user->can('debitur.view')) { + //abort(403, 'Sorry! You are not allowed to view users.'); + } + + // Retrieve data from the database + $query =PenawaranTender::query() + ->select('penawaran.*',DB::raw("CONCAT(DATE_FORMAT(penawaran.start_date, '%d %M %Y'), ' - ', DATE_FORMAT(penawaran.end_date, '%d %M %Y')) AS date_range"), 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name') + ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id') + ->where('penawaran.status','=','proposal-tender') + ->withCount('penawarandetails'); + + // 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_registrasi', 'LIKE', '%' . $search . '%'); + $q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%'); + + $q->orWhere('status', '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->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); + $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 + ]); + } + + public function edit($id) + { + return view('lpj::otorisasipenawaran.edit', compact('id')); + } + + public function setData(Request $request): JsonResponse + { + $data = array(); + $penawaran = array(); + $penawrandetails = array(); + $penawarandetailLogs = array(); + + if (request()->ajax()) { + $id = $request->id; + $penawaran = PenawaranTender::where('status','=','proposal-tender')->find($id); + + if ($penawaran) { + $penawarandetailLogs = PenawaranDetailTenderLog::where('penawaran_id',$id) + ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran_logs.kjpp_rekanan_id') + ->select('detail_penawaran_logs.*', DB::raw("DATE_FORMAT(detail_penawaran_logs.created_at, '%d-%m-%Y %H:%i') AS created_at2"),'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name') + ->get(); + $penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id) + ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id') + ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name') + ->where('detail_penawaran.status','=',1) + ->get(); + + if(sizeof($penawarandetailLogs)>0) + { + $h=0; + foreach($penawarandetailLogs as $obj1) + { + if($obj1->dokumen_persetujuan && Storage::disk('public')->exists($obj1->dokumen_persetujuan)) + { + $penawarandetailLogs_path = Storage::url($obj1->dokumen_persetujuan); + $penawarandetailLogs[$h]->dokumen_persetujuan = $penawarandetailLogs_path; + } + $h++; + } + + } + + $i=0; + foreach($penawrandetails as $obj) + { + if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) + { + $penawrandetails_path = Storage::url($obj->dokumen_persetujuan); + $penawrandetails[$i]->dokumen_persetujuan = $penawrandetails_path; + + } + $i++; + } + + $penawaranString = ""; + if($penawaran->status) + { + $penawaranString = convertSlug($penawaran->status); + $penawaran->status = $penawaranString; + } + + $kjpp=null; + $kjpp = KJPP::pluck('name', 'id'); + $data['penawaran'] = $penawaran; + $data['penawrandetails'] = $penawrandetails; + $data['penawarandetailLogs'] = $penawarandetailLogs; + $data['status'] = 'success'; + $data['message']['message_success'] = array("data successfully found"); + } else { + $data['status'] = 'error'; + $data['penawaran'] = null; + $data['penawrandetails'] = null; + $data['message']['message_data'] = array("data not found"); + } + } else { + $data['status'] = 'error'; + $data['message']['message_ajax'] = array("no ajax request"); + } + + return response()->json($data); + } + + public function otorisasiPenawaranKJPP(Request $request, $id): JsonResponse + { + $data = array(); + $dataDetailPenawaranLog=[]; + if (request()->ajax()) { + + // cek masa aktif penawaran + $detailpenawaran = PenawaranDetailTender::find($id); + $penawaran = PenawaranTender::findOrFail($detailpenawaran->penawaran_id); + $checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id); + // cek masa aktif penawaran + if($checkActiveDateRange) + { + DB::beginTransaction(); + try { + + // update status KJPP yg tidak terpilih menjadi 2 -> kalah + // update status Penawaran menjadi SPK + // update status Permohonan menjadi SPK + // insert detail_permohonan_log + + PenawaranDetailTender::where('status', 1) + ->where('penawaran_id', $request->penawaran_id) + ->whereNotIn('id', [$id]) + ->update(['status' => 2, + 'updated_by' => Auth::id(), + 'updated_at' => now() + ]); + + PenawaranTender::where('id', $request->penawaran_id) + ->update(['status'=>'spk', + 'nama_kjpp_sebelumnya'=>$request->kjppName, + 'biaya_kjpp_sebelumnya'=>$request->biaya_penawaran, + 'tanggal_penilaian_sebelumnya'=>now(), + 'authorized_status'=>1, + 'authorized_at'=>now(), + 'authorized_by'=>Auth::id(), + 'updated_by' => Auth::id(), + 'updated_at' => now() + ]); + + Permohonan::where('nomor_registrasi',$request->noReg) + ->update(['status'=>'spk', + 'updated_by' => Auth::id(), + 'updated_at' => now() + ]); + + // log + $detailPenawaran = PenawaranDetailTender::where('penawaran_id', $request->penawaran_id)->get(); + if(sizeof($detailPenawaran)>0) + { + + foreach ($detailPenawaran as $model) { + array_push($dataDetailPenawaranLog, [ + 'detail_penawaran_id' =>$model->id, + 'kjpp_rekanan_id' =>$model->kjpp_rekanan_id, + 'penawaran_id' =>$model->penawaran_id, + 'biaya_penawaran' =>$model->biaya_penawaran, + 'attachment' =>$model->attachment, + 'dokumen_persetujuan' =>$model->dokumen_persetujuan, + 'status' =>$model->status, + 'authorized_status' =>$model->authorized_status, + 'authorized_at' =>$model->authorized_at, + 'authorized_at' =>$model->authorized_at, + 'created_at' =>$model->created_at, + 'updated_at' =>$model->updated_at, + 'deleted_at' =>$model->deleted_at, + 'created_by' =>$model->created_by, + 'updated_by' =>$model->updated_by, + 'deleted_by' =>$model->deleted_by + ]); + + } + + PenawaranDetailTenderLog::insert($dataDetailPenawaranLog); + } + // log + + DB::commit(); + $data['status'] = 'success'; + $data['message']['message_success'] = array('Otorisasi Penawaran KJPP '.$request->kjppName.' successfully'); + } catch (Exception $e) { + DB::rollBack(); + $data['status'] = 'error'; + $data['message']['message_error'] = array("Otorisasi Penawaran KJPP failed.."); + } + } + else + { + $data['status'] = 'error'; + $data['message'] ['active_date_range'] = array("Penawaran sudah di tutup"); + } + + } else { + $data['status'] = 'error'; + $data['message']['message_ajax'] = array("no ajax request"); + } + return response()->json($data); + } + + public function show($id) + { + $prosespenawaran = PenawaranTender::find($id); + return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran')); + } +} diff --git a/app/Http/Controllers/PemilikJaminanController.php b/app/Http/Controllers/PemilikJaminanController.php index 7c38601..b8e0ecd 100644 --- a/app/Http/Controllers/PemilikJaminanController.php +++ b/app/Http/Controllers/PemilikJaminanController.php @@ -63,6 +63,7 @@ public function update(PemilikJaminanRequest $request, $id, $pemilik) { $validate = $request->validated(); + if ($validate) { try { $pemilik = PemilikJaminan::find($pemilik); @@ -88,6 +89,7 @@ $districts = District::where('city_code', $pemilik->city_code)->get(); $villages = Village::where('district_code', $pemilik->district_code)->get(); $hubunganPemilik = HubunganPemilikJaminan::all(); + $detailSertifikat = $pemilik->detail_sertifikat; return view( 'lpj::pemilik_jaminan.form', @@ -99,6 +101,7 @@ 'villages', 'hubunganPemilik', 'pemilik', + 'detailSertifikat' ), ); } diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php new file mode 100644 index 0000000..6b2a0c0 --- /dev/null +++ b/app/Http/Controllers/PenilaiController.php @@ -0,0 +1,135 @@ +find($id); + + return view('lpj::penilai.show', compact('permohonan')); + } + + /** + * Show the form for editing the specified resource. + */ + public function edit($id) + { + return view('lpj::edit'); + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, $id) + { + // + } + + /** + * Remove the specified resource from storage. + */ + public function destroy($id) + { + // + } + + public function dataForDatatables(Request $request) + { + if (is_null($this->user) || !$this->user->can('penilai.view')) { + //abort(403, 'Sorry! You are not allowed to view users.'); + } + + // Retrieve data from the database + $query = Permohonan::query()->where('status', '=', 'done'); + + // 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_registrasi', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('jenisfasilitasKredit', 'name', '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->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'jenisfasilitasKredit'])->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, + ]); + } +} diff --git a/app/Http/Controllers/PermohonanController.php b/app/Http/Controllers/PermohonanController.php index 2cd35d0..e2a3da4 100644 --- a/app/Http/Controllers/PermohonanController.php +++ b/app/Http/Controllers/PermohonanController.php @@ -3,6 +3,7 @@ namespace Modules\Lpj\Http\Controllers; use App\Http\Controllers\Controller; + use Barryvdh\DomPDF\Facade\Pdf; use Exception; use Illuminate\Http\Request; use Maatwebsite\Excel\Facades\Excel; @@ -304,4 +305,19 @@ return redirect()->route('authorization.index')->with('success', 'Permohonan updated successfully'); } + + public function show($id) + { + $permohonan = Permohonan::find($id); + + return view('lpj::permohonan.show', compact('permohonan')); + } + + public function print($id){ + $permohonan = Permohonan::find($id); + return view('lpj::permohonan.print', compact('permohonan')); + +// $pdf = Pdf::loadView('lpj::permohonan.print', compact('permohonan')); + // return $pdf->stream(); + } } diff --git a/app/Http/Controllers/ProsesPenawaranController.php b/app/Http/Controllers/ProsesPenawaranController.php index 9063533..d8a5e9b 100644 --- a/app/Http/Controllers/ProsesPenawaranController.php +++ b/app/Http/Controllers/ProsesPenawaranController.php @@ -75,7 +75,7 @@ class ProsesPenawaranController extends Controller // Get the data for the current page //$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); - $data = $query->with(['tujuanPenilaianKJPP'])->get(); + $data = $query->with(['tujuanPenilaianKJPP','permohonan','permohonan.debiture'])->get(); // Calculate the page count $pageCount = ceil($totalRecords / $request->get('size')); @@ -108,37 +108,39 @@ class ProsesPenawaranController extends Controller if (request()->ajax()) { $id = $request->id; - $penawaran = PenawaranTender::findOrFail($id); - $penawrandetails = PenawaranDetailTender::where('penawaran_id', '=', $id) - ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id') - ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name') - ->where('detail_penawaran.status', '=', 1) - ->get(); - $data['status'] = 'success'; + $penawaran = PenawaranTender::find($id); + $penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id) + ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id') + ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name') + ->where('detail_penawaran.status','=',1) + ->get(); + if ($penawaran) { - $i = 0; - foreach ($penawrandetails as $obj) { - // dd($obj->dokumen_persetujuan); - if ($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) { + + $i=0; + foreach($penawrandetails as $obj) + { + if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) + { $penawrandetails_path = Storage::url($obj->dokumen_persetujuan); - $penawrandetails[$i]->dokumen_persetujuan = $penawrandetails_path; - $i++; + $penawrandetails[$i]['dokumen_persetujuan']=$penawrandetails_path; } + $i++; } - $kjpp = null; - $kjpp = KJPP::pluck('name', 'id'); $data['penawaran'] = $penawaran; $data['penawrandetails'] = $penawrandetails; - $data['message'] = 'data successfully found'; + $data['status'] = 'success'; + $data['message'] ['message_success'] = array("data successfully found"); } else { $data['penawaran'] = null; $data['penawrandetails'] = null; - $data['message'] = 'data not found'; + $data['status'] = 'error'; + $data['message'] ['message_data'] = array("data not found"); } } else { $data['status'] = 'error'; - $data['message'] = 'no ajax request'; + $data['message'] ['message_ajax'] = array("no ajax request"); } return response()->json($data); @@ -151,62 +153,71 @@ class ProsesPenawaranController extends Controller { // init $data = array(); - $dataku = array(); - $tindakan = null; + $dataPenawaranDetail = array(); if (request()->ajax()) { $validator = ProsesPenawaranController::rulesEditnya($request, $id); if ($validator['fails']) { $data['message'] = $validator['errors']; $data['status'] = 'error'; - } else { + } + else + { try { - $dataku = [ - 'updated_by' => Auth::id(), - 'updated_at' => now(), - 'biaya_penawaran' => str_replace(".", "", $request->biaya_penawaran) - ]; + $dataPenawaranDetail = ['updated_by' => Auth::id(), + 'updated_at' => now(), + 'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran) + ]; - if ($request->hasFile('dokumen_persetujuan')) { + if ($request->hasFile('dokumen_persetujuan')) + { $file_tmp = $request->file('dokumen_persetujuan'); $folderPath = 'uploads/penawaran/'; - if ($file_tmp->isValid()) { - $myFile = $file_tmp->getClientOriginalName(); // nama file with extension + if ($file_tmp->isValid()) + { + $myFile=$file_tmp->getClientOriginalName(); // nama file with extension $file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension $extension = $file_tmp->getClientOriginalExtension(); // kjppID_penawaranID_namaFile_userID_time - $newFileName = $request->kjpp_rekanan_id . '_' . $id . '_' . $file_name . '_' . Auth::user()->id . "_" . time() . '.' . $extension; - Storage::disk('public')->put($folderPath . '/' . $newFileName, file_get_contents($file_tmp)); + $newFileName = $request->kjpp_rekanan_id.'_'.$id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension; + Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp)); $newFileNameWithPath = $folderPath . $newFileName; - $dataku['attachment'] = $myFile; - $dataku['dokumen_persetujuan'] = $newFileNameWithPath; + $dataPenawaranDetail['attachment'] = $myFile; + $dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath; - $model = PenawaranDetailTender::findOrFail($id); - $model->update($dataku); + $penawarandetail = PenawaranDetailTender::findOrFail($id); + $penawarandetail->update($dataPenawaranDetail); - $data['status'] = 'success'; $data['detailpenawaran_id'] = $id; - $data['message'] = 'Proses Penawarn KJPP successfully'; - } else { - $data['status'] = 'error'; - $data['message'] = 'Silahkan upload file pdf'; + $data['status'] = 'success'; + $data['message'] ['message_success'] = array('Proses Penawarn KJPP successfully'); + } + else + { + $data['status'] = 'error'; + $data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf"); } - } else { - $data['status'] = 'error'; - $data['message'] = 'Silahkan upload file'; } + else + { + $data['status'] = 'error'; + $data['message'] ['check_file'] = array("Silahkan upload file"); + + } + } catch (Exception $e) { $data['status'] = 'error'; - $data['message'] = 'Proses Penawarn KJPP failed.'; + $data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.'); } } + } else { $data['status'] = 'error'; - $data['message'] = 'no ajax request'; + $data['message'] ['message_ajax'] = array("no ajax request"); } return response()->json($data); @@ -240,134 +251,86 @@ class ProsesPenawaranController extends Controller */ public function updateAll(Request $request, $id): JsonResponse { - // init - $data = array(); - $dataku = array(); - $model = PenawaranTender::findOrFail($id); - $checkActiveDateRange = $this->checkActiveDateRangePenawaran($model->start_date, $model->end_date); + // init + $data = array(); + $dataPermohonan = array(); + $dataPenawaran = array(); + $penawaran = PenawaranTender::find($id); + $checkActiveDateRange = checkActiveDateRangePenawaran($id); - // cek masa aktif penawaran - if ($checkActiveDateRange) { + // cek masa aktif penawaran + if($checkActiveDateRange) + { - $checkKelengkapanDetailKJPP = $this->checkKelengkapanDetailKJPP($id); - if ($checkKelengkapanDetailKJPP) { - DB::beginTransaction(); - try { - $dataku = [ - 'status' => 'tendered', - 'updated_by' => Auth::id(), - 'updated_at' => now() - ]; + $checkKelengkapanDetailKJPP = checkKelengkapanDetailKJPP($id); + if($checkKelengkapanDetailKJPP) + { + DB::beginTransaction(); + try { + $_updatestatus = ['status' => 'proposal-tender', + 'updated_by' => Auth::id(), + 'updated_at' => now() + ]; - $dataPermohonan = [ - 'status' => 'tendered', - 'updated_by' => Auth::id(), - 'updated_at' => now() - ]; + $permohonan = Permohonan::where('nomor_registrasi','=', $penawaran->nomor_registrasi)->first(); - $permohonan = Permohonan::where('nomor_registrasi', '=', $model->nomor_registrasi)->first(); + $penawaran->update($_updatestatus); + $permohonan->update($_updatestatus); - $model->update($dataku); - $permohonan->update($dataPermohonan); + DB::commit(); - DB::commit(); + $data['message'] ['message_success'] = array('Sukses melakukan Proses Penawaran'); + $data['status'] = 'success'; - $data['message'] = "Sukses melakukan Proses Penawaran"; - $data['status'] = 'success'; - } catch (Exception $e) { - DB::rollBack(); - // dd($e); - $data['message'] = "Gagal melakukan Proses Penawaran"; - $data['status'] = 'error'; - } - } else { - $data['message'] = "Silahkan lengkapi data KJPP"; - $data['status'] = 'error'; - } - } else { - $data['message'] = "Penawaran sudah di tutup"; - $data['status'] = 'error'; - } + } catch (Exception $e) { + DB::rollBack(); + // dd($e); + $data['message'] ['message_error_try_catch'] = array("Gagal melakukan Proses Penawaran"); + $data['status'] = 'error'; + } - return response()->json($data); + } + else + { + $data['message'] ['cek_kelengkapan_data'] = array("Silahkan lengkapi data KJPP"); + $data['status'] = 'error'; + } + + } + else + { + $data['message'] ['active_date_range'] = array("Penawaran sudah di tutup"); + $data['status'] = 'error'; + } + + return response()->json($data); } - public function checkActiveDateRangePenawaran($start_date1, $end_date1) - { - $start_date = strtotime($start_date1); - $end_date = strtotime($end_date1); - $todays_date = strtotime(now()); - - $allow = true; - if ($todays_date >= $start_date && $todays_date <= $end_date) { - //Penawaran dibuka - $allow = true; - } else { - if ($todays_date < $start_date) { - //Penawaran Belum dibuka - $allow = true; - } else { - //Penawaran sudah ditutup - $allow = false; - } - } - - return $allow; - } - - public function checkKelengkapanDetailKJPP($id) - { - $allow = true; - // DB::enableQueryLog(); - // detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap? - $query = PenawaranDetailTender::select('id') - ->where('penawaran_id', '=', $id) - ->where(function ($query) { - $query->orWhere('biaya_penawaran', '', ""); - $query->orWhereNull('biaya_penawaran'); - - $query->orWhere('attachment', '', ""); - $query->orWhereNull('attachment'); - - $query->orWhere('dokumen_persetujuan', '', ""); - $query->orWhereNull('dokumen_persetujuan'); - })->get(); - // $sql = DB::getQueryLog(); - - - if (sizeof($query) > 0) { - $allow = false; - } - - return $allow; - } - - public function updateStatusPenawaranKJPP(Request $request, $id): JsonResponse + public function updateKJPPStatus(Request $request, $id): JsonResponse { // init $data = array(); - $dataku = array(); + $dataDetailPenawaran = array(); try { - $model = PenawaranDetailTender::findOrFail($id); - $data['id'] = $id; + $detailpenawaran = PenawaranDetailTender::findOrFail($id); + $data['id']=$id; - $dataku = [ - 'status' => '0', + $dataDetailPenawaran = ['status' => '0', 'updated_by' => Auth::id(), 'updated_at' => now() ]; - $model->update($dataku); + $detailpenawaran->update($dataDetailPenawaran); - $data['message'] = "Sukses delete Penawaran KJPP"; $data['status'] = 'success'; + $data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName); } catch (Exception $e) { - // dd($e); - $data['message'] = "Gagal delete Penawaran KJPP"; $data['status'] = 'error'; + $data['message'] ['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName); } + return response()->json($data); } diff --git a/app/Http/Controllers/ProsesPenawaranUlangController.php b/app/Http/Controllers/ProsesPenawaranUlangController.php new file mode 100644 index 0000000..c6aa41b --- /dev/null +++ b/app/Http/Controllers/ProsesPenawaranUlangController.php @@ -0,0 +1,373 @@ +user) || !$this->user->can('debitur.view')) { + //abort(403, 'Sorry! You are not allowed to view users.'); + } + + // Retrieve data from the database + $query =PenawaranTender::query() + ->select('penawaran.*',DB::raw("CONCAT(DATE_FORMAT(penawaran.start_date, '%d %M %Y'), ' - ', DATE_FORMAT(penawaran.end_date, '%d %M %Y')) AS date_range"), 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name') + ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id') + ->where('penawaran.status','=','proposal-tender') + ->withCount('penawarandetails'); + + // 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_registrasi', 'LIKE', '%' . $search . '%'); + $q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%'); + + $q->orWhere('status', '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->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); + $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 + ]); + } + + public function edit($id) + { + return view('lpj::prosespenawaranulang.edit', compact('id')); + } + + public function show($id) + { + $prosespenawaran = PenawaranTender::find($id); + return view('lpj::prosespenawaranulang.show', compact('id','prosespenawaran')); + } + + public function setData(Request $request): JsonResponse + { + $data = array(); + $penawaran = array(); + $penawrandetails = array(); + + if (request()->ajax()) { + $id = $request->id; + $penawaran = PenawaranTender::where('status','=','proposal-tender')->find($id); + + if ($penawaran) { + $penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id) + ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id') + ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name') + ->where('detail_penawaran.status','=',1) + ->get(); + + $i=0; + foreach($penawrandetails as $obj) + { + if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) + { + $penawrandetails_path = Storage::url($obj->dokumen_persetujuan); + $penawrandetails[$i]['dokumen_persetujuan']=$penawrandetails_path; + } + $i++; + } + + $penawaranString = ""; + if($penawaran->status) + { + $penawaranString = convertSlug($penawaran->status); + $penawaran->status = $penawaranString; + } + + $data['penawaran'] = $penawaran; + $data['penawrandetails'] = $penawrandetails; + $data['status'] = 'success'; + $data['message']['message_success'] = array("data successfully found"); + } else { + $data['status'] = 'error'; + $data['penawaran'] = null; + $data['penawrandetails'] = null; + $data['message']['message_data'] = array("data not found"); + } + } else { + $data['status'] = 'error'; + $data['message']['message_ajax'] = array("no ajax request"); + } + + return response()->json($data); + } + + public function update(Request $request, $id): JsonResponse + { + // init + $data = array(); + $dataDetailPenawaranLog = array(); + $dataDetailPenawaran = array(); + $pleaseCommit= true; + if (request()->ajax()) { + $validator = ProsesPenawaranUlangController::rulesEditnya($request, $id); + + if ($validator['fails']) { + $data['message'] = $validator['errors']; + $data['status'] = 'error'; + } + else + { + // cek masa aktif penawaran + $detailpenawaran = PenawaranDetailTender::find($id); + $checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id); + // cek masa aktif penawaran + if($checkActiveDateRange) + { + DB::beginTransaction(); + try { + + $dataDetailPenawaranLog = [ + 'detail_penawaran_id' =>$detailpenawaran->id, + 'kjpp_rekanan_id' =>$detailpenawaran->kjpp_rekanan_id, + 'penawaran_id' =>$detailpenawaran->penawaran_id, + 'biaya_penawaran' =>$detailpenawaran->biaya_penawaran, + 'attachment' =>$detailpenawaran->attachment, + 'dokumen_persetujuan' =>$detailpenawaran->dokumen_persetujuan, + 'status' =>$detailpenawaran->status, + 'authorized_status' =>$detailpenawaran->authorized_status, + 'authorized_at' =>$detailpenawaran->authorized_at, + 'authorized_at' =>$detailpenawaran->authorized_at, + 'created_at' =>$detailpenawaran->created_at, + 'updated_at' =>$detailpenawaran->updated_at, + 'deleted_at' =>$detailpenawaran->deleted_at, + 'created_by' =>$detailpenawaran->created_by, + 'updated_by' =>$detailpenawaran->updated_by, + 'deleted_by' =>$detailpenawaran->deleted_by + + ]; + + PenawaranDetailTenderLog::create($dataDetailPenawaranLog); + + $biaya_penawaran=""; + if($request->biaya_penawaran) + $biaya_penawaran= str_replace(".","",$request->biaya_penawaran); + $dataDetailPenawaran = ['updated_by' => Auth::id(), + 'updated_at' => now(), + 'biaya_penawaran' => $biaya_penawaran + ]; + + if ($request->hasFile('dokumen_persetujuan')) + { + $file_tmp = $request->file('dokumen_persetujuan'); + $folderPath = 'uploads/penawaran/'; + if ($file_tmp->isValid()) + { + $myFile=$file_tmp->getClientOriginalName(); // nama file with extension + $file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension + + $extension = $file_tmp->getClientOriginalExtension(); + // kjppID_penawaranID_namaFile_userID_time + $newFileName = $request->kjpp_rekanan_id.'_'.$id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension; + Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp)); + + $newFileNameWithPath = $folderPath . $newFileName; + $dataDetailPenawaran['attachment'] = $myFile; + $dataDetailPenawaran['dokumen_persetujuan'] = $newFileNameWithPath; + } + else + { + $pleaseCommit=false; + $data['status'] = 'error'; + $data['message']['check_file_jenis'] = array("Silahkan upload file pdf"); + } + } + else + { + $data['status'] = 'error'; + $data['message']['check_file'] = array("Silahkan upload file"); + + } + + $detailpenawaran->update($dataDetailPenawaran); + + if($pleaseCommit) + { + DB::commit(); + + $data['id'] = $id; + $data['detailpenawaran'] = $detailpenawaran; + $data['status'] = 'success'; + $data['message']['message_success'] = array('Proses Penawarn KJPP Ulang successfully'); + } + else + { + DB::rollBack(); + $data['status'] = 'error'; + $data['message']['message_error'] = array("Proses Penawarn KJPP Ulang failed.."); + } + + } catch (Exception $e) { + DB::rollBack(); + $data['status'] = 'error'; + $data['message']['message_error_try_catch'] = array('Proses Penawarn KJPP Ulang failed.'); + } + } + else + { + $data['status'] = 'error'; + $data['message']['active_date_range'] = array("Penawaran sudah di tutup"); + } + + } + + } else { + $data['status'] = 'error'; + $data['message']['message_ajax'] = array("no ajax request"); + } + + return response()->json($data); + } + + // delete KJPP di detail_penawaran (status di buat 0) + public function updateKJPPStatus(Request $request, $id): JsonResponse + { + // init + $data = array(); + $dataku = array(); + $dataDetailPenawaranLog = array(); + + DB::beginTransaction(); + try { + $model = PenawaranDetailTender::findOrFail($id); + + // log + $dataDetailPenawaranLog = [ + 'detail_penawaran_id' =>$model->id, + 'kjpp_rekanan_id' =>$model->kjpp_rekanan_id, + 'penawaran_id' =>$model->penawaran_id, + 'biaya_penawaran' =>$model->biaya_penawaran, + 'attachment' =>$model->attachment, + 'dokumen_persetujuan' =>$model->dokumen_persetujuan, + 'status' =>0, + 'authorized_status' =>$model->authorized_status, + 'authorized_at' =>$model->authorized_at, + 'authorized_at' =>$model->authorized_at, + 'created_at' =>$model->created_at, + 'updated_at' =>$model->updated_at, + 'deleted_at' =>$model->deleted_at, + 'created_by' =>$model->created_by, + 'updated_by' =>$model->updated_by, + 'deleted_by' =>$model->deleted_by + + ]; + + PenawaranDetailTenderLog::create($dataDetailPenawaranLog); + // log + + $data['id']=$id; + + $dataku = ['status' => '0', + 'updated_by' => Auth::id(), + 'updated_at' => now() + ]; + + $model->update($dataku); + + DB::commit(); + $data['status'] = 'success'; + $data['message']['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName); + } catch (Exception $e) { + DB::rollBack(); + // dd($e); + $data['status'] = 'error'; + $data['message']['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName); + } + return response()->json($data); + } + + public function rulesEditnya($request, $id) + { + $validateIt = [ + // 'name' diambil dari definisi parameter yang di kirim pada POST Data + 'biaya_penawaran' => 'required', + 'dokumen_persetujuan' => 'required|file|mimes:pdf' + ]; + + $messageIt = [ + 'biaya_penawaran.required' => 'Silahkan isi Biaya Penawaran', + 'dokumen_persetujuan.required' => 'Silahkan isi dokumen', + 'dokumen_persetujuan.file' => 'Silahkan isi file', + 'dokumen_persetujuan.mimes' => 'Silahkan upload pdf' + ]; + + $validator = Validator::make($request->all(), $validateIt, $messageIt); + + $data['fails'] = $validator->fails(); + $data['errors'] = $validator->errors(); + + return $data; + } + +} diff --git a/app/Http/Controllers/RegistrasiController.php b/app/Http/Controllers/RegistrasiController.php index 6efb5a4..adc0f3e 100644 --- a/app/Http/Controllers/RegistrasiController.php +++ b/app/Http/Controllers/RegistrasiController.php @@ -114,25 +114,27 @@ if (request()->ajax()) { $id = $request->id; - $datas = Permohonan::findOrFail($id); - $data['status'] = 'success'; + $datas = Permohonan::find($id); + if ($datas) { $jenisPenilaians=null; $regions=null; $regions=Regions::pluck('name', 'id'); $jenisPenilaians=JenisPenilaian::pluck('name', 'id'); + $data['status'] = 'success'; $data['regions'] = $regions; $data['jenisPenilaians'] = $jenisPenilaians; $data['datas'] = $datas; - $data['message'] = 'data successfully found'; + $data['message'] ['message_success'] = array("data successfully found"); } else { + $data['status'] = 'error'; $data['datas'] = null; - $data['message'] = 'data not found'; + $data['message'] ['message_data'] = array("data not found"); } } else { $data['status'] = 'error'; - $data['message'] = 'no ajax request'; + $data['message'] ['message_ajax'] = array("no ajax request"); } return response()->json($data); @@ -179,17 +181,17 @@ $modal->update($dataku); // $data['status'] = 'success'; - $data['message'] = 'Regitrasi '.$modal->nomor_registrasi.' successfully'; + $data['message'] ['message_success'] = array('Regitrasi '.$modal->nomor_registrasi.' successfully'); } catch (Exception $e) { $data['status'] = 'error'; - $data['message'] = 'Jenis Fasilitas Kredit updated failed.'; + $data['message'] ['message_try_catch'] = array('Regitrasi updated failed.'); } } } else { $data['status'] = 'error'; - $data['message'] = 'no ajax request'; + $data['message'] ['message_ajax'] = array("no ajax request"); } return response()->json($data); @@ -245,27 +247,4 @@ return view('lpj::registrasi.show', compact('id','permohonan')); } - public function showData(Request $request): JsonResponse - { - $data = array(); - $datas = array(); - - if (request()->ajax()) { - $id = $request->id; - $datas = Permohonan::findOrFail($id); - $data['status'] = 'success'; - if ($datas) { - $data['datas'] = $datas; - $data['message'] = 'data successfully found'; - } else { - $data['datas'] = null; - $data['message'] = 'data not found'; - } - } else { - $data['status'] = 'error'; - $data['message'] = 'no ajax request'; - } - - return response()->json($data); - } } diff --git a/app/Http/Controllers/RegistrasiFinalController.php b/app/Http/Controllers/RegistrasiFinalController.php new file mode 100644 index 0000000..2561079 --- /dev/null +++ b/app/Http/Controllers/RegistrasiFinalController.php @@ -0,0 +1,268 @@ +user) || !$this->user->can('debitur.view')) { + //abort(403, 'Sorry! You are not allowed to view users.'); + } + + // Retrieve data from the database + $query =PenawaranTender::query() + ->select('penawaran.*', 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name') + ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id') + ->where('penawaran.status','=','spk') + ->withCount('penawarandetails'); + + // 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_registrasi', 'LIKE', '%' . $search . '%'); + $q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%'); + + $q->orWhere('status', '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->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); + $data = $query->get(); + // dd($data); + $i=0; + foreach($data as $obj) + { + if($obj->tanggal_penilaian_sebelumnya) + { + $data[$i]->tanggal_penilaian_sebelumnya = Carbon::parse($obj->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s'); + } + + if($obj->biaya_kjpp_sebelumnya) + { + $data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya); + + } + + // date_range + if($obj->start_date && $obj->end_date) + { + $data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y').' - '.Carbon::parse($obj->end_date)->format('d M Y'); + + } + + $i++; + } + + + // 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 + ]); + } + + public function show($id) + { + $permohonan = Permohonan::find($id); + return view('lpj::registrasifinal.show', compact('id','permohonan')); + } + + public function edit($id) + { + return view('lpj::registrasifinal.edit', compact('id')); + } + + public function setData(Request $request): JsonResponse + { + $data = array(); + $datas = array(); + + if (request()->ajax()) { + $id = $request->id; + $datas = Permohonan::find($id); + + if ($datas) { + $penawaran=null; + $regions=null; + $regions=Regions::pluck('name', 'id'); + $penawaran = PenawaranTender::where('nomor_registrasi','=',$datas->nomor_registrasi)->first(); + + $penawaranString = ""; + if($penawaran->status) + { + $penawaranString = convertSlug($penawaran->status); + $penawaran->status = $penawaranString; + } + + $data['status'] = 'success'; + $data['regions'] = $regions; + $data['penawaran'] = $penawaran; + $data['datas'] = $datas; + $data['message']['message_success'] = array("data successfully found"); + } else { + $data['status'] = 'error'; + $data['datas'] = null; + $data['message']['message_data'] = array("data not found"); + } + } else { + $data['status'] = 'error'; + $data['message']['message_ajax'] = array("no ajax request"); + } + + return response()->json($data); + } + + public function update(Request $request, $id): JsonResponse + { + // init + $data = array(); + $dataPermohonan = array(); + $dataPenawaran = array(); + + if (request()->ajax()) { + $validator = RegistrasiFinalController::rulesEditnya($request, $id); + + if ($validator['fails']) { + $data['message'] = $validator['errors']; + $data['status'] = 'error'; + } + else + { + DB::beginTransaction(); + try { + + // update table permohonan => status (registrasi-final), region_id, keterangan, authorized_at, authorized_status, authorized_by + // update table penawaran => status (registrasi-final) + $dataPermohonan = [ + 'status' => 'registrasi-final', + 'region_id' => $request->region, + 'keterangan' => $request->catatan, + 'authorized_at' => now(), + 'authorized_status' =>1, + 'authorized_by' => Auth::id() + ]; + + $dataPenawaran = ['status' => 'registrasi-final']; + + + $permohonan = Permohonan::find($id); + $penawaran = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first(); + + $permohonan->update($dataPermohonan); + $penawaran->update($dataPenawaran); + // + DB::commit(); + + $data['status'] = 'success'; + $data['message']['message_success'] = array('Regitrasi Final '.$permohonan->nomor_registrasi.' successfully'); + } catch (Exception $e) { + DB::rollBack(); + $data['status'] = 'error'; + $data['message']['message_try_catch'] = array('Regitrasi Final '.$permohonan->nomor_registrasi.' failed.'); + } + } + + } else { + $data['status'] = 'error'; + $data['message']['message_ajax'] = array("no ajax request"); + } + + return response()->json($data); + + } + + public function rulesEditnya($request, $id) + { + $validate_catatan=''; + + $validateIt = [ + // 'name' diambil dari definisi parameter yang di kirim pada POST Data + 'region' => 'required', + 'catatan' => 'required', + ]; + + $messageIt = [ + 'region.required' => 'Silahkan pilih Region', + 'catatan.required' => 'Silahkan isi Catatan' + ]; + + $validator = Validator::make($request->all(), $validateIt, $messageIt); + + $data['fails'] = $validator->fails(); + $data['errors'] = $validator->errors(); + + return $data; + } + + } diff --git a/app/Http/Controllers/ResumeController.php b/app/Http/Controllers/ResumeController.php new file mode 100644 index 0000000..ed85d1a --- /dev/null +++ b/app/Http/Controllers/ResumeController.php @@ -0,0 +1,29 @@ +first(); + + // Kalau tidak ketemu nomor registrasi dengan tabel penawaran + if (!$penawaran) { + return redirect()->route('tender.penawaran.createPenawaran', ['noreg' => $noreg]) + ->with('error', 'Anda Belum Membuat Penawaran. Silahkan isi terlebih dahulu!'); + } + // Jika batas tanggal penawaran sudah lewat + if ($penawaran->end_date < date('Y-m-d')) { + return redirect()->route('tender.penawaran.editPenawaran', ['noreg' => $noreg]) + ->with('error', 'Sudah Kadaluarsa. Silahkan perpanjang tanggal penawaran terlebih dahulu!'); + } + + return view('lpj::penawaran.surat_tender', compact('penawaran', 'noreg')); } public function datatablesPenawaran(Request $request) diff --git a/app/Http/Library/LpjHelpers.php b/app/Http/Library/LpjHelpers.php deleted file mode 100644 index f40380d..0000000 --- a/app/Http/Library/LpjHelpers.php +++ /dev/null @@ -1,27 +0,0 @@ -max('code'); - - $noUrutAkhir=sprintf("%06s", 1); - $noUrutAwal = 'JFK'; - $noUrutAkhirString = $noUrutAkhir; - if($noUrutAkhir2){ - $noUrutAkhir = substr($noUrutAkhir2, 3, 6); - // $noUrutAwal = substr($noUrutAkhir2, 0, 3); - $noUrutAkhirString = sprintf("%06s", abs($noUrutAkhir + 1)); - } - - return $noUrutAwal . $noUrutAkhirString; - } -} diff --git a/app/Http/Requests/BranchRequest.php b/app/Http/Requests/BranchRequest.php deleted file mode 100644 index ddc2978..0000000 --- a/app/Http/Requests/BranchRequest.php +++ /dev/null @@ -1,40 +0,0 @@ - 'required|string|max:255', - 'status' => 'nullable|boolean', - 'authorized_at' => 'nullable|datetime', - 'authorized_status' => 'nullable|string|max:1', - 'authorized_by' => 'nullable|exists:users,id', - ]; - - if ($this->method() == 'PUT') { - $rules['code'] = 'required|string|max:3|unique:branches,code,' . $this->id; - } else { - $rules['code'] = 'required|string|max:3|unique:branches,code'; - } - - return $rules; - } - - /** - * Determine if the user is authorized to make this request. - */ - public function authorize() - : bool - { - return true; - } - } diff --git a/app/Http/Requests/CurrencyRequest.php b/app/Http/Requests/CurrencyRequest.php deleted file mode 100644 index fded635..0000000 --- a/app/Http/Requests/CurrencyRequest.php +++ /dev/null @@ -1,41 +0,0 @@ - 'required|string|max:255', - 'decimal_places' => 'nullable|integer|between:0,3', - 'status' => 'nullable|boolean', - 'authorized_at' => 'nullable|datetime', - 'authorized_status' => 'nullable|string|max:1', - 'authorized_by' => 'nullable|exists:users,id', - ]; - - if ($this->method() == 'PUT') { - $rules['code'] = 'required|string|max:3|unique:currencies,code,' . $this->id; - } else { - $rules['code'] = 'required|string|max:3|unique:currencies,code'; - } - - return $rules; - } - - /** - * Determine if the user is authorized to make this request. - */ - public function authorize() - : bool - { - return true; - } - } diff --git a/app/Http/Requests/DebitureRequest.php b/app/Http/Requests/DebitureRequest.php index 7f83fbb..40b608e 100644 --- a/app/Http/Requests/DebitureRequest.php +++ b/app/Http/Requests/DebitureRequest.php @@ -4,6 +4,7 @@ use Illuminate\Foundation\Http\FormRequest; use Modules\Lpj\Rules\UniqueCifExceptZero; + use Modules\Lpj\Rules\UniqueExcept; class DebitureRequest extends FormRequest { diff --git a/app/Http/Requests/JenisLegalitasJaminanRequest.php b/app/Http/Requests/JenisLegalitasJaminanRequest.php index 1d5d98c..82fb205 100644 --- a/app/Http/Requests/JenisLegalitasJaminanRequest.php +++ b/app/Http/Requests/JenisLegalitasJaminanRequest.php @@ -15,9 +15,11 @@ : array { return [ - 'code' => 'required|max:6', - 'name' => 'required|max:255', - 'slug' => 'required|max:255', + 'code' => 'required|max:6', + 'name' => 'required|max:255', + 'slug' => 'required|max:255', + 'custom_field' => 'nullable|max:255', + 'custom_field_type' => 'nullable|max:255', ]; } @@ -32,7 +34,7 @@ public function prepareForValidation() { - if($this->method() == 'POST' && $this->code == null) { + if ($this->method() == 'POST' && $this->code == null) { $this->merge([ 'code' => IdGenerator::generate( ['table' => 'jenis_legalitas_jaminan', 'length' => 6, 'prefix' => 'JLJ', 'field' => 'code'], @@ -41,7 +43,7 @@ ]); } else { $this->merge([ - 'slug' => Str::slug($this->name), + 'slug' => Str::slug($this->name), ]); } } diff --git a/app/Http/Requests/PemilikJaminanRequest.php b/app/Http/Requests/PemilikJaminanRequest.php index b6e267d..e139f55 100644 --- a/app/Http/Requests/PemilikJaminanRequest.php +++ b/app/Http/Requests/PemilikJaminanRequest.php @@ -26,6 +26,7 @@ 'address' => 'nullable|string', 'postal_code' => 'nullable|string|max:10', 'status' => 'nullable|boolean', + 'detail_sertifikat' => 'nullable|string|max:255', ]; //$rules['nomor_id'] = 'nullable|max:16|unique:pemilik_jaminan,nomor_id,debiture_id,' . $this->debiture_id; @@ -41,4 +42,24 @@ { return true; } + + public function prepareForValidation() { + + $detailSertifikat = []; + $names = $this->input('detail_sertifikat.name', []); + $nomorIds = $this->input('detail_sertifikat.nomor_id', []); + + foreach ($names as $index => $name) { + if (isset($nomorIds[$index])) { + $detailSertifikat[] = [ + 'name' => $name, + 'nomor_id' => $nomorIds[$index] + ]; + } + } + + $this->merge([ + 'detail_sertifikat' => json_encode($detailSertifikat), + ]); + } } diff --git a/app/Http/Requests/TenderPenawaranRequest.php b/app/Http/Requests/TenderPenawaranRequest.php index 6472638..85e66a5 100644 --- a/app/Http/Requests/TenderPenawaranRequest.php +++ b/app/Http/Requests/TenderPenawaranRequest.php @@ -63,13 +63,17 @@ class TenderPenawaranRequest extends FormRequest $endDate = strtotime($this->input('end_date')); $today = strtotime(date('Y-m-d')); + // Jika dalam keadaan tambah penawaran maka munculkan pesan ini + if ($this->method() !== 'PUT') { + if ($startDate < $today) { + $validator->errors()->add('start_date', 'Tanggal Awal tidak boleh sebelum hari ini.'); + } + } + if ($endDate < $startDate) { $validator->errors()->add('end_date', 'Tanggal Akhir tidak boleh lebih awal dari Tanggal Awal.'); } - if ($startDate < $today) { - $validator->errors()->add('start_date', 'Tanggal Awal tidak boleh sebelum hari ini.'); - } // Validasi minimal 3 pilihan pada nama_kjpp $namaKjpp = $this->input('kjpp', []); diff --git a/app/Models/Branch.php b/app/Models/Branch.php index 834b5cc..ccc208d 100644 --- a/app/Models/Branch.php +++ b/app/Models/Branch.php @@ -2,13 +2,10 @@ namespace Modules\Lpj\Models; -use Modules\Lpj\Database\Factories\BranchFactory; +use Modules\Basicdata\Models\Branch as BasicdataBranch; -class Branch extends Base +class Branch extends BasicdataBranch { - protected $table = 'branches'; - protected $fillable = ['code', 'name', 'status', 'authorized_at', 'authorized_status', 'authorized_by']; - public function debitures() { return $this->hasMany(Debiture::class, 'branch_id', 'id'); diff --git a/app/Models/Currency.php b/app/Models/Currency.php deleted file mode 100644 index 454c834..0000000 --- a/app/Models/Currency.php +++ /dev/null @@ -1,20 +0,0 @@ -hasMany(PenawaranTender::class, 'jenis_laporan_id', 'id'); + } } diff --git a/app/Models/JenisLegalitasJaminan.php b/app/Models/JenisLegalitasJaminan.php index 2d7567c..dd8f840 100644 --- a/app/Models/JenisLegalitasJaminan.php +++ b/app/Models/JenisLegalitasJaminan.php @@ -7,5 +7,5 @@ class JenisLegalitasJaminan extends Base { protected $table = 'jenis_legalitas_jaminan'; - protected $fillable = ['code', 'name','slug']; + protected $fillable = ['code', 'name','slug','custom_field','custom_field_type']; } diff --git a/app/Models/PemilikJaminan.php b/app/Models/PemilikJaminan.php index d92dc0c..6f0addc 100644 --- a/app/Models/PemilikJaminan.php +++ b/app/Models/PemilikJaminan.php @@ -30,7 +30,8 @@ class PemilikJaminan extends Base 'status', 'authorized_at', 'authorized_status', - 'authorized_by' + 'authorized_by', + 'detail_sertifikat', ]; public function province() diff --git a/app/Models/PenawaranDetailTenderLog.php b/app/Models/PenawaranDetailTenderLog.php new file mode 100644 index 0000000..d29ff58 --- /dev/null +++ b/app/Models/PenawaranDetailTenderLog.php @@ -0,0 +1,30 @@ +belongsTo(PenawaranTender::class, 'penawaran_id', 'id'); + } + + public function penawarandetail(): BelongsTo + { + return $this->belongsTo(PenawaranDetailTender::class, 'detail_penawaran_id', 'id'); + } +} diff --git a/app/Models/PenawaranTender.php b/app/Models/PenawaranTender.php index be2b5a8..4ae1496 100644 --- a/app/Models/PenawaranTender.php +++ b/app/Models/PenawaranTender.php @@ -36,4 +36,14 @@ class PenawaranTender extends Model { return $this->hasMany(TujuanPenilaianKJPP::class, 'id', 'tujuan_penilaian_kjpp_id'); } + + public function permohonan() + { + return $this->belongsTo(Permohonan::class, 'nomor_registrasi', 'nomor_registrasi'); + } + + public function jenisLaporan() + { + return $this->belongsTo(JenisLaporan::class, 'jenis_laporan_id', 'id'); + } } diff --git a/app/Models/Permohonan.php b/app/Models/Permohonan.php index 8f6b0bd..6449ecf 100644 --- a/app/Models/Permohonan.php +++ b/app/Models/Permohonan.php @@ -2,16 +2,12 @@ namespace Modules\Lpj\Models; -use Illuminate\Database\Eloquent\Model; -use Illuminate\Database\Eloquent\Factories\HasFactory; use Modules\Lpj\Database\Factories\PermohonanFactory; use Modules\Usermanagement\Models\User; -use Modules\Lpj\Models\TujuanPenilaian; -use Modules\Lpj\Models\JenisFasilitasKredit; class Permohonan extends Base { - protected $table = 'permohonan'; + protected $table = 'permohonan'; protected $fillable = [ 'nomor_registrasi', 'tanggal_permohonan', @@ -41,7 +37,7 @@ class Permohonan extends Base 'registrasi_by', 'registrasi_at', 'jenis_penilaian_id', - 'region_id' + 'region_id', ]; public function user() @@ -81,7 +77,12 @@ class Permohonan extends Base public function penilaian() { - return $this->belongsTo(Penilaian::class, 'nomor_registrasi', 'nomor_registrasi'); + return $this->belongsTo(Penilaian::class, 'nomor_registrasi', 'nomor_registrasi'); + } + + public function penawaranTender() + { + return $this->hasMany(PenawaranTender::class, 'nomor_registrasi'); } public function region() diff --git a/app/Models/SLA.php b/app/Models/SLA.php new file mode 100644 index 0000000..3646abf --- /dev/null +++ b/app/Models/SLA.php @@ -0,0 +1,18 @@ +id = $id; - } + protected $id; - public function validate($attribute, $value, $fail): void - { - if (Debiture::where($attribute, $value) - ->where('id', '!=', $this->id) - ->where($attribute, '!=', '000000') - ->exists()) { - $fail('The :attribute field must be uniquse.'.$this->id); + public function __construct($id = null) + { + $this->id = $id; + } + + /** + * Run the validation rule. + */ + public function validate(string $attribute, mixed $value, Closure $fail) + : void { + if ($value !== '0000000000' && $value !== null && Debiture::query()->where($attribute, $value)->when( + $this->id, + function ($query) { + $query->where('id', '!=', $this->id); + }, + )->exists()) { + $fail('The :attribute field must be unique.'); + } } } -} diff --git a/database/migrations/2024_10_15_101204_create_detail_penawaran_logs_table.php b/database/migrations/2024_10_15_101204_create_detail_penawaran_logs_table.php new file mode 100644 index 0000000..730a0b1 --- /dev/null +++ b/database/migrations/2024_10_15_101204_create_detail_penawaran_logs_table.php @@ -0,0 +1,41 @@ +id(); + $table->unsignedBigInteger('detail_penawaran_id')->nullable(); + $table->unsignedBigInteger('kjpp_rekanan_id')->nullable(); + $table->unsignedBigInteger('penawaran_id')->nullable(); + $table->string('biaya_penawaran')->nullable(); + $table->string('attachment')->nullable(); + $table->string('dokumen_persetujuan')->nullable(); + $table->boolean('status')->nullable(); + $table->char('authorized_status', 1)->nullable(); + $table->timestamp('authorized_at')->nullable(); + $table->unsignedBigInteger('authorized_by')->nullable(); + $table->timestamps(); + $table->timestamp('deleted_at')->nullable(); + $table->unsignedBigInteger('created_by')->nullable(); + $table->unsignedBigInteger('updated_by')->nullable(); + $table->unsignedBigInteger('deleted_by')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('detail_penawaran_logs'); + } +}; diff --git a/database/migrations/2024_10_28_095337_create_s_l_as_table.php b/database/migrations/2024_10_28_095337_create_s_l_as_table.php new file mode 100644 index 0000000..bf5549c --- /dev/null +++ b/database/migrations/2024_10_28_095337_create_s_l_as_table.php @@ -0,0 +1,27 @@ +id(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('sla'); + } +}; diff --git a/database/migrations/2024_11_01_023117_update_debitures_table.php b/database/migrations/2024_11_01_023117_update_debitures_table.php new file mode 100644 index 0000000..cadf6b0 --- /dev/null +++ b/database/migrations/2024_11_01_023117_update_debitures_table.php @@ -0,0 +1,28 @@ +dropUnique(['cif']); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('debitures', function (Blueprint $table) { + $table->string('cif')->unique()->change(); + }); + } +}; diff --git a/database/migrations/2024_11_01_083625_update_pemilik_jaminan_table.php b/database/migrations/2024_11_01_083625_update_pemilik_jaminan_table.php new file mode 100644 index 0000000..ec38fd5 --- /dev/null +++ b/database/migrations/2024_11_01_083625_update_pemilik_jaminan_table.php @@ -0,0 +1,28 @@ +string('detail_sertifikat')->nullable()->after('name'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('pemilik_jaminan', function (Blueprint $table) { + $table->dropColumn('detail_sertifikat'); + }); + } +}; diff --git a/database/migrations/2024_11_04_080443_update_jenis_legalitas_jaminan_table.php b/database/migrations/2024_11_04_080443_update_jenis_legalitas_jaminan_table.php new file mode 100644 index 0000000..e8e93e6 --- /dev/null +++ b/database/migrations/2024_11_04_080443_update_jenis_legalitas_jaminan_table.php @@ -0,0 +1,30 @@ +string('custom_field')->nullable()->after('slug'); + $table->string('custom_field_type')->nullable()->after('custom_field'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('jenis_legalitas_jaminan', function (Blueprint $table) { + $table->dropColumn('custom_field'); + $table->dropColumn('custom_field_type'); + }); + } +}; diff --git a/database/migrations/2024_11_04_083227_update_detail_dokumen_jaminan_table.php b/database/migrations/2024_11_04_083227_update_detail_dokumen_jaminan_table.php new file mode 100644 index 0000000..ad58fbf --- /dev/null +++ b/database/migrations/2024_11_04_083227_update_detail_dokumen_jaminan_table.php @@ -0,0 +1,28 @@ +string('details')->nullable()->after('dokumen_jaminan_id'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('detail_dokumen_jaminan', function (Blueprint $table) { + $table->dropColumn('details'); + }); + } +}; diff --git a/database/seeders/ArahMataAnginSeeder.php b/database/seeders/ArahMataAnginSeeder.php new file mode 100644 index 0000000..1e012ea --- /dev/null +++ b/database/seeders/ArahMataAnginSeeder.php @@ -0,0 +1,42 @@ + 'Utara', + ], + [ + 'name' => 'Timur Laut', + ], + [ + 'name' => 'Timur', + ], + [ + 'name' => 'Tenggara', + ], + [ + 'name' => 'Selatan', + ], + [ + 'name' => 'Barat Daya', + ], + [ + 'name' => 'Barat', + ], + [ + 'name' => 'Barat Laut', + ], + ]); + } +} diff --git a/database/seeders/BranchSeeder.php b/database/seeders/BranchSeeder.php new file mode 100644 index 0000000..65a64a1 --- /dev/null +++ b/database/seeders/BranchSeeder.php @@ -0,0 +1,27 @@ + 'C01', + 'name' => 'KPNO', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/CurrencySeeder.php b/database/seeders/CurrencySeeder.php new file mode 100644 index 0000000..c2cd553 --- /dev/null +++ b/database/seeders/CurrencySeeder.php @@ -0,0 +1,48 @@ + 'IDR', + 'name' => 'Rupiah', + 'decimal_places' => 2, + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'MYR', + 'name' => 'Ringgit', + 'decimal_places' => 2, + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'SAR', + 'name' => 'Riyadh', + 'decimal_places' => 2, + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/DebitureSeeder.php b/database/seeders/DebitureSeeder.php new file mode 100644 index 0000000..d8f57c1 --- /dev/null +++ b/database/seeders/DebitureSeeder.php @@ -0,0 +1,158 @@ + 1, + 'cif' => '1234567890', + 'name' => 'Willy', + 'npwp' => '123455432109876', + 'email' => 'w@gmail.com', + 'phone' => '08113242341', + 'nomor_rekening' => '1081666666', + 'province_code' => '31', + 'city_code' => '31.74', + 'district_code' => '31.74.09', + 'village_code' => '31.74.09.1003', + 'postal_code' => '12630', + 'address' => null, + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'branch_id' => 1, + 'cif' => '0987654321', + 'name' => 'Antonius Ginting', + 'npwp' => '234567890123456', + 'email' => 'x@gmail.com', + 'phone' => '081234567891', + 'nomor_rekening' => '987654310', + 'province_code' => '31', + 'city_code' => '31.71', + 'district_code' => '31.71.06', + 'village_code' => '31.71.06.1001', + 'postal_code' => '10310', + 'address' => 'Jl. Menteng Tengah No.66', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'branch_id' => 1, + 'cif' => '1518467', + 'name' => 'PT ABCD SEJATI', + 'npwp' => '001852600023342', + 'email' => 'abcd@ag.co.id', + 'phone' => '081111555', + 'nomor_rekening' => '0082346', + 'province_code' => '31', + 'city_code' => '31.74', + 'district_code' => '31.74.04', + 'village_code' => '31.74.04.1005', + 'postal_code' => '10420', + 'address' => 'Jl. Raya Kwitang No. 105, Senen, Kwitang, Jakarta Pusat', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'branch_id' => 1, + 'cif' => '12345', + 'name' => 'Testing', + 'npwp' => '102928018391211', + 'email' => 'testing@email.com', + 'phone' => '098172386', + 'nomor_rekening' => '12345', + 'province_code' => '11', + 'city_code' => '11.01', + 'district_code' => '11.01.01', + 'village_code' => '11.01.01.2001', + 'postal_code' => '23773', + 'address' => 'alamat', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'branch_id' => 1, + 'cif' => '0000000000', + 'name' => 'Gartika Pertiwi', + 'npwp' => '123456789101112', + 'email' => 'Gartika_Pertiwi@gmail.com', + 'phone' => '1234567', + 'nomor_rekening' => '1234567', + 'province_code' => '31', + 'city_code' => '31.71', + 'district_code' => '31.71.04', + 'village_code' => '31.71.04.1005', + 'postal_code' => '10420', + 'address' => null, + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'branch_id' => 1, + 'cif' => '1235464575', + 'name' => 'Fleming', + 'npwp' => '123455432109876', + 'email' => 'x@gmail.com', + 'phone' => '08113242341', + 'nomor_rekening' => '1081666666', + 'province_code' => '31', + 'city_code' => '31.74', + 'district_code' => '31.74.09', + 'village_code' => '31.74.09.1001', + 'postal_code' => '12620', + 'address' => 'testt', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'branch_id' => 1, + 'cif' => '1234689743', + 'name' => 'Testing 2', + 'npwp' => '1234689743418451', + 'email' => 'testing@mail.com', + 'phone' => '081385777611', + 'nomor_rekening' => '3575467279562', + 'province_code' => '31', + 'city_code' => '31.71', + 'district_code' => '31.71.06', + 'village_code' => '31.71.06.1001', + 'postal_code' => '10310', + 'address' => 'Jl. Menteng Raya no. 13', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + ]); + } +} diff --git a/database/seeders/DetailDokumenJaminanSeeder.php b/database/seeders/DetailDokumenJaminanSeeder.php new file mode 100644 index 0000000..0fb3f84 --- /dev/null +++ b/database/seeders/DetailDokumenJaminanSeeder.php @@ -0,0 +1,73 @@ + 'Tanah Bangunan', + 'dokumen_jaminan_id' => 1, + 'jenis_legalitas_jaminan_id' => 1, + 'dokumen_jaminan' => 'jaminan/1/1/Test.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Tanah Bangunan', + 'dokumen_jaminan_id' => 1, + 'jenis_legalitas_jaminan_id' => 3, + 'dokumen_jaminan' => 'jaminan/1/1/Test.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Tanah Bangunan', + 'dokumen_jaminan_id' => 1, + 'jenis_legalitas_jaminan_id' => 4, + 'dokumen_jaminan' => 'jaminan/1/1/Test.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Tanah Bangunan', + 'dokumen_jaminan_id' => 1, + 'jenis_legalitas_jaminan_id' => 5, + 'dokumen_jaminan' => 'jaminan/1/1/Test.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Tanah Bangunan', + 'dokumen_jaminan_id' => 1, + 'jenis_legalitas_jaminan_id' => 6, + 'dokumen_jaminan' => 'jaminan/1/1/Test.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/DetailPenawaranSeeder.php b/database/seeders/DetailPenawaranSeeder.php new file mode 100644 index 0000000..de38595 --- /dev/null +++ b/database/seeders/DetailPenawaranSeeder.php @@ -0,0 +1,54 @@ + 1, + 'penawaran_id' => 1, + 'biaya_penawaran' => 15000000, + 'attachment' => 'Test.pdf', + 'dokumen_persetujuan' => 'uploads/penawaran/1_1_Test_2_1729826174.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'kjpp_rekanan_id' => 2, + 'penawaran_id' => 1, + 'biaya_penawaran' => 30000000, + 'attachment' => 'Test.pdf', + 'dokumen_persetujuan' => 'uploads/penawaran/2_2_Test_2_1729826198.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'kjpp_rekanan_id' => 3, + 'penawaran_id' => 1, + 'biaya_penawaran' => 20000000, + 'attachment' => 'Test.pdf', + 'dokumen_persetujuan' => 'uploads/penawaran/3_3_Test_2_1729826215.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/DokumenJaminanSeeder.php b/database/seeders/DokumenJaminanSeeder.php new file mode 100644 index 0000000..17f53c6 --- /dev/null +++ b/database/seeders/DokumenJaminanSeeder.php @@ -0,0 +1,34 @@ + 1, + 'jenis_jaminan_id' => 1, + 'pemilik_jaminan_id' => 3, + 'province_code' => '32', + 'city_code' => '32.75', + 'district_code' => '32.75.03', + 'village_code' => '32.75.03.1001', + 'postal_code' => '17125', + 'address' => 'Jl. Apel No. 9', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/HubunganPemilikJaminanSeeder.php b/database/seeders/HubunganPemilikJaminanSeeder.php new file mode 100644 index 0000000..662d7ee --- /dev/null +++ b/database/seeders/HubunganPemilikJaminanSeeder.php @@ -0,0 +1,36 @@ + 'Milik Pribadi' + ], + [ + 'name' => 'Suami/Istri' + ], + [ + 'name' => 'Anak' + ], + [ + 'name' => 'Saudara Kandung' + ], + [ + 'name' => 'Ayah' + ], + [ + 'name' => 'Ibu' + ] + ]); + } +} diff --git a/database/seeders/HubunganPenghuniJaminanSeeder.php b/database/seeders/HubunganPenghuniJaminanSeeder.php new file mode 100644 index 0000000..74abbc8 --- /dev/null +++ b/database/seeders/HubunganPenghuniJaminanSeeder.php @@ -0,0 +1,33 @@ + 'Suami/Istri', + ], + [ + 'name' => 'Anak', + ], + [ + 'name' => 'Saudara Kandung', + ], + [ + 'name' => 'Orang Tua', + ], + [ + 'name' => 'Kontrak/Kost' + ] + ]); + } +} diff --git a/database/seeders/IjinUsahaSeeder.php b/database/seeders/IjinUsahaSeeder.php new file mode 100644 index 0000000..10ccc2a --- /dev/null +++ b/database/seeders/IjinUsahaSeeder.php @@ -0,0 +1,39 @@ + 'IU001', + 'name' => 'Bisnis', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'IU002', + 'name' => 'Properti', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'IU003', + 'name' => 'Personal Properti', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ] + ]); + } +} diff --git a/database/seeders/JenisDokumenSeeder.php b/database/seeders/JenisDokumenSeeder.php new file mode 100644 index 0000000..6535c47 --- /dev/null +++ b/database/seeders/JenisDokumenSeeder.php @@ -0,0 +1,68 @@ + 'Sertifikat', + 'max_size' => 15, + 'description' => 'Foto copy Sertifikat sesuai dengan asli', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'PBB/NJOP', + 'max_size' => 15, + 'description' => 'Foto Copy PBB/NJOP Tahun Terakhir', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'NPWP Perorangan/Perusahaan', + 'max_size' => 10, + 'description' => 'Copy NPWP Perorangan/Perusahaan', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Siteplan', + 'max_size' => 10, + 'description' => 'Siteplan', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Surat Pernyataan Kebenaran Data', + 'max_size' => 5, + 'description' => 'Surat Pernyataan Kebenaran Data (Surat Representasi)', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/JenisFasilitasKreditSeeder.php b/database/seeders/JenisFasilitasKreditSeeder.php new file mode 100644 index 0000000..27512b4 --- /dev/null +++ b/database/seeders/JenisFasilitasKreditSeeder.php @@ -0,0 +1,90 @@ + 'JFK001', + 'name' => 'KPR FLPP', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JFK002', + 'name' => 'KPR KERJASAMA', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JFK003', + 'name' => 'KPR ≤ 500 JT', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JFK004', + 'name' => 'KPR > 500 JT', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JFK005', + 'name' => 'KKB', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JFK006', + 'name' => 'KPA', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JFK007', + 'name' => 'MODAL KERJA', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JFK008', + 'name' => 'INVESTASI', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + ]); + } +} diff --git a/database/seeders/JenisJaminanSeeder.php b/database/seeders/JenisJaminanSeeder.php new file mode 100644 index 0000000..1f79185 --- /dev/null +++ b/database/seeders/JenisJaminanSeeder.php @@ -0,0 +1,73 @@ + 'JJ001', + 'name' => 'Tanah', + 'slug' => 'tanah', + 'jenis_legalitas_jaminan_id' => '["JLJ001","JLJ003","JLJ004","JLJ005","JLJ006"]', + 'created_at' => now(), + 'updated_at' => now(), + 'authorized_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JJ002', + 'name' => 'Rumah Tinggal / Ruko (Unit) / Apartemen (Unit) / Gudang', + 'slug' => 'rumah-tinggal-ruko-unit-apartemen-unit-gudang', + 'jenis_legalitas_jaminan_id' => null, + 'created_at' => now(), + 'updated_at' => now(), + 'authorized_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JJ003', + 'name' => 'Kawasan Industrial / Komersil / Residensial - Perumahan', + 'slug' => 'kawasan-industrial-komersil-residensial-perumahan', + 'jenis_legalitas_jaminan_id' => null, + 'created_at' => now(), + 'updated_at' => now(), + 'authorized_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JJ004', + 'name' => 'Gedung Apartement / Kantor / Condotel (Strata Tittle)', + 'slug' => 'gedung-apartement-kantor-condotel-strata-tittle', + 'jenis_legalitas_jaminan_id' => '["JLJ001","JLJ002"]', + 'created_at' => now(), + 'updated_at' => now(), + 'authorized_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'JJ005', + 'name' => 'Mall', + 'slug' => 'mall', + 'jenis_legalitas_jaminan_id' => '["JLJ001","JLJ006"]', + 'created_at' => now(), + 'updated_at' => now(), + 'authorized_at' => null, + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/JenisLaporanSeeder.php b/database/seeders/JenisLaporanSeeder.php new file mode 100644 index 0000000..b979f74 --- /dev/null +++ b/database/seeders/JenisLaporanSeeder.php @@ -0,0 +1,32 @@ + 'JL001', + 'name' => 'Short Report', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'JL002', + 'name' => 'Full Report', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ] + ]); + } +} diff --git a/database/seeders/JenisLegalitasJaminanSeeder.php b/database/seeders/JenisLegalitasJaminanSeeder.php new file mode 100644 index 0000000..fa45d3a --- /dev/null +++ b/database/seeders/JenisLegalitasJaminanSeeder.php @@ -0,0 +1,90 @@ + 'JLJ001', + 'name' => 'Sertifikat', + 'slug' => 'sertifikat', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'JLJ002', + 'name' => 'SHGB', + 'slug' => 'shgb', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => now(), + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => 1 + ], + [ + 'code' => 'JLJ003', + 'name' => 'Copy PBB / NJOP Tahun Terakhir (Jika Ada)', + 'slug' => 'copy-pbb-njop-tahun-terakhir-jika-ada', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'JLJ004', + 'name' => 'Copy NPWP Perusahaan/Perorangan', + 'slug' => 'copy-npwp-perusahaanperorangan', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'JLJ005', + 'name' => 'Siteplan', + 'slug' => 'siteplan', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'JLJ006', + 'name' => 'Surat Pernyataan Kebenaran Data (Surat Representasi)', + 'slug' => 'surat-pernyataan-kebenaran-data-surat-representasi', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + ]); + } +} diff --git a/database/seeders/JenisPenilaianSeeder.php b/database/seeders/JenisPenilaianSeeder.php new file mode 100644 index 0000000..2534811 --- /dev/null +++ b/database/seeders/JenisPenilaianSeeder.php @@ -0,0 +1,30 @@ + 'JP1', + 'name' => 'Internal', + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'JP2', + 'name' => 'External', + 'created_at' => now(), + 'updated_at' => now() + ], + ]); + } +} diff --git a/database/seeders/KJPPSeeder.php b/database/seeders/KJPPSeeder.php new file mode 100644 index 0000000..97a583f --- /dev/null +++ b/database/seeders/KJPPSeeder.php @@ -0,0 +1,102 @@ + 'K000101', + 'name' => 'Bank Anda', + 'jenis_kantor' => 'Kantor Pusat', + 'nomor_ijin_usaha' => 'IU001', + 'province_code' => '32', + 'city_code' => '32.75', + 'district_code' => '32.75.03', + 'village_code' => '32.75.03.1001', + 'address' => 'Jl. Apel no. 1', + 'postal_code' => '17125', + 'nomor_telepon_kantor' => '0219976896', + 'email_kantor' => 'bankanda@bankanda.id', + 'nama_pimpinan' => 'Ida Royani', + 'nomor_hp_pimpinan' => '081800908070', + 'nama_pic_reviewer' => 'Beno', + 'nomor_hp_pic_reviewer' => '081765489070', + 'nama_pic_admin' => 'Dani', + 'nomor_hp_pic_admin' => '081278786666', + 'nama_pic_marketing' => 'Feni', + 'nomor_hp_pic_marketing' => '087867590801', + 'ijin_usaha_id' => '["IU001","IU002"]', + 'jenis_aset_id' => '["JJ001","JJ002","JJ003"]', + 'attachment' => 'default.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'K000201', + 'name' => 'Bank Juri', + 'jenis_kantor' => 'Kantor Pusat', + 'nomor_ijin_usaha' => 'IU001', + 'province_code' => '12', + 'city_code' => '12.04', + 'district_code' => '12.04.11', + 'village_code' => '12.04.11.2005', + 'address' => 'Jl. Mangga no. 1', + 'postal_code' => '22876', + 'nomor_telepon_kantor' => '0219976890', + 'email_kantor' => 'bankjuri@bankjuri.id', + 'nama_pimpinan' => 'Arif Simbolo bolo', + 'nomor_hp_pimpinan' => '089643475023', + 'nama_pic_reviewer' => 'Beno Harefa', + 'nomor_hp_pic_reviewer' => '081765489080', + 'nama_pic_admin' => 'Dani Harefa', + 'nomor_hp_pic_admin' => '081278786667', + 'nama_pic_marketing' => 'Feni Harefa', + 'nomor_hp_pic_marketing' => '081765489075', + 'ijin_usaha_id' => '["IU001","IU002","IU003"]', + 'jenis_aset_id' => '["JJ001","JJ004","JJ003"]', + 'attachment' => 'default.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'K000301', + 'name' => 'Bank Gantra', + 'jenis_kantor' => 'Kantor Pusat', + 'nomor_ijin_usaha' => 'IU001', + 'province_code' => '12', + 'city_code' => '12.21', + 'district_code' => '12.21.05', + 'village_code' => '12.21.05.2005', + 'address' => 'Jl. Apel no. 1', + 'postal_code' => '22776', + 'nomor_telepon_kantor' => '0219976889', + 'email_kantor' => 'bankgantra@bankgantra.id', + 'nama_pimpinan' => 'Arif Simantra', + 'nomor_hp_pimpinan' => '089643475020', + 'nama_pic_reviewer' => 'Beno Aditya', + 'nomor_hp_pic_reviewer' => '081765489079', + 'nama_pic_admin' => 'Dani Maulana', + 'nomor_hp_pic_admin' => '081278786680', + 'nama_pic_marketing' => 'Feni Rose', + 'nomor_hp_pic_marketing' => '081890901234', + 'ijin_usaha_id' => '["IU001","IU002","IU003"]', + 'jenis_aset_id' => '["JJ001","JJ002","JJ005"]', + 'attachment' => 'default.pdf', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ] + ]); + } +} diff --git a/database/seeders/LpjDatabaseSeeder.php b/database/seeders/LpjDatabaseSeeder.php index 242ef68..d81021d 100644 --- a/database/seeders/LpjDatabaseSeeder.php +++ b/database/seeders/LpjDatabaseSeeder.php @@ -1,17 +1,45 @@ call([]); - } + $this->call([ + BranchSeeder::class, + CurrencySeeder::class, + JenisFasilitasKreditSeeder::class, + JenisLegalitasJaminanSeeder::class, + JenisJaminanSeeder::class, + JenisDokumenSeeder::class, + TujuanPenilaianSeeder::class, + NilaiPlatformSeeder::class, + HubunganPemilikJaminanSeeder::class, + HubunganPenghuniJaminanSeeder::class, + ArahMataAnginSeeder::class, + StatusPermohonanSeeder::class, + RegionSeeder::class, + TeamsSeeder::class, + TeamUsersSeeder::class, + JenisPenilaianSeeder::class, + TujuanPenilaianKJPPSeeder::class, + IjinUsahaSeeder::class, + JenisLaporanSeeder::class, + KJPPSeeder::class, + DebitureSeeder::class, + PermohonanSeeder::class, + PemilikJaminanSeeder::class, + DokumenJaminanSeeder::class, + DetailDokumenJaminanSeeder::class, + PenawaranSeeder::class, + DetailPenawaranSeeder::class, + PenilaianSeeder::class, + ]); } +} diff --git a/database/seeders/NilaiPlatformSeeder.php b/database/seeders/NilaiPlatformSeeder.php new file mode 100644 index 0000000..5631324 --- /dev/null +++ b/database/seeders/NilaiPlatformSeeder.php @@ -0,0 +1,45 @@ + 'NP001', + 'name' => '5 M - 10 M', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'NP002', + 'name' => '2 M - 5 M', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'NP003', + 'name' => '< 2M', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/PemilikJaminanSeeder.php b/database/seeders/PemilikJaminanSeeder.php new file mode 100644 index 0000000..57e1c09 --- /dev/null +++ b/database/seeders/PemilikJaminanSeeder.php @@ -0,0 +1,118 @@ + 2, + 'hubungan_pemilik_jaminan_id' => 1, + 'name' => 'Antonius Ginting', + 'npwp' => '234567890123456', + 'nomor_id' => '13144213123', + 'email' => 'x@gmail.com', + 'phone' => '081234567891', + 'province_code' => '31', + 'city_code' => '31.71', + 'district_code' => '31.71.06', + 'village_code' => '31.71.06.1001', + 'postal_code' => '10310', + 'address' => 'Jl. Menteng Tengah No.66', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'debiture_id' => 7, + 'hubungan_pemilik_jaminan_id' => 1, + 'name' => 'Rahmat Rafli', + 'npwp' => '1234689743418451', + 'nomor_id' => '32754590325823', + 'email' => 'testing@mail.com', + 'phone' => '081385777611', + 'province_code' => '32', + 'city_code' => '32.75', + 'district_code' => '32.75.03', + 'village_code' => '32.75.03.1001', + 'postal_code' => '10310', + 'address' => 'Jl. Apel 1 no. 9', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'debiture_id' => 1, + 'hubungan_pemilik_jaminan_id' => 1, + 'name' => 'Willy', + 'npwp' => '123455432109876', + 'nomor_id' => null, + 'email' => 'w@gmail.com', + 'phone' => '08113242341', + 'province_code' => '31', + 'city_code' => '31.74', + 'district_code' => '31.74.09', + 'village_code' => '31.74.09.1003', + 'postal_code' => '12630', + 'address' => null, + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'debiture_id' => 4, + 'hubungan_pemilik_jaminan_id' => 1, + 'name' => 'Testing', + 'npwp' => '1029280183912111', + 'nomor_id' => null, + 'email' => 'testing@email.com', + 'phone' => '098172386', + 'province_code' => '11', + 'city_code' => '11.01', + 'district_code' => '11.01.01', + 'village_code' => '11.01.01.2001', + 'postal_code' => '23773', + 'address' => 'alamat', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'debiture_id' => 7, + 'hubungan_pemilik_jaminan_id' => 1, + 'name' => 'Testing 2', + 'npwp' => '1234689743418451', + 'nomor_id' => null, + 'email' => 'testing@mail.com', + 'phone' => '081385777611', + 'province_code' => '31', + 'city_code' => '31.71', + 'district_code' => '31.71.06', + 'village_code' => '31.71.06.1001', + 'postal_code' => '10310', + 'address' => 'Jl. Menteng Raya no. 13', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/PenawaranSeeder.php b/database/seeders/PenawaranSeeder.php new file mode 100644 index 0000000..3c20c12 --- /dev/null +++ b/database/seeders/PenawaranSeeder.php @@ -0,0 +1,46 @@ + 'NP001', + 'nomor_registrasi' => 'REG0000002', + 'tujuan_penilaian_kjpp_id' => 3, + 'jenis_laporan_id' => 2, + 'start_date' => '2024-10-21', + 'end_date' => '2024-10-28', + 'catatan' => 'Hai', + 'status' => 'tender', + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'code' => 'NP002', + 'nomor_registrasi' => 'REG0000003', + 'tujuan_penilaian_kjpp_id' => 1, + 'jenis_laporan_id' => 1, + 'start_date' => '2024-10-28', + 'end_date' => '2024-10-31', + 'catatan' => null, + 'status' => 'tender', + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/PenilaianSeeder.php b/database/seeders/PenilaianSeeder.php new file mode 100644 index 0000000..efed9ea --- /dev/null +++ b/database/seeders/PenilaianSeeder.php @@ -0,0 +1,51 @@ + 2, + 'teams_id' => 2, + 'tanggal_kunjungan' => now(), + 'keterangan' => 'Hai', + 'status' => 'done', + 'nomor_registrasi' => 'REG0000010', + 'penilaian_id' => 2, + 'surveyor_id' => 1, + 'penilai_surveyor_id' => 1 + ], + [ + 'jenis_penilaian_id' => 2, + 'teams_id' => 1, + 'tanggal_kunjungan' => now(), + 'keterangan' => 'Hello', + 'status' => 'done', + 'nomor_registrasi' => 'REG0000008', + 'penilaian_id' => 2, + 'surveyor_id' => 1, + 'penilai_surveyor_id' => 1 + ], + [ + 'jenis_penilaian_id' => 2, + 'teams_id' => 2, + 'tanggal_kunjungan' => now(), + 'keterangan' => 'Hello', + 'status' => 'done', + 'nomor_registrasi' => 'REG0000007', + 'penilaian_id' => 1, + 'surveyor_id' => 1, + 'penilai_surveyor_id' => 1 + ] + ]); + } +} diff --git a/database/seeders/PermohonanSeeder.php b/database/seeders/PermohonanSeeder.php new file mode 100644 index 0000000..f43aafb --- /dev/null +++ b/database/seeders/PermohonanSeeder.php @@ -0,0 +1,126 @@ + 'REG0000002', + 'tanggal_permohonan' => '2024-09-11', + 'user_id' => 1, + 'branch_id' => 1, + 'tujuan_penilaian_id' => 1, + 'debiture_id' => 1, + 'status' => 'persetujuan-penawaran', + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1, + 'jenis_fasilitas_kredit_id' => 1, + 'nilai_plafond_id' => 1, + 'status_bayar' => 'sudah_bayar', + 'nilai_njop' => 'KJM3413259230951024', + 'jenis_penilaian_id' => 2 + ], + [ + 'nomor_registrasi' => 'REG0000003', + 'tanggal_permohonan' => '2024-09-13', + 'user_id' => 1, + 'branch_id' => 1, + 'tujuan_penilaian_id' => 1, + 'debiture_id' => 1, + 'status' => 'tender', + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1, + 'jenis_fasilitas_kredit_id' => 1, + 'nilai_plafond_id' => 1, + 'status_bayar' => 'sudah_bayar', + 'nilai_njop' => 'KJM3413259230951025', + 'jenis_penilaian_id' => 2 + ], + [ + 'nomor_registrasi' => 'REG0000006', + 'tanggal_permohonan' => '2024-10-18', + 'user_id' => 1, + 'branch_id' => 1, + 'tujuan_penilaian_id' => 1, + 'debiture_id' => 2, + 'status' => 'registered', + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1, + 'jenis_fasilitas_kredit_id' => 4, + 'nilai_plafond_id' => 1, + 'status_bayar' => 'sudah_bayar', + 'nilai_njop' => '23425654765868', + 'jenis_penilaian_id' => 2 + ], + [ + 'nomor_registrasi' => 'REG0000007', + 'tanggal_permohonan' => '2024-10-28', + 'user_id' => 1, + 'branch_id' => 1, + 'tujuan_penilaian_id' => 7, + 'debiture_id' => 4, + 'status' => 'done', + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1, + 'jenis_fasilitas_kredit_id' => 7, + 'nilai_plafond_id' => 1, + 'status_bayar' => 'sudah_bayar', + 'nilai_njop' => '421354365747658', + 'jenis_penilaian_id' => 2 + ], + [ + 'nomor_registrasi' => 'REG0000008', + 'tanggal_permohonan' => '2024-10-28', + 'user_id' => 1, + 'branch_id' => 1, + 'tujuan_penilaian_id' => 1, + 'debiture_id' => 7, + 'status' => 'done', + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1, + 'jenis_fasilitas_kredit_id' => 7, + 'nilai_plafond_id' => 2, + 'status_bayar' => 'sudah_bayar', + 'nilai_njop' => '421354365747659', + 'jenis_penilaian_id' => 2 + ], + [ + 'nomor_registrasi' => 'REG0000010', + 'tanggal_permohonan' => '2024-10-28', + 'user_id' => 1, + 'branch_id' => 1, + 'tujuan_penilaian_id' => 5, + 'debiture_id' => 7, + 'status' => 'done', + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1, + 'jenis_fasilitas_kredit_id' => 4, + 'nilai_plafond_id' => 1, + 'status_bayar' => 'sudah_bayar', + 'nilai_njop' => '421354365747660', + 'jenis_penilaian_id' => 2 + ] + ]); + } +} diff --git a/database/seeders/RegionSeeder.php b/database/seeders/RegionSeeder.php new file mode 100644 index 0000000..9b118a3 --- /dev/null +++ b/database/seeders/RegionSeeder.php @@ -0,0 +1,30 @@ + 'R01', + 'name' => 'Region 1', + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'R02', + 'name' => 'Region 2', + 'created_at' => now(), + 'updated_at' => now() + ] + ]); + } +} diff --git a/database/seeders/StatusPermohonanSeeder.php b/database/seeders/StatusPermohonanSeeder.php new file mode 100644 index 0000000..1cd6526 --- /dev/null +++ b/database/seeders/StatusPermohonanSeeder.php @@ -0,0 +1,128 @@ + 'Order', + 'slug' => 'order', + 'description' => 'Status pengisian pengajuan dari AO sampai dengan approval dari BD atau EO Pemohon', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Revisi', + 'slug' => 'revisi', + 'description' => 'Back to pemohon dari admin', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Register', + 'slug' => 'register', + 'description' => 'pengajuan pemohon yang sudah diperiksa admin dan diproses ke SO', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Assign', + 'slug' => 'assign', + 'description' => 'posisi dari SO ke penilai setelah penunjukkan penilai', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Survey', + 'slug' => 'survey', + 'description' => 'tanggal kunjungan yang sudah ditentukan', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Proses Laporan', + 'slug' => 'proses-laporan', + 'description' => 'posisi penginputan yang dilakukan oleh penilai, dengan indikator tanggal kunjungan sampai laporan selesai (sesuai SLA)', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Approved', + 'slug' => 'approved', + 'description' => 'Laporan atau resume selesai', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Delivered', + 'slug' => 'delivered', + 'description' => 'Sudah isi nilai likuidasi', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Registered', + 'slug' => 'registered', + 'description' => 'abc', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Tender', + 'slug' => 'tender', + 'description' => 'abc', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ], + [ + 'name' => 'Done', + 'slug' => 'done', + 'description' => 'abc', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'created_by' => 1, + 'updated_by' => 1 + ] + ]); + } +} diff --git a/database/seeders/TeamUsersSeeder.php b/database/seeders/TeamUsersSeeder.php new file mode 100644 index 0000000..959c1e4 --- /dev/null +++ b/database/seeders/TeamUsersSeeder.php @@ -0,0 +1,32 @@ + 1, + 'user_id' => 3, + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'teams_id' => 2, + 'user_id' => 4, + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ] + ]); + } +} diff --git a/database/seeders/TeamsSeeder.php b/database/seeders/TeamsSeeder.php new file mode 100644 index 0000000..a3f2595 --- /dev/null +++ b/database/seeders/TeamsSeeder.php @@ -0,0 +1,32 @@ + 1, + 'code' => 'T01', + 'name' => 'Penilai 1', + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'regions_id' => 2, + 'code' => 'T02', + 'name' => 'Penilai 2', + 'created_at' => now(), + 'updated_at' => now() + ] + ]); + } +} diff --git a/database/seeders/TujuanPenilaianKJPPSeeder.php b/database/seeders/TujuanPenilaianKJPPSeeder.php new file mode 100644 index 0000000..4e36cf6 --- /dev/null +++ b/database/seeders/TujuanPenilaianKJPPSeeder.php @@ -0,0 +1,46 @@ + 'TPK01', + 'name' => 'Transaksi Jual Beli Aset', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'TPK02', + 'name' => 'Penjaminan Utang atau Pembiayaan', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'TPK03', + 'name' => 'Pelaporan Keuangan', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ], + [ + 'code' => 'TPK04', + 'name' => 'Pengambilalihan atau Merger dan Akuisisi (M&A)', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now() + ] + ]); + } +} diff --git a/database/seeders/TujuanPenilaianSeeder.php b/database/seeders/TujuanPenilaianSeeder.php new file mode 100644 index 0000000..75f3a76 --- /dev/null +++ b/database/seeders/TujuanPenilaianSeeder.php @@ -0,0 +1,95 @@ + 'TP0001', + 'name' => 'Penilaian Baru', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'TP0002', + 'name' => 'Penilaian Ulang', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'TP0003', + 'name' => 'Review', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => now(), + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => 1 + ], + [ + 'code' => 'TP0004', + 'name' => 'Lelang', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'TP0005', + 'name' => 'RAP', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'TP0006', + 'name' => 'Revaluasi Aset', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ], + [ + 'code' => 'TP0007', + 'name' => 'Asuransi', + 'status' => 1, + 'created_at' => now(), + 'updated_at' => now(), + 'deleted_at' => null, + 'created_by' => 1, + 'updated_by' => 1, + 'deleted_by' => null + ] + ]); + } +} diff --git a/module.json b/module.json index 1334cbd..54950ca 100644 --- a/module.json +++ b/module.json @@ -6,9 +6,7 @@ "keywords": [], "priority": 0, "providers": ["Modules\\Lpj\\Providers\\LpjServiceProvider"], - "files": [ - "app/Helpers/Lpj.php" - ], + "files": ["app/Helpers/Lpj.php"], "menu": { "main": [ { @@ -61,9 +59,45 @@ "attributes": [], "permission": "", "roles": ["administrator", "admin"] + }, + { + "title": "Data Proses Penawaran Ulang", + "path": "tender.prosespenawaranulang", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["administrator", "admin"] } ] }, + { + "title": "Otorisasi Tender", + "path": "otorisasitender", + "icon": "ki-filled ki-category text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["administrator", "admin"], + "sub": [ + { + "title": "Otorisasi Penawaran", + "path": "otorisasitender.penawaran", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["administrator", "admin"] + } + ] + }, + { + "title": "Registrasi Final", + "path": "registrasifinal", + "icon": "ki-filled ki-file-added text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["administrator", "admin"] + }, { "title": "Pembatalan", "path": "", @@ -149,6 +183,7 @@ "attributes": [], "permission": "", "roles": ["senior-officer"] + "roles": ["senior-officer"] } ] }, @@ -169,16 +204,70 @@ "classes": "", "attributes": [], "permission": "", - "roles": ["administrator", "pemohon-ao", "pemohon-eo", "admin","surveyor"] + "roles": [ + "administrator", + "pemohon-ao", + "pemohon-eo", + "admin", + "surveyor" + ] + }, + { + "title": "Penilai", + "path": "penilai", + "icon": "ki-filled ki-brush text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["surveyor"] }, { "title": "Laporan", - "path": "", + "path": "laporan", "icon": "ki-filled ki-filter-tablet text-lg", "classes": "", "attributes": [], "permission": "", - "roles": ["administrator", "pemohon-ao", "pemohon-eo", "admin", "senior-officer"] + "roles": [ + "administrator", + "pemohon-ao", + "pemohon-eo", + "admin", + "senior-officer" + ], + "sub": [ + { + "title": "Sederhana", + "path": "laporan.sederhana", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["administrator", "admin"] + }, + { + "title": "Standard", + "path": "laporan.standard", + "classes": "", + "attributes": [], + "permission": "", + "roles": [ + "administrator", + "pemohon-ao", + "pemohon-eo", + "admin", + "senior-officer" + ] + } + ] + }, + { + "title": "Resume", + "path": "resume", + "icon": "ki-filled ki-questionnaire-tablet text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["administrator", "pemohon-ao", "pemohon-eo"] } ], "master": [ @@ -189,24 +278,14 @@ "classes": "", "attributes": [], "permission": "", - "roles": ["administrator", "pemohon-ao", "pemohon-eo", "admin", "surveyor"], + "roles": [ + "administrator", + "pemohon-ao", + "pemohon-eo", + "admin", + "surveyor" + ], "sub": [ - { - "title": "Cabang", - "path": "basicdata.branch", - "classes": "", - "attributes": [], - "permission": "", - "roles": ["administrator", "pemohon-ao", "pemohon-eo"] - }, - { - "title": "Mata Uang", - "path": "basicdata.currency", - "classes": "", - "attributes": [], - "permission": "", - "roles": ["administrator", "pemohon-ao", "pemohon-eo"] - }, { "title": "Jenis Fasilitas Kredit", "path": "basicdata.jenis-fasilitas-kredit", @@ -325,7 +404,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": ["Administrator", "admin"] + "roles": ["administrator", "admin"] }, { "title": "Tujuan Penilaian KJPP", @@ -343,6 +422,14 @@ "permission": "", "roles": ["administrator", "admin"] }, + { + "title": "SLA", + "path": "basicdata.sla", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["administrator", "admin"] + }, { "title": "Bentuk", "path": "basicdata.bentuk-tanah", @@ -350,65 +437,65 @@ "attributes": [], "permission": "", "roles": ["surveyor"] - }, - { + }, + { "title": "Kontur Tanah", "path": "basicdata.kontur-tanah", "classes": "", "attributes": [], "permission": "", "roles": ["surveyor"] - }, - { + }, + { "title": "Posisi Kavling", "path": "basicdata.posisi-kavling", "classes": "", "attributes": [], "permission": "", "roles": ["surveyor"] - }, - { + }, + { "title": "Ketinggian Tanah", "path": "basicdata.ketinggian-tanah", "classes": "", "attributes": [], "permission": "", "roles": ["surveyor"] - }, - { + }, + { "title": "Kondisi Fisik Tanah", "path": "basicdata.kondisi-fisik-tanah", "classes": "", "attributes": [], "permission": "", "roles": ["surveyor"] - }, - { + }, + { "title": "Jenis Bangunan", "path": "basicdata.jenis-bangunan", "classes": "", "attributes": [], "permission": "", "roles": ["surveyor"] - }, - { + }, + { "title": "Kondisi Bangunan", "path": "basicdata.kondisi-bangunan", "classes": "", "attributes": [], "permission": "", "roles": ["surveyor"] - }, - { + }, + { "title": "Sifat Bangunan", "path": "basicdata.sifat-bangunan", "classes": "", "attributes": [], "permission": "", "roles": ["surveyor"] - }, + }, - { + { "title": "Sarana Pelengkap", "path": "basicdata.sarana-pelengkap", "classes": "", diff --git a/resources/views/SLA/index.blade.php b/resources/views/SLA/index.blade.php new file mode 100644 index 0000000..8fc628d --- /dev/null +++ b/resources/views/SLA/index.blade.php @@ -0,0 +1,8 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('sla') }} +@endsection + +@section('content') +@endsection diff --git a/resources/views/assetsku/includenya.blade.php b/resources/views/assetsku/includenya.blade.php index f646e05..e386f39 100644 --- a/resources/views/assetsku/includenya.blade.php +++ b/resources/views/assetsku/includenya.blade.php @@ -1,4 +1,45 @@ - diff --git a/resources/views/branch/create.blade.php b/resources/views/branch/create.blade.php deleted file mode 100644 index f9cb3b7..0000000 --- a/resources/views/branch/create.blade.php +++ /dev/null @@ -1,58 +0,0 @@ -@extends('layouts.main') - -@section('breadcrumbs') - {{ Breadcrumbs::render(request()->route()->getName()) }} -@endsection - -@section('content') -
- @if(isset($branch->id)) -
- - @method('PUT') - @else - - @endif - @csrf -
-
-

- {{ isset($branch->id) ? 'Edit' : 'Tambah' }} Branch -

-
- Back -
-
-
-
- -
- - @error('code') - {{ $message }} - @enderror -
-
-
- -
- - @error('name') - {{ $message }} - @enderror -
-
-
- -
-
-
-
-
-@endsection diff --git a/resources/views/component/detail-jaminan.blade.php b/resources/views/component/detail-jaminan.blade.php new file mode 100644 index 0000000..bc2ee80 --- /dev/null +++ b/resources/views/component/detail-jaminan.blade.php @@ -0,0 +1,101 @@ +
+
+

+ Data Jaminan +

+
+
+ @foreach($permohonan->debiture->documents as $dokumen) +
+ + + +
+ @endforeach +
+
+ +@include('lpj::component.pdfviewer') diff --git a/resources/views/component/pdfviewer.blade.php b/resources/views/component/pdfviewer.blade.php new file mode 100644 index 0000000..177ecf5 --- /dev/null +++ b/resources/views/component/pdfviewer.blade.php @@ -0,0 +1,25 @@ + + + +@push('scripts') + + +@endpush diff --git a/resources/views/currency/create.blade.php b/resources/views/currency/create.blade.php deleted file mode 100644 index c8b8f03..0000000 --- a/resources/views/currency/create.blade.php +++ /dev/null @@ -1,69 +0,0 @@ -@extends('layouts.main') - -@section('breadcrumbs') - {{ Breadcrumbs::render(request()->route()->getName()) }} -@endsection - -@section('content') -
- @if(isset($currency->id)) -
- - @method('PUT') - @else - - @endif - @csrf -
-
-

- {{ isset($currency->id) ? 'Edit' : 'Tambah' }} Currency -

-
- Back -
-
-
-
- -
- - @error('code') - {{ $message }} - @enderror -
-
-
- -
- - @error('name') - {{ $message }} - @enderror -
-
-
- -
- - @error('decimal_places') - {{ $message }} - @enderror -
-
-
- -
-
-
-
-
-@endsection diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index c8055b5..b3038ed 100644 --- a/resources/views/debitur/components/dokumen.blade.php +++ b/resources/views/debitur/components/dokumen.blade.php @@ -22,9 +22,10 @@
- + @if(isset($pemilikJaminan)) @foreach($pemilikJaminan as $pemilik) @if(isset($document)) @@ -39,19 +40,71 @@ @endforeach @endif - @if(isset($document->id)) - - Tambah Pemilik Jaminan - - @else - - Tambah Pemilik Jaminan - - @endif
@error('pemilik_jaminan_id') {{ $message }} @enderror +
@@ -112,6 +165,18 @@
+ @if($detail->details) + @php $custom_field = json_decode($detail->details,true) @endphp +
+ +
+ +
+
+ @endif +
- + @error('nomor_id') {{ $message }} @enderror @@ -88,7 +88,28 @@
+ @if(isset($detailSertifikat)) + @foreach(json_decode($detailSertifikat) as $sertifikat) +
+ +
+
+
+ +
+
+ + +
+ +
+
+
+ @endforeach + @endif
@endsection - @push('scripts') diff --git a/resources/views/penawaran/create.blade.php b/resources/views/penawaran/create.blade.php index 45d0930..d8b2b5c 100644 --- a/resources/views/penawaran/create.blade.php +++ b/resources/views/penawaran/create.blade.php @@ -189,7 +189,12 @@ @enderror -
+
+ @if (isset($penawaran->nomor_registrasi)) + + Surat Tender + + @endif diff --git a/resources/views/penawaran/edit.blade.php b/resources/views/penawaran/edit.blade.php index 364ac76..d49a6bd 100644 --- a/resources/views/penawaran/edit.blade.php +++ b/resources/views/penawaran/edit.blade.php @@ -195,7 +195,12 @@
-
+
+ @if (isset($penawaran->nomor_registrasi)) + + Surat Tender + + @endif diff --git a/resources/views/penawaran/surat_tender.blade.php b/resources/views/penawaran/surat_tender.blade.php new file mode 100644 index 0000000..ee65e8c --- /dev/null +++ b/resources/views/penawaran/surat_tender.blade.php @@ -0,0 +1,56 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName(), request()->route('noreg')) }} +@endsection + +@section('content') +
+
+
+

+ Surat Tender +

+
+ @if (isset($penawaran->nomor_registrasi)) + Back + @else + Back + @endif +
+
+
+

Dear + {{ ucwords(auth()->user()->name) ?? 'Tidak Ada' }} +

+

Mohon untuk dibuatkan proposal jasa appraisal atas nama {{ ucwords($penawaran->permohonan->user->name) }}, tujuan penilaian + untuk + @foreach ($penawaran->tujuanPenilaianKJPP as $tujuanPenilaianKJPP) + {{ $tujuanPenilaianKJPP->name }} + @endforeach + , laporan dalam bentuk {{ $penawaran->jenisLaporan->name }}, + dengan data-data sebagai berikut :

+
    +
  • Aset Jaminan: [otomasi dari tabel permohonan]
  • +
  • Lokasi Jaminan: [otomasi dari tabel permohonan]
  • +
  • LT / LB: [otomasi dari tabel permohonan]
  • +
+

Harap proposal dibuat dengan harga yang minimal sehingga tidak perlu tawar menawar lagi.

+

Mohon proposal dapat saya terima segera, sebelum + {{ formatTanggalIndonesia($penawaran->end_date) }} pukul 17.00 WIB +

+

Best Regards, + [otomasi dari nama dan tanda tangan user penginput] + Sub Direktorat Appraisal +

+

PT. Bank Artha Graha Internasional, Tbk.
+ Gedung Bank Artha Graha, Lantai 3
+ Jl. Kwiitang Raya No 24-26, Jakarta Pusat - 10420.
+ Telp. 021 - 3903040 (H)

+
+
+
+@endsection diff --git a/resources/views/penilai/index.blade.php b/resources/views/penilai/index.blade.php new file mode 100644 index 0000000..196b6c3 --- /dev/null +++ b/resources/views/penilai/index.blade.php @@ -0,0 +1,200 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('penilai') }} +@endsection + +@section('content') +
+
+
+
+

+ Penilai +

+
+
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + +
+ + + Nomor Registrasi + + + Debitur + + + Pemohon(Cabang/Direktorat) + + + AO + + + Tujuan Penilaian + + + Fasilitas Kredit + + + Tanggal Survei + + + Due Date SLA + + Action
+
+ +
+
+
+
+@endsection + + +@push('scripts') + + +@endpush diff --git a/resources/views/penilai/show.blade.php b/resources/views/penilai/show.blade.php new file mode 100644 index 0000000..107256e --- /dev/null +++ b/resources/views/penilai/show.blade.php @@ -0,0 +1,160 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection + +@section('content') +
+
+
+

+ Detail Penilai +

+
+ + Back +
+
+
+
+ +
+

{{ $permohonan->nomor_registrasi }}

+
+ +
+

{{ $permohonan->debiture->name }}

+
+
+
+ +
+

{{ $permohonan->branch->name }}

+
+ +
+

{{ $permohonan->debiture->address }}, Kel. + {{ $permohonan->debiture->village->name }}, Kec. {{ $permohonan->debiture->district->name }}, + {{ ucwords(strtolower($permohonan->debiture->city->name)) }}, Kode Pos. + {{ $permohonan->debiture->postal_code }}

+
+
+
+ +
+

{{ $permohonan->user->name }}

+
+ +
+

+ {{ $permohonan->jenisFasilitasKredit->name }}

+
+
+
+ +
+

+ {{ formatTanggalIndonesia($permohonan->created_at) }}

+
+ +
+

+ {{ $permohonan->debiture->cif }}

+
+
+
+ +
+

+ {{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}

+
+
+
+ +
+

+ {{ $permohonan->penilaian->userSurveyor->name }}

+

+ Region 1

+
+ +
+

+ @foreach ($permohonan->penilaian->teams->teamsUsers as $index => $penilaian) + {{ $penilaian->user->name }}{{ $index + 1 < count($permohonan->penilaian->teams->teamsUsers) ? ', ' : '' }} + @endforeach +

+

+ {{ $permohonan->penilaian->teams->regions->name }} +

+
+
+
+ +

+ {{ $permohonan->tujuanPenilaian->name }}

+ +

+ @foreach ($permohonan->debiture->documents as $document) + {{ $document->jenisjaminan->name }} + @endforeach +

+
+
+ +
+

+ {{ formatTanggalIndonesia($permohonan->created_at) }}

+
+
+
+ +
+

+ {{ formatTanggalIndonesia($permohonan->created_at) }}

+
+
+
+ +
+

+ PJ/001/001

+
+
+
+
+
+@endsection diff --git a/resources/views/penilaian/form.blade.php b/resources/views/penilaian/form.blade.php index 2986624..5119766 100644 --- a/resources/views/penilaian/form.blade.php +++ b/resources/views/penilaian/form.blade.php @@ -160,104 +160,7 @@
-
-
-

- Laporan -

-
-
- @foreach ($permohonan->debiture->documents as $dokumen) -
- - -
- @endforeach -
-
+ @include('lpj::component.detail-jaminan')
diff --git a/resources/views/penilaian/resume/index.blade.php b/resources/views/penilaian/resume/index.blade.php deleted file mode 100644 index e69de29..0000000 diff --git a/resources/views/permohonan/authorization/show.blade.php b/resources/views/permohonan/authorization/show.blade.php index af77b06..e8564e1 100644 --- a/resources/views/permohonan/authorization/show.blade.php +++ b/resources/views/permohonan/authorization/show.blade.php @@ -136,98 +136,7 @@
-
-
-

- Data Jaminan -

-
-
- @foreach($permohonan->debiture->documents as $dokumen) -
- - -
- @endforeach -
-
+ @include('lpj::component.detail-jaminan')
@@ -239,7 +148,7 @@ Catatan
- +
diff --git a/resources/views/permohonan/form.blade.php b/resources/views/permohonan/form.blade.php index 7c82edd..cfb066b 100644 --- a/resources/views/permohonan/form.blade.php +++ b/resources/views/permohonan/form.blade.php @@ -155,38 +155,15 @@ @enderror - -
- -
- - @error('status') - {{ $message }} - @enderror + @if($permohonan->status=='revisi') +
+ Catatan :
+ {{ $permohonan->keterangan }}
-
- - + @endif
diff --git a/resources/views/permohonan/index.blade.php b/resources/views/permohonan/index.blade.php index 3f12a4f..15819c7 100644 --- a/resources/views/permohonan/index.blade.php +++ b/resources/views/permohonan/index.blade.php @@ -63,6 +63,10 @@ Status + + Keterangan + + Action @@ -158,7 +162,10 @@ debitur_id: { title: 'Debitur', render: (item, data) => { - return `${data.debiture.name}`; + if(data.debiture) { + return `${data.debiture.name}`; + } + return "-"; }, }, tujuan_penilaian_id: { @@ -170,11 +177,20 @@ status: { title: 'Status' }, + keterangan: { + title: 'Keterangan' + }, actions: { - title: 'Status', + title: 'Actions', render: (item, data) => { - return ` -
+ var actionHtml = ` +
`; + if(data.status !== 'order'){ + actionHtml += ` + + `; + } + actionHtml += ` @@ -182,6 +198,8 @@
`; + + return actionHtml; }, } }, diff --git a/resources/views/permohonan/print.blade.php b/resources/views/permohonan/print.blade.php new file mode 100644 index 0000000..4c6e47f --- /dev/null +++ b/resources/views/permohonan/print.blade.php @@ -0,0 +1,221 @@ +@extends('layouts.auth') +@section('content') +
+
+
+
+
+
+

+ Nomor Register Permohonan +

+ + : {{ $permohonan->nomor_registrasi }} + +
+ +
+

+ Pemohon +

+ + : {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} + +
+ +
+

+ Tujan Permohonan +

+ + : {{ $permohonan->tujuanPenilaian->name }} + +
+
+
+
+

+ Status Permohonan +

+ + : {{ ucwords($permohonan->status) }} + +
+ +
+

+ Cabang Pemohon +

+ + : {{ $permohonan->user->branch->name }} + +
+ +
+

+ Tanggal Permohonan +

+ + : {{ formatTanggalIndonesia($permohonan->created_at) }} + +
+
+
+
+
+
+
+
+
+

+ 1. Fasilitas Kredit +

+
+
+
+

+ Jenis Fasilitas +

+ + : {{ $permohonan->jenisFasilitasKredit->name }} + +
+ +
+

+ Nilai Plafond +

+ + : {{ $permohonan->nilaiPlafond->name }} + +
+ +
+

+ Nilai NJOP +

+ + : {{ $permohonan->nilai_njop }} + +
+
+
+ +
+
+

+ 2. Identitas Debutur +

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ Name + + {{ $permohonan->debiture->name ?? "" }} +
+ Cabang + + {{ $permohonan->debiture->branch->name ?? "" }} +
+ CIF + + {{ $permohonan->debiture->cif ?? "" }} +
+ Address + + {{ $permohonan->debiture->address ?? "" }} +
+   + + {{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }} +
+
+
+
+
+
+
+
+
+

+ Data Jaminan +

+
+
+ @foreach($permohonan->debiture->documents as $dokumen) +
+ + Jaminan {{ $loop->index + 1 }} + + +
+

+ Pemilik Jaminan +

+ + : {{ $dokumen->pemilik->name?? "" }} + +
+
+

+ Jenis Jaminan: +

+ + : {{ $dokumen->jenisJaminan->name?? "" }} + +
+
+

+ Hubungan Pemilik Jaminan: +

+ + : {{ $dokumen->pemilik->hubungan_pemilik->name?? "" }} + +
+
+

+ Alamat Pemilik Jaminan: +

+ + : {{ $dokumen->pemilik->address ?? ""}}, +
{{ $dokumen->pemilik->village->name ?? "" }}, {{ $dokumen->pemilik->district->name ?? "" }}, {{ $dokumen->pemilik->city->name ?? "" }}, {{ $dokumen->pemilik->province->name ?? "" }} - {{ $dokumen->pemilik->village->postal_code ?? "" }} +
+
+
+ @endforeach +
+
+
+
+@endsection + +@push('scripts') + +@endpush diff --git a/resources/views/permohonan/show.blade.php b/resources/views/permohonan/show.blade.php new file mode 100644 index 0000000..d1de6f8 --- /dev/null +++ b/resources/views/permohonan/show.blade.php @@ -0,0 +1,189 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection + +@section('content') +
+
+
+
+

+ Data Permohonan +

+
+
+
+

+ Nomor Register Permohonan: +

+ + {{ $permohonan->nomor_registrasi }} + +
+ +
+

+ Pemohon: +

+ + {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} + +
+ +
+

+ Tujan Permohonan: +

+ + {{ $permohonan->tujuanPenilaian->name }} + +
+ +
+
+ +
+
+

+ Fasilitas Kredit +

+
+
+
+

+ Jenis Fasilitas +

+ + {{ $permohonan->jenisFasilitasKredit->name }} + +
+ +
+

+ Nilai Plafond: +

+ + {{ $permohonan->nilaiPlafond->name }} + +
+ +
+

+ Nilai NJOP: +

+ + {{ $permohonan->nilai_njop }} + +
+
+
+
+
+
+

+ Detail Debutur +

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ Name + + {{ $permohonan->debiture->name ?? "" }} +
+ Email + + {{ $permohonan->debiture->email ?? "" }} +
+ Phone + + {{ $permohonan->debiture->phone ?? "" }} +
+ Address + + {{ $permohonan->debiture->address ?? "" }} +
+   + + {{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }} +
+
+
+ + + + + + + + + + + + + + + + + +
+ Cabang + + {{ $permohonan->debiture->branch->name ?? "" }} +
+ CIF + + {{ $permohonan->debiture->cif ?? "" }} +
+ Nomor Rekening + + {{ $permohonan->debiture->nomor_rekening ?? "" }} +
+ NPWP + + {{ $permohonan->debiture->npwp ?? "" }} +
+
+
+
+
+ @include('lpj::component.detail-jaminan') + +
+
+ + @csrf + +
+
+
+@endsection diff --git a/resources/views/prosespenawaran/index.blade.php b/resources/views/prosespenawaran/index.blade.php index 67e4ccb..88ca76f 100644 --- a/resources/views/prosespenawaran/index.blade.php +++ b/resources/views/prosespenawaran/index.blade.php @@ -38,8 +38,8 @@ Nomor Registrasi - - Kode Penawaran + + Nama Debitur @@ -132,8 +132,16 @@ 'nomor_registrasi': { title: 'Nomor Registrasi', }, - code: { - title: 'Kode Penawaran', + debiture: { + title: 'Nama Debitur', + render: (item, data) => { + if(data.permohonan) { + return `${data.permohonan.debiture.name}`; + } + return "-"; + } + + }, start_date: { title: 'Tanggal Penawaran', diff --git a/resources/views/prosespenawaran/js/editextjs.blade.php b/resources/views/prosespenawaran/js/editextjs.blade.php index cc9580e..93f12e4 100644 --- a/resources/views/prosespenawaran/js/editextjs.blade.php +++ b/resources/views/prosespenawaran/js/editextjs.blade.php @@ -1,147 +1,155 @@ \ No newline at end of file + + } + + function deleteData(data, kjppName) { + Swal.fire({ + title: 'Are you sure?', + text: "You won't be able to revert KJPP "+kjppName+"!", + icon: 'warning', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: 'Yes, delete it!' + }).then((result) => { + if (result.isConfirmed) { + + //define variable + let token = "{{ csrf_token() }}"; + let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus','') }}/"+data; + var input_data = new Object(); + input_data._token = token; + input_data.id =data; + input_data.kjppName =kjppName; + $.ajax({ + url: useURL, + type: "PUT", + cache: false, + data: input_data, + dataType: "json", + success: function(response) { + + if('success' == response.status) + { + swal.fire('Deleted!', response.message.message_success[0], 'success').then(() => { + window.location.reload(); + }); + } + else + { + Swal.fire('Error!', response.message.message_error_try_catch[0], 'error'); + } + + + }, + error: function(response, textStatus, errorThrown) { + // var errors = response.responseJSON.errors; + // console.log(errors); + console.log(response); + + } + }); + + } + }) + } + + + \ No newline at end of file diff --git a/resources/views/prosespenawaran/js/editjs.blade.php b/resources/views/prosespenawaran/js/editjs.blade.php index fb460fd..34a98c6 100644 --- a/resources/views/prosespenawaran/js/editjs.blade.php +++ b/resources/views/prosespenawaran/js/editjs.blade.php @@ -1,19 +1,19 @@ @push('scripts') @include('lpj::assetsku.includenya') - @include('lpj::prosespenawaran.js.editextjs') - -@endpush \ No newline at end of file +@endpush diff --git a/resources/views/prosespenawaranulang/edit.blade.php b/resources/views/prosespenawaranulang/edit.blade.php new file mode 100644 index 0000000..79e5e79 --- /dev/null +++ b/resources/views/prosespenawaranulang/edit.blade.php @@ -0,0 +1,92 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection +@php + // $route = Route::currentRouteName(); + // dd($route); + $route = explode('.', Route::currentRouteName()); +@endphp + +@section('content') +
+ +
+
+

+ Tambah Data Proses Penawaran Ulang +

+ +
+
+
+

+ Nomor Register Permohonan: +

+ + + +
+ +
+

+ Kode Penawaran: +

+ + + +
+ +
+

+ Status Penawaran: +

+ + + +
+ +
+
+ +
+
+
+

Data KJPP

+
+
+ + + + + + + + + + + + +
NoKJPPBiaya PenawaranUpload PenawaranAction
+
+
+
+ +
+   +
+
+
+
+@endsection +@include('lpj::prosespenawaranulang.js.editjs') \ No newline at end of file diff --git a/resources/views/prosespenawaranulang/index.blade.php b/resources/views/prosespenawaranulang/index.blade.php new file mode 100644 index 0000000..86b7c77 --- /dev/null +++ b/resources/views/prosespenawaranulang/index.blade.php @@ -0,0 +1,152 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('tender.prosespenawaranulang') }} +@endsection + +@section('content') +
+
+
+

+ Daftar Proses Penawaran Ulang +

+
+
+ +
+ +
+
+
+
+ + + + + + + + + + + + + +
+ + + Nomor Registrasi + + + Kode Penawaran + + + Tanggal Penawaran + + + Tujuan Penilaian + + + Total KJPP + + + Status + + Action
+
+ +
+
+
+@endsection + +@push('scripts') + + +@endpush diff --git a/resources/views/prosespenawaranulang/js/editextjs.blade.php b/resources/views/prosespenawaranulang/js/editextjs.blade.php new file mode 100644 index 0000000..1e17943 --- /dev/null +++ b/resources/views/prosespenawaranulang/js/editextjs.blade.php @@ -0,0 +1,152 @@ + \ No newline at end of file diff --git a/resources/views/prosespenawaranulang/js/editjs.blade.php b/resources/views/prosespenawaranulang/js/editjs.blade.php new file mode 100644 index 0000000..0bde8e5 --- /dev/null +++ b/resources/views/prosespenawaranulang/js/editjs.blade.php @@ -0,0 +1,112 @@ +@push('scripts') + @include('lpj::assetsku.includenya') + @include('lpj::prosespenawaranulang.js.editextjs') + +@endpush diff --git a/resources/views/prosespenawaranulang/show.blade.php b/resources/views/prosespenawaranulang/show.blade.php new file mode 100644 index 0000000..74a361e --- /dev/null +++ b/resources/views/prosespenawaranulang/show.blade.php @@ -0,0 +1,43 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection +@php + $route = explode('.', Route::currentRouteName()); +@endphp +@section('content') +
+
+
+

+ Detail Data Proses Penawaran Ulang +

+ +
+
+
+

+ Nomor Register Permohonan: +

+ + {{ $prosespenawaran->nomor_registrasi }} + +
+
+

+ Kode Penawaran: +

+ + {{ $prosespenawaran->code }} + +
+
+
+
+ + +@endsection diff --git a/resources/views/registrasi/js/editjs.blade.php b/resources/views/registrasi/js/editjs.blade.php index b6b31e8..1863f78 100644 --- a/resources/views/registrasi/js/editjs.blade.php +++ b/resources/views/registrasi/js/editjs.blade.php @@ -38,11 +38,23 @@ // } }, success: function(response) { - console.log(response); + + if ('success' == response.status) + { + $("#textReg").text(response.datas.nomor_registrasi); + setJenisPenilaianList(response.jenisPenilaians,0); + setRegionList(response.regions,0); - $("#textReg").text(response.datas.nomor_registrasi); - setJenisPenilaianList(response.jenisPenilaians,0); - setRegionList(response.regions,0); + // success + // var message = response.message; + // toastrku("success", message); + + } + else if('error' == response.status) + { + var message = response.message; + toastrku("error", message); + } }, error: function(xhr) { }, @@ -152,8 +164,14 @@ else { //toastr.success(response.message); - var url = "{{ route('registrasi.index') }}"; - $(location).attr('href',url); + var message = response.message; + toastrku("success", message); + + setTimeout(function () { + var url = "{{ route('registrasi.index') }}"; + $(location).attr('href',url); + // window.location.href = "https://www.newurl.com"; + }, 2000); } }, @@ -189,10 +207,5 @@ } }); - /* - $('#{{$route[0]}}_jenis_penilaian').on('change', function() { - console.log( this.value ); - }); - */ @endpush diff --git a/resources/views/registrasi/show.blade.php b/resources/views/registrasi/show.blade.php index d599468..9ff7791 100644 --- a/resources/views/registrasi/show.blade.php +++ b/resources/views/registrasi/show.blade.php @@ -145,98 +145,7 @@
-
-
-

- Data Jaminan -

-
-
- @foreach($permohonan->debiture->documents as $dokumen) -
- - -
- @endforeach -
-
+ @include('lpj::component.detail-jaminan')
@@ -312,5 +221,4 @@
@endsection -@include('lpj::registrasi.js.showjs') @include('lpj::registrasi.js.editjs') diff --git a/resources/views/registrasifinal/edit.blade.php b/resources/views/registrasifinal/edit.blade.php new file mode 100644 index 0000000..ddaead8 --- /dev/null +++ b/resources/views/registrasifinal/edit.blade.php @@ -0,0 +1,106 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection +@php + // $route = Route::currentRouteName(); + // dd($route); + $route = explode('.', Route::currentRouteName()); +@endphp + +@section('content') +
+ +
+ + @method('PUT') + @csrf +
+
+

+ Tambah Registrasi Final +

+ +
+
+
+

+ Nomor Register Permohonan: +

+ + + +
+ +
+

+ Kode Penawaran: +

+ + + +
+ +
+

+ Status Penawaran: +

+ + + +
+ +
+
+ +
+ + +
+
+ +
+ + +
+
+
+ +
+ + +
+
+ +
+ +
+
+
+
+
+@endsection +@include('lpj::registrasifinal.js.editjs') diff --git a/resources/views/registrasifinal/index.blade.php b/resources/views/registrasifinal/index.blade.php new file mode 100644 index 0000000..4e50882 --- /dev/null +++ b/resources/views/registrasifinal/index.blade.php @@ -0,0 +1,158 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('registrasifinal') }} +@endsection + +@section('content') +
+
+
+

+ Daftar Registrasi Final +

+
+
+ +
+ +
+
+
+
+ + + + + + + + + + + + + +
+ + + Nomor Registrasi + + + Kode Penawaran + + + Tanggal Penawaran + + + Tujuan Penilaian + + + KJPP Data + + + Status + + Action
+
+ +
+
+
+@endsection + +@push('scripts') + + +@endpush + diff --git a/resources/views/registrasi/js/showjs.blade.php b/resources/views/registrasifinal/js/editjs.blade.php similarity index 56% rename from resources/views/registrasi/js/showjs.blade.php rename to resources/views/registrasifinal/js/editjs.blade.php index 5309d38..9464649 100644 --- a/resources/views/registrasi/js/showjs.blade.php +++ b/resources/views/registrasifinal/js/editjs.blade.php @@ -1,12 +1,17 @@ @push('scripts') - @endpush diff --git a/resources/views/registrasifinal/show.blade.php b/resources/views/registrasifinal/show.blade.php new file mode 100644 index 0000000..7592d0d --- /dev/null +++ b/resources/views/registrasifinal/show.blade.php @@ -0,0 +1,151 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection +@php + // $route = Route::currentRouteName(); + // dd($route); registrasi.show + $route = explode('.', Route::currentRouteName()); +@endphp +@section('content') +
+
+
+

+ Data Permohonan +

+ + +
+
+
+

+ Nomor Register Permohonan: +

+ + {{ $permohonan->nomor_registrasi }} + +
+ +
+

+ Pemohon: +

+ + {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} + +
+ +
+

+ Tujan Permohonan: +

+ + {{ $permohonan->tujuanPenilaian->name }} + +
+ +
+
+ +
+
+

+ Detail Debutur +

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ Name + + {{ $permohonan->debiture->name ?? "" }} +
+ Email + + {{ $permohonan->debiture->email ?? "" }} +
+ Phone + + {{ $permohonan->debiture->phone ?? "" }} +
+ Address + + {{ $permohonan->debiture->address ?? "" }} +
+   + + {{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }} +
+
+
+ + + + + + + + + + + + + + + + + +
+ Cabang + + {{ $permohonan->debiture->branch->name ?? "" }} +
+ CIF + + {{ $permohonan->debiture->cif ?? "" }} +
+ Nomor Rekening + + {{ $permohonan->debiture->nomor_rekening ?? "" }} +
+ NPWP + + {{ $permohonan->debiture->npwp ?? "" }} +
+
+
+
+
+ + @include('lpj::component.detail-jaminan') +
+ +@endsection diff --git a/resources/views/resume/index.blade.php b/resources/views/resume/index.blade.php new file mode 100644 index 0000000..839710b --- /dev/null +++ b/resources/views/resume/index.blade.php @@ -0,0 +1,486 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('resume') }} +@endsection + +@section('content') + + +
+
+
+
+
+ + @csrf + +
+
+ +
+ + @error('cadeb') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('aset') + {{ $message }} + @enderror +
+
+
+ +
+
+ +
+ + @error('kredit') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('alamat') + {{ $message }} + @enderror +
+
+
+ +
+
+ +
+ + @error('cabang') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('ao') + {{ $message }} + @enderror +
+
+
+ +
+ +
+ +
+ + @error('surveyor') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('penilai') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('tanggal_survey') + {{ $message }} + @enderror +
+
+ +
+
+ +
+ + @error('nomor_resume') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('tanggal_resume') + {{ $message }} + @enderror +
+
+
+ +
+ +
+ +
+ + @error('faktor_positif') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('faktor_negatif') + {{ $message }} + @enderror +
+
+ +
+ + + +
+ +
+
+
+ + @error('sertifikat') + {{ $message }} + @enderror +
+ +
+ + + @error('luas_tanah') + {{ $message }} + @enderror +
+ +
+ + + @error('luas_bangunan') + {{ $message }} + @enderror +
+ +
+ Rp + + @error('pasar_wajar') + {{ $message }} + @enderror +
+
+
+
+ +
+ +
+
+
+ + @error('sertifikat') + {{ $message }} + @enderror +
+ +
+ + + @error('luas_tanah') + {{ $message }} + @enderror +
+ +
+ + + @error('luas_bangunan') + {{ $message }} + @enderror +
+ +
+ Rp + + @error('pasar_wajar') + {{ $message }} + @enderror +
+
+
+
+ +
+ +
+
+
+ + @error('sertifikat') + {{ $message }} + @enderror +
+ +
+ + + @error('luas_tanah') + {{ $message }} + @enderror +
+ +
+ + + @error('luas_bangunan') + {{ $message }} + @enderror +
+ +
+ Rp + + @error('pasar_wajar') + {{ $message }} + @enderror +
+
+
+
+ +
+ +
+ +
+ + @error('catatan') + {{ $message }} + @enderror +
+
+ +
+ +
+ +
+
    +
  1. Laporan Resume ini dikeluarkan dikarenakan belum dilakukannya pembayaran biaya + penilaian jaminan
  2. +
  3. Laporan Resume ini tidak bisa dijadikan sebagai dasar pengajuan dan atau pencairan + kredit, laporan yang digunakan tetap wajib berupa Laporan Penilaian Jaminan (LPJ) +
  4. +
  5. Detail per meter tanah dan bangunan, sarana pelengkap dll akan tercatat di Laporan + Penilaian Jaminan (LPJ) nanti
  6. +
  7. Laporan Resume ini hanya digunakan untuk kepentingan internal bagi
  8. +
  9. Laporan resume ini hanya berlaku 14 hari kerja + terhitung dari tanggal resume ini dibuat sesuai aturan yang berlaku, apabila lewat + maka harus dilakukan order ulang sesuai prosedur yang berlaku
  10. +
  11. Apabila sudah melewati 6 bulan, maka harus penilaian ulang kembali
  12. +
+
+
+ +
+ + + +
+
+ + +
+
+ +
+ +
+
+
+
+
+ + {{--
+
+ + +
+
+ +
+ + @error('code') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('name') + {{ $message }} + @enderror +
+
+ +
+ +
+
+
+
--}} +
+@endsection diff --git a/resources/views/branch/index.blade.php b/resources/views/spk/index.blade.php similarity index 86% rename from resources/views/branch/index.blade.php rename to resources/views/spk/index.blade.php index ff5a9e5..fb973a3 100644 --- a/resources/views/branch/index.blade.php +++ b/resources/views/spk/index.blade.php @@ -1,27 +1,27 @@ @extends('layouts.main') @section('breadcrumbs') - {{ Breadcrumbs::render('basicdata.branch') }} + {{ Breadcrumbs::render('basicdata.tujuan-penilaian') }} @endsection @section('content')
-
+

- Daftar Cabang + SPK Menu

-
+
@@ -33,11 +33,11 @@ - Code + No SPK - Cabang + Perihal Action @@ -62,6 +62,7 @@ @endsection @push('scripts') + + + +@endpush + diff --git a/resources/views/surveyor/components/denah.blade.php b/resources/views/surveyor/components/denah.blade.php index e922fa5..46f11d9 100644 --- a/resources/views/surveyor/components/denah.blade.php +++ b/resources/views/surveyor/components/denah.blade.php @@ -23,7 +23,7 @@ @foreach ($permohonan->debiture->documents as $dokumen)
- -