diff --git a/app/Http/Controllers/AksesFileController.php b/app/Http/Controllers/AksesFileController.php index 239b59c..be85742 100644 --- a/app/Http/Controllers/AksesFileController.php +++ b/app/Http/Controllers/AksesFileController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Models\AksesFile; use App\Models\DataUser; use App\Models\FileDirectory; +use App\Models\MappingUnitKerjaPegawai; use App\Models\UnitKerja; use Carbon\Carbon; use Illuminate\Http\Request; @@ -40,6 +41,7 @@ class AksesFileController extends Controller try { $datas = request('data'); foreach ($datas as $data) { + $pegawai = MappingUnitKerjaPegawai::where(['objectpegawaifk'=> $data['pegawai_id'], 'statusenabled' => true])->first(); $payload = [ 'pegawai_id' => $data['pegawai_id'], 'pegawai_id_entry' => auth()->user()?->dataUser?->id, @@ -50,7 +52,7 @@ class AksesFileController extends Controller $payload['all_akses'] = true; }else{ $payload['all_akses'] = false; - $payload['unit_akses'] = $data['unit_akses']; + $payload['unit_akses'] = $pegawai->objectunitkerjapegawaifk ?? null; } AksesFile::create($payload); @@ -92,13 +94,14 @@ class AksesFileController extends Controller { try { $data = AksesFile::where('akses_file_id', $id)->first(); + $pegawai = MappingUnitKerjaPegawai::where(['objectpegawaifk' => request('pegawai_id'), 'statusenabled' => true])->first(); $payload = [ 'pegawai_id' => request('pegawai_id'), 'pegawai_id_modified' => auth()->user()?->dataUser?->id, 'pegawai_nama_modified' => auth()->user()?->dataUser?->namalengkap, 'modified_at' => Carbon::now()->format('Y-m-d H:i:s.u'), 'all_akses' => request('akses') === "all" ? true : false, - 'unit_akses' => request('unit_akses') + 'unit_akses' => $pegawai?->objectunitkerjapegawaifk ?? null ]; $data->update($payload); diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index b2d46d9..20bc794 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -49,16 +49,15 @@ class DashboardController extends Controller if($kategori && $filterUnit && $subUnit && $klasifikasi){ $katArray = explode(',', $kategori); - $unitArray = explode(',', $filterUnit); $subArray = explode(',', $subUnit); $klaArray = explode(',', $klasifikasi); $unitKerja = UnitKerja::where('statusenabled', true) - ->whereIn('id', $unitArray) - ->with(['subUnitKerja' => function ($query) use ($katArray, $unitArray, $subArray, $klaArray) { + ->where('id', $filterUnit) + ->with(['subUnitKerja' => function ($query) use ($katArray, $filterUnit, $subArray, $klaArray) { $query->whereIn('id', $subArray) - ->with(['fileDirectory' => function ($q) use ($katArray, $unitArray, $subArray, $klaArray) { - $q->when(!empty($unitArray), function ($subQ) use ($unitArray) { - $subQ->whereIn('id_unit_kerja', $unitArray); + ->with(['fileDirectory' => function ($q) use ($katArray, $filterUnit, $subArray, $klaArray) { + $q->when($filterUnit, function ($subQ) use ($filterUnit) { + $subQ->where('id_unit_kerja', $filterUnit); })->when(!empty($subArray), function ($subQ) use ($subArray) { $subQ->whereIn('id_sub_unit_kerja', $subArray); })->when(!empty($katArray), function ($subQ) use ($katArray) { @@ -90,20 +89,25 @@ class DashboardController extends Controller $result = []; foreach($datas as $index => $value){ $file = request()->file("data.$index.file"); + list($id_unit_kerja, $nama_unit_kerja) = explode('/', $value['id_unit_kerja'],2); + list($id_sub_unit_kerja, $nama_sub_unit_kerja) = explode('/', $value['id_sub_unit_kerja'],2); + list($master_kategori_directory_id, $nama_kategori) = explode('/', $value['master_kategori_directory_id'],2); + list($klasifikasi, $nama_klasifikasi) = explode('/', $value['klasifikasi'],2); $payload = [ - 'master_klasifikasi_directory_id' => $value['klasifikasi'], - 'id_unit_kerja' => $value['id_unit_kerja'], - 'id_sub_unit_kerja' => $value['id_sub_unit_kerja'], - 'master_kategori_directory_id' => $value['master_kategori_directory_id'], + 'master_klasifikasi_directory_id' => $klasifikasi, + 'id_unit_kerja' => $id_unit_kerja, + 'id_sub_unit_kerja' => $id_sub_unit_kerja, + 'master_kategori_directory_id' => $master_kategori_directory_id, 'pegawai_id_entry' => auth()->user()->id ?? 1, 'pegawai_nama_entry' => auth()->user()->namalengkap ?? 'tes', ]; if($file){ $imageName = $file->getClientOriginalName(); - Storage::disk('file_directory')->put($imageName, file_get_contents($file)); - $payload['file'] =$imageName; + $path = "{$nama_unit_kerja}/{$nama_sub_unit_kerja}/{$nama_kategori}/{$nama_klasifikasi}"; + $file->storeAs($path, $imageName, 'file_directory'); + $payload['file'] =$path .'/' .$imageName; } - $saved = FileDirectory::create($payload); + FileDirectory::create($payload); } DB::connection('dbDirectory')->commit(); return response()->json([ @@ -130,7 +134,6 @@ class DashboardController extends Controller $aksesFile = AksesFile::where('pegawai_id', $authPegawai->id) ->where('statusenabled', true) ->first(); - $query = UnitKerja::where('statusenabled', true); if($aksesFile){ if($aksesFile->all_akses){ @@ -139,10 +142,15 @@ class DashboardController extends Controller $query->where('id', $aksesFile->unit_akses); } }else{ - $query->where('id', $authUnitKerja) + $data= $query->where('id', $authUnitKerja) ->with(['subUnitKerja' => function($query) use($authSubUnitKerja){ $query->where('id', $authSubUnitKerja); - }]); + }])->select('id', 'name')->get(); + + return response()->json([ + 'status' => true, + 'data' => $data + ], 200); } $data = $query->when($q, function ($query, $q){ @@ -157,7 +165,25 @@ class DashboardController extends Controller public function deleteFile(string $id){ $data = FileDirectory::where('file_directory_id', $id)->first(); - $data->update(['statusenabled' => false]); + if(!$data){ + return response()->json([ + 'success' => false, + 'message' => 'File tidak ditemukan' + ]); + } + $oldPath= public_path('file/' . $data->file); + $fileInfo = pathinfo($data->file); + $newFileName = $fileInfo['filename'] . '_deleted.' . $fileInfo['extension']; + $newPath = public_path('file/' . $fileInfo['dirname'] . '/' . $newFileName); + if (file_exists($oldPath)) { + // pastikan folder tujuan ada + if (!is_dir(dirname($newPath))) { + mkdir(dirname($newPath), 0777, true); + } + rename($oldPath, $newPath); + } + + $data->update(['statusenabled' => false, 'file' => $fileInfo['dirname'].'/'. $newFileName]); return response()->json([ 'success' => true, 'message' => 'Berhasil menghapus data' diff --git a/public/file/6mxSTn10NBcE0TDgaXLJIhNx2dORcZRMZaQuUxuc.pdf b/public/file/6mxSTn10NBcE0TDgaXLJIhNx2dORcZRMZaQuUxuc.pdf deleted file mode 100644 index cae760d..0000000 Binary files a/public/file/6mxSTn10NBcE0TDgaXLJIhNx2dORcZRMZaQuUxuc.pdf and /dev/null differ diff --git a/public/file/CATERING RSAB HK.png b/public/file/CATERING RSAB HK.png deleted file mode 100644 index 49e73ab..0000000 Binary files a/public/file/CATERING RSAB HK.png and /dev/null differ diff --git a/public/file/ChatGPT Image Aug 26, 2025, 08_47_44 AM.png b/public/file/ChatGPT Image Aug 26, 2025, 08_47_44 AM.png deleted file mode 100644 index 1fb1f83..0000000 Binary files a/public/file/ChatGPT Image Aug 26, 2025, 08_47_44 AM.png and /dev/null differ diff --git a/public/file/Draft-Point-Reward-IfbboKsH2-2I9w.pdf b/public/file/Draft-Point-Reward-IfbboKsH2-2I9w.pdf deleted file mode 100644 index 22eb153..0000000 Binary files a/public/file/Draft-Point-Reward-IfbboKsH2-2I9w.pdf and /dev/null differ diff --git a/public/file/ChatGPT Image Sep 3, 2025, 10_03_15 AM.png b/public/file/Instalasi Sistem Informasi Manajemen Rumah Sakit/Instalasi Sistem Informasi Manajemen Rumah Sakit/Juknis/Medis/ChatGPT Image Sep 3, 2025, 10_03_15 AM_deleted.png similarity index 100% rename from public/file/ChatGPT Image Sep 3, 2025, 10_03_15 AM.png rename to public/file/Instalasi Sistem Informasi Manajemen Rumah Sakit/Instalasi Sistem Informasi Manajemen Rumah Sakit/Juknis/Medis/ChatGPT Image Sep 3, 2025, 10_03_15 AM_deleted.png diff --git a/public/file/WhatsApp Image 2025-09-02 at 13.53.14_88d2e96e.jpg b/public/file/Instalasi Sistem Informasi Manajemen Rumah Sakit/Instalasi Sistem Informasi Manajemen Rumah Sakit/Juknis/Medis/WhatsApp Image 2025-09-02 at 13.53.14_88d2e96e_deleted.jpg similarity index 100% rename from public/file/WhatsApp Image 2025-09-02 at 13.53.14_88d2e96e.jpg rename to public/file/Instalasi Sistem Informasi Manajemen Rumah Sakit/Instalasi Sistem Informasi Manajemen Rumah Sakit/Juknis/Medis/WhatsApp Image 2025-09-02 at 13.53.14_88d2e96e_deleted.jpg diff --git a/public/file/default.png b/public/file/Instalasi Sistem Informasi Manajemen Rumah Sakit/Instalasi Sistem Informasi Manajemen Rumah Sakit/Juknis/Medis/default_deleted.png similarity index 100% rename from public/file/default.png rename to public/file/Instalasi Sistem Informasi Manajemen Rumah Sakit/Instalasi Sistem Informasi Manajemen Rumah Sakit/Juknis/Medis/default_deleted.png diff --git a/public/file/WhatsApp Image 2025-09-03 at 08.52.46_5778b407.jpg b/public/file/Instalasi Sistem Informasi Manajemen Rumah Sakit/Instalasi Sistem Informasi Manajemen Rumah Sakit/Juknis/Non Medis/WhatsApp Image 2025-09-03 at 08.52.46_5778b407_deleted.jpg similarity index 100% rename from public/file/WhatsApp Image 2025-09-03 at 08.52.46_5778b407.jpg rename to public/file/Instalasi Sistem Informasi Manajemen Rumah Sakit/Instalasi Sistem Informasi Manajemen Rumah Sakit/Juknis/Non Medis/WhatsApp Image 2025-09-03 at 08.52.46_5778b407_deleted.jpg diff --git a/public/file/Jooocode (1).png b/public/file/Jooocode (1).png deleted file mode 100644 index 0278293..0000000 Binary files a/public/file/Jooocode (1).png and /dev/null differ diff --git a/public/file/Jooocode.png b/public/file/Jooocode.png deleted file mode 100644 index c091b3f..0000000 Binary files a/public/file/Jooocode.png and /dev/null differ diff --git a/public/file/PAKET 1 (KENTANG REBUS, GALANTIN AYAM SAUS BISTIK, TUMIS BUNCIS DAGING GILING, SAMBAL).jpg b/public/file/PAKET 1 (KENTANG REBUS, GALANTIN AYAM SAUS BISTIK, TUMIS BUNCIS DAGING GILING, SAMBAL).jpg deleted file mode 100644 index 013d276..0000000 Binary files a/public/file/PAKET 1 (KENTANG REBUS, GALANTIN AYAM SAUS BISTIK, TUMIS BUNCIS DAGING GILING, SAMBAL).jpg and /dev/null differ diff --git a/public/file/PAKET 1 (NASI MERAH, AYAM GORENG, GADO-GADO, KERUPUK).jpg.jpg b/public/file/PAKET 1 (NASI MERAH, AYAM GORENG, GADO-GADO, KERUPUK).jpg.jpg deleted file mode 100644 index ceff63d..0000000 Binary files a/public/file/PAKET 1 (NASI MERAH, AYAM GORENG, GADO-GADO, KERUPUK).jpg.jpg and /dev/null differ diff --git a/public/file/PAKET 1 (NASI MERAH, FISH STEAK NUGGET, TUMIS SAWI PUTIH, SAMBAL).jpg b/public/file/PAKET 1 (NASI MERAH, FISH STEAK NUGGET, TUMIS SAWI PUTIH, SAMBAL).jpg deleted file mode 100644 index 20bfa61..0000000 Binary files a/public/file/PAKET 1 (NASI MERAH, FISH STEAK NUGGET, TUMIS SAWI PUTIH, SAMBAL).jpg and /dev/null differ diff --git a/public/file/PAKET 1 (NASI PUTIH, PEPES AYAM, TUMIS DAUN SINGKONG, SAMBAL).jpg b/public/file/PAKET 1 (NASI PUTIH, PEPES AYAM, TUMIS DAUN SINGKONG, SAMBAL).jpg deleted file mode 100644 index bb0f3de..0000000 Binary files a/public/file/PAKET 1 (NASI PUTIH, PEPES AYAM, TUMIS DAUN SINGKONG, SAMBAL).jpg and /dev/null differ diff --git a/public/file/PAKET 2 (KENTANG REBUS, BISTIK DAGING, TUMIS KAILAN, SAMBAL).jpg b/public/file/PAKET 2 (KENTANG REBUS, BISTIK DAGING, TUMIS KAILAN, SAMBAL).jpg deleted file mode 100644 index f4729a6..0000000 Binary files a/public/file/PAKET 2 (KENTANG REBUS, BISTIK DAGING, TUMIS KAILAN, SAMBAL).jpg and /dev/null differ diff --git a/public/file/PAKET 2 (KENTANG REBUS, DAGING SUKIYAKI, TUMIS BROKOLI WORTEL, SAMBAL).jpg b/public/file/PAKET 2 (KENTANG REBUS, DAGING SUKIYAKI, TUMIS BROKOLI WORTEL, SAMBAL).jpg deleted file mode 100644 index 2023f0c..0000000 Binary files a/public/file/PAKET 2 (KENTANG REBUS, DAGING SUKIYAKI, TUMIS BROKOLI WORTEL, SAMBAL).jpg and /dev/null differ diff --git a/public/file/PAKET 2 (NASI PUTIH, KAKAP KULUYUK, CAPCAY, SAMBAL ASAM MANIS).jpg b/public/file/PAKET 2 (NASI PUTIH, KAKAP KULUYUK, CAPCAY, SAMBAL ASAM MANIS).jpg deleted file mode 100644 index bb812ac..0000000 Binary files a/public/file/PAKET 2 (NASI PUTIH, KAKAP KULUYUK, CAPCAY, SAMBAL ASAM MANIS).jpg and /dev/null differ diff --git a/public/file/PAKET 2 (NASI PUTIH, ROLLADE DAGING SAUS BISTIK, TUMIS SAWI PUTIH, SAMBAL).jpg b/public/file/PAKET 2 (NASI PUTIH, ROLLADE DAGING SAUS BISTIK, TUMIS SAWI PUTIH, SAMBAL).jpg deleted file mode 100644 index 3bdccb2..0000000 Binary files a/public/file/PAKET 2 (NASI PUTIH, ROLLADE DAGING SAUS BISTIK, TUMIS SAWI PUTIH, SAMBAL).jpg and /dev/null differ diff --git a/public/file/Rumah Jooocode.png b/public/file/Rumah Jooocode.png deleted file mode 100644 index b49db23..0000000 Binary files a/public/file/Rumah Jooocode.png and /dev/null differ diff --git a/public/file/W4hGD1Br5INRp1SItxATO89kXQTd93hvBb4KfOUe.pdf b/public/file/W4hGD1Br5INRp1SItxATO89kXQTd93hvBb4KfOUe.pdf deleted file mode 100644 index e9e7444..0000000 Binary files a/public/file/W4hGD1Br5INRp1SItxATO89kXQTd93hvBb4KfOUe.pdf and /dev/null differ diff --git a/public/file/WhatsApp Image 2025-08-19 at 15.44.52_fa672dde.jpg b/public/file/WhatsApp Image 2025-08-19 at 15.44.52_fa672dde.jpg deleted file mode 100644 index ad71654..0000000 Binary files a/public/file/WhatsApp Image 2025-08-19 at 15.44.52_fa672dde.jpg and /dev/null differ diff --git a/public/file/WhatsApp Image 2025-08-20 at 07.44.39_7b5b4fcb.jpg b/public/file/WhatsApp Image 2025-08-20 at 07.44.39_7b5b4fcb.jpg deleted file mode 100644 index 0a7aa7f..0000000 Binary files a/public/file/WhatsApp Image 2025-08-20 at 07.44.39_7b5b4fcb.jpg and /dev/null differ diff --git a/public/file/WhatsApp Image 2025-08-26 at 09.00.22_d2384700.jpg b/public/file/WhatsApp Image 2025-08-26 at 09.00.22_d2384700.jpg deleted file mode 100644 index df217a9..0000000 Binary files a/public/file/WhatsApp Image 2025-08-26 at 09.00.22_d2384700.jpg and /dev/null differ diff --git a/public/file/WhatsApp Image 2025-09-02 at 11.19.09_2f299a7b.jpg b/public/file/WhatsApp Image 2025-09-02 at 11.19.09_2f299a7b.jpg deleted file mode 100644 index 99aec94..0000000 Binary files a/public/file/WhatsApp Image 2025-09-02 at 11.19.09_2f299a7b.jpg and /dev/null differ diff --git a/public/file/laporan-pesanan-20250819-143732.xlsx b/public/file/laporan-pesanan-20250819-143732.xlsx deleted file mode 100644 index 8897c71..0000000 Binary files a/public/file/laporan-pesanan-20250819-143732.xlsx and /dev/null differ diff --git a/public/file/pesanan-selesai20250813-142653.xlsx b/public/file/pesanan-selesai20250813-142653.xlsx deleted file mode 100644 index 45993fd..0000000 Binary files a/public/file/pesanan-selesai20250813-142653.xlsx and /dev/null differ diff --git a/public/file/pesanan-selesai20250819-142335.xlsx b/public/file/pesanan-selesai20250819-142335.xlsx deleted file mode 100644 index 2cea49d..0000000 Binary files a/public/file/pesanan-selesai20250819-142335.xlsx and /dev/null differ diff --git a/public/file/pesanan-selesai20250825-144604.xlsx b/public/file/pesanan-selesai20250825-144604.xlsx deleted file mode 100644 index ee3d358..0000000 Binary files a/public/file/pesanan-selesai20250825-144604.xlsx and /dev/null differ diff --git a/public/file/qRzWz72H1Sbf6CsbqmA4l8d9nYNmoExiLNqUWy0c.pdf b/public/file/qRzWz72H1Sbf6CsbqmA4l8d9nYNmoExiLNqUWy0c.pdf deleted file mode 100644 index d186fe7..0000000 Binary files a/public/file/qRzWz72H1Sbf6CsbqmA4l8d9nYNmoExiLNqUWy0c.pdf and /dev/null differ diff --git a/public/file/semua-pesanan20250819-143713.xlsx b/public/file/semua-pesanan20250819-143713.xlsx deleted file mode 100644 index 6d52130..0000000 Binary files a/public/file/semua-pesanan20250819-143713.xlsx and /dev/null differ diff --git a/public/js/akses/action.js b/public/js/akses/action.js index c51e375..299eec3 100644 --- a/public/js/akses/action.js +++ b/public/js/akses/action.js @@ -104,37 +104,15 @@ function editAkses(e){ new bootstrap.Modal(modalEdit).show(); formEditAkses.attr('action', `/akses/${data.akses_file_id}`) $("#akses_id_edit").val(data.akses === 1 ? 'all' : 'unit') - selectAksesEdit() selectOptionPegawaiEdit() - selectOptionUnitEdit() if (data.pegawai_id) { setOldSelect2Value('#pegawai_id_edit', data.pegawai_id, data.pegawai_nama); } - if (data.unit_id) { - setOldSelect2Value('#unit_akses_edit', data.unit_id, data.unit_nama); - } } -document.addEventListener('change', function(e){ - e.preventDefault() - if(e.target){ - selectAksesEdit() - } -}) - -function selectAksesEdit(){ - let aksesId = $(`#akses_id_edit`); - let colUnit = $(`#col_select_unit_edit`) - if(aksesId.val() === "all"){ - colUnit.addClass('d-none') - }else{ - colUnit.removeClass('d-none') - } -} - function selectOptionPegawaiEdit() { let selectPegawai = $(`#pegawai_id_edit`); @@ -165,48 +143,6 @@ function selectOptionPegawaiEdit() { }); } -function selectOptionUnitEdit(oldId = null) { - let selectUnit = $(`#unit_akses_edit`); - // inisialisasi select2 untuk Unit Kerja - selectUnit.select2({ - placeholder: '-- Pilih Unit --', - allowClear:true, - width: '100%', - dropdownParent: selectUnit.parent(), - ajax:{ - url : '/select-unit-kerja-option', - dataType: 'json', - delay: 250, - data: function(params){ - return { q: params.term } - }, - processResults: function(data){ - return { - results : data?.data.map(item => ({ - id: item.id, - text: item.name, - })) - } - }, - cache: true, - }, - minimumInputLength: 1, - }); - - if (oldId) { - $.ajax({ - url: '/select-unit-kerja', - data: { id: oldId }, - dataType: 'json' - }).then(function (data) { - if (data?.data?.length) { - let item = data.data[0]; - let option = new Option(item.name, item.id, true, true); - selectUnit.append(option).trigger('change'); - } - }); - } -} function setOldSelect2Value(selector, id, text) { diff --git a/public/js/akses/functions.js b/public/js/akses/functions.js index 6682f18..82cdf88 100644 --- a/public/js/akses/functions.js +++ b/public/js/akses/functions.js @@ -1,6 +1,5 @@ $(document).ready(function() { selectOptionPegawai(0) - selectOptionUnit(0) }); function selectOptionPegawai(colCount) { @@ -32,54 +31,6 @@ function selectOptionPegawai(colCount) { }); } -function selectOptionUnit(colCount) { - let selectUnit = $(`#unit_akses_${colCount}`); - // inisialisasi select2 untuk Unit Kerja - selectUnit.select2({ - placeholder: '-- Pilih Unit --', - allowClear:true, - width: '100%', - dropdownParent: selectUnit.parent(), - ajax:{ - url : '/select-unit-kerja-option', - dataType: 'json', - delay: 250, - data: function(params){ - return { q: params.term } - }, - processResults: function(data){ - return { - results : data?.data.map(item => ({ - id: item.id, - text: item.name, - })) - } - }, - cache: true, - }, - minimumInputLength: 1, - }); -} - -function selectAkses(colCount){ - let aksesId = $(`#akses_id_${colCount}`); - let colUnit = $(`#col_select_unit_${colCount}`) - if(aksesId.val() === "all"){ - colUnit.addClass('d-none') - }else{ - colUnit.removeClass('d-none') - } - -} - - -document.addEventListener('change', function(e){ - e.preventDefault() - if(e.target && e.target.id.startsWith("akses_id")){ - let colCount = e.target.id.split("_")[2]; - selectAkses(colCount) - } -}) let colCount = 1; @@ -96,7 +47,7 @@ function addForm(){ -