From 14ac13551b17da619454faa99ca1a8ca24536780 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 6 Mar 2025 07:48:29 +0700 Subject: [PATCH 01/31] fix(spk): perbaiki penanganan data dan tampilan KJPP - Tambahkan penanganan default untuk waktu penilaian yang mungkin null. - Ubah tampilan nama KJPP di dokumen SPK dan halaman edit untuk menambahkan label "KJPP". - Ganti pengambilan nama dan peran creator persetujuan penawaran dengan fungsi getUser untuk meningkatkan keterbacaan. --- app/Http/Controllers/SpkController.php | 4 ++-- resources/views/spk/documentSPK.blade.php | 6 +++--- resources/views/spk/edit.blade.php | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/SpkController.php b/app/Http/Controllers/SpkController.php index 770944c..f5de6aa 100644 --- a/app/Http/Controllers/SpkController.php +++ b/app/Http/Controllers/SpkController.php @@ -158,7 +158,7 @@ use Illuminate\Support\Facades\Auth; $penawaran->jenis_laporan_name = $penawaran->jenisLaporan->name; $penawaran->jenis_laporan_code = $penawaran->jenisLaporan->code; $penawaran->tujuan_penilaian_kjpp_name = $penawaran->tujuanPenilaianKjpp->name; - $penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian; + $penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian ?? ""; $permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) ->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id') @@ -244,7 +244,7 @@ use Illuminate\Support\Facades\Auth; $penawaran->jenis_laporan_name = $penawaran->jenisLaporan->name; $penawaran->jenis_laporan_code = $penawaran->jenisLaporan->code; $penawaran->tujuan_penilaian_kjpp_name = $penawaran->tujuanPenilaianKjpp->name; - $penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian; + $penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian ?? ""; $permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) ->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id') diff --git a/resources/views/spk/documentSPK.blade.php b/resources/views/spk/documentSPK.blade.php index 08dd70a..f24e2f2 100644 --- a/resources/views/spk/documentSPK.blade.php +++ b/resources/views/spk/documentSPK.blade.php @@ -60,7 +60,7 @@

Kepada

-

{{ $penawaran->kjpp_name }}

+

KJPP {{ $penawaran->kjpp_name }}

{{ $penawaran->kjpp_address }}



@@ -237,8 +237,8 @@ - {{ $penawaran->persetujuan_penawaran->creator->name }}
- {{ $penawaran->persetujuan_penawaran->creator->getRoleNames()[0] }} + {{ getUser($penawaran->authorized_by)->name }}
+ {{ getUser($penawaran->authorized_by)->getRoleNames()[0] }} (……………………………………..) diff --git a/resources/views/spk/edit.blade.php b/resources/views/spk/edit.blade.php index be61c5f..85b2a90 100644 --- a/resources/views/spk/edit.blade.php +++ b/resources/views/spk/edit.blade.php @@ -76,7 +76,7 @@

Kepada

-

{{ $penawaran->kjpp_name }}

+

KJPP {{ $penawaran->kjpp_name }}

{{ $penawaran->kjpp_address }}



@@ -258,8 +258,8 @@ - {{ $penawaran->persetujuan_penawaran->creator->name }}
- {{ $penawaran->persetujuan_penawaran->creator->getRoleNames()[0] }} + {{ getUser($penawaran->authorized_by)->name }}
+ {{ getUser($penawaran->authorized_by)->getRoleNames()[0] }} (……………………………………..) From 0933a874dc30fab6c725cc7c86ff5e219b27d9eb Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 6 Mar 2025 08:08:00 +0700 Subject: [PATCH 02/31] fix(otorisasipenawaran): perbaiki tampilan dan penanganan data penawaran - Menambahkan relasi permohonan dan tujuan penilaian KJPP pada metode show. - Memperbarui tampilan detail jaminan untuk menampilkan nomor penawaran dan tujuan penilaian KJPP. - Menggunakan komponen untuk menyederhanakan kode dan meningkatkan keterbacaan. --- .../OtorisasiPenawaranController.php | 5 ++- .../views/component/detail-jaminan.blade.php | 21 ++++++++++ .../views/otorisasipenawaran/show.blade.php | 40 ++++++------------- 3 files changed, 37 insertions(+), 29 deletions(-) diff --git a/app/Http/Controllers/OtorisasiPenawaranController.php b/app/Http/Controllers/OtorisasiPenawaranController.php index 4adee4e..49deb5e 100644 --- a/app/Http/Controllers/OtorisasiPenawaranController.php +++ b/app/Http/Controllers/OtorisasiPenawaranController.php @@ -336,8 +336,9 @@ public function show($id) { - $prosespenawaran = PenawaranTender::find($id); - return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran')); + $prosespenawaran = PenawaranTender::with(['permohonan','tujuanPenilaianKjpp'])->find($id); + $permohonan = $prosespenawaran->permohonan; + return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran','permohonan')); } public function penawaranulang(Request $request, $id): JsonResponse diff --git a/resources/views/component/detail-jaminan.blade.php b/resources/views/component/detail-jaminan.blade.php index 3d996ed..ee292b4 100644 --- a/resources/views/component/detail-jaminan.blade.php +++ b/resources/views/component/detail-jaminan.blade.php @@ -50,6 +50,26 @@ + @if(isset($penawaran)) +
+

+ Nomor Penawaran: +

+ + {{ $penawaran->code }} + +
+ +
+

+ Nomor Penawaran: +

+ + {{ $penawaran->tujuanPenilaianKjpp->name }} + +
+ @else +

Tujan Permohonan: @@ -77,6 +97,7 @@ {{ str_replace('_', ' ', $permohonan->status_bayar) }}

+ @endif diff --git a/resources/views/otorisasipenawaran/show.blade.php b/resources/views/otorisasipenawaran/show.blade.php index bf5d25e..74ce36e 100644 --- a/resources/views/otorisasipenawaran/show.blade.php +++ b/resources/views/otorisasipenawaran/show.blade.php @@ -9,33 +9,19 @@ @section('content')
-
-

- Detail Data Otorisasi Penawaran -

- -
-
-
-

- Nomor Register Permohonan: -

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

- Nomor Penawaran: -

- - {{ $prosespenawaran->code }} - -
-
+ @php + $buttonProses=''; + $buttonProses=' Otorisasi Penawaran'; + @endphp + + @include('lpj::component.detail-jaminan', [ + 'customlink' => $buttonProses, + 'backLink' => 'otorisasitender.penawaran.index', + 'title' => 'Detail Data Otorisasi Penawaran', + 'penawaran' => $prosespenawaran, + ]) + +
From ff4d48704f76d3da38ec77d10eba5e462ad40c3b Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 6 Mar 2025 08:12:18 +0700 Subject: [PATCH 03/31] fix(spk): perbaiki tampilan dan penanganan data KJPP - Menambahkan prefiks "KJPP" pada nama KJPP di tampilan. - Memperbaiki penanganan peran pengguna untuk 'DD Appraisal' menjadi 'DD Operation 2'. --- resources/views/spk/documentSPK.blade.php | 4 ++-- resources/views/spk/edit.blade.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/views/spk/documentSPK.blade.php b/resources/views/spk/documentSPK.blade.php index f24e2f2..5b90e7a 100644 --- a/resources/views/spk/documentSPK.blade.php +++ b/resources/views/spk/documentSPK.blade.php @@ -222,7 +222,7 @@ - + @@ -238,7 +238,7 @@ diff --git a/resources/views/spk/edit.blade.php b/resources/views/spk/edit.blade.php index 85b2a90..9309506 100644 --- a/resources/views/spk/edit.blade.php +++ b/resources/views/spk/edit.blade.php @@ -243,7 +243,7 @@ + KJPP {{ $penawaran->kjpp_name }} @@ -259,7 +259,7 @@ From 38b22bce38a3a2b9274eef06f6c3c700008b58fa Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 6 Mar 2025 08:41:03 +0700 Subject: [PATCH 04/31] feat(laporan_external): tambahkan fitur laporan eksternal - Menambahkan controller LaporanExternalController untuk mengelola laporan eksternal. - Menambahkan request LaporanExternalRequest untuk validasi data laporan eksternal. - Menambahkan model LaporanExternal untuk interaksi dengan database. - Menambahkan migrasi untuk tabel laporan_externals dengan kolom yang diperlukan. --- .../Controllers/LaporanExternalController.php | 171 ++++++++++++++++++ app/Http/Requests/LaporanExternalRequest.php | 41 +++++ app/Models/LaporanExternal.php | 32 ++++ ..._012851_create_laporan_externals_table.php | 46 +++++ 4 files changed, 290 insertions(+) create mode 100644 app/Http/Controllers/LaporanExternalController.php create mode 100644 app/Http/Requests/LaporanExternalRequest.php create mode 100644 app/Models/LaporanExternal.php create mode 100644 database/migrations/2025_03_06_012851_create_laporan_externals_table.php diff --git a/app/Http/Controllers/LaporanExternalController.php b/app/Http/Controllers/LaporanExternalController.php new file mode 100644 index 0000000..44cc89f --- /dev/null +++ b/app/Http/Controllers/LaporanExternalController.php @@ -0,0 +1,171 @@ +paginate(10); + return view('lpj::laporan_external.index', compact('laporanExternals')); + } + + /** + * Show the form for creating a new resource. + */ + public function create() + { + return view('lpj::laporan_external.create'); + } + + /** + * Store a newly created resource in storage. + */ + public function store(LaporanExternalRequest $request) + { + $validatedData = $request->validated(); + + if ($request->hasFile('file_resume')) { + $validatedData['file_resume'] = $request->file('file_resume')->store('laporan_external/resume', 'public'); + } + + if ($request->hasFile('file_laporan')) { + $validatedData['file_laporan'] = $request->file('file_laporan')->store('laporan_external/laporan', 'public'); + } + + LaporanExternal::create($validatedData); + + return redirect()->route('lpj.laporan_external.index')->with('success', 'Laporan External berhasil ditambahkan.'); + } + + /** + * Show the specified resource. + */ + public function show(LaporanExternal $laporanExternal) + { + return view('lpj::laporan_external.show', compact('laporanExternal')); + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(LaporanExternal $laporanExternal) + { + return view('lpj::laporan_external.edit', compact('laporanExternal')); + } + + /** + * Update the specified resource in storage. + */ + public function update(LaporanExternalRequest $request, LaporanExternal $laporanExternal) + { + $validatedData = $request->validated(); + + if ($request->hasFile('file_resume')) { + $validatedData['file_resume'] = $request->file('file_resume')->store('laporan_external/resume', 'public'); + } + + if ($request->hasFile('file_laporan')) { + $validatedData['file_laporan'] = $request->file('file_laporan')->store('laporan_external/laporan', 'public'); + } + + $laporanExternal->update($validatedData); + + return redirect()->route('lpj.laporan_external.index')->with('success', 'Laporan External berhasil diperbarui.'); + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(LaporanExternal $laporanExternal) + { + $laporanExternal->delete(); + + return redirect()->route('lpj.laporan_external.index')->with('success', 'Laporan External berhasil dihapus.'); + } + + public function dataForDatatables(Request $request) + { + if (is_null($this->user) || !$this->user->can('jenis_aset.view')) { + //abort(403, 'Sorry! You are not allowed to view users.'); + } + + // Retrieve data from the database + $query = LaporanExternal::query(); + + // Apply search filter if provided + if ($request->has('search') && !empty($request->get('search'))) { + $search = $request->get('search'); + $query->where(function ($q) use ($search) { + $q->where('nomor_laporan', 'LIKE', "%$search%") + ->orWhere('tanggal_laporan', 'LIKE', "%$search%") + ->orWhereHas('permohonan', function($q) use ($search) { + $q->where('nomor_permohonan', 'LIKE', "%$search%"); + }) + ->orWhere('tgl_final_laporan', 'LIKE', "%$search%") + ->orWhere('nilai_pasar', 'LIKE', "%$search%") + ->orWhere('indikasi_nilai_likuidasi', 'LIKE', "%$search%") + ->orWhere('indikasi_nilai_pasar_tanah', 'LIKE', "%$search%") + ->orWhere('estimasi_harga_tanah', 'LIKE', "%$search%") + ->orWhere('estimasi_harga_bangunan', 'LIKE', "%$search%") + ->orWhere('indikasi_nilai_pasar_bangunan', 'LIKE', "%$search%") + ->orWhere('indikasi_nilai_pasar_sarana_pelengkap', 'LIKE', "%$search%") + ->orWhere('indikasi_nilai_pasar_mesin', 'LIKE', "%$search%") + ->orWhere('indikasi_nilai_pasar_kendaraan_alat_berat', 'LIKE', "%$search%") + ->orWhere('file_resume', 'LIKE', "%$search%") + ->orWhere('file_laporan', 'LIKE', "%$search%"); + ->orWhere('tanggal_laporan', 'LIKE', "%$search%"); + }); + } + + // Apply sorting if provided + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { + $order = $request->get('sortOrder'); + $column = $request->get('sortField'); + $query->orderBy($column, $order); + } + + // Get the total count of records + $totalRecords = $query->count(); + + // Apply pagination if provided + if ($request->has('page') && $request->has('size')) { + $page = $request->get('page'); + $size = $request->get('size'); + $offset = ($page - 1) * $size; // Calculate the offset + + $query->skip($offset)->take($size); + } + + // Get the filtered count of records + $filteredRecords = $query->count(); + + // Get the data for the current page + $data = $query->get(); + + // Calculate the page count + $pageCount = ceil($totalRecords / $request->get('size')); + + // Calculate the current page number + $currentPage = 0 + 1; + + // Return the response data as a JSON object + return response()->json([ + 'draw' => $request->get('draw'), + 'recordsTotal' => $totalRecords, + 'recordsFiltered' => $filteredRecords, + 'pageCount' => $pageCount, + 'page' => $currentPage, + 'totalCount' => $totalRecords, + 'data' => $data, + ]); + } +} diff --git a/app/Http/Requests/LaporanExternalRequest.php b/app/Http/Requests/LaporanExternalRequest.php new file mode 100644 index 0000000..8b2b5a0 --- /dev/null +++ b/app/Http/Requests/LaporanExternalRequest.php @@ -0,0 +1,41 @@ + 'required|exists:permohonans,id', + 'nomor_laporan' => 'required|string|max:255', + 'tgl_final_laporan' => 'required|date', + 'nilai_pasar' => 'required|numeric', + 'indikasi_nilai_likuidasi' => 'required|numeric', + 'indikasi_nilai_pasar_tanah' => 'required|numeric', + 'estimasi_harga_tanah' => 'required|numeric', + 'estimasi_harga_bangunan' => 'required|numeric', + 'indikasi_nilai_pasar_bangunan' => 'required|numeric', + 'indikasi_nilai_pasar_sarana_pelengkap' => 'required|numeric', + 'indikasi_nilai_pasar_mesin' => 'required|numeric', + 'indikasi_nilai_pasar_kendaraan_alat_berat' => 'required|numeric', + 'file_resume' => 'nullable|file|mimes:pdf|max:10240', // 10MB max + 'file_laporan' => 'nullable|file|mimes:pdf|max:10240', + ]; + } + + /** + * Determine if the user is authorized to make this request. + */ + public function authorize() + : bool + { + return true; + } + } diff --git a/app/Models/LaporanExternal.php b/app/Models/LaporanExternal.php new file mode 100644 index 0000000..77a63e3 --- /dev/null +++ b/app/Models/LaporanExternal.php @@ -0,0 +1,32 @@ +belongsTo(Permohonan::class); + } +} diff --git a/database/migrations/2025_03_06_012851_create_laporan_externals_table.php b/database/migrations/2025_03_06_012851_create_laporan_externals_table.php new file mode 100644 index 0000000..727abcf --- /dev/null +++ b/database/migrations/2025_03_06_012851_create_laporan_externals_table.php @@ -0,0 +1,46 @@ +id(); + $table->foreignId('permohonan_id')->constrained('permohonans')->onDelete('cascade'); + $table->string('nomor_laporan'); + $table->date('tgl_final_laporan'); + $table->decimal('nilai_pasar', 15, 2); + $table->decimal('indikasi_nilai_likuidasi', 15, 2); + $table->decimal('indikasi_nilai_pasar_tanah', 15, 2); + $table->decimal('estimasi_harga_tanah', 15, 2); + $table->decimal('estimasi_harga_bangunan', 15, 2); + $table->decimal('indikasi_nilai_pasar_bangunan', 15, 2); + $table->decimal('indikasi_nilai_pasar_sarana_pelengkap', 15, 2); + $table->decimal('indikasi_nilai_pasar_mesin', 15, 2); + $table->decimal('indikasi_nilai_pasar_kendaraan_alat_berat', 15, 2); + $table->string('file_resume')->nullable(); // New field for resume file + $table->string('file_laporan')->nullable(); // New field for report file + $table->timestamps(); + $table->softDeletes(); + + $table->unsignedBigInteger('created_by')->nullable(); + $table->unsignedBigInteger('updated_by')->nullable(); + $table->unsignedBigInteger('deleted_by')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('laporan_externals'); + } +}; From dd5271a40bd0861c5077006b1f83d18e1cbd922e Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 6 Mar 2025 09:56:59 +0700 Subject: [PATCH 05/31] feat(laporan_external): tambahkan fitur laporan eksternal - Menambahkan entri untuk Laporan External di module.json. - Menambahkan breadcrumb untuk Laporan External di breadcrumbs.php. - Membuat migrasi untuk tabel laporan_externals. - Menambahkan rute untuk Laporan External di web.php. - Memperbarui validasi di LaporanExternalRequest untuk mendukung nullable fields. - Mengimplementasikan LaporanExternalController untuk menangani operasi CRUD. --- .../Controllers/LaporanExternalController.php | 12 +- app/Http/Requests/LaporanExternalRequest.php | 24 +- ..._012851_create_laporan_externals_table.php | 5 +- module.json | 12 + .../views/laporan_external/create.blade.php | 167 +++++++++++++ .../views/laporan_external/index.blade.php | 223 ++++++++++++++++++ routes/breadcrumbs.php | 21 ++ routes/web.php | 12 +- 8 files changed, 455 insertions(+), 21 deletions(-) create mode 100644 resources/views/laporan_external/create.blade.php create mode 100644 resources/views/laporan_external/index.blade.php diff --git a/app/Http/Controllers/LaporanExternalController.php b/app/Http/Controllers/LaporanExternalController.php index 44cc89f..ea6cec1 100644 --- a/app/Http/Controllers/LaporanExternalController.php +++ b/app/Http/Controllers/LaporanExternalController.php @@ -6,9 +6,11 @@ use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Modules\Lpj\Models\LaporanExternal; use Modules\Lpj\Http\Requests\LaporanExternalRequest; +use Modules\Lpj\Models\Permohonan; class LaporanExternalController extends Controller { + public $user; /** * Display a listing of the resource. */ @@ -43,7 +45,7 @@ class LaporanExternalController extends Controller LaporanExternal::create($validatedData); - return redirect()->route('lpj.laporan_external.index')->with('success', 'Laporan External berhasil ditambahkan.'); + return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil ditambahkan.'); } /** @@ -59,7 +61,8 @@ class LaporanExternalController extends Controller */ public function edit(LaporanExternal $laporanExternal) { - return view('lpj::laporan_external.edit', compact('laporanExternal')); + $permohonan = Permohonan::find($laporanExternal->permohonan_id); + return view('lpj::laporan_external.create', compact('laporanExternal','permohonan')); } /** @@ -79,7 +82,7 @@ class LaporanExternalController extends Controller $laporanExternal->update($validatedData); - return redirect()->route('lpj.laporan_external.index')->with('success', 'Laporan External berhasil diperbarui.'); + return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil diperbarui.'); } /** @@ -89,7 +92,7 @@ class LaporanExternalController extends Controller { $laporanExternal->delete(); - return redirect()->route('lpj.laporan_external.index')->with('success', 'Laporan External berhasil dihapus.'); + return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil dihapus.'); } public function dataForDatatables(Request $request) @@ -122,7 +125,6 @@ class LaporanExternalController extends Controller ->orWhere('indikasi_nilai_pasar_kendaraan_alat_berat', 'LIKE', "%$search%") ->orWhere('file_resume', 'LIKE', "%$search%") ->orWhere('file_laporan', 'LIKE', "%$search%"); - ->orWhere('tanggal_laporan', 'LIKE', "%$search%"); }); } diff --git a/app/Http/Requests/LaporanExternalRequest.php b/app/Http/Requests/LaporanExternalRequest.php index 8b2b5a0..1e2a4f4 100644 --- a/app/Http/Requests/LaporanExternalRequest.php +++ b/app/Http/Requests/LaporanExternalRequest.php @@ -13,18 +13,18 @@ : array { return [ - 'permohonan_id' => 'required|exists:permohonans,id', - 'nomor_laporan' => 'required|string|max:255', - 'tgl_final_laporan' => 'required|date', - 'nilai_pasar' => 'required|numeric', - 'indikasi_nilai_likuidasi' => 'required|numeric', - 'indikasi_nilai_pasar_tanah' => 'required|numeric', - 'estimasi_harga_tanah' => 'required|numeric', - 'estimasi_harga_bangunan' => 'required|numeric', - 'indikasi_nilai_pasar_bangunan' => 'required|numeric', - 'indikasi_nilai_pasar_sarana_pelengkap' => 'required|numeric', - 'indikasi_nilai_pasar_mesin' => 'required|numeric', - 'indikasi_nilai_pasar_kendaraan_alat_berat' => 'required|numeric', + 'permohonan_id' => 'required|exists:permohonan,id', + 'nomor_laporan' => 'nullable|string|max:255', + 'tgl_final_laporan' => 'nullable|date', + 'nilai_pasar' => 'nullable|numeric', + 'indikasi_nilai_likuidasi' => 'nullable|numeric', + 'indikasi_nilai_pasar_tanah' => 'nullable|numeric', + 'estimasi_harga_tanah' => 'nullable|numeric', + 'estimasi_harga_bangunan' => 'nullable|numeric', + 'indikasi_nilai_pasar_bangunan' => 'nullable|numeric', + 'indikasi_nilai_pasar_sarana_pelengkap' => 'nullable|numeric', + 'indikasi_nilai_pasar_mesin' => 'nullable|numeric', + 'indikasi_nilai_pasar_kendaraan_alat_berat' => 'nullable|numeric', 'file_resume' => 'nullable|file|mimes:pdf|max:10240', // 10MB max 'file_laporan' => 'nullable|file|mimes:pdf|max:10240', ]; diff --git a/database/migrations/2025_03_06_012851_create_laporan_externals_table.php b/database/migrations/2025_03_06_012851_create_laporan_externals_table.php index 727abcf..c721a93 100644 --- a/database/migrations/2025_03_06_012851_create_laporan_externals_table.php +++ b/database/migrations/2025_03_06_012851_create_laporan_externals_table.php @@ -3,8 +3,9 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; + use Modules\Lpj\Models\Permohonan; -return new class extends Migration + return new class extends Migration { /** * Run the migrations. @@ -13,7 +14,7 @@ return new class extends Migration { Schema::create('laporan_externals', function (Blueprint $table) { $table->id(); - $table->foreignId('permohonan_id')->constrained('permohonans')->onDelete('cascade'); + $table->foreignIdFor(Permohonan::class)->constrained('permohonan')->onDelete('cascade'); $table->string('nomor_laporan'); $table->date('tgl_final_laporan'); $table->decimal('nilai_pasar', 15, 2); diff --git a/module.json b/module.json index d656031..74efc94 100644 --- a/module.json +++ b/module.json @@ -218,6 +218,18 @@ "admin" ] }, + { + "title": "Laporan External", + "path": "laporan-external", + "icon": "ki-filled ki-document text-lg text-primary", + "classes": "", + "attributes": [], + "permission": "", + "roles": [ + "administrator", + "admin" + ] + }, { "title": "Registrasi Final", "path": "registrasifinal", diff --git a/resources/views/laporan_external/create.blade.php b/resources/views/laporan_external/create.blade.php new file mode 100644 index 0000000..72a9c8d --- /dev/null +++ b/resources/views/laporan_external/create.blade.php @@ -0,0 +1,167 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection + +@section('content') +
+
+ @csrf + @if(isset($laporanExternal)) + @method('PUT') + @endif +
+
+

+ {{ isset($laporanExternal) ? 'Edit' : 'Tambah' }} Laporan External +

+
+ Back +
+
+
+
+ + +
+ {{ $permohonan->nomor_registrasi }} +
+
+
+ +
+ + @error('nomor_laporan') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('tgl_final_laporan') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('nilai_pasar') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('indikasi_nilai_likuidasi') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('indikasi_nilai_pasar_tanah') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('estimasi_harga_tanah') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('estimasi_harga_bangunan') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('indikasi_nilai_pasar_bangunan') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('indikasi_nilai_pasar_sarana_pelengkap') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('indikasi_nilai_pasar_mesin') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('indikasi_nilai_pasar_kendaraan_alat_berat') + {{ $message }} + @enderror +
+
+
+ +
+ + @if(isset($laporanExternal) && $laporanExternal->file_resume) +

File saat ini:

File saat ini: + {{ basename($laporanExternal->file_resume) }} +

+ @endif + @error('file_resume') + {{ $message }} + @enderror +
+
+
+ +
+ + @if(isset($laporanExternal) && $laporanExternal->file_laporan) +

File saat ini: + {{ basename($laporanExternal->file_laporan) }} +

+ @endif + @error('file_laporan') + {{ $message }} + @enderror +
+
+ +
+ +
+ +
+@endsection diff --git a/resources/views/laporan_external/index.blade.php b/resources/views/laporan_external/index.blade.php new file mode 100644 index 0000000..e04b544 --- /dev/null +++ b/resources/views/laporan_external/index.blade.php @@ -0,0 +1,223 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('laporan-external') }} +@endsection + +@section('content') +
+
+
+

+ Daftar Laporan External +

+ +
+
+
+
PT Bank Artha Graha Internasional.
Sub Direktorat Appraisal
{{ $penawaran->kjpp_name }}KJPP {{ $penawaran->kjpp_name }}

{{ getUser($penawaran->authorized_by)->name }}
- {{ getUser($penawaran->authorized_by)->getRoleNames()[0] }} + {{ getUser($penawaran->authorized_by)->getRoleNames()[0] == 'DD Appraisal' ? 'DD Operation 2' : getUser($penawaran->authorized_by)->getRoleNames()[0] }}
(……………………………………..)
PT Bank Artha Graha Internasional.
Sub Direktorat Appraisal
- {{ $penawaran->kjpp_name }}

{{ getUser($penawaran->authorized_by)->name }}
- {{ getUser($penawaran->authorized_by)->getRoleNames()[0] }} + {{ getUser($penawaran->authorized_by)->getRoleNames()[0] == 'DD Appraisal' ? 'DD Operation 2' : getUser($penawaran->authorized_by)->getRoleNames()[0] }}
(……………………………………..)
+ + + + + + + + + + + + + + + + + + +
+ + + Nomor Laporan + + + Tanggal Final Laporan + + + Nilai Pasar + + + Indikasi Nilai Likuidasi + + + Indikasi Nilai Pasar Tanah + + + Estimasi Harga Bangunan + + + Indikasi Nilai Pasar Bangunan + + + Indikasi Nilai Pasar Sarana Pelengkap + + + Indikasi Nilai Pasar Mesin + + + Indikasi Nilai Pasar Kendaraan/Alat Berat + + + File Resume + + + File Laporan + + Action
+ + + + + +@endsection + +@push('scripts') + + +@endpush diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 743708f..f4271d8 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -673,5 +673,26 @@ $trail->push('Proses NOC'); }); + Breadcrumbs::for('laporan-external', function (BreadcrumbTrail $trail) { + $trail->push('Laporan External', route('laporan-external.index')); + }); + + Breadcrumbs::for('laporan-external.show', function (BreadcrumbTrail $trail) { + $trail->parent('laporan-external'); + $trail->push('Show Laporan External'); + }); + + + Breadcrumbs::for('laporan-external.create', function (BreadcrumbTrail $trail) { + $trail->parent('laporan-external'); + $trail->push('Tambah Laporan External', route('laporan-external.create')); + }); + + + Breadcrumbs::for('laporan-external.edit', function (BreadcrumbTrail $trail) { + $trail->parent('laporan-external'); + $trail->push('Data Laporan External'); + }); + // add andy require __DIR__ . '/breadcrumbs_registrasi.php'; diff --git a/routes/web.php b/routes/web.php index ad15ecf..d922846 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,7 +17,8 @@ use Modules\Lpj\Http\Controllers\JenisLegalitasJaminanController; use Modules\Lpj\Http\Controllers\JenisPenilaianController; use Modules\Lpj\Http\Controllers\KJPPController; use Modules\Lpj\Http\Controllers\LaporanController; -use Modules\Lpj\Http\Controllers\NilaiPlafondController; + use Modules\Lpj\Http\Controllers\LaporanExternalController; + use Modules\Lpj\Http\Controllers\NilaiPlafondController; use Modules\Lpj\Http\Controllers\NocController; use Modules\Lpj\Http\Controllers\PembatalanController; use Modules\Lpj\Http\Controllers\PemilikJaminanController; @@ -242,7 +243,6 @@ Route::middleware(['auth'])->group(function () { Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); }); Route::resource('arah-mata-angin', ArahMataAnginController::class); - Route::resource('arah-mata-angin', ArahMataAnginController::class); Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); @@ -630,6 +630,14 @@ Route::middleware(['auth'])->group(function () { ->name('noc.datatables'); Route::resource('noc', NocController::class); + + Route::name('laporan-external.')->prefix('laporan-external')->group(function () { + Route::get('datatables', [LaporanExternalController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [LaporanExternalController::class, 'export'])->name('export'); + }); + Route::resource('laporan-external', LaporanExternalController::class); + + }); require __DIR__ . '/registrasi.php'; From adbe57e709f311848dd25bcc023e4cf90bebe9c8 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 6 Mar 2025 10:13:08 +0700 Subject: [PATCH 06/31] feat(pembayaran): tambahkan pembuatan laporan eksternal - Menambahkan logika untuk membuat laporan eksternal setelah pembaruan data permohonan. - Menggunakan model LaporanExternal untuk menyimpan data laporan. - Memastikan bahwa laporan mencakup ID permohonan dan nomor registrasi. --- app/Http/Controllers/PembayaranController.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/Http/Controllers/PembayaranController.php b/app/Http/Controllers/PembayaranController.php index f6fe6de..806a411 100644 --- a/app/Http/Controllers/PembayaranController.php +++ b/app/Http/Controllers/PembayaranController.php @@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Validator; use Maatwebsite\Excel\Facades\Excel; use Modules\Lpj\Http\Requests\PersetujuanPenawaranRequest; +use Modules\Lpj\Models\LaporanExternal; use Modules\Lpj\Models\PenawaranTender; use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\PersetujuanPenawaran; @@ -235,6 +236,13 @@ class PembayaranController extends Controller 'updated_by' => Auth::id(), 'updated_at' => now(), ]); + + LaporanExternal::create([ + 'permohonan_id' => $permohonan->id, + 'nomor_laporan' => $permohonan->nomor_registrasi, + 'tanggal_laporan' => now(), + 'created_by' => Auth::id(), + ]); } } From bd391bacec6ada22d19e99b48f838aceed0ec20a Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 6 Mar 2025 10:13:31 +0700 Subject: [PATCH 07/31] fix(registrasi): hapus field SLA dari form registrasi - Menghapus field SLA dari tampilan form registrasi. - Memperbarui validasi untuk tidak lagi memerlukan SLA. - Menyesuaikan penanganan data di controller dan JavaScript. --- app/Http/Controllers/RegistrasiController.php | 5 ---- resources/views/registrasi/edit.blade.php | 10 +------- .../views/registrasi/js/editjs.blade.php | 25 ++++++------------- resources/views/registrasi/show.blade.php | 11 +------- 4 files changed, 9 insertions(+), 42 deletions(-) diff --git a/app/Http/Controllers/RegistrasiController.php b/app/Http/Controllers/RegistrasiController.php index 42efcea..4695cbd 100644 --- a/app/Http/Controllers/RegistrasiController.php +++ b/app/Http/Controllers/RegistrasiController.php @@ -153,7 +153,6 @@ class RegistrasiController extends Controller if ($tindakan == 0) { $dataku['jenis_penilaian_id'] = $request->jenis_penilaian; $dataku['region_id'] = $request->region; - $dataku['sla'] = $request->sla; $dataku['status'] = 'registered'; if ($request->catatan2) { $dataku['registrasi_catatan'] = $request->catatan2; @@ -209,11 +208,7 @@ class RegistrasiController extends Controller if (1 == $jenis_penilaian) { $validateIt['region'] = ['required']; $messageIt ['region.required'] = 'Silahkan pilih Region'; - } else { - $validateIt['sla'] = ['required']; - $messageIt ['sla.required'] = 'Silahkan isi SLA'; } - } elseif ($tindakan == 1) { $validateIt['catatan'] = ['required']; $messageIt ['catatan.required'] = 'Silahkan isi Catatan'; diff --git a/resources/views/registrasi/edit.blade.php b/resources/views/registrasi/edit.blade.php index 59b0d03..0b6af09 100644 --- a/resources/views/registrasi/edit.blade.php +++ b/resources/views/registrasi/edit.blade.php @@ -72,15 +72,7 @@ -
- -
- - -
-
+
@include('lpj::penilai.components.informasi-pembanding') diff --git a/resources/views/penilai/components/informasi-pembanding.blade.php b/resources/views/penilai/components/informasi-pembanding.blade.php index 2d8c34c..c4d0efc 100644 --- a/resources/views/penilai/components/informasi-pembanding.blade.php +++ b/resources/views/penilai/components/informasi-pembanding.blade.php @@ -51,7 +51,7 @@
- {{ isset($item['harga_diskon']) ? formatRupiah($item['harga_diskon']) : '' }} + {{ isset($item['total']) ? formatRupiah($item['total']) : '' }}
@@ -60,11 +60,10 @@ {{ $item['telepon'] }}
-
- +
- {{ $item['penawaran'] ?? '' }} + {{ isset($item['tanggal']) ? formatTanggalIndonesia($item['tanggal']) : '' }}
diff --git a/resources/views/penilai/components/memo.blade.php b/resources/views/penilai/components/memo.blade.php index 2aefa66..8646e92 100644 --- a/resources/views/penilai/components/memo.blade.php +++ b/resources/views/penilai/components/memo.blade.php @@ -289,6 +289,25 @@ +
+
+
+

Upload Foto

+
+ +
+
+ +
+

Drop files here or click to upload.

+ Upload up to 10 files +
+
+
+
+
+ {{-- @include('lpj::penilai.components.foto-lampiran') --}}
- @if ($permohonan->penilai->kertas_kerja) + @if (isset($permohonan->penilai) && isset($permohonan->penilai->kertas_kerja) && $permohonan->penilai->kertas_kerja) Lihat Kertas Kerja diff --git a/resources/views/surveyor/components/data-pembanding.blade.php b/resources/views/surveyor/components/data-pembanding.blade.php index 133afa4..7275b64 100644 --- a/resources/views/surveyor/components/data-pembanding.blade.php +++ b/resources/views/surveyor/components/data-pembanding.blade.php @@ -43,22 +43,22 @@
-
-
- -
-
-
- - -
+
+
+ +
+
+
+ + +
+
+
-
-
+
+ +
+ + +
+
-

+
+
+ +
+ + +
+