From ce8848a2b86ad1744516f7bb0f2fc83e80ec00d8 Mon Sep 17 00:00:00 2001 From: JokoPrasetio Date: Tue, 3 Mar 2026 14:04:31 +0700 Subject: [PATCH] on progress --- app/Http/Controllers/DashboardController.php | 56 ++- public/js/pengajuanFile/index.js | 10 +- .../views/dataAkreditasi/index.blade.php | 329 ++++++++++++++++++ resources/views/dataUnit/index.blade.php | 5 +- .../views/dataUnit/modal/create.blade.php | 4 +- .../views/pengajuanFile/modal/edit.blade.php | 4 +- routes/web.php | 1 + 7 files changed, 391 insertions(+), 18 deletions(-) diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index fef0647..3619570 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -167,6 +167,9 @@ class DashboardController extends Controller } $query = FileDirectory::where('statusenabled', true) ->where('status_action', 'approved') + ->where(function($q){ + $q->where('is_akre', false)->orWhereNull('is_akre'); + }) ->whereIn('id_unit_kerja', $unitIds) ->when(!empty($kategoriIds), function ($q) use ($kategoriIds) { $q->whereIn('master_kategori_directory_id', $kategoriIds); @@ -931,6 +934,9 @@ class DashboardController extends Controller ? array_values(array_filter($kategori)) : array_values(array_filter(explode(',', (string) $kategori))); $query = FileDirectory::where('statusenabled', true)->where('status_action', 'approved') + ->where(function($q){ + $q->where('is_akre', false)->orWhereNull('is_akre'); + }) ->when(!empty($unitIds), function ($q) use ($unitIds) { $q->whereIn('id_unit_kerja', $unitIds); }) @@ -1051,11 +1057,15 @@ class DashboardController extends Controller $isAtasan = MappingUnitKerjaPegawai::where('statusenabled', true)->where(function($q){ $q->where('objectatasanlangsungfk', auth()->user()?->dataUser?->id)->orWhere('objectpejabatpenilaifk', auth()->user()->objectpegawaifk); })->exists(); - foreach ($datas as $index => $data) { - list($id_unit_kerja, $nama_unit_kerja) = explode('/', $data['id_unit_kerja'],2); - list($id_sub_unit_kerja, $nama_sub_unit_kerja) = explode('/', $data['id_sub_unit_kerja'],2); - list($master_kategori_directory_id, $nama_kategori) = explode('/', $data['master_kategori_directory_id'],2); + list($id_unit_kerja, $nama_unit_kerja) = explode('/', $data['id_unit_kerja'],2); + list($id_sub_unit_kerja, $nama_sub_unit_kerja) = explode('/', $data['id_sub_unit_kerja'],2); + if($data['is_akre'] === "1"){ + $path = "{$data['akre_type']}/{$data['akre_segment']}/{$data['akre_item']}"; + }else{ + list($master_kategori_directory_id, $nama_kategori) = explode('/', $data['master_kategori_directory_id'],2); + $path = "{$nama_unit_kerja}/{$nama_sub_unit_kerja}/{$nama_kategori}"; + } $uploadedFile = request()->file("data.$index.file"); if(!$uploadedFile){ @@ -1086,11 +1096,6 @@ class DashboardController extends Controller 'is_akre' => ($data['is_akre'] ?? null) == "1" ]; $fd = FileDirectory::create($payload); - if($data['is_akre'] === "2"){ - $path = "{$nama_unit_kerja}/{$nama_sub_unit_kerja}/{$nama_kategori}"; - }else{ - $path = "TKRS/{$data['akre_tkrs_parent']}/{$data['akre_tkrs_child']}"; - } $disk = Storage::disk('s3'); $imageName = $this->buildStoredFileName( @@ -2255,4 +2260,37 @@ class DashboardController extends Controller ]; return view('dataAkreditasi.index', $data); } + + public function dataTableAkreditasi(Request $request) + { + $keyword = $request->query('keyword'); + $perPage = (int) $request->query('per_page', 10); + $query = FileDirectory::query() + ->where('statusenabled', true) + ->where('status_action', 'approved') + ->where('is_akre', true); + + // Logic Pencarian + $query->when($keyword, function ($q) use ($keyword) { + $q->where(function ($sub) use ($keyword) { + $sub->where('nama_dokumen', 'ILIKE', "%{$keyword}%") + ->orWhere('no_dokumen', 'ILIKE', "%{$keyword}%") + ->orWhere('file', 'ILIKE', "%{$keyword}%"); // Cari juga berdasarkan nama file di path + }); + }); + $data = $query->orderBy('entry_at', 'desc')->paginate($perPage); + + return response()->json([ + 'status' => true, + 'message' => 'Berhasil mendapatkan data', + 'data' => $data->items(), + 'pagination' => [ + 'current_page' => $data->currentPage(), + 'total' => $data->total(), + 'per_page' => $data->perPage(), + 'last_page' => $data->lastPage(), + 'has_more' => $data->hasMorePages(), + ] + ]); + } } diff --git a/public/js/pengajuanFile/index.js b/public/js/pengajuanFile/index.js index a3d52f2..9d4dbb9 100644 --- a/public/js/pengajuanFile/index.js +++ b/public/js/pengajuanFile/index.js @@ -62,6 +62,7 @@ document.addEventListener('DOMContentLoaded', () => { } function buildRow(item){ + console.log(item); let tanggal = item.entry_at ? formatTanggal(item.entry_at) : '-'; let tanggalExp = item.tgl_expired ? formatTanggal(item.tgl_expired) : '-'; @@ -117,8 +118,13 @@ document.addEventListener('DOMContentLoaded', () => { data-no_dokumen="${item.no_dokumen || '-'}" data-tanggal_terbit="${item.tanggal_terbit || '-'}" data-permission_file="${item.permission_file || '-'}">${item.nama_dokumen} - ${item.folder || '-'} - ${item.part || '-'} + ${item.is_akre ? `Dokumen akreditasi` : + ` + ${item.folder || '-'} + ${item.part || '-'} + ` + } + ${tanggalTerbit} ${tanggalExp} ${tanggal} diff --git a/resources/views/dataAkreditasi/index.blade.php b/resources/views/dataAkreditasi/index.blade.php index e69de29..96573dc 100644 --- a/resources/views/dataAkreditasi/index.blade.php +++ b/resources/views/dataAkreditasi/index.blade.php @@ -0,0 +1,329 @@ +@extends('layout.main') +@section('body_main') +
+
+
+
+
+
+
+

Dokumen Umum

+
+ + {{-- + + Download Excel + --}} +
+ + + + 0 dipilih + +
+ + +
+
+
+
+ +
+
+ +
+
+
+ + + + + + + + + + + + + +
+ + AksiNama DokumenTipe DokumenTanggal Unggah
+
+
+
+ Tampilkan + + data +
+ +
+ +
+ Memuat data... +
+
+ +
+
+
+ +
+
+
+ + +@endsection \ No newline at end of file diff --git a/resources/views/dataUnit/index.blade.php b/resources/views/dataUnit/index.blade.php index a45b33c..b51079a 100644 --- a/resources/views/dataUnit/index.blade.php +++ b/resources/views/dataUnit/index.blade.php @@ -872,11 +872,10 @@
- +
- - @foreach ($katDok as $kat) diff --git a/resources/views/pengajuanFile/modal/edit.blade.php b/resources/views/pengajuanFile/modal/edit.blade.php index bbe8d1a..9d9ca3a 100644 --- a/resources/views/pengajuanFile/modal/edit.blade.php +++ b/resources/views/pengajuanFile/modal/edit.blade.php @@ -31,8 +31,8 @@
- - @foreach ($katDok as $kat) diff --git a/routes/web.php b/routes/web.php index effdf07..fa2a64f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,6 +17,7 @@ Route::middleware(['auth'])->group(function(){ Route::get('/data-umum', [DashboardController::class, 'dataUmum']); Route::get('/datatable-umum', [DashboardController::class, 'datatableDataUmum']); Route::get('/data-akreditasi', [DashboardController::class, 'dataAkreditasi']); + Route::get('/datatable-akreditasi', [DashboardController::class, 'dataTableAkreditasi']); Route::get('/download-excel/data-umum', [DashboardController::class, 'downloadDataUmumExcel']); Route::post('/uploadv2', [DashboardController::class, 'storeVersion2']); Route::get('/file-preview/{id}', [DashboardController::class, 'dataPdf']);