From 26d960b84ebab21ba2d5ec4b4c67de87182088fe Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 10 Oct 2024 10:42:11 +0700 Subject: [PATCH 01/16] update icon --- resources/views/prosespenawaran/index.blade.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/views/prosespenawaran/index.blade.php b/resources/views/prosespenawaran/index.blade.php index d07fe91..1c86f53 100644 --- a/resources/views/prosespenawaran/index.blade.php +++ b/resources/views/prosespenawaran/index.blade.php @@ -79,8 +79,8 @@ @push('scripts') @@ -129,10 +129,10 @@ render: (item, data) => { return `
- + - +
`; }, @@ -147,7 +147,7 @@ dataTable.search(searchValue, true); }); - + @endpush From c64b801f53662c016ffae6d4020e377e023ae2f8 Mon Sep 17 00:00:00 2001 From: rahmatrafli1 Date: Thu, 10 Oct 2024 10:46:09 +0700 Subject: [PATCH 02/16] Menyembunyikan status pada tambah penawaran dan form penawaran ulang --- resources/views/penawaran/create.blade.php | 6 +++++- resources/views/penawaran/edit.blade.php | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/resources/views/penawaran/create.blade.php b/resources/views/penawaran/create.blade.php index bc023e5..45d0930 100644 --- a/resources/views/penawaran/create.blade.php +++ b/resources/views/penawaran/create.blade.php @@ -168,7 +168,7 @@ @enderror -
+
@@ -213,5 +213,9 @@ color: var(--tw-gray-600); } } + + .status-custom { + display: none + } @endpush diff --git a/resources/views/penawaran/edit.blade.php b/resources/views/penawaran/edit.blade.php index d94e8d9..364ac76 100644 --- a/resources/views/penawaran/edit.blade.php +++ b/resources/views/penawaran/edit.blade.php @@ -173,7 +173,7 @@ @enderror
-
+
@@ -219,5 +219,9 @@ color: var(--tw-gray-600); } } + + .status-custom { + display: none + } @endpush From d5d3811e683dcbe8baf1944df31a596759807cf9 Mon Sep 17 00:00:00 2001 From: rahmatrafli1 Date: Thu, 10 Oct 2024 10:50:58 +0700 Subject: [PATCH 03/16] Menambahkan Sub Menu Jenis Laporan pada Menu Basic Data --- module.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/module.json b/module.json index 0349958..b544b90 100644 --- a/module.json +++ b/module.json @@ -308,6 +308,14 @@ "permission": "", "roles": ["Administrator", "admin"] }, + { + "title": "Jenis Laporan", + "path": "basicdata.jenis_laporan", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["Administrator", "admin"] + }, { "title": "Tujuan Penilaian KJPP", "path": "basicdata.tujuan_penilaian_kjpp", From cb540a52d533c947f2e64e92b7a6bdc5333d2d52 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Sun, 13 Oct 2024 05:39:28 +0700 Subject: [PATCH 04/16] Remove CDN SweetAlert --- resources/views/Ijin_usaha/index.blade.php | 1 - resources/views/arah_mata_angin/index.blade.php | 1 - resources/views/authorization/index.blade.php | 1 - resources/views/branch/index.blade.php | 1 - resources/views/currency/index.blade.php | 1 - resources/views/debitur/components/jaminan.blade.php | 1 - resources/views/debitur/components/pemilik.blade.php | 3 +-- resources/views/debitur/index.blade.php | 1 - resources/views/hubungan_pemilik_jaminan/index.blade.php | 1 - resources/views/hubungan_penghuni_jaminan/index.blade.php | 1 - resources/views/jenis_aset/index.blade.php | 1 - resources/views/jenis_dokumen/index.blade.php | 1 - resources/views/jenis_fasilitas_kredit/index.blade.php | 1 - resources/views/jenis_jaminan/index.blade.php | 1 - resources/views/jenis_laporan/index.blade.php | 1 - resources/views/jenis_legalitas_jaminan/index.blade.php | 1 - resources/views/jenis_penilaian/index.blade.php | 1 - resources/views/kjpp/index.blade.php | 1 - resources/views/nilai_plafond/index.blade.php | 1 - resources/views/penawaran/index.blade.php | 1 - resources/views/penawaran_ulang/index.blade.php | 1 - resources/views/penilaian/index.blade.php | 1 - resources/views/penilaian/otorisator/index.blade.php | 1 - resources/views/permohonan/authorization/index.blade.php | 1 - resources/views/permohonan/create.blade.php | 1 - resources/views/permohonan/index.blade.php | 1 - resources/views/region/index.blade.php | 1 - resources/views/status_permohonan/index.blade.php | 1 - resources/views/teams/index.blade.php | 1 - resources/views/tujuan_penilaian/index.blade.php | 1 - resources/views/tujuan_penilaian_kjpp/index.blade.php | 1 - 31 files changed, 1 insertion(+), 32 deletions(-) diff --git a/resources/views/Ijin_usaha/index.blade.php b/resources/views/Ijin_usaha/index.blade.php index 2d225d5..f3c7564 100644 --- a/resources/views/Ijin_usaha/index.blade.php +++ b/resources/views/Ijin_usaha/index.blade.php @@ -68,7 +68,6 @@ @endsection @push('scripts') - - \ No newline at end of file + From bb7eae74f3ff59b948af037fbb28d966c8adceec Mon Sep 17 00:00:00 2001 From: majid Date: Mon, 14 Oct 2024 14:16:52 +0700 Subject: [PATCH 06/16] tambah form di surveyor --- app/Http/Controllers/SurveyorController.php | 112 ++- module.json | 11 +- .../views/penilaian/resume/index.blade.php | 0 .../components/data-pembanding.blade.php | 117 +++ .../views/surveyor/components/denah.blade.php | 14 + .../components/form-inspeksi.blade.php | 813 ++++++++++++++++++ .../views/surveyor/components/foto.blade.php | 89 ++ resources/views/surveyor/detail.blade.php | 57 +- resources/views/surveyor/index.blade.php | 14 +- routes/breadcrumbs.php | 21 + routes/web.php | 13 + 11 files changed, 1240 insertions(+), 21 deletions(-) create mode 100644 resources/views/penilaian/resume/index.blade.php create mode 100644 resources/views/surveyor/components/data-pembanding.blade.php create mode 100644 resources/views/surveyor/components/denah.blade.php create mode 100644 resources/views/surveyor/components/form-inspeksi.blade.php create mode 100644 resources/views/surveyor/components/foto.blade.php diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index b70a9b1..5a19d19 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -7,6 +7,8 @@ use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; use Modules\Lpj\Models\Permohonan; +use Modules\Lpj\Models\Branch; +use Modules\Location\Models\Province; class SurveyorController extends Controller { @@ -52,7 +54,13 @@ class SurveyorController extends Controller 'penilaian' ], )->findOrFail($id); - return view('lpj::surveyor.detail', compact('permohonan')); + + $surveyor = $id; + $branches = Branch::all(); + $provinces = Province::all(); + + + return view('lpj::surveyor.detail', compact('permohonan', 'surveyor', 'branches', 'provinces')); } /** @@ -131,10 +139,106 @@ class SurveyorController extends Controller ]); } /** - * Remove the specified resource from storage. + * Form inspeksi. */ - public function destroy($id) + + public function formInspeksi($id) { - // + $permohonan = Permohonan::with( + [ + 'user', + 'debiture.province', + 'debiture.city', + 'debiture.district', + 'debiture.village', + 'branch', + 'tujuanPenilaian', + 'penilaian' + ], + )->findOrFail($id); + $branches = Branch::all(); + $provinces = Province::all(); + + return view('lpj::surveyor.detail', compact('permohonan', 'branches', 'provinces')); } + + /** + * Denah. + */ + + public function denah($id) + { + $permohonan = Permohonan::with( + [ + 'user', + 'debiture.province', + 'debiture.city', + 'debiture.district', + 'debiture.village', + 'branch', + 'tujuanPenilaian', + 'penilaian' + ], + )->findOrFail($id); + $surveyor = $id; + $branches = Branch::all(); + $provinces = Province::all(); + + return view('lpj::surveyor.detail', compact('permohonan', 'surveyor', 'branches', 'provinces')); + } + + /** + * Foto. + */ + + public function foto($id) + { + $permohonan = Permohonan::with( + [ + 'user', + 'debiture.province', + 'debiture.city', + 'debiture.district', + 'debiture.village', + 'branch', + 'tujuanPenilaian', + 'penilaian' + ], + )->findOrFail($id); + $surveyor = $id; + $branches = Branch::all(); + $provinces = Province::all(); + + return view('lpj::surveyor.detail', compact('permohonan', 'surveyor', 'branches', 'provinces')); + } + + /** + * Data pembanding. + */ + + public function dataPembanding($id) + { + $permohonan = Permohonan::with( + [ + 'user', + 'debiture.province', + 'debiture.city', + 'debiture.district', + 'debiture.village', + 'branch', + 'tujuanPenilaian', + 'penilaian' + ], + )->findOrFail($id); + $surveyor = $id; + $branches = Branch::all(); + $provinces = Province::all(); + + return view('lpj::surveyor.detail', compact('permohonan', 'surveyor', 'branches', 'provinces')); + } + + + + + } diff --git a/module.json b/module.json index 7b033cf..dbc64eb 100644 --- a/module.json +++ b/module.json @@ -150,6 +150,15 @@ } ] }, + { + "title": "Surveyor", + "path": "surveyor", + "icon": "ki-filled ki-questionnaire-tablet text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["surveyor"] + }, { "title": "Activity", @@ -158,7 +167,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": ["administrator", "pemohon-ao", "pemohon-eo", "admin"] + "roles": ["administrator", "pemohon-ao", "pemohon-eo", "admin","surveyor"] }, { "title": "Laporan", diff --git a/resources/views/penilaian/resume/index.blade.php b/resources/views/penilaian/resume/index.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/surveyor/components/data-pembanding.blade.php b/resources/views/surveyor/components/data-pembanding.blade.php new file mode 100644 index 0000000..09d6684 --- /dev/null +++ b/resources/views/surveyor/components/data-pembanding.blade.php @@ -0,0 +1,117 @@ +
+ @if(isset($debitur->id)) + + @method('PUT') + @endif + @csrf + +
+ +
+
+
+ + @error('province_code') + {{ $message }} + @enderror +
+
+ + @error('city_code') + {{ $message }} + @enderror +
+
+
+
+ + @error('district_code') + {{ $message }} + @enderror +
+
+ + @error('district_code') + {{ $message }} + @enderror +
+
+ + @error('postal_code') + {{ $message }} + @enderror +
+
+
+ + @error('address') + {{ $message }} + @enderror +
+
+
+ +
diff --git a/resources/views/surveyor/components/denah.blade.php b/resources/views/surveyor/components/denah.blade.php new file mode 100644 index 0000000..13986e2 --- /dev/null +++ b/resources/views/surveyor/components/denah.blade.php @@ -0,0 +1,14 @@ +
+ @if(isset($debitur->id)) + + @method('PUT') + @endif + @csrf + +
+
+ +
+
+ +
diff --git a/resources/views/surveyor/components/form-inspeksi.blade.php b/resources/views/surveyor/components/form-inspeksi.blade.php new file mode 100644 index 0000000..1619bd1 --- /dev/null +++ b/resources/views/surveyor/components/form-inspeksi.blade.php @@ -0,0 +1,813 @@ +@push('scripts') + {{-- --}} +@endpush + + +
+ @if (isset($debitur->id)) + + @method('PUT') + @endif + @csrf + + +
+
+

Analisa Tanah

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

Analisa Bangunan

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

Analisis Lingkungan

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

Lalulintas Depan Lokasi

+
+ + + +
+
+ + +
+

Golongan Hidup Sekitar

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

Tingkat Keramaian

+
+ + + +
+
+ + +
+

Terletak di Area

+
+ + + +
+
+ + +
+

Struktur Letak

+
+ + +
+
+ + +
+

Dekat Makam

+
+ + +
+
+ + +
+

Dekat Tps

+
+ + +
+
+ + +
+

Merupakan daerah

+
+ + + +
+
+ + +
+

Fasilitas Umum Ddekat Object

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

Analisis Fakta

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

Informasi Dinas Tata Ruang

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

Catatan yang Perlu Diperhatikan

+ +
+
+
+ +
diff --git a/resources/views/surveyor/components/foto.blade.php b/resources/views/surveyor/components/foto.blade.php new file mode 100644 index 0000000..9d39cd3 --- /dev/null +++ b/resources/views/surveyor/components/foto.blade.php @@ -0,0 +1,89 @@ +
+ @if (isset($debitur->id)) + + @method('PUT') + @endif + @csrf + +
+
+

Rute Menuju Lokasi

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

Objeck Jaminan

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

Linkungan

+ + + +
+
+ + +
+
+ +
+ + +@push('script') + + + +@endpush diff --git a/resources/views/surveyor/detail.blade.php b/resources/views/surveyor/detail.blade.php index 885d5fb..ee4a892 100644 --- a/resources/views/surveyor/detail.blade.php +++ b/resources/views/surveyor/detail.blade.php @@ -148,15 +148,58 @@
- {{--
-

- Data Jaminan -

-
--}} +
+ +
+ @if(request()->routeIs('surveyor.show',$surveyor)) + @include('lpj::surveyor.components.form-inspeksi') + + @elseif(request()->routeIs('surveyor.denah',$surveyor)) + + @include('lpj::surveyor.components.denah') + + @elseif(request()->routeIs('surveyor.foto', $surveyor)) + @include('lpj::surveyor.components.foto') + + @elseif(request()->routeIs('surveyor.data-pembanding', $surveyor)) + + @include('lpj::surveyor.components.data-pembanding') + @endif +
+
+ +
@endsection + +@push('scripts') + + + +@endpush diff --git a/resources/views/surveyor/index.blade.php b/resources/views/surveyor/index.blade.php index 6006e88..04827dc 100644 --- a/resources/views/surveyor/index.blade.php +++ b/resources/views/surveyor/index.blade.php @@ -22,13 +22,13 @@
-
-
- Surveyor -
+ + +

- {{-- Daftar {{}} --}} + Surveyor

@@ -44,10 +44,6 @@
-
- -
diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 8a2985c..8b5a8b5 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -436,6 +436,27 @@ Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) { $trail->push('Detail'); }); +Breadcrumbs::for('surveyor.form-inspeksi', function (BreadcrumbTrail $trail) { + $trail->parent('surveyor'); + $trail->push('Form Inspeksi'); +}); + +Breadcrumbs::for('surveyor.denah', function (BreadcrumbTrail $trail) { + $trail->parent('surveyor'); + $trail->push('Denah'); +}); + +Breadcrumbs::for('surveyor.foto', function (BreadcrumbTrail $trail) { + $trail->parent('surveyor'); + $trail->push('Form Foto'); +}); + +Breadcrumbs::for('surveyor.data-pembanding', function (BreadcrumbTrail $trail) { + $trail->parent('surveyor'); + $trail->push('Form Pembanding'); +}); + + Breadcrumbs::for('registrasi', function (BreadcrumbTrail $trail) { $trail->push('Registrasi', route('registrasi.index')); }); diff --git a/routes/web.php b/routes/web.php index 0dbc67f..b3bb461 100644 --- a/routes/web.php +++ b/routes/web.php @@ -495,6 +495,19 @@ Route::middleware(['auth'])->group(function () { Route::get('/datatables/{otorisator}', [PenilaianController::class, 'dataForAuthorization'])->name('datatables'); Route::get('show/{id}', [PenilaianController::class, 'show'])->name('show'); }); + + + + Route::name('surveyor.')->prefix('surveyor')->group(function () { + Route::get('/', [SurveyorController::class, 'index'])->name('index'); + Route::get('{id}/show', [SurveyorController::class, 'show'])->name('show'); + Route::get('datatables', [SurveyorController::class, 'dataForDatatables'])->name('datatables'); + Route::get('form-inspeksi/{id}', [SurveyorController::class, 'formInspeksi'])->name('form-inspeksi'); + Route::get('denah/{id}', [SurveyorController::class, 'denah'])->name('denah'); + Route::get('foto/{id}', [SurveyorController::class, 'foto'])->name('foto'); + Route::get('data-pembanding/{id}', [SurveyorController::class, 'dataPembanding'])->name('data-pembanding'); + }); + }); require __DIR__ . '/registrasi.php'; From 6dc923776b0430d1af31df2198e50b5ddb0b045e Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Tue, 15 Oct 2024 22:05:51 +0700 Subject: [PATCH 07/16] Add Lpj Helper, penambahan function formatAlamat - Fix Pengambilan Alamat pada Module Detail Dokumen dan Jaminan agar terstandarisasi --- app/Helpers/Lpj.php | 10 +++ module.json | 4 +- resources/views/assetsku/includenya.blade.php | 2 +- .../debitur/components/dokumen.blade.php | 72 ++++++++++--------- .../debitur/components/jaminan.blade.php | 2 +- 5 files changed, 53 insertions(+), 37 deletions(-) create mode 100644 app/Helpers/Lpj.php diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php new file mode 100644 index 0000000..2d2a379 --- /dev/null +++ b/app/Helpers/Lpj.php @@ -0,0 +1,10 @@ +address ? $alamat->address . ', ' : '') . + (isset($alamat->village) ? $alamat->village->name.', ' : '') . + (isset($alamat->city) ? $alamat->city->name.', ' : '') . + (isset($alamat->province) ? $alamat->province->name.', ' : '') . + ($alamat->postal_code ?? ''); + } diff --git a/module.json b/module.json index 7b033cf..48cb483 100644 --- a/module.json +++ b/module.json @@ -6,7 +6,9 @@ "keywords": [], "priority": 0, "providers": ["Modules\\Lpj\\Providers\\LpjServiceProvider"], - "files": [], + "files": [ + "app/Helpers/Lpj.php" + ], "menu": { "main": [ { diff --git a/resources/views/assetsku/includenya.blade.php b/resources/views/assetsku/includenya.blade.php index efbdfbf..f646e05 100644 --- a/resources/views/assetsku/includenya.blade.php +++ b/resources/views/assetsku/includenya.blade.php @@ -1,4 +1,4 @@ - + +@endpush diff --git a/resources/views/surveyor/components/tanah-bangunan.blade.php b/resources/views/surveyor/components/tanah-bangunan.blade.php new file mode 100644 index 0000000..009fab6 --- /dev/null +++ b/resources/views/surveyor/components/tanah-bangunan.blade.php @@ -0,0 +1,384 @@ +
+
+

Analisa Tanah

+
+
+ + +
+ +
+
+ + +
+ + @error('bentuk_tanah') + {{ $message }} + @enderror +
+
+ + +
+ +
+ + + @error('bentuk_tanah') + {{ $message }} + @enderror +
+
+ + +
+ +
+ + + @error('bentuk_tanah') + {{ $message }} + @enderror +
+
+ +
+ +
+ + + @error('konturTanah') + {{ $message }} + @enderror +
+
+ + + +
+ +
+ + + @error('ketinggianTanah') + {{ $message }} + @enderror +
+
+ + + + +
+ +
+
+ + +
+ + @error('bentuk_tanah') + {{ $message }} + @enderror +
+
+ + +
+ +
+ + + @error('posisiKavling') + {{ $message }} + @enderror +
+
+ + + +
+ +
+
+ + +
+ + @error('bentuk_tanah') + {{ $message }} + @enderror +
+
+ + +
+ +
+
+ + +
+ + @error('bentuk_tanah') + {{ $message }} + @enderror +
+
+ + + +
+ +
+ + + @error('kondisiFisikTanah') + {{ $message }} + @enderror +
+
+
+
+ +
+
+

Analisa Bangunan

+
+
+ + +
+ +
+
+ + +
+ + @error('bentuk_tanah') + {{ $message }} + @enderror +
+
+ + + +
+ +
+ + + @error('jenisBangunan') + {{ $message }} + @enderror +
+
+ + +
+ +
+ + + @error('kondisiBangunan') + {{ $message }} + @enderror +
+
+ + +
+ +
+ + + @error('sifatBangunan') + {{ $message }} + @enderror +
+
+ + +
+ +
+ +
+ @if (@isset($spekKategoriBagunan)) + @foreach ($spekKategoriBagunan as $item) +
+ +
+ + + @error('kondisiFisikTanah') + {{ $message }} + @enderror + +
+
+ @endforeach + + @endif + + + + +
+ + + +
+
+ + + + +
+ +
+ + + @error('saranaPelengkap') + {{ $message }} + @enderror +
+
+ +
+
From 8cfe31cb8bdce7856ebf15addb5fb8b298b54ea0 Mon Sep 17 00:00:00 2001 From: rahmatrafli1 Date: Wed, 16 Oct 2024 08:55:58 +0700 Subject: [PATCH 09/16] Menambahkan function formatTanggalIndonesia dan formatRupiah di Helper di Module LPJ --- app/Helpers/Lpj.php | 47 ++++++++++++++++++++---- resources/views/penawaran/show.blade.php | 36 ++---------------- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php index 2d2a379..6a4c032 100644 --- a/app/Helpers/Lpj.php +++ b/app/Helpers/Lpj.php @@ -1,10 +1,41 @@ address ? $alamat->address . ', ' : '') . - (isset($alamat->village) ? $alamat->village->name.', ' : '') . - (isset($alamat->city) ? $alamat->city->name.', ' : '') . - (isset($alamat->province) ? $alamat->province->name.', ' : '') . - ($alamat->postal_code ?? ''); - } +use Carbon\Carbon; + +function formatTanggalIndonesia($date) +{ + $carbonDate = Carbon::parse($date); + $indonesianMonths = [ + 'Januari', + 'Februari', + 'Maret', + 'April', + 'Mei', + 'Juni', + 'Juli', + 'Agustus', + 'September', + 'Oktober', + 'November', + 'Desember', + ]; + $month = $indonesianMonths[$carbonDate->month - 1]; + return $carbonDate->format('d') . ' ' . $month . ' ' . $carbonDate->format('Y'); +} + + +function formatRupiah($number) +{ + $number = (float) $number; + return 'Rp ' . number_format($number, 2, ',', '.'); +} + + +function formatAlamat($alamat) +{ + return ($alamat->address ? $alamat->address . ', ' : '') . + (isset($alamat->village) ? $alamat->village->name . ', ' : '') . + (isset($alamat->city) ? $alamat->city->name . ', ' : '') . + (isset($alamat->province) ? $alamat->province->name . ', ' : '') . + ($alamat->postal_code ?? ''); +} diff --git a/resources/views/penawaran/show.blade.php b/resources/views/penawaran/show.blade.php index 3abf675..1e7b935 100644 --- a/resources/views/penawaran/show.blade.php +++ b/resources/views/penawaran/show.blade.php @@ -1,35 +1,3 @@ -@php - function formatTanggalIndonesia($date) - { - $carbonDate = \Carbon\Carbon::parse($date); - $indonesianMonths = [ - 'Januari', - 'Februari', - 'Maret', - 'April', - 'Mei', - 'Juni', - 'Juli', - 'Agustus', - 'September', - 'Oktober', - 'November', - 'Desember', - ]; - $month = $indonesianMonths[$carbonDate->month - 1]; - return $carbonDate->format('d') . ' ' . $month . ' ' . $carbonDate->format('Y'); - } - - function formatRupiah($number) - { - // Convert to float if the input is a string - $number = (float) $number; - - return 'Rp ' . number_format($number, 2, ',', '.'); - } -@endphp - - @extends('layouts.main') @section('breadcrumbs') @@ -199,4 +167,6 @@
- @endsection +
+
+@endsection From dfc9ea74ec4a4836fa5fea5c9ff75858b12c8287 Mon Sep 17 00:00:00 2001 From: majid Date: Wed, 16 Oct 2024 16:41:39 +0700 Subject: [PATCH 10/16] pembuatan basic data surveyor --- app/Http/Controllers/SurveyorController.php | 280 +++++++++++++++++- app/Http/Requests/SurveyorRequest.php | 64 ++++ app/Models/BentukTanah.php | 3 +- app/Models/JenisBangunan.php | 3 +- app/Models/KetinggianTanah.php | 2 +- app/Models/KondisiFisikTanah.php | 2 +- app/Models/KonturTanah.php | 2 +- app/Models/LaliLintasLokasi.php | 22 -- app/Models/LaluLintasLokasi.php | 3 +- app/Models/PerkerasanJalan.php | 2 +- app/Models/PosisiKavling.php | 2 +- app/Models/SaranaPelengkap.php | 2 +- app/Models/SifatBangunan.php | 2 +- app/Models/TingkatKeramaian.php | 2 +- module.json | 72 ++++- resources/views/penilaian/form.blade.php | 89 ------ .../components/form-inspeksi.blade.php | 78 ++++- .../components/tanah-bangunan.blade.php | 20 +- resources/views/surveyor/data/form.blade.php | 63 ++++ resources/views/surveyor/data/index.blade.php | 153 ++++++++++ resources/views/surveyor/detail.blade.php | 9 +- routes/web.php | 31 ++ 22 files changed, 746 insertions(+), 160 deletions(-) create mode 100644 app/Http/Requests/SurveyorRequest.php delete mode 100644 app/Models/LaliLintasLokasi.php create mode 100644 resources/views/surveyor/data/form.blade.php create mode 100644 resources/views/surveyor/data/index.blade.php diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 1e707dc..cc1822a 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -22,7 +22,7 @@ use Modules\Lpj\Models\SpekBangunan; use Modules\Lpj\Models\SpekKategoritBangunan; use Modules\Lpj\Models\SaranaPelengkap; use Modules\Lpj\Models\ArahMataAngin; - +use Modules\Lpj\Http\Requests\SurveyorRequest; class SurveyorController extends Controller { @@ -35,21 +35,7 @@ class SurveyorController extends Controller return view('lpj::surveyor.index'); } - /** - * Show the form for creating a new resource. - */ - public function create() - { - return view('lpj::create'); - } - /** - * Store a newly created resource in storage. - */ - public function store(Request $request): RedirectResponse - { - // - } /** * Show the specified resource. @@ -282,9 +268,273 @@ class SurveyorController extends Controller } + public function data(Request $request) + { + + $type = $request->route('type'); + + $headers = [ + 'bentuk-tanah' => ['Bentuk Tanah', 'bentuk-tanah'], + 'kontur-tanah' => ['Kontur Tanah', 'kontur-tanah'], + 'posisi-kavling' => ['Posisi Kavling', 'posisi-kavling'], + 'ketinggian-tanah' => ['Ketinggian Tanah', 'ketinggian-tanah'], + 'kondisi-fisik-tanah' => ['Kondisi Fisik Tanah', 'kondisi-fisik-tanah'], + 'jenis-bangunan' => ['Jenis Bangunan', 'jenis-bangunan'], + 'kondisi-bangunan' => ['Kondisi Bangunan', 'kondisi-bangunan'], + 'sifat-bangunan' => ['Sifat Bangunan', 'sifat-bangunan'], + 'sarana-pelengkap' => ['Sarana Pelengkap', 'sarana-pelengkap'], + ]; + + $header = $headers[$type] ?? ''; + + return view('lpj::surveyor.data.index', compact('header')); + } + + + public function createData($type) + { + + $headers = [ + 'bentuk-tanah' => ['Bentuk Tanah', 'bentuk-tanah'], + 'kontur-tanah' => ['Kontur Tanah', 'kontur-tanah'], + 'posisi-kavling' => ['Posisi Kavling', 'posisi-kavling'], + 'ketinggian-tanah' => ['Ketinggian Tanah', 'ketinggian-tanah'], + 'kondisi-fisik-tanah' => ['Kondisi Fisik Tanah', 'kondisi-fisik-tanah'], + 'jenis-bangunan' => ['Jenis Bangunan', 'jenis-bangunan'], + 'kondisi-bangunan' => ['Kondisi Bangunan', 'kondisi-bangunan'], + 'sifat-bangunan' => ['Sifat Bangunan', 'sifat-bangunan'], + 'sarana-pelengkap' => ['Sarana Pelengkap', 'sarana-pelengkap'], + ]; + + + $header = $headers[$type] ?? ''; + return view('lpj::surveyor.data.form', compact('header')); + } + + + public function storeData(SurveyorRequest $request, $type) + { + + $validate = $request->validated(); + if ($validate) { + + $type = $request->route('type'); + + $modelClasses = [ + 'bentuk-tanah' => BentukTanah::class, + 'kontur-tanah' => KonturTanah::class, + 'posisi-kavling' => PosisiKavling::class, + 'bentuk-tanah' => BentukTanah::class, + 'kontur-tanah' => KonturTanah::class, + 'posisi-kavling' => PosisiKavling::class, + 'ketinggian-tanah' => KetinggianTanah::class, + 'kondisi-fisik-tanah' => KondisiFisikTanah::class, + 'jenis-bangunan' => JenisBangunan::class, + 'kondisi-bangunan' => KondisiBangunan::class, + 'sifat-bangunan' => SifatBangunan::class, + 'sarana-pelengkap' => SaranaPelengkap::class, + ]; + + if (!array_key_exists($type, $modelClasses)) { + return redirect() + ->route('basicdata.'. $type .'.index') + ->with('error', 'Invalid type specified.'); + } + + $modelClass = $modelClasses[$type]; + $data = $request->all(); + $data['status'] = true; + $modelClass::create($data); + + return redirect() + ->route('basicdata.' . $type .'.index') + ->with('success', 'created successfully'); + } + } + + + public function editData($type, $id) + { + $dataMap = [ + 'bentuk-tanah' => ['Bentuk Tanah', 'bentuk-tanah', BentukTanah::class], + 'kontur-tanah' => ['Kontur Tanah', 'kontur-tanah', KonturTanah::class], + 'posisi-kavling' => ['Posisi Kavling', 'posisi-kavling', PosisiKavling::class], + 'ketinggian-tanah' => ['Ketinggian Tanah', 'ketinggian-tanah', KetinggianTanah::class], + 'kondisi-fisik-tanah' => ['Kondisi Fisik Tanah', 'kondisi-fisik-tanah', KondisiFisikTanah::class], + 'jenis-bangunan' => ['Jenis Bangunan', 'jenis-bangunan', JenisBangunan::class], + 'kondisi-bangunan' => ['Kondisi Bangunan', 'kondisi-bangunan', KondisiBangunan::class], + 'sifat-bangunan' => ['Sifat Bangunan', 'sifat-bangunan', SifatBangunan::class], + 'spek-bangunan' => ['Spek Bangunan', 'spek-bangunan', SpekBangunan::class], + 'spek-kategori-bangunan' => ['Spek Kategori Bangunan', 'spek-kategori-bangunan', SpekKategoritBangunan::class], + 'sarana-pelengkap' => ['Sarana Pelengkap', 'sarana-pelengkap', SaranaPelengkap::class], + ]; + + + if (!array_key_exists($type, $dataMap)) { + return redirect()->back()->with('error', 'Invalid type specified.'); + } + + [$headers, $routeName, $modelClass] = $dataMap[$type]; + + $header = $dataMap[$type] ?? ''; + $model = $modelClass::findOrFail($id); + + return view('lpj::surveyor.data.form', compact('header', 'model')); + } + + + public function updateData(SurveyorRequest $request, $type, $id) + { + $validate = $request->validated(); + if ($validate) { + $modelClasses = [ + 'bentuk-tanah' => BentukTanah::class, + 'kontur-tanah' => KonturTanah::class, + 'posisi-kavling' => PosisiKavling::class, + 'ketinggian-tanah' => KetinggianTanah::class, + 'kondisi-fisik-tanah' => KondisiFisikTanah::class, + 'jenis-bangunan' => JenisBangunan::class, + 'kondisi-bangunan' => KondisiBangunan::class, + 'sifat-bangunan' => SifatBangunan::class, + 'sarana-pelengkap' => SaranaPelengkap::class, + + ]; + + // Check if the provided type exists in the modelClasses + if (!array_key_exists($type, $modelClasses)) { + return redirect() + ->route('basicdata.' . $type . '.index') + ->with('error', 'Invalid type specified.'); + } + $modelClass = $modelClasses[$type]; + $model = $modelClass::findOrFail($id); + $model->update($validate); + + // Redirect back with a success message + return redirect() + ->route('basicdata.' . $type . '.index') + ->with('success', 'Updated successfully'); + } + + + } + public function dataForDatatablesData(Request $request, $type) + { + 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 + + $models = [ + 'Bentuk Tanah' => BentukTanah::class, + 'Kontur Tanah' => KonturTanah::class, + 'Posisi Kavling' => PosisiKavling::class, + 'Ketinggian Tanah' => KetinggianTanah::class, + 'Kondisi Fisik Tanah' => KondisiFisikTanah::class, + 'Jenis Bangunan' => JenisBangunan::class, + 'Kondisi Bangunan' => KondisiBangunan::class, + 'Sifat Bangunan' => SifatBangunan::class, + // 'Spek Kategori Bangunan' => SpekKategoritBangunan::class, + // 'Spek Bangunan' => SpekBangunan::class, + 'Sarana Pelengkap' => SaranaPelengkap::class, + ]; + + + if (array_key_exists($type, $models)) { + $query = $models[$type]::query(); + } else { + throw new InvalidArgumentException("Invalid type: $type"); + } + + + // 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 destroy($id, $type) + { + try { + + $modelClasses = [ + 'bentuk-tanah' => BentukTanah::class, + 'kontur-tanah' => KonturTanah::class, + 'posisi-kavling' => PosisiKavling::class, + 'ketinggian-tanah' => KetinggianTanah::class, + 'kondisi-fisik-tanah' => KondisiFisikTanah::class, + 'jenis-bangunan' => JenisBangunan::class, + 'kondisi-bangunan' => KondisiBangunan::class, + 'sifat-bangunan' => SifatBangunan::class, + 'sarana-pelengkap' => SaranaPelengkap::class, + ]; + + + if (!array_key_exists($type, $modelClasses)) { + return response()->json(['success' => false, 'message' => 'Invalid type specified.'], 400); + } + + $modelClass = $modelClasses[$type]; + $model = $modelClass::findOrFail($id); + + $model->delete(); + return response()->json(['success' => true, 'message' => 'deleted successfully']); + } catch (ModelNotFoundException $e) { + return response()->json(['success' => false, 'message' => 'not found.'], 404); + } catch (Exception $e) { + return response()->json(['success' => false, 'message' => 'Failed to delete.'], 500); + } + } } diff --git a/app/Http/Requests/SurveyorRequest.php b/app/Http/Requests/SurveyorRequest.php new file mode 100644 index 0000000..c86fb8a --- /dev/null +++ b/app/Http/Requests/SurveyorRequest.php @@ -0,0 +1,64 @@ +input('action'); + + $uniqueTable = [ + 'bentuk-tanah' => 'bentuk_tanah', + 'kontur-tanah' => 'kontur_tanah', + 'posisi-kavling' => 'posisi_kavling', + 'ketinggian-tanah' => 'ketinggian_tanah', + 'kondisi-fisik-tanah' => 'kondisi_fisik_tanah', + 'kondisi-bangunan' => 'kondisi_bangunan', + 'sifat-bangunan' => 'sifat_bangunan', + 'sarana-pelengkap' => 'sarana_pelengkap', + 'lalu_lintas_lokasi' => 'lalu_lintas_lokasi', + 'tingkat-keramaian' => 'tingkat_keramaian', + ]; + + + + $rules = [ + 'name' => 'required|max:255', + + ]; + + $id = $this->route('id'); + + if ($this->method() == 'PUT' || $this->method() == 'PATCH') { + $rules['code'] = 'required|max:50|unique:' . $uniqueTable[$action] . ',code,' . $id; + } else { + + $rules['code'] = 'required|max:50|unique:' . $uniqueTable[$action] . ',code'; + } + return $rules; + } + + /** + * Determine if the user is authorized to make this request. + */ + public function authorize() + : bool + { + return true; + } + + protected function prepareForValidation() + { + $this->merge([ + 'status' => true, + ]); + } +} diff --git a/app/Models/BentukTanah.php b/app/Models/BentukTanah.php index 91c8611..38729af 100644 --- a/app/Models/BentukTanah.php +++ b/app/Models/BentukTanah.php @@ -14,7 +14,8 @@ class BentukTanah extends Model /** * The attributes that are mass assignable. */ - protected $fillable = []; + protected $fillable = ['code', 'name', 'status']; + protected static function newFactory(): BentukTanahFactory { diff --git a/app/Models/JenisBangunan.php b/app/Models/JenisBangunan.php index 3746c71..a4cd930 100644 --- a/app/Models/JenisBangunan.php +++ b/app/Models/JenisBangunan.php @@ -15,8 +15,7 @@ class JenisBangunan extends Model /** * The attributes that are mass assignable. */ - protected $fillable = []; - + protected $fillable = ['code', 'name', 'status']; protected static function newFactory(): JenisBangunanFactory { //return JenisBangunanFactory::new(); diff --git a/app/Models/KetinggianTanah.php b/app/Models/KetinggianTanah.php index f77e3c4..9cd282d 100644 --- a/app/Models/KetinggianTanah.php +++ b/app/Models/KetinggianTanah.php @@ -15,7 +15,7 @@ class KetinggianTanah extends Model /** * The attributes that are mass assignable. */ - protected $fillable = []; + protected $fillable = ['code', 'name', 'status']; protected static function newFactory(): KetinggianTanahFactory { diff --git a/app/Models/KondisiFisikTanah.php b/app/Models/KondisiFisikTanah.php index 5f15412..bc3a33d 100644 --- a/app/Models/KondisiFisikTanah.php +++ b/app/Models/KondisiFisikTanah.php @@ -14,7 +14,7 @@ class KondisiFisikTanah extends Model /** * The attributes that are mass assignable. */ - protected $fillable = []; + protected $fillable = ['code', 'name', 'status']; protected static function newFactory(): KondisiFisikTanahFactory { diff --git a/app/Models/KonturTanah.php b/app/Models/KonturTanah.php index 07f4094..ea53872 100644 --- a/app/Models/KonturTanah.php +++ b/app/Models/KonturTanah.php @@ -14,7 +14,7 @@ class KonturTanah extends Model /** * The attributes that are mass assignable. */ - protected $fillable = []; + protected $fillable = ['code', 'name', 'status']; protected static function newFactory(): KonturTanahFactory { diff --git a/app/Models/LaliLintasLokasi.php b/app/Models/LaliLintasLokasi.php deleted file mode 100644 index 46f8ebd..0000000 --- a/app/Models/LaliLintasLokasi.php +++ /dev/null @@ -1,22 +0,0 @@ - @endsection @push('scripts') - {{-- --}} + + @endpush diff --git a/resources/views/surveyor/components/tanah-bangunan.blade.php b/resources/views/surveyor/components/tanah-bangunan.blade.php index 009fab6..3ccb72f 100644 --- a/resources/views/surveyor/components/tanah-bangunan.blade.php +++ b/resources/views/surveyor/components/tanah-bangunan.blade.php @@ -35,7 +35,7 @@ @if (isset($arahMataAngin)) @foreach ($arahMataAngin as $item) - + @endforeach @endif @@ -56,7 +56,7 @@ @if (isset($bentukTanah)) @foreach ($bentukTanah as $item) - + @endforeach @endif @@ -76,7 +76,7 @@ @if (isset($konturTanah)) @foreach ($konturTanah as $item) - + @endforeach @endif @@ -98,7 +98,7 @@ @if (isset($ketinggianTanah)) @foreach ($ketinggianTanah as $item) - + @endforeach @endif @@ -142,7 +142,7 @@ @if (isset($posisiKavling)) @foreach ($posisiKavling as $item) - + @endforeach @endif @@ -207,7 +207,7 @@ @if (isset($kondisiFisikTanah)) @foreach ($kondisiFisikTanah as $item) - + @endforeach @endif @@ -258,7 +258,7 @@ @if (isset($jenisBangunan)) @foreach ($jenisBangunan as $item) - + @endforeach @endif @@ -279,7 +279,7 @@ @if (isset($kondisiBangunan)) @foreach ($kondisiBangunan as $item) - + @endforeach @endif @@ -300,7 +300,7 @@ @if (isset($sifatBangunan)) @foreach ($sifatBangunan as $item) - + @endforeach @endif @@ -330,7 +330,7 @@ @if (isset($spekBangunan)) @foreach ($spekBangunan as $spek) @if ($spek->spek_kategori_bagunan_id == $item->id) - @endif @endforeach diff --git a/resources/views/surveyor/data/form.blade.php b/resources/views/surveyor/data/form.blade.php new file mode 100644 index 0000000..26c6d14 --- /dev/null +++ b/resources/views/surveyor/data/form.blade.php @@ -0,0 +1,63 @@ +@extends('layouts.main') + +{{-- @section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection --}} + +@section('content') +
+ @if (isset($model->id)) +
+ + @method('PUT') + @else + + @endif + @csrf +
+ +
+

+ {{ isset($jenisAset->id) ? 'Edit' : 'Tambah' }} {{ $header[0] }} +

+ +
+
+
+ +
+ + @error('code') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('name') + {{ $message }} + @enderror +
+
+
+ +
+
+
+
+
+@endsection diff --git a/resources/views/surveyor/data/index.blade.php b/resources/views/surveyor/data/index.blade.php new file mode 100644 index 0000000..e359e7a --- /dev/null +++ b/resources/views/surveyor/data/index.blade.php @@ -0,0 +1,153 @@ +@extends('layouts.main') + +{{-- @section('breadcrumbs') + {{ Breadcrumbs::render('surveyor.bentuk-tanah') }} +@endsection --}} + +@section('content') +
+
+
+

+ Daftar {{$header[0]}} +

+
+
+ +
+
+
+ Export to Excel + + @php + $href = route('basicdata.createData', ['type' => $header[1]]); + @endphp + + Tambah {{$header[0]}} +
+
+
+
+
+ + + + + + + + + +
+ + + Code + + + Jenis Aset + + Action
+
+ +
+
+
+@endsection + +@push('scripts') + + +@endpush + diff --git a/resources/views/surveyor/detail.blade.php b/resources/views/surveyor/detail.blade.php index ee4a892..6e9754f 100644 --- a/resources/views/surveyor/detail.blade.php +++ b/resources/views/surveyor/detail.blade.php @@ -176,14 +176,7 @@ @include('lpj::surveyor.components.data-pembanding') @endif
-
- - -
+
@endsection diff --git a/routes/web.php b/routes/web.php index b3bb461..45d3b7b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -357,6 +357,35 @@ Route::middleware(['auth'])->group(function () { Route::resource('jenis_laporan', JenisLaporanController::class); // End Activity Jenis Laporan route + // basic data surveyor + Route::get('datatablesSurveyory/{type}', [SurveyorController::class, 'dataForDatatablesData'])->name('datatablesSurveyory'); + Route::get('createData/{type}', [SurveyorController::class, 'createData'])->name('createData'); + Route::get('/{type}/{id}', [SurveyorController::class, 'editData'])->name('editData'); + Route::post('storeData/{type}', [SurveyorController::class, 'storeData'])->name('storeData'); + Route::put('updateData/{type}/{id}', [SurveyorController::class, 'updateData'])->name('updateData'); + Route::delete('deleteData/{id}/{type}', [SurveyorController::class, 'destroy'])->name('deleteData'); + + $headers = [ + 'bentuk-tanah' => 'Bentuk Tanah', + 'kontur-tanah' => 'Kontur Tanah', + 'posisi-kavling' => 'Posisi Kavling', + 'ketinggian-tanah' => 'Ketinggian Tanah', + 'kondisi-fisik-tanah' => 'Kondisi Fisik Tanah', + 'jenis-bangunan' => 'Jenis Bangunan', + 'kondisi-bangunan' => 'Kondisi Bangunan', + 'sifat-bangunan' => 'Sifat Bangunan', + // 'spek-bangunan' => 'Speksifikasi Bangunan', + // 'spek-kategori-bagunan' => 'Speksifikasi Kategori Bangunan', + 'sarana-pelengkap' => 'Sarana Pelengkap', + ]; + + foreach ($headers as $type => $header) { + Route::get($type, [SurveyorController::class, 'data']) + ->name($type . '.index') + ->defaults('type', $type); + } + + }); @@ -506,6 +535,8 @@ Route::middleware(['auth'])->group(function () { Route::get('denah/{id}', [SurveyorController::class, 'denah'])->name('denah'); Route::get('foto/{id}', [SurveyorController::class, 'foto'])->name('foto'); Route::get('data-pembanding/{id}', [SurveyorController::class, 'dataPembanding'])->name('data-pembanding'); + + }); }); From b7244fc6df1c22b606558b5043b5326aebd9b771 Mon Sep 17 00:00:00 2001 From: rahmatrafli1 Date: Fri, 18 Oct 2024 08:34:15 +0700 Subject: [PATCH 11/16] menghapus proses_penawaran dari web.php, breadcrumb.php dan views proses_penawaran karena sudah tak terpakai --- .../views/proses_penawaran/index.blade.php | 22 ------------------- routes/breadcrumbs.php | 5 ----- routes/web.php | 11 ---------- 3 files changed, 38 deletions(-) delete mode 100644 resources/views/proses_penawaran/index.blade.php diff --git a/resources/views/proses_penawaran/index.blade.php b/resources/views/proses_penawaran/index.blade.php deleted file mode 100644 index a9f3007..0000000 --- a/resources/views/proses_penawaran/index.blade.php +++ /dev/null @@ -1,22 +0,0 @@ -@extends('layouts.main') - -@section('breadcrumbs') - {{ Breadcrumbs::render('tender.proses.penawaran') }} -@endsection - -@section('content') -
- -
-
-

- Data Proses Penawaran -

- -
-
- {{-- @include('lpj::debitur.form') --}} -
-
-
-@endsection diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 8b5a8b5..8e753e1 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -416,11 +416,6 @@ Breadcrumbs::for('tender.penawaran.editPenawaran', function (BreadcrumbTrail $tr $trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg)); }); -Breadcrumbs::for('tender.proses.penawaran', function (BreadcrumbTrail $trail) { - $trail->parent('tender'); - $trail->push('Data Proses Penawaran', route('tender.proses_penawaran.index')); -}); - Breadcrumbs::for('tender.penawaran.ulang', function (BreadcrumbTrail $trail) { $trail->parent('tender'); diff --git a/routes/web.php b/routes/web.php index 45d3b7b..40bb21b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -384,9 +384,6 @@ Route::middleware(['auth'])->group(function () { ->name($type . '.index') ->defaults('type', $type); } - - - }); Route::name('permohonan.')->prefix('permohonan')->group(function () { @@ -468,11 +465,6 @@ Route::middleware(['auth'])->group(function () { Route::get('penawaran/ulang/datatables', [TenderController::class, 'datatablesPenawaranUlang'])->name( 'penawaran.ulang.datatables', ); - - // Proses Penawaran - Route::get('proses_penawaran', [TenderController::class, 'proses_penawaran_index'])->name( - 'proses_penawaran.index', - ); }); Route::name('penilaian.')->prefix('penilaian')->group(function () { @@ -535,10 +527,7 @@ Route::middleware(['auth'])->group(function () { Route::get('denah/{id}', [SurveyorController::class, 'denah'])->name('denah'); Route::get('foto/{id}', [SurveyorController::class, 'foto'])->name('foto'); Route::get('data-pembanding/{id}', [SurveyorController::class, 'dataPembanding'])->name('data-pembanding'); - - }); - }); require __DIR__ . '/registrasi.php'; From 82d5b54d04b240510a59d70b6c2057f31ea8ad04 Mon Sep 17 00:00:00 2001 From: rahmatrafli1 Date: Fri, 18 Oct 2024 08:54:03 +0700 Subject: [PATCH 12/16] Menghapus Proses_Penawaran di Controller TenderController karena sudah tak terpakai --- app/Http/Controllers/TenderController.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/Http/Controllers/TenderController.php b/app/Http/Controllers/TenderController.php index 22d6e1c..1ec30cb 100644 --- a/app/Http/Controllers/TenderController.php +++ b/app/Http/Controllers/TenderController.php @@ -395,11 +395,6 @@ class TenderController extends Controller ]); } - public function proses_penawaran_index() - { - return view('lpj::proses_penawaran/index'); - } - // Tambahkan method untuk API di controller public function checkPenawaranExistence($nomor_registrasi) { From f8867005af2654444dd52926c13b4643465418d0 Mon Sep 17 00:00:00 2001 From: rahmatrafli1 Date: Fri, 18 Oct 2024 10:32:05 +0700 Subject: [PATCH 13/16] Mengubah Tujuan Penilaian KJPP sebelumnya diambil dari tabel penawaran.tujuan_penilaian_kjpp_id menjadi tabel tujuan_penilaian_kjpp.name di proses_penawaran --- .../Controllers/ProsesPenawaranController.php | 184 ++++++++---------- app/Models/PenawaranTender.php | 9 +- .../views/prosespenawaran/index.blade.php | 88 +++++---- 3 files changed, 133 insertions(+), 148 deletions(-) diff --git a/app/Http/Controllers/ProsesPenawaranController.php b/app/Http/Controllers/ProsesPenawaranController.php index 14be728..9063533 100644 --- a/app/Http/Controllers/ProsesPenawaranController.php +++ b/app/Http/Controllers/ProsesPenawaranController.php @@ -38,15 +38,15 @@ class ProsesPenawaranController extends Controller } // Retrieve data from the database - $query =PenawaranTender::query()->where('status','=','tender')->withCount('penawarandetails'); - + $query = PenawaranTender::query()->where('status', '=', '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->orWhereRelation('tujuanPenilaianKJPP', 'name', 'LIKE', '%' . $search . '%'); $q->orWhere('status', 'LIKE', '%' . $search . '%'); }); } @@ -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->get(); + $data = $query->with(['tujuanPenilaianKJPP'])->get(); // Calculate the page count $pageCount = ceil($totalRecords / $request->get('size')); @@ -109,26 +109,24 @@ 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(); + $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'; if ($penawaran) { - $i=0; - foreach($penawrandetails as $obj) - { + $i = 0; + foreach ($penawrandetails as $obj) { // dd($obj->dokumen_persetujuan); - if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) - { + 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++; } } - $kjpp=null; + $kjpp = null; $kjpp = KJPP::pluck('name', 'id'); $data['penawaran'] = $penawaran; $data['penawrandetails'] = $penawrandetails; @@ -157,33 +155,30 @@ class ProsesPenawaranController extends Controller $tindakan = null; 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) - ]; + $dataku = [ + '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; @@ -195,26 +190,20 @@ class ProsesPenawaranController extends Controller $data['status'] = 'success'; $data['detailpenawaran_id'] = $id; $data['message'] = 'Proses Penawarn KJPP successfully'; - } - else - { + } else { $data['status'] = 'error'; $data['message'] = 'Silahkan upload file pdf'; } - } - else - { + } else { $data['status'] = 'error'; $data['message'] = 'Silahkan upload file'; } - } catch (Exception $e) { - + $data['status'] = 'error'; $data['message'] = 'Proses Penawarn KJPP failed.'; } } - } else { $data['status'] = 'error'; $data['message'] = 'no ajax request'; @@ -251,58 +240,51 @@ class ProsesPenawaranController extends Controller */ public function updateAll(Request $request, $id): JsonResponse { - // init + // init $data = array(); $dataku = array(); $model = PenawaranTender::findOrFail($id); $checkActiveDateRange = $this->checkActiveDateRangePenawaran($model->start_date, $model->end_date); - + // cek masa aktif penawaran - if($checkActiveDateRange) - { - - $checkKelengkapanDetailKJPP = $this->checkKelengkapanDetailKJPP($id); - if($checkKelengkapanDetailKJPP) - { + if ($checkActiveDateRange) { + + $checkKelengkapanDetailKJPP = $this->checkKelengkapanDetailKJPP($id); + if ($checkKelengkapanDetailKJPP) { DB::beginTransaction(); try { - $dataku = ['status' => 'tendered', + $dataku = [ + 'status' => 'tendered', 'updated_by' => Auth::id(), 'updated_at' => now() ]; - - $dataPermohonan = ['status' => 'tendered', + + $dataPermohonan = [ + 'status' => 'tendered', 'updated_by' => Auth::id(), 'updated_at' => now() ]; - - $permohonan = Permohonan::where('nomor_registrasi','=', $model->nomor_registrasi)->first(); - - $model->update($dataku); - $permohonan->update($dataPermohonan); - + + $permohonan = Permohonan::where('nomor_registrasi', '=', $model->nomor_registrasi)->first(); + + $model->update($dataku); + $permohonan->update($dataPermohonan); + DB::commit(); $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 - { + } else { $data['message'] = "Silahkan lengkapi data KJPP"; $data['status'] = 'error'; } - - } - else - { + } else { $data['message'] = "Penawaran sudah di tutup"; $data['status'] = 'error'; } @@ -316,57 +298,48 @@ class ProsesPenawaranController extends Controller $end_date = strtotime($end_date1); $todays_date = strtotime(now()); - $allow=true; - if ($todays_date >= $start_date && $todays_date <= $end_date) - { + $allow = true; + if ($todays_date >= $start_date && $todays_date <= $end_date) { //Penawaran dibuka - $allow=true; - } - else - { - if($todays_date < $start_date) - { + $allow = true; + } else { + if ($todays_date < $start_date) { //Penawaran Belum dibuka - $allow=true; - } - else - { + $allow = true; + } else { //Penawaran sudah ditutup - $allow=false; + $allow = false; } } - - return $allow; + return $allow; } public function checkKelengkapanDetailKJPP($id) { - $allow=true; + $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'); + ->where('penawaran_id', '=', $id) + ->where(function ($query) { + $query->orWhere('biaya_penawaran', '', ""); + $query->orWhereNull('biaya_penawaran'); - $query->orWhere('dokumen_persetujuan', '', ""); - $query->orWhereNull('dokumen_persetujuan'); - })->get(); - // $sql = DB::getQueryLog(); - - - if (sizeof($query)>0) - { - $allow=false; - } + $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 @@ -377,19 +350,20 @@ class ProsesPenawaranController extends Controller try { $model = PenawaranDetailTender::findOrFail($id); - $data['id']=$id; + $data['id'] = $id; - $dataku = ['status' => '0', + $dataku = [ + 'status' => '0', 'updated_by' => Auth::id(), 'updated_at' => now() ]; - $model->update($dataku); + $model->update($dataku); $data['message'] = "Sukses delete Penawaran KJPP"; $data['status'] = 'success'; } catch (Exception $e) { - + // dd($e); $data['message'] = "Gagal delete Penawaran KJPP"; $data['status'] = 'error'; @@ -400,6 +374,6 @@ class ProsesPenawaranController extends Controller public function show($id) { $prosespenawaran = PenawaranTender::find($id); - return view('lpj::prosespenawaran.show', compact('id','prosespenawaran')); + return view('lpj::prosespenawaran.show', compact('id', 'prosespenawaran')); } } diff --git a/app/Models/PenawaranTender.php b/app/Models/PenawaranTender.php index dbf1c47..be2b5a8 100644 --- a/app/Models/PenawaranTender.php +++ b/app/Models/PenawaranTender.php @@ -3,6 +3,7 @@ namespace Modules\Lpj\Models; use Illuminate\Database\Eloquent\Model; +use Modules\Lpj\Models\TujuanPenilaianKJPP; use Modules\Lpj\Models\PenawaranDetailTender; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\HasMany; // andy add @@ -17,7 +18,7 @@ class PenawaranTender extends Model protected $table = 'penawaran'; protected $guarded = ['id']; - + // andy add public function penawarandetails(): HasMany { @@ -29,4 +30,10 @@ class PenawaranTender extends Model { return $this->hasMany(PenawaranDetailTender::class, 'penawaran_id'); } + + // menambahkan relasi tujuan penilaian KJPP + public function tujuanPenilaianKJPP() + { + return $this->hasMany(TujuanPenilaianKJPP::class, 'id', 'tujuan_penilaian_kjpp_id'); + } } diff --git a/resources/views/prosespenawaran/index.blade.php b/resources/views/prosespenawaran/index.blade.php index 1c86f53..b4375a9 100644 --- a/resources/views/prosespenawaran/index.blade.php +++ b/resources/views/prosespenawaran/index.blade.php @@ -6,7 +6,9 @@ @section('content')
-
+

Daftar Proses Penawaran @@ -25,42 +27,44 @@

- +
- - - - - - - - - - + + + + + + + + + +
- - - Nomor Registrasi - - - Kode Penawaran - - - Tanggal Penawaran - - - Tujuan Penilaian - - - Total KJPP - - - Status - - Action
+ + + Nomor Registrasi + + + Kode Penawaran + + + Tanggal Penawaran + + + Tujuan Penilaian KJPP + + + Total KJPP + + + Status + + Action
-