From 544933aa3748639c5966de622a2d190aebd439a6 Mon Sep 17 00:00:00 2001 From: majid Date: Wed, 25 Sep 2024 15:11:26 +0700 Subject: [PATCH 1/5] penambahan menu surveyor --- app/Http/Controllers/SurveyorController.php | 140 +++++ module.json | 14 +- resources/views/surveyor/detail.blade.php | 152 ++++++ resources/views/surveyor/index.blade.php | 270 ++++++++++ routes/breadcrumbs.php | 10 + routes/web.php | 547 ++++++++++---------- 6 files changed, 864 insertions(+), 269 deletions(-) create mode 100644 app/Http/Controllers/SurveyorController.php create mode 100644 resources/views/surveyor/detail.blade.php create mode 100644 resources/views/surveyor/index.blade.php diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php new file mode 100644 index 0000000..b70a9b1 --- /dev/null +++ b/app/Http/Controllers/SurveyorController.php @@ -0,0 +1,140 @@ +findOrFail($id); + return view('lpj::surveyor.detail', 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): RedirectResponse + { + // + } + + public function dataForDatatables(Request $request) + { + if (is_null($this->user) || !$this->user->can('debitur.view')) { + // abort(403, 'Sorry! You are not allowed to view users.'); + } + + $query = Permohonan::query(); + + 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('user', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhere('status', 'LIKE', '%' . $search . '%'); + }); + } + + $query->whereRaw('LOWER(status) = ?', ['assign']); + + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { + $order = $request->get('sortOrder'); + $column = $request->get('sortField'); + $query->orderBy($column, $order); + } + + $totalRecords = $query->count(); + + $size = $request->get('size', 10); + if ($size == 0) { + $size = 10; + } + + if ($request->has('page') && $request->has('size')) { + $page = $request->get('page', 1); + $offset = ($page - 1) * $size; + + $query->skip($offset)->take($size); + } + + $filteredRecords = $query->count(); + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'jenisFasilitasKredit'])->get(); + + $pageCount = ceil($totalRecords / $size); + + $currentPage = max(1, $request->get('page', 1)); + return response()->json([ + 'draw' => $request->get('draw'), + 'recordsTotal' => $totalRecords, + 'recordsFiltered' => $filteredRecords, + 'pageCount' => $pageCount, + 'page' => $currentPage, + 'totalCount' => $totalRecords, + 'data' => $data, + ]); + } + /** + * Remove the specified resource from storage. + */ + public function destroy($id) + { + // + } +} diff --git a/module.json b/module.json index 4d62cc1..ac61330 100644 --- a/module.json +++ b/module.json @@ -70,7 +70,7 @@ { "title": "Activity", "path": "activity", - "icon": "ki-filled ki-some-files text-lg", + "icon": "ki-filled ki-questionnaire-tablet text-lg", "classes": "", "attributes": [], "permission": "", @@ -78,6 +78,18 @@ "Administrator" ] }, + { + "title": "Surveyor", + "path": "surveyor", + "icon": "ki-filled ki-notepad-edit text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": [ + "Administrator" + ] + }, + { "title": "Laporan", "path": "", diff --git a/resources/views/surveyor/detail.blade.php b/resources/views/surveyor/detail.blade.php new file mode 100644 index 0000000..989ffd6 --- /dev/null +++ b/resources/views/surveyor/detail.blade.php @@ -0,0 +1,152 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection + +@section('content') +
+
+
+

+ Surveyor +

+
+ + Back +
+
+
+
+

+ Nomor Register Permohonan: +

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

+ Waktu Survei: +

+ + {{ $permohonan->penilaian->tanggal_kunjungan }} + +
+ +
+

+ Keterangan: +

+ + {{ $permohonan->penilaian->keterangan }} + +
+ +
+
+ + +
+
+

+ Data Jaminan +

+
+
+ @foreach ($permohonan->debiture->documents as $dokumen) +
+ + +
+ @endforeach +
+
+ +
+ +@endsection diff --git a/resources/views/surveyor/index.blade.php b/resources/views/surveyor/index.blade.php new file mode 100644 index 0000000..6006e88 --- /dev/null +++ b/resources/views/surveyor/index.blade.php @@ -0,0 +1,270 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('surveyor') }} +@endsection +@section('content') + +@push('styles') + +@endpush + +
+
+
+
+ Surveyor +
+
+

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

+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + + + + + + + + + + + + + + +
+ + + Nomor Registrasi + + + + Tanggal Assigned + + + + User Pemohon + + + + Cabang Pemohon + + + + Debitur + + + + Tujuan Penilaian + + + + Fasilitas Kredit + + + Action
+
+ +
+
+
+
+ + +@endsection + +@push('scripts') + +@endpush diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 76d3098..8911635 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -303,6 +303,7 @@ $trail->push('Assignment'); }); + Breadcrumbs::for('authorization.index', function (BreadcrumbTrail $trail) { $trail->push('Permohonan', route('authorization.index')); }); @@ -321,3 +322,12 @@ $trail->parent('activity'); $trail->push('Activity activity'); }); + + Breadcrumbs::for('surveyor', function (BreadcrumbTrail $trail) { + $trail->push('Surveyor', route('surveyor.index')); + }); + + Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) { + $trail->parent('surveyor'); + $trail->push('Detail'); + }); diff --git a/routes/web.php b/routes/web.php index 0f89fea..afca060 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,290 +1,301 @@ group(function () { - Route::name('basicdata.')->prefix('basic-data')->group(function () { - Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () { - Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export'); - }); - Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class); - - Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () { - Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export'); - }); - Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class); - - Route::name('jenis-jaminan.')->prefix('jenis-aset')->group(function () { - Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas'); - Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [JenisJaminanController::class, 'export'])->name('export'); - }); - Route::resource('jenis-jaminan', JenisJaminanController::class); - - Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () { - Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export'); - }); - Route::resource('tujuan-penilaian', TujuanPenilaianController::class); - - Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { - Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [JenisDokumenController::class, 'export'])->name('export'); - }); - Route::resource('jenis-dokumen', JenisDokumenController::class); - - Route::name('currency.')->prefix('mata-uang')->group(function () { - Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore'); - Route::get('datatables', [CurrencyController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [CurrencyController::class, 'export'])->name('export'); - }); - - Route::resource('mata-uang', CurrencyController::class, [ - 'names' => [ - 'index' => 'currency.index', - 'show' => 'currency.show', - 'create' => 'currency.create', - 'store' => 'currency.store', - 'edit' => 'currency.edit', - 'update' => 'currency.update', - 'destroy' => 'currency.destroy', - ], - ]); - - Route::name('branch.')->prefix('cabang')->group(function () { - Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); - Route::get('datatables', [BranchController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [BranchController::class, 'export'])->name('export'); - }); - - Route::resource('cabang', BranchController::class, [ - 'names' => [ - 'index' => 'branch.index', - 'show' => 'branch.show', - 'create' => 'branch.create', - 'store' => 'branch.store', - 'edit' => 'branch.edit', - 'update' => 'branch.update', - 'destroy' => 'branch.destroy', - ], - ]); - - Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { - Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); - Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); - }); - Route::resource('nilai-plafond', NilaiPlafondController::class); - - Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); - - Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); - - Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { - Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); - Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); - }); - 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'); - Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); - }); - Route::resource('status-permohonan', StatusPermohonanController::class); - - Route::name('region.')->prefix('region')->group(function () { - Route::get('restore/{id}', [RegionController::class, 'restore'])->name('restore'); - Route::get('datatables', [RegionController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [RegionController::class, 'export'])->name('export'); - }); - - - Route::resource('region', RegionController::class, [ - 'names' => [ - 'index' => 'region.index', - 'show' => 'region.show', - 'create' => 'region.create', - 'store' => 'region.store', - 'edit' => 'region.edit', - 'update' => 'region.update', - 'destroy' => 'region.destroy', - ], - ]); - - Route::resource('region', RegionController::class); - - - Route::name('teams.')->prefix('teams')->group(function () { - Route::get('restore/{id}', [TeamsController::class, 'restore'])->name('restore'); - Route::get('datatables', [TeamsController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [TeamsController::class, 'export'])->name('export'); - }); - - Route::resource('teams', TeamsController::class, [ - 'names' => [ - 'index' => 'teams.index', - 'show' => 'teams.show', - 'create' => 'teams.create', - 'store' => 'teams.store', - 'edit' => 'teams.edit', - 'update' => 'teams.update', - 'destroy' => 'teams.destroy', - ], - ]); - - Route::name('jenis-penilaian.')->prefix('jenis-penilaian')->group(function () { - Route::get('restore/{id}', [JenisPenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisPenilaianController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [JenisPenilaianController::class, 'export'])->name('export'); - }); - - Route::resource('jenis-penilaian', JenisPenilaianController::class, [ - 'names' => [ - 'index' => 'jenis-penilaian.index', - 'show' => 'jenis-penilaian.show', - 'create' => 'jenis-penilaian.create', - 'store' => 'jenis-penilaian.store', - 'edit' => 'jenis-penilaian.edit', - 'update' => 'jenis-penilaian.update', - 'destroy' => 'jenis-penilaian.destroy', - ], - ]); - }); - - Route::name('permohonan.')->prefix('permohonan')->group(function () { - Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur'); - Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download'); - Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore'); - Route::get('datatables', [PermohonanController::class, 'dataForDatatables']) +Route::middleware(['auth'])->group(function () { + Route::name('basicdata.')->prefix('basic-data')->group(function () { + Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () { + Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables']) ->name('datatables'); - Route::get('export', [PermohonanController::class, 'export'])->name('export'); + Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export'); }); + Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class); - Route::resource('permohonan', PermohonanController::class); - - Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index'); - Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization']) - ->name('authorization.datatables'); - Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name('authorization.show'); - Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name('authorization.update'); - - Route::name('debitur.')->prefix('debitur')->group(function () { - Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); - Route::get('datatables', [DebitureController::class, 'dataForDatatables']) + Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () { + Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables']) ->name('datatables'); - Route::get('export', [DebitureController::class, 'export'])->name('export'); + Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export'); + }); + Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class); + Route::name('jenis-jaminan.')->prefix('jenis-aset')->group(function () { + Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas'); + Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [JenisJaminanController::class, 'export'])->name('export'); + }); + Route::resource('jenis-jaminan', JenisJaminanController::class); - Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { - Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); - Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); - Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); - Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); - Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); - Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); - Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); - }); + Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () { + Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export'); + }); + Route::resource('tujuan-penilaian', TujuanPenilaianController::class); - Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { - Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); - Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); - Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); - Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); - Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); - Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); - }); + Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { + Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [JenisDokumenController::class, 'export'])->name('export'); + }); + Route::resource('jenis-dokumen', JenisDokumenController::class); + + Route::name('currency.')->prefix('mata-uang')->group(function () { + Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore'); + Route::get('datatables', [CurrencyController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [CurrencyController::class, 'export'])->name('export'); }); - Route::resource('debitur', DebitureController::class); + Route::resource('mata-uang', CurrencyController::class, [ + 'names' => [ + 'index' => 'currency.index', + 'show' => 'currency.show', + 'create' => 'currency.create', + 'store' => 'currency.store', + 'edit' => 'currency.edit', + 'update' => 'currency.update', + 'destroy' => 'currency.destroy', + ], + ]); - Route::name('penilaian.')->prefix('penilaian')->group(function () { - Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [PenilaianController::class, 'export'])->name('export'); - Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']); + Route::name('branch.')->prefix('cabang')->group(function () { + Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); + Route::get('datatables', [BranchController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [BranchController::class, 'export'])->name('export'); + }); - Route::get('/', [PenilaianController::class, 'index'])->name('index'); - Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment'); - Route::put('{id}', [PenilaianController::class, 'update'])->name('update'); - Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi'); - Route::post('create', [PenilaianController::class, 'create'])->name('create'); - Route::post('store', [PenilaianController::class, 'store'])->name('store'); + Route::resource('cabang', BranchController::class, [ + 'names' => [ + 'index' => 'branch.index', + 'show' => 'branch.show', + 'create' => 'branch.create', + 'store' => 'branch.store', + 'edit' => 'branch.edit', + 'update' => 'branch.update', + 'destroy' => 'branch.destroy', + ], + ]); + Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { + Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); + Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); + }); + Route::resource('nilai-plafond', NilaiPlafondController::class); + + Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); + + Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); + + Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { + Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); + Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); + }); + 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'); + Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); + }); + Route::resource('status-permohonan', StatusPermohonanController::class); + + Route::name('region.')->prefix('region')->group(function () { + Route::get('restore/{id}', [RegionController::class, 'restore'])->name('restore'); + Route::get('datatables', [RegionController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [RegionController::class, 'export'])->name('export'); }); - Route::name('activity.')->prefix('activity')->group(function () { - Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); - Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [ActivityController::class, 'export'])->name('export'); - Route::get('/', [ActivityController::class, 'index'])->name('index'); + Route::resource('region', RegionController::class, [ + 'names' => [ + 'index' => 'region.index', + 'show' => 'region.show', + 'create' => 'region.create', + 'store' => 'region.store', + 'edit' => 'region.edit', + 'update' => 'region.update', + 'destroy' => 'region.destroy', + ], + ]); - Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); - Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); + Route::resource('region', RegionController::class); + + + Route::name('teams.')->prefix('teams')->group(function () { + Route::get('restore/{id}', [TeamsController::class, 'restore'])->name('restore'); + Route::get('datatables', [TeamsController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [TeamsController::class, 'export'])->name('export'); + }); + + Route::resource('teams', TeamsController::class, [ + 'names' => [ + 'index' => 'teams.index', + 'show' => 'teams.show', + 'create' => 'teams.create', + 'store' => 'teams.store', + 'edit' => 'teams.edit', + 'update' => 'teams.update', + 'destroy' => 'teams.destroy', + ], + ]); + + Route::name('jenis-penilaian.')->prefix('jenis-penilaian')->group(function () { + Route::get('restore/{id}', [JenisPenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisPenilaianController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [JenisPenilaianController::class, 'export'])->name('export'); + }); + + Route::resource('jenis-penilaian', JenisPenilaianController::class, [ + 'names' => [ + 'index' => 'jenis-penilaian.index', + 'show' => 'jenis-penilaian.show', + 'create' => 'jenis-penilaian.create', + 'store' => 'jenis-penilaian.store', + 'edit' => 'jenis-penilaian.edit', + 'update' => 'jenis-penilaian.update', + 'destroy' => 'jenis-penilaian.destroy', + ], + ]); + }); + + Route::name('permohonan.')->prefix('permohonan')->group(function () { + Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur'); + Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download'); + Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore'); + Route::get('datatables', [PermohonanController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [PermohonanController::class, 'export'])->name('export'); + }); + + Route::resource('permohonan', PermohonanController::class); + + Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index'); + Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization']) + ->name('authorization.datatables'); + Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name('authorization.show'); + Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name('authorization.update'); + + Route::name('debitur.')->prefix('debitur')->group(function () { + Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); + Route::get('datatables', [DebitureController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [DebitureController::class, 'export'])->name('export'); + + + Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { + Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); + Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); + Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); + Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); + Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); + Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); + Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); + }); + + Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { + Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); + Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); + Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); + Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); + Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); + Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); }); }); + + Route::resource('debitur', DebitureController::class); + + Route::name('penilaian.')->prefix('penilaian')->group(function () { + Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [PenilaianController::class, 'export'])->name('export'); + Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']); + + Route::get('/', [PenilaianController::class, 'index'])->name('index'); + Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment'); + Route::put('{id}', [PenilaianController::class, 'update'])->name('update'); + Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi'); + Route::post('create', [PenilaianController::class, 'create'])->name('create'); + Route::post('store', [PenilaianController::class, 'store'])->name('store'); + + }); + + + Route::name('activity.')->prefix('activity')->group(function () { + Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); + Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [ActivityController::class, 'export'])->name('export'); + Route::get('/', [ActivityController::class, 'index'])->name('index'); + + Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); + Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); + }); + + Route::name('surveyor.')->prefix('surveyor')->group(function () { + Route::get('restore/{id}', [SurveyorController::class, 'restore'])->name('restore'); + Route::get('datatables', [SurveyorController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [SurveyorController::class, 'export'])->name('export'); + Route::get('/', [SurveyorController::class, 'index'])->name('index'); + + Route::get('/{id}/show', [SurveyorController::class, 'show'])->name('show'); + Route::get('download/{id}', [SurveyorController::class, 'download'])->name('download'); + }); +}); From 6e47b231a209a212857a0d9d327b2e4a9de20b35 Mon Sep 17 00:00:00 2001 From: majid Date: Thu, 26 Sep 2024 09:47:38 +0700 Subject: [PATCH 2/5] penambahan menu surveyor --- module.json | 10 +- resources/views/surveyor/detail.blade.php | 272 ++++++++------- routes/web.php | 407 +++++++++++----------- 3 files changed, 357 insertions(+), 332 deletions(-) diff --git a/module.json b/module.json index 9141313..dd4d18f 100644 --- a/module.json +++ b/module.json @@ -19,7 +19,7 @@ "attributes": [], "permission": "", "roles": [ - "administrator" + "Administrator" ] }, { @@ -30,7 +30,7 @@ "attributes": [], "permission": "", "roles": [ - "administrator" + "Administrator" ], "sub": [ { @@ -67,7 +67,7 @@ "attributes": [], "permission": "", "roles": [ - "administrator" + "Administrator" ] }, { @@ -78,7 +78,7 @@ "attributes": [], "permission": "", "roles": [ - "administrator" + "Administrator" ] }, { @@ -134,7 +134,7 @@ "attributes": [], "permission": "", "roles": [ - "administrator" + "Administrator" ] } ], diff --git a/resources/views/surveyor/detail.blade.php b/resources/views/surveyor/detail.blade.php index 989ffd6..885d5fb 100644 --- a/resources/views/surveyor/detail.blade.php +++ b/resources/views/surveyor/detail.blade.php @@ -5,148 +5,158 @@ @endsection @section('content') -
-
-
-

- Surveyor -

-
- - Back +
+
+
+

+ Surveyor +

+
+ + Back +
+
+
+
+

+ Nomor Register Permohonan: +

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

+ Waktu Survei: +

+ + {{ $permohonan->penilaian->tanggal_kunjungan }} + +
+ +
+

+ Keterangan: +

+ + {{ $permohonan->penilaian->keterangan }} + +
+
-
-
-

- Nomor Register Permohonan: -

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

- Waktu Survei: -

- - {{ $permohonan->penilaian->tanggal_kunjungan }} - -
-
-

- Keterangan: +
+
+

+ Data Jaminan

- - {{ $permohonan->penilaian->keterangan }} -
- +
+ @foreach ($permohonan->debiture->documents as $dokumen) +
+ + +
+ @endforeach +
-

- -
-
+
+ {{--

Data Jaminan

-
-
- @foreach ($permohonan->debiture->documents as $dokumen) -
- - -
- @endforeach +
--}} + +
+ +
- -
- @endsection diff --git a/routes/web.php b/routes/web.php index f25095e..3372840 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,30 +1,31 @@ group(function () { }); Route::resource('tujuan-penilaian', TujuanPenilaianController::class); - Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { - Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [JenisDokumenController::class, 'export'])->name('export'); - }); - Route::resource('jenis-dokumen', JenisDokumenController::class); - Route::name('currency.')->prefix('mata-uang')->group(function () { - Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore'); - Route::get('datatables', [CurrencyController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [CurrencyController::class, 'export'])->name('export'); - }); + Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { + Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [JenisDokumenController::class, 'export'])->name('export'); + }); + Route::resource('jenis-dokumen', JenisDokumenController::class); + Route::name('currency.')->prefix('mata-uang')->group(function () { + Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore'); + Route::get('datatables', [CurrencyController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [CurrencyController::class, 'export'])->name('export'); + }); Route::resource('mata-uang', CurrencyController::class, [ 'names' => [ @@ -204,152 +205,152 @@ Route::middleware(['auth'])->group(function () { Route::get('export', [JenisPenilaianController::class, 'export'])->name('export'); }); - Route::resource('jenis-penilaian', JenisPenilaianController::class, [ - 'names' => [ - 'index' => 'jenis-penilaian.index', - 'show' => 'jenis-penilaian.show', - 'create' => 'jenis-penilaian.create', - 'store' => 'jenis-penilaian.store', - 'edit' => 'jenis-penilaian.edit', - 'update' => 'jenis-penilaian.update', - 'destroy' => 'jenis-penilaian.destroy', - ], - ]); + Route::resource('jenis-penilaian', JenisPenilaianController::class, [ + 'names' => [ + 'index' => 'jenis-penilaian.index', + 'show' => 'jenis-penilaian.show', + 'create' => 'jenis-penilaian.create', + 'store' => 'jenis-penilaian.store', + 'edit' => 'jenis-penilaian.edit', + 'update' => 'jenis-penilaian.update', + 'destroy' => 'jenis-penilaian.destroy', + ], + ]); - Route::resource('mata-uang', CurrencyController::class, [ - 'names' => [ - 'index' => 'currency.index', - 'show' => 'currency.show', - 'create' => 'currency.create', - 'store' => 'currency.store', - 'edit' => 'currency.edit', - 'update' => 'currency.update', - 'destroy' => 'currency.destroy', - ], - ]); + Route::resource('mata-uang', CurrencyController::class, [ + 'names' => [ + 'index' => 'currency.index', + 'show' => 'currency.show', + 'create' => 'currency.create', + 'store' => 'currency.store', + 'edit' => 'currency.edit', + 'update' => 'currency.update', + 'destroy' => 'currency.destroy', + ], + ]); - Route::name('branch.')->prefix('cabang')->group(function () { - Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); - Route::get('datatables', [BranchController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [BranchController::class, 'export'])->name('export'); - }); - - Route::resource('cabang', BranchController::class, [ - 'names' => [ - 'index' => 'branch.index', - 'show' => 'branch.show', - 'create' => 'branch.create', - 'store' => 'branch.store', - 'edit' => 'branch.edit', - 'update' => 'branch.update', - 'destroy' => 'branch.destroy', - ], - ]); - - Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { - Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); - Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); - }); - Route::resource('nilai-plafond', NilaiPlafondController::class); - - Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); - - Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); - - Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { - Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); - Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); - }); - Route::resource('arah-mata-angin', ArahMataAnginController::class); - - Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { - Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); - Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); - Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); - Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); - Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); - Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); - Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); - }); - - Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { - Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); - Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); - Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); - Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); - Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); - Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); - }); - - Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { - Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); - Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); - }); - Route::resource('status-permohonan', StatusPermohonanController::class); - - Route::name('kjpp.')->prefix('kjpp')->group(function () { - Route::get('datatables', [KJPPController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [KJPPController::class, 'export'])->name('export'); - }); - - Route::resource('kjpp', KJPPController::class); - - Route::name('ijin_usaha.')->prefix('ijin_usaha')->group(function () { - Route::get('datatables', [IjinUsahaController::class, 'dataForDatatables']) - ->name('datatables'); - Route::get('export', [IjinUsahaController::class, 'export'])->name('export'); - }); - - Route::resource('ijin_usaha', IjinUsahaController::class); + Route::name('branch.')->prefix('cabang')->group(function () { + Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); + Route::get('datatables', [BranchController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [BranchController::class, 'export'])->name('export'); }); - Route::resource('debitur', DebitureController::class); + Route::resource('cabang', BranchController::class, [ + 'names' => [ + 'index' => 'branch.index', + 'show' => 'branch.show', + 'create' => 'branch.create', + 'store' => 'branch.store', + 'edit' => 'branch.edit', + 'update' => 'branch.update', + 'destroy' => 'branch.destroy', + ], + ]); - Route::name('penilaian.')->prefix('penilaian')->group(function () { - Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [PenilaianController::class, 'export'])->name('export'); - Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']); + Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { + Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); + Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); + }); + Route::resource('nilai-plafond', NilaiPlafondController::class); - Route::get('/', [PenilaianController::class, 'index'])->name('index'); - Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment'); - Route::put('{id}', [PenilaianController::class, 'update'])->name('update'); - Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi'); - Route::post('create', [PenilaianController::class, 'create'])->name('create'); - Route::post('store', [PenilaianController::class, 'store'])->name('store'); + Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); + + Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); + + Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { + Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); + Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); + }); + Route::resource('arah-mata-angin', ArahMataAnginController::class); + + Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { + Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); + Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); + Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); + Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); + Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); + Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); + Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); }); - - Route::name('activity.')->prefix('activity')->group(function () { - Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); - Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [ActivityController::class, 'export'])->name('export'); - Route::get('/', [ActivityController::class, 'index'])->name('index'); - - Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); - Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); + Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { + Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); + Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); + Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); + Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); + Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); + Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); }); + Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { + Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); + Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); + }); + Route::resource('status-permohonan', StatusPermohonanController::class); + + Route::name('kjpp.')->prefix('kjpp')->group(function () { + Route::get('datatables', [KJPPController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [KJPPController::class, 'export'])->name('export'); + }); + + Route::resource('kjpp', KJPPController::class); + + Route::name('ijin_usaha.')->prefix('ijin_usaha')->group(function () { + Route::get('datatables', [IjinUsahaController::class, 'dataForDatatables']) + ->name('datatables'); + Route::get('export', [IjinUsahaController::class, 'export'])->name('export'); + }); + + Route::resource('ijin_usaha', IjinUsahaController::class); + }); + + Route::resource('debitur', DebitureController::class); + + Route::name('penilaian.')->prefix('penilaian')->group(function () { + Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [PenilaianController::class, 'export'])->name('export'); + Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']); + + Route::get('/', [PenilaianController::class, 'index'])->name('index'); + Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment'); + Route::put('{id}', [PenilaianController::class, 'update'])->name('update'); + Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi'); + Route::post('create', [PenilaianController::class, 'create'])->name('create'); + Route::post('store', [PenilaianController::class, 'store'])->name('store'); + }); + + + Route::name('activity.')->prefix('activity')->group(function () { + Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); + Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [ActivityController::class, 'export'])->name('export'); + Route::get('/', [ActivityController::class, 'index'])->name('index'); + + Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); + Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); + }); + Route::name('permohonan.')->prefix('permohonan')->group(function () { Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur'); Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download'); @@ -361,15 +362,15 @@ Route::middleware(['auth'])->group(function () { Route::resource('permohonan', PermohonanController::class); - Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index'); - Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization']) - ->name('authorization.datatables'); - Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name( - 'authorization.show', - ); - Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name( - 'authorization.update', - ); + Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index'); + Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization']) + ->name('authorization.datatables'); + Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name( + 'authorization.show', + ); + Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name( + 'authorization.update', + ); Route::name('debitur.')->prefix('debitur')->group(function () { Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); @@ -400,19 +401,33 @@ Route::middleware(['auth'])->group(function () { Route::resource('debitur', DebitureController::class); - Route::name('tender.')->prefix('tender')->group(function () { - // Penawaran - Route::get('penawaran', [TenderController::class, 'penawaran_index'])->name('penawaran.index'); - Route::get('penawaran/create', [TenderController::class, 'penawaran_create'])->name('penawaran.create'); + Route::name('tender.')->prefix('tender')->group(function () { + // Penawaran + Route::get('penawaran', [TenderController::class, 'penawaran_index'])->name('penawaran.index'); + Route::get('penawaran/create', [TenderController::class, 'penawaran_create'])->name('penawaran.create'); - // Proses Penawaran - Route::get('proses_penawaran', [TenderController::class, 'proses_penawaran_index'])->name( - 'proses_penawaran.index', - ); + // Proses Penawaran + Route::get('proses_penawaran', [TenderController::class, 'proses_penawaran_index'])->name( + 'proses_penawaran.index', + ); - // Penawaran Ulang - Route::get('penawaran_ulang', [TenderController::class, 'penawaran_ulang_index'])->name( - 'penawaran_ulang.index', - ); - }); + // Penawaran Ulang + Route::get('penawaran_ulang', [TenderController::class, 'penawaran_ulang_index'])->name( + 'penawaran_ulang.index', + ); }); + + + Route::name('surveyor.')->prefix('surveyor')->group(function () { + Route::get('restore/{id}', [SurveyorController::class, 'restore'])->name('restore'); + Route::get('datatables', [SurveyorController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [SurveyorController::class, 'export'])->name('export'); + Route::get('/', [SurveyorController::class, 'index'])->name('index'); + + Route::get('/{id}/show', [SurveyorController::class, 'show'])->name('show'); + Route::get('download/{id}', [SurveyorController::class, 'download'])->name('download'); + }); + + + +}); From 5fcce527b48560ca13f5d9edf13d91e3c23fbba6 Mon Sep 17 00:00:00 2001 From: majid Date: Fri, 27 Sep 2024 15:08:13 +0700 Subject: [PATCH 3/5] perbaikan activity pemohonan ( seacrh filter status multiple, Penilai/Surveyor tidak tampil dan status aktivitas pada permohonan akan berjalan dari bawah ke atas) --- app/Exports/PermohonanExport.php | 4 +- app/Http/Controllers/ActivityController.php | 67 ++++--- app/Models/Penilaian.php | 25 ++- module.json | 11 ++ .../views/activity/activitydetail.blade.php | 181 +++++++++--------- .../activity/components/status.blade.php | 37 ---- resources/views/activity/index.blade.php | 118 ++++++++++-- .../activity/senior_officer/index.blade.php | 15 ++ resources/views/penilaian/form.blade.php | 2 +- routes/web.php | 27 ++- 10 files changed, 307 insertions(+), 180 deletions(-) create mode 100644 resources/views/activity/senior_officer/index.blade.php diff --git a/app/Exports/PermohonanExport.php b/app/Exports/PermohonanExport.php index c6ce0a2..4b8d74b 100644 --- a/app/Exports/PermohonanExport.php +++ b/app/Exports/PermohonanExport.php @@ -28,8 +28,8 @@ $row->branch->name, $row->tujuanPenilaian->name, $row->debiture->name, - $row->fasilitasKredit->name, - $row->plafond->name, + $row->jenisFasilitasKredit->name, + $row->nilaiPlafond->name, $row->status, $row->authorized_at, $row->authorized_status, diff --git a/app/Http/Controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php index c24eee2..12bd5b3 100644 --- a/app/Http/Controllers/ActivityController.php +++ b/app/Http/Controllers/ActivityController.php @@ -8,7 +8,8 @@ use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\StatusPermohonan; - +use Modules\Lpj\Exports\PermohonanExport; +use Maatwebsite\Excel\Facades\Excel; class ActivityController extends Controller { public $user; @@ -25,6 +26,11 @@ class ActivityController extends Controller * Show the form for creating a new resource. */ + public function senior() + { + return view('lpj::activity.senior_officer.index'); + } + /** * Store a newly created resource in storage. */ @@ -39,7 +45,7 @@ class ActivityController extends Controller public function show($id) { - $status_permohonan = StatusPermohonan::orderBy('id')->get(); + $status_permohonan = StatusPermohonan::orderBy('id')->get()->reverse(); $permohonan = Permohonan::with( [ @@ -67,9 +73,9 @@ class ActivityController extends Controller /** * Update the specified resource in storage. - */ - public function dataForDatatables(Request $request) + */public function dataForDatatables(Request $request) { + // Check permissions if (is_null($this->user) || !$this->user->can('debitur.view')) { // abort(403, 'Sorry! You are not allowed to view users.'); } @@ -81,20 +87,19 @@ class ActivityController extends Controller 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('user', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhere('status', 'LIKE', '%' . $search . '%'); - }); - } + $q->where('nomor_registrasi', 'LIKE', '%' . $search . '%') + ->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%') + ->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%') + ->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%') + ->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%') + ->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); - // Apply status filter if provided - if ($request->has('status') && !empty($request->get('status'))) { - $status = $request->get('status'); - $query->where('status', '=', $status); + // Split search term by comma to allow multiple statuses + $statusKeywords = explode(',', $search); + foreach ($statusKeywords as $keyword) { + $q->orWhere('status', 'LIKE', '%' . trim($keyword) . '%'); + } + }); } // Default sorting if no sort provided @@ -103,32 +108,29 @@ class ActivityController extends Controller $column = $request->get('sortField'); $query->orderBy($column, $order); } else { - $query->orderBy('nomor_registrasi', 'asc'); // Default order by nomor_registrasi + $query->orderBy('nomor_registrasi', 'asc'); } - // Get the total count of records before paginating + // Get total count of records before pagination $totalRecords = $query->count(); - // Apply pagination if provided + // Pagination if ($request->has('page') && $request->has('size')) { - $page = (int) $request->get('page', 1); // Default page is 1 - $size = (int) $request->get('size', 10); // Default size is 10 - $offset = ($page - 1) * $size; // Calculate the offset - - // Limit results based on pagination + $page = (int) $request->get('page', 1); + $size = (int) $request->get('size', 10); + $offset = ($page - 1) * $size; $query->skip($offset)->take($size); } - // Get the filtered count of records (after search & filters applied) + // Get filtered count $filteredRecords = $query->count(); - // Get the data for the current page + // Get data $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); - // Calculate the total number of pages + // Calculate total pages $pageCount = ceil($totalRecords / $request->get('size', 10)); - // Return the response data as a JSON object return response()->json([ 'draw' => $request->get('draw'), 'recordsTotal' => $totalRecords, @@ -141,6 +143,7 @@ class ActivityController extends Controller } + /** * Download the specified resource from storage. */ @@ -149,4 +152,10 @@ class ActivityController extends Controller $document = Permohonan::find($id); return response()->download(storage_path('app/public/' . $document->dokumen)); } + + public function export() + { + return Excel::download(new PermohonanExport, 'activity.xlsx'); + } + } diff --git a/app/Models/Penilaian.php b/app/Models/Penilaian.php index 93bd3e8..cb2f44c 100644 --- a/app/Models/Penilaian.php +++ b/app/Models/Penilaian.php @@ -10,45 +10,50 @@ use Modules\Lpj\Models\Teams; use Modules\Lpj\Models\Permohonan; use Modules\Usermanagement\Models\User; - class Penilaian extends Model { - /** * The attributes that are mass assignable. */ protected $table = 'penilaian'; protected $fillable = [ - 'jenis_penilaian_id', 'teams_id', 'user_id', 'tanggal_kunjungan', 'keterangan','nomor_registrasi','penilaian_id','surveyor_id','penilai_surveyor_id', + 'jenis_penilaian_id', 'teams_id', 'tanggal_kunjungan', 'keterangan','nomor_registrasi','penilaian_id','surveyor_id','penilai_surveyor_id', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_at', 'created_by', 'updated_at', 'updated_by', 'deleted_at', 'deleted_by' ]; - public function jenis_penilaian(){ + public function jenis_penilaian() + { return $this->belongsTo(JenisPenilaian::class, 'jenis_penilaian_id', 'id'); } - public function teams(){ + public function teams() + { return $this->belongsTo(Teams::class, 'teams_id', 'id'); } - public function users(){ + public function users() + { return $this->belongsTo(User::class, 'user_id', 'id'); } - public function userPenilai(){ + public function userPenilai() + { return $this->belongsTo(User::class, 'penilaian_id', 'id'); } - public function userSurveyor(){ + public function userSurveyor() + { return $this->belongsTo(User::class, 'surveyor_id', 'id'); } - public function userPenilaiSurveyor(){ + public function userPenilaiSurveyor() + { return $this->belongsTo(User::class, 'penilai_surveyor_id', 'id'); } - public function permohonan(){ + public function permohonan() + { return $this->belongsTo(Permohonan::class, 'nomor_registrasi', 'nomor_registrasi'); } diff --git a/module.json b/module.json index dd4d18f..bca6ad3 100644 --- a/module.json +++ b/module.json @@ -114,6 +114,17 @@ "Administrator" ] }, + { + "title": "Activity Progress", + "path": "activity", + "icon": "ki-filled ki-questionnaire-tablet text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": [ + "Administrator" + ] + }, { "title": "Surveyor", "path": "surveyor", diff --git a/resources/views/activity/activitydetail.blade.php b/resources/views/activity/activitydetail.blade.php index ec335f0..df4b3e2 100644 --- a/resources/views/activity/activitydetail.blade.php +++ b/resources/views/activity/activitydetail.blade.php @@ -13,108 +13,115 @@ @endpush
-
-
-

- Activity Permohonan -

-
- - Back +
+
+

+ Activity Permohonan +

+
+ + Back +
+
+
+
+

+ Nomor Register Permohonan: +

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

+ Pemohon: +

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

+ Tujuan Permohonan: +

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

- Nomor Register Permohonan: + Status Activity

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

- Pemohon: -

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

- Tujan Permohonan: -

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

- Status Activity -

-
-
-
- @foreach ($status_permohonan as $index => $status) - {{-- Cek apakah status adalah "Revisi" dan status permohonan tidak sama, maka tidak ditampilkan --}} - @if (strtolower($status->name) == 'revisi' && strtolower($status->name) != strtolower($permohonan->status)) - @continue - @endif - -
- @if ($index < count($status_permohonan) - 1) -
-
+
+
+ @foreach ($status_permohonan as $index => $status) + {{-- Cek apakah status adalah "Revisi" dan status permohonan tidak sama, maka tidak ditampilkan --}} + @if (strtolower($status->name) == 'revisi' && strtolower($status->name) != strtolower($permohonan->status)) + @continue @endif -
- @switch(strtolower($status->name)) - @case('order') - - @break +
+ @if ($index > 0) +
+
+ @endif - @case('revisi') - - @break +
+ @switch(strtolower($status->name)) + @case('order') + + @break - @case('register') - - @break + @case('revisi') + + @break - @case('assign') - - @break + @case('register') + + @break - @case('survey') - - @break + @case('assign') + + @break - @default - - @endswitch + @case('survey') + + @break + @case('proses laporan') + + @break + @case('approved') + + @break + @case('delivered') + + @break + @default + + @endswitch +
+ @include('lpj::activity.components.status')
- @include('lpj::activity.components.status') -
- @endforeach + @endforeach +
+
+
-
-
@endsection diff --git a/resources/views/activity/components/status.blade.php b/resources/views/activity/components/status.blade.php index 0952cc3..19d1107 100644 --- a/resources/views/activity/components/status.blade.php +++ b/resources/views/activity/components/status.blade.php @@ -43,47 +43,10 @@
@endif - {{-- Tampilkan informasi assign jika status 'assign' --}} @if (strtolower($status->name) == 'assign' && $isCurrentStatus)
- {{-- Informasi Penilai, Surveyor, dan Penilai Surveyor --}} -
- @isset($permohonan->penilaian) - @if ($penilai = $permohonan->penilaian->userPenilai->name ?? null) -
-

Penilai:

- {{ $penilai }} -
- @endif - @if ($surveyor = $permohonan->penilaian->userSurveyor->name ?? null) -
-

Surveyor:

- {{ $surveyor }} -
- @endif - - @if ($penilaiSurveyor = $permohonan->penilaian->userPenilaiSurveyor->name ?? null) -
-

Penilai Surveyor:

- {{ $penilaiSurveyor }} -
- @endif - @endisset -
- - {{-- Teams --}} -
-

Teams:

-
    - @foreach ($permohonan->penilaian->teams->teamsUsers as $item) -
  • {{ $item->user->name }}
  • - @endforeach -
-
- - {{-- Catatan --}}

Catatan:

{{ $permohonan->penilaian->keterangan }} diff --git a/resources/views/activity/index.blade.php b/resources/views/activity/index.blade.php index 4dd0179..72e4efc 100644 --- a/resources/views/activity/index.blade.php +++ b/resources/views/activity/index.blade.php @@ -4,16 +4,45 @@ {{ Breadcrumbs::render('activity') }} @endsection @section('content') +@push('styles') + + +@endpush
Activity
+ +
-

- {{-- Daftar {{}} --}} -

+
-
- + + +
Export to Excel @@ -203,9 +260,44 @@ dataTable.search(searchValue, true); }); - statusFilter.addEventListener('change', function() { - const selectedStatus = this.value; - dataTable.search(selectedStatus); + + const selectAllCheckbox = document.getElementById('select-all'); + const statusCheckboxes = document.querySelectorAll('.status-checkbox'); + + statusCheckboxes.forEach(checkbox => { + checkbox.addEventListener('change', applyStatusFilter); }); + + // Event listener untuk "Select All" + selectAllCheckbox.addEventListener('change', function() { + const isChecked = this.checked; + statusCheckboxes.forEach(checkbox => { + checkbox.checked = isChecked; + }); + applyStatusFilter(); + }); + + function applyStatusFilter() { + const selectedStatuses = Array.from(statusCheckboxes) + .filter(checkbox => checkbox.checked) + .map(checkbox => checkbox.value); + + + if (selectedStatuses.length === 0) { + dataTable.search(''); + console.log(selectedStatuses); + + } else { + + dataTable.search(selectedStatuses.join(','), true); + console.log(selectedStatuses); + + } + + const allChecked = Array.from(statusCheckboxes).every(cb => cb.checked); + selectAllCheckbox.checked = allChecked; + } + + @endpush diff --git a/resources/views/activity/senior_officer/index.blade.php b/resources/views/activity/senior_officer/index.blade.php new file mode 100644 index 0000000..aee45bb --- /dev/null +++ b/resources/views/activity/senior_officer/index.blade.php @@ -0,0 +1,15 @@ +@extends('layouts.main') + +{{-- @section('breadcrumbs') + {{ Breadcrumbs::render('activity') }} +@endsection --}} +@section('content') + + +
+
+ hello +
+
+ +@endsection diff --git a/resources/views/penilaian/form.blade.php b/resources/views/penilaian/form.blade.php index 63b642c..484ac33 100644 --- a/resources/views/penilaian/form.blade.php +++ b/resources/views/penilaian/form.blade.php @@ -335,7 +335,7 @@
diff --git a/routes/web.php b/routes/web.php index 34777c0..248a223 100644 --- a/routes/web.php +++ b/routes/web.php @@ -353,6 +353,11 @@ Route::middleware(['auth'])->group(function () { Route::resource('debitur', DebitureController::class); + + /** + * Route start Penilaian + */ + Route::name('penilaian.')->prefix('penilaian')->group(function () { Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); @@ -367,6 +372,13 @@ Route::middleware(['auth'])->group(function () { Route::post('store', [PenilaianController::class, 'store'])->name('store'); }); + /** + * Route end Penilaian + */ + + /** + * Route start activity + */ Route::name('activity.')->prefix('activity')->group(function () { Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); @@ -376,8 +388,13 @@ Route::middleware(['auth'])->group(function () { Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); + Route::get('senior', [ActivityController::class, 'senior'])->name('senior'); }); + /** + * Route end activity + */ + Route::name('permohonan.')->prefix('permohonan')->group(function () { Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur'); Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download'); @@ -445,7 +462,11 @@ Route::middleware(['auth'])->group(function () { }); - Route::name('surveyor.')->prefix('surveyor')->group(function () { + /** + * Route start surveyor + */ + + Route::name('surveyor.')->prefix('surveyor')->group(function () { Route::get('restore/{id}', [SurveyorController::class, 'restore'])->name('restore'); Route::get('datatables', [SurveyorController::class, 'dataForDatatables'])->name('datatables'); Route::get('export', [SurveyorController::class, 'export'])->name('export'); @@ -455,6 +476,10 @@ Route::middleware(['auth'])->group(function () { Route::get('download/{id}', [SurveyorController::class, 'download'])->name('download'); }); + /** + * Route end activity + */ + }); From 71aa5ed24e153b2e217518cb53da92f5263056df Mon Sep 17 00:00:00 2001 From: majid Date: Fri, 4 Oct 2024 09:19:17 +0700 Subject: [PATCH 4/5] penambahan menu team activity so --- app/Http/Controllers/ActivityController.php | 87 ++++++- app/Models/TeamsUsers.php | 7 + module.json | 8 +- .../views/activity/activitydetail.blade.php | 3 + .../activity/progres_activity/index.blade.php | 244 ++++++++++++++++++ resources/views/teams/form.blade.php | 1 + routes/breadcrumbs.php | 4 + routes/web.php | 9 + 8 files changed, 358 insertions(+), 5 deletions(-) create mode 100644 resources/views/activity/progres_activity/index.blade.php diff --git a/app/Http/Controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php index 12bd5b3..496f1b4 100644 --- a/app/Http/Controllers/ActivityController.php +++ b/app/Http/Controllers/ActivityController.php @@ -7,9 +7,12 @@ use Exception; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Modules\Lpj\Models\Permohonan; +use Modules\Lpj\Models\Penilaian; +use Modules\Lpj\Models\TeamsUsers; use Modules\Lpj\Models\StatusPermohonan; use Modules\Lpj\Exports\PermohonanExport; use Maatwebsite\Excel\Facades\Excel; + class ActivityController extends Controller { public $user; @@ -26,6 +29,34 @@ class ActivityController extends Controller * Show the form for creating a new resource. */ + + public function progres_activity() + { + // Ambil user yang sedang login + $user = auth()->user(); + $roles = $user->load('roles'); + $regionId = null; + + // Cek apakah user memiliki role 'senior officer' + if ($roles->roles->pluck('name')->contains('senior officer')) { + $regionId = TeamsUsers::with('team.regions') + ->where('user_id', $user->id) + ->first()?->team->regions_id; + } + + $teamsActivity = TeamsUsers::with(['user', 'team', 'team.regions']) + ->whereHas('team', function ($q) use ($regionId) { + if ($regionId) { + $q->where('regions_id', $regionId); + } + }) + ->where('user_id', '!=', $user->id) + ->get(); + + return view('lpj::activity.progres_activity.index', compact('teamsActivity')); + } + + public function senior() { return view('lpj::activity.senior_officer.index'); @@ -155,7 +186,61 @@ class ActivityController extends Controller public function export() { - return Excel::download(new PermohonanExport, 'activity.xlsx'); + return Excel::download(new PermohonanExport(), 'activity.xlsx'); + } + + + + + public function dataTablesForActivity(Request $request, $id) + { + // Query Penilaian dengan relasi yang diperlukan + $query = Penilaian::with(['permohonan', 'permohonan.debiture', 'permohonan.tujuanPenilaian']) + ->where(function($q) use ($id) { + $q->where('surveyor_id', $id) + ->orWhere('penilaian_id', $id) + ->orWhere('penilai_surveyor_id', $id); + }); + + // Filter pencarian + if ($request->has('search') && !empty($request->get('search'))) { + $search = $request->get('search'); + $query->where(function ($q) use ($search) { + $q->where('nomor_registrasi', 'LIKE', "%$search%") + ->orWhere('status', 'LIKE', "%$search%"); + }); + } + + // Sorting + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { + $order = $request->get('sortOrder'); + $column = $request->get('sortField'); + $query->orderBy($column, $order); + } + + // Hitung total records + $totalRecords = $query->count(); + + // Pagination + $size = $request->get('size', 10); + $page = $request->get('page', 1); + $offset = ($page - 1) * $size; + + // Ambil data dengan pagination + $data = $query->skip($offset)->take($size)->get(); + $filteredRecords = $data->count(); + $pageCount = ceil($totalRecords / $size); + + // Return data dalam bentuk JSON + return response()->json([ + 'draw' => $request->get('draw'), + 'recordsTotal' => $totalRecords, + 'recordsFiltered' => $filteredRecords, + 'pageCount' => $pageCount, + 'page' => $page, + 'totalCount' => $totalRecords, + 'data' => $data + ]); } } diff --git a/app/Models/TeamsUsers.php b/app/Models/TeamsUsers.php index a47cae9..b94df81 100644 --- a/app/Models/TeamsUsers.php +++ b/app/Models/TeamsUsers.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Model; use Modules\Lpj\Database\Factories\TeamsUsersFactory; use Modules\Usermanagement\Models\User; use Modules\Lpj\Models\Teams; +use Modules\Lpj\Models\Penilaian; class TeamsUsers extends Model { @@ -30,4 +31,10 @@ class TeamsUsers extends Model { return $this->belongsTo(User::class, 'user_id', 'id'); } + + public function penilaian() + { + return $this->belongsTo(Penilaian::class, 'teams_id', 'id'); + } + } diff --git a/module.json b/module.json index bca6ad3..1c7fd40 100644 --- a/module.json +++ b/module.json @@ -100,7 +100,7 @@ "attributes": [], "permission": "", "roles": [ - "Administrator" + "senior officer" ] }, { @@ -115,14 +115,14 @@ ] }, { - "title": "Activity Progress", - "path": "activity", + "title": "Team Activity", + "path": "activity.progres", "icon": "ki-filled ki-questionnaire-tablet text-lg", "classes": "", "attributes": [], "permission": "", "roles": [ - "Administrator" + "senior officer" ] }, { diff --git a/resources/views/activity/activitydetail.blade.php b/resources/views/activity/activitydetail.blade.php index df4b3e2..097fd25 100644 --- a/resources/views/activity/activitydetail.blade.php +++ b/resources/views/activity/activitydetail.blade.php @@ -81,6 +81,9 @@ {{ strtolower($status->name) == strtolower($permohonan->status) ? 'btn-outline btn-primary' : 'bg-gray-100 border-gray-300 text-gray-600' }} size-9"> @switch(strtolower($status->name)) + @case('preregister') + + @break @case('order') @break diff --git a/resources/views/activity/progres_activity/index.blade.php b/resources/views/activity/progres_activity/index.blade.php new file mode 100644 index 0000000..7f824da --- /dev/null +++ b/resources/views/activity/progres_activity/index.blade.php @@ -0,0 +1,244 @@ +@extends('layouts.main') +@section('breadcrumbs') + {{ Breadcrumbs::render('activity.progres') }} +@endsection +@section('content') + @push('styles') + + @endpush + +
+
+
+

Team Activity

+
+
+ + @php + + $sortedTeamsActivity = $teamsActivity->sortBy(function ($item) { + return $item->team->penilaian + ->filter(function ($penilaian) use ($item) { + return $penilaian->penilaian_id == $item->user->id || + $penilaian->surveyor_id == $item->user->id || + $penilaian->penilai_surveyor_id == $item->user->id; + }) + ->count(); + }); + @endphp + + @foreach ($sortedTeamsActivity as $index => $item) +
+ + +
+ @endforeach +
+
+
+@endsection + +@push('scripts') + +@endpush diff --git a/resources/views/teams/form.blade.php b/resources/views/teams/form.blade.php index b9569f0..ecd88c4 100644 --- a/resources/views/teams/form.blade.php +++ b/resources/views/teams/form.blade.php @@ -126,3 +126,4 @@
@endsection + diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 9b0a5a9..a2bebea 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -351,6 +351,10 @@ $trail->push('Activity activity'); }); + Breadcrumbs::for('activity.progres', function (BreadcrumbTrail $trail) { + $trail->push('Team activity'); + }); + Breadcrumbs::for('tender', function (BreadcrumbTrail $trail) { $trail->push('Tender'); }); diff --git a/routes/web.php b/routes/web.php index 248a223..f32bf45 100644 --- a/routes/web.php +++ b/routes/web.php @@ -389,6 +389,15 @@ Route::middleware(['auth'])->group(function () { Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); Route::get('senior', [ActivityController::class, 'senior'])->name('senior'); + + Route::name('progres.')->prefix('progres')->group(function () { + Route::get('/', [ActivityController::class, 'progres_activity'])->name('index'); + Route::get('/datatables/{id}', [ActivityController::class, 'dataTablesForActivity'])->name('datatables'); + + }); + + Route::get('/teams/{regionId}', [ActivityController::class, 'dataTablesForActivity']); + }); /** From 0b5820375b30d721b41b648e5a896de203c26561 Mon Sep 17 00:00:00 2001 From: majid Date: Fri, 4 Oct 2024 10:58:52 +0700 Subject: [PATCH 5/5] penambahan menu aktivity --- module.json | 14 +- routes/web.php | 540 +++++++++++++++++++++++++------------------------ 2 files changed, 292 insertions(+), 262 deletions(-) diff --git a/module.json b/module.json index 47e9b8e..51e8689 100644 --- a/module.json +++ b/module.json @@ -117,9 +117,21 @@ "attributes": [], "permission": "", "roles": [ - "administrator" + "so" ] }, + { + "title": "Team Activity", + "path": "activity.progres", + "icon": "ki-filled ki-questionnaire-tablet text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": [ + "so" + ] + }, + { "title": "Activity", "path": "activity", diff --git a/routes/web.php b/routes/web.php index 6c9fd1c..258152b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -13,7 +13,7 @@ use Modules\Lpj\Http\Controllers\IjinUsahaController; use Modules\Lpj\Http\Controllers\JenisDokumenController; use Modules\Lpj\Http\Controllers\JenisFasilitasKreditController; use Modules\Lpj\Http\Controllers\JenisJaminanController; - use Modules\Lpj\Http\Controllers\JenisLaporanController; +use Modules\Lpj\Http\Controllers\JenisLaporanController; use Modules\Lpj\Http\Controllers\JenisLegalitasJaminanController; use Modules\Lpj\Http\Controllers\JenisPenilaianController; use Modules\Lpj\Http\Controllers\KJPPController; @@ -26,110 +26,109 @@ use Modules\Lpj\Http\Controllers\StatusPermohonanController; use Modules\Lpj\Http\Controllers\TeamsController; use Modules\Lpj\Http\Controllers\TenderController; use Modules\Lpj\Http\Controllers\TujuanPenilaianController; - use Modules\Lpj\Http\Controllers\TujuanPenilaianKJPPController; - - // use Modules\Lpj\Http\Controllers\ActivityController; +use Modules\Lpj\Http\Controllers\TujuanPenilaianKJPPController; +// use Modules\Lpj\Http\Controllers\ActivityController; use Modules\Lpj\Http\Controllers\SurveyorController; - /* - |-------------------------------------------------------------------------- - | Web Routes - |-------------------------------------------------------------------------- - | - | Here is where you can register web routes for your application. These - | routes are loaded by the RouteServiceProvider within a group which - | contains the "web" middleware group. Now create something great! - | - */ +/* + |-------------------------------------------------------------------------- + | Web Routes + |-------------------------------------------------------------------------- + | + | Here is where you can register web routes for your application. These + | routes are loaded by the RouteServiceProvider within a group which + | contains the "web" middleware group. Now create something great! + | + */ - Route::middleware(['auth'])->group(function () { - Route::name('basicdata.')->prefix('basic-data')->group(function () { - Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () { - Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export'); - }); - Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class); +Route::middleware(['auth'])->group(function () { + Route::name('basicdata.')->prefix('basic-data')->group(function () { + Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () { + Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export'); + }); + Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class); - Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () { - Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export'); - }); - Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class); + Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () { + Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export'); + }); + Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class); - Route::name('jenis-jaminan.')->prefix('jenis-jaminan')->group(function () { - Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas'); - Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [JenisJaminanController::class, 'export'])->name('export'); - }); - Route::resource('jenis-jaminan', JenisJaminanController::class); + Route::name('jenis-jaminan.')->prefix('jenis-jaminan')->group(function () { + Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas'); + Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [JenisJaminanController::class, 'export'])->name('export'); + }); + Route::resource('jenis-jaminan', JenisJaminanController::class); - Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () { - Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export'); - }); - Route::resource('tujuan-penilaian', TujuanPenilaianController::class); + Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () { + Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export'); + }); + Route::resource('tujuan-penilaian', TujuanPenilaianController::class); - Route::name('tujuan_penilaian_kjpp.')->prefix('tujuan_penilaian_kjpp')->group(function () { - Route::get('datatables', [TujuanPenilaianKJPPController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [TujuanPenilaianKJPPController::class, 'export'])->name('export'); - }); - Route::resource('tujuan_penilaian_kjpp', TujuanPenilaianKJPPController::class); + Route::name('tujuan_penilaian_kjpp.')->prefix('tujuan_penilaian_kjpp')->group(function () { + Route::get('datatables', [TujuanPenilaianKJPPController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [TujuanPenilaianKJPPController::class, 'export'])->name('export'); + }); + Route::resource('tujuan_penilaian_kjpp', TujuanPenilaianKJPPController::class); - Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { - Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [JenisDokumenController::class, 'export'])->name('export'); - }); - Route::resource('jenis-dokumen', JenisDokumenController::class); - Route::name('currency.')->prefix('mata-uang')->group(function () { - Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore'); - Route::get('datatables', [CurrencyController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [CurrencyController::class, 'export'])->name('export'); + Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { + Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [JenisDokumenController::class, 'export'])->name('export'); + }); + Route::resource('jenis-dokumen', JenisDokumenController::class); + Route::name('currency.')->prefix('mata-uang')->group(function () { + Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore'); + Route::get('datatables', [CurrencyController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [CurrencyController::class, 'export'])->name('export'); + }); + + Route::name('debitur.')->prefix('debitur')->group(function () { + Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); + Route::get('datatables', [DebitureController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [DebitureController::class, 'export'])->name('export'); + + + Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { + Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); + Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); + Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); + Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); + Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); + Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); + Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); }); - Route::name('debitur.')->prefix('debitur')->group(function () { - Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); - Route::get('datatables', [DebitureController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [DebitureController::class, 'export'])->name('export'); - - - Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { - Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); - Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); - Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); - Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); - Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); - Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); - Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); - }); - - Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { - Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); - Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); - Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); - Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); - Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); - Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); - }); + Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { + Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); + Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); + Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); + Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); + Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); + Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); }); + }); - Route::resource('debitur', DebitureController::class); + Route::resource('debitur', DebitureController::class); - Route::name('branch.')->prefix('cabang')->group(function () { - Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); - Route::get('datatables', [BranchController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [BranchController::class, 'export'])->name('export'); - }); + Route::name('branch.')->prefix('cabang')->group(function () { + Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); + Route::get('datatables', [BranchController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [BranchController::class, 'export'])->name('export'); + }); Route::resource('cabang', BranchController::class, [ 'names' => [ @@ -143,45 +142,45 @@ use Modules\Lpj\Http\Controllers\SurveyorController; ], ]); - Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { - Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); - Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); - }); - Route::resource('nilai-plafond', NilaiPlafondController::class); + Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { + Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); + Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); + }); + Route::resource('nilai-plafond', NilaiPlafondController::class); - Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); + Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); - Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); + Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); - Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { - Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); - Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); - }); - Route::resource('arah-mata-angin', ArahMataAnginController::class); + Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { + Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); + Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); + }); + 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'); - Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); - }); - Route::resource('status-permohonan', StatusPermohonanController::class); + Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { + Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); + Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); + }); + Route::resource('status-permohonan', StatusPermohonanController::class); Route::name('region.')->prefix('region')->group(function () { Route::get('restore/{id}', [RegionController::class, 'restore'])->name('restore'); @@ -253,11 +252,11 @@ use Modules\Lpj\Http\Controllers\SurveyorController; ], ]); - Route::name('branch.')->prefix('cabang')->group(function () { - Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); - Route::get('datatables', [BranchController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [BranchController::class, 'export'])->name('export'); - }); + Route::name('branch.')->prefix('cabang')->group(function () { + Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); + Route::get('datatables', [BranchController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [BranchController::class, 'export'])->name('export'); + }); Route::resource('cabang', BranchController::class, [ 'names' => [ @@ -271,37 +270,37 @@ use Modules\Lpj\Http\Controllers\SurveyorController; ], ]); - Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { - Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); - Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); - }); - Route::resource('nilai-plafond', NilaiPlafondController::class); + Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { + Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); + Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); + }); + Route::resource('nilai-plafond', NilaiPlafondController::class); - Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); + Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); - Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); + Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); - Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { - Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); - Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); - }); - Route::resource('arah-mata-angin', ArahMataAnginController::class); + Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { + Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); + Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); + }); + Route::resource('arah-mata-angin', ArahMataAnginController::class); Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); @@ -322,68 +321,68 @@ use Modules\Lpj\Http\Controllers\SurveyorController; Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); }); - Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { - Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); - Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); - }); - Route::resource('status-permohonan', StatusPermohonanController::class); - - // Start Activity KJPP route - Route::name('kjpp.')->prefix('kjpp')->group(function () { - Route::get('datatables', [KJPPController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [KJPPController::class, 'export'])->name('export'); - }); - - Route::resource('kjpp', KJPPController::class); - // End Activity KJPP route - - // Start Activity Ijin Usaha route - Route::name('ijin_usaha.')->prefix('ijin_usaha')->group(function () { - Route::get('datatables', [IjinUsahaController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [IjinUsahaController::class, 'export'])->name('export'); - }); - - Route::resource('ijin_usaha', IjinUsahaController::class); - // End Activity Ijin Usaha route - - // Start Activity Jenis Laporan route - Route::name('jenis_laporan.')->prefix('jenis_laporan')->group(function () { - Route::get('datatables', [JenisLaporanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [JenisLaporanController::class, 'export'])->name('export'); - }); - - Route::resource('jenis_laporan', JenisLaporanController::class); - // End Activity Jenis Laporan route - + Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { + Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); + Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); + }); + Route::resource('status-permohonan', StatusPermohonanController::class); + // Start Activity KJPP route + Route::name('kjpp.')->prefix('kjpp')->group(function () { + Route::get('datatables', [KJPPController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [KJPPController::class, 'export'])->name('export'); }); - Route::name('permohonan.')->prefix('permohonan')->group(function () { - Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur'); - Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download'); - Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore'); - Route::get('datatables', [PermohonanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [PermohonanController::class, 'export'])->name('export'); + Route::resource('kjpp', KJPPController::class); + // End Activity KJPP route + + // Start Activity Ijin Usaha route + Route::name('ijin_usaha.')->prefix('ijin_usaha')->group(function () { + Route::get('datatables', [IjinUsahaController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [IjinUsahaController::class, 'export'])->name('export'); }); + Route::resource('ijin_usaha', IjinUsahaController::class); + // End Activity Ijin Usaha route + + // Start Activity Jenis Laporan route + Route::name('jenis_laporan.')->prefix('jenis_laporan')->group(function () { + Route::get('datatables', [JenisLaporanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [JenisLaporanController::class, 'export'])->name('export'); + }); + + Route::resource('jenis_laporan', JenisLaporanController::class); + // End Activity Jenis Laporan route + + + }); + + Route::name('permohonan.')->prefix('permohonan')->group(function () { + Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur'); + Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download'); + Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore'); + Route::get('datatables', [PermohonanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [PermohonanController::class, 'export'])->name('export'); + }); + Route::resource('permohonan', PermohonanController::class); - Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index'); - Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization'])->name( - 'authorization.datatables', - ); - Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name( - 'authorization.show', - ); - Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name( - 'authorization.update', - ); + Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index'); + Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization'])->name( + 'authorization.datatables', + ); + Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name( + 'authorization.show', + ); + Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name( + 'authorization.update', + ); - Route::name('debitur.')->prefix('debitur')->group(function () { - Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); - Route::get('datatables', [DebitureController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [DebitureController::class, 'export'])->name('export'); + Route::name('debitur.')->prefix('debitur')->group(function () { + Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); + Route::get('datatables', [DebitureController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [DebitureController::class, 'export'])->name('export'); Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { @@ -408,59 +407,78 @@ use Modules\Lpj\Http\Controllers\SurveyorController; Route::resource('debitur', DebitureController::class); - Route::name('tender.')->prefix('tender')->group(function () { - // Penawaran - Route::get('penawaran', [TenderController::class, 'penawaran_index'])->name('penawaran.index'); - Route::get('penawaran/{id}/show', [TenderController::class, 'penawaran_show'])->name('penawaran.show'); - Route::get('penawaran/{id}/create', [TenderController::class, 'penawaran_create'])->name( - 'penawaran.createPenawaran', - ); - Route::post('penawaran/{id}/store', [TenderController::class, 'penawaran_store'])->name( - 'penawaran.storePenawaran', - ); - Route::post('penawaran/{id}/update', [TenderController::class, 'penawaran_store'])->name( - 'penawaran.updatePenawaran', - ); - Route::get('penawaran/exportPenawaran', [TenderController::class, 'exportPenawaran'])->name( - 'penawaran.exportPenawaran', - ); - Route::get('penawaran/datatables', [TenderController::class, 'datatablesPenawaran'])->name( - 'penawaran.datatables', - ); + Route::name('tender.')->prefix('tender')->group(function () { + // Penawaran + Route::get('penawaran', [TenderController::class, 'penawaran_index'])->name('penawaran.index'); + Route::get('penawaran/{id}/show', [TenderController::class, 'penawaran_show'])->name('penawaran.show'); + Route::get('penawaran/{id}/create', [TenderController::class, 'penawaran_create'])->name( + 'penawaran.createPenawaran', + ); + Route::post('penawaran/{id}/store', [TenderController::class, 'penawaran_store'])->name( + 'penawaran.storePenawaran', + ); + Route::post('penawaran/{id}/update', [TenderController::class, 'penawaran_store'])->name( + 'penawaran.updatePenawaran', + ); + Route::get('penawaran/exportPenawaran', [TenderController::class, 'exportPenawaran'])->name( + 'penawaran.exportPenawaran', + ); + Route::get('penawaran/datatables', [TenderController::class, 'datatablesPenawaran'])->name( + 'penawaran.datatables', + ); // Proses Penawaran Route::get('proses_penawaran', [TenderController::class, 'proses_penawaran_index'])->name( 'proses_penawaran.index', ); - // Penawaran Ulang - Route::get('penawaran_ulang', [TenderController::class, 'penawaran_ulang_index'])->name( - 'penawaran_ulang.index', - ); - }); - - Route::name('penilaian.')->prefix('penilaian')->group(function () { - Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [PenilaianController::class, 'export'])->name('export'); - Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']); - - Route::get('/', [PenilaianController::class, 'index'])->name('index'); - Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment'); - Route::put('{id}', [PenilaianController::class, 'update'])->name('update'); - Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi'); - Route::post('create', [PenilaianController::class, 'create'])->name('create'); - Route::post('store', [PenilaianController::class, 'store'])->name('store'); - }); - - Route::name('activity.')->prefix('activity')->group(function () { - Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); - Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [ActivityController::class, 'export'])->name('export'); - Route::get('/', [ActivityController::class, 'index'])->name('index'); - Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); - Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); - }); + // Penawaran Ulang + Route::get('penawaran_ulang', [TenderController::class, 'penawaran_ulang_index'])->name( + 'penawaran_ulang.index', + ); }); - require __DIR__ . '/registrasi.php'; + Route::name('penilaian.')->prefix('penilaian')->group(function () { + Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [PenilaianController::class, 'export'])->name('export'); + Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']); + + Route::get('/', [PenilaianController::class, 'index'])->name('index'); + Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment'); + Route::put('{id}', [PenilaianController::class, 'update'])->name('update'); + Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi'); + Route::post('create', [PenilaianController::class, 'create'])->name('create'); + Route::post('store', [PenilaianController::class, 'store'])->name('store'); + }); + + /** + * Route start activity + */ + + Route::name('activity.')->prefix('activity')->group(function () { + Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); + Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [ActivityController::class, 'export'])->name('export'); + Route::get('/', [ActivityController::class, 'index'])->name('index'); + + Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); + Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); + Route::get('senior', [ActivityController::class, 'senior'])->name('senior'); + + Route::name('progres.')->prefix('progres')->group(function () { + Route::get('/', [ActivityController::class, 'progres_activity'])->name('index'); + Route::get('/datatables/{id}', [ActivityController::class, 'dataTablesForActivity'])->name('datatables'); + + }); + + Route::get('/teams/{regionId}', [ActivityController::class, 'dataTablesForActivity']); + + }); + + /** + * Route end activity + */ +}); + +require __DIR__ . '/registrasi.php';