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} -
| + + | +Aksi | +Nama Dokumen | +Tipe Dokumen | +Tanggal Unggah | +
|---|