fixing data di recap

This commit is contained in:
JokoPrasetio 2026-05-22 09:31:24 +07:00
parent e3b7ad4f12
commit 1d2f03aa18

View File

@ -130,7 +130,10 @@ class DashboardController extends Controller
public function index(){ public function index(){
$katDok = MasterKategori::where('statusenabled', true)->select('master_kategori_directory_id', 'nama_kategori_directory')->get(); $katDok = MasterKategori::where('statusenabled', true)->select('master_kategori_directory_id', 'nama_kategori_directory')->get();
$authMapping = auth()->user()?->dataUser?->mappingUnitKerjaPegawai[0]; $authMapping = auth()->user()?->dataUser?->mappingUnitKerjaPegawai()
->where('isprimary', true)
->first();
// dd(auth()->user()?->dataUser);
$authUnitKerja = $authMapping->objectunitkerjapegawaifk ?? null; $authUnitKerja = $authMapping->objectunitkerjapegawaifk ?? null;
$authSubUnitKerja = $authMapping->objectsubunitkerjapegawaifk ?? null; $authSubUnitKerja = $authMapping->objectsubunitkerjapegawaifk ?? null;
$data = [ $data = [
@ -147,7 +150,7 @@ class DashboardController extends Controller
$user = auth()->user(); $user = auth()->user();
$isAdmin = auth('admin')->check(); $isAdmin = auth('admin')->check();
$pegawaiId = $user?->dataUser?->id; $pegawaiId = $user?->dataUser?->id;
$unitIds = []; $unitIds = [];
if (!$isAdmin) { if (!$isAdmin) {
if (!$pegawaiId) { if (!$pegawaiId) {
@ -260,7 +263,7 @@ class DashboardController extends Controller
}); });
}) })
->when($keyword, function ($q) use ($keyword) { ->when($keyword, function ($q) use ($keyword) {
$q->where(function ($sub) use ($keyword) { $q->where(function ($sub) use ($keyword) {
$sub->where('nama_dokumen', 'ILIKE', "%{$keyword}%") $sub->where('nama_dokumen', 'ILIKE', "%{$keyword}%")
->orWhere('no_dokumen', 'ILIKE', "%{$keyword}%"); ->orWhere('no_dokumen', 'ILIKE', "%{$keyword}%");
@ -303,18 +306,20 @@ class DashboardController extends Controller
public function downloadDataUnitExcel() public function downloadDataUnitExcel()
{ {
$mapping = MappingUnitKerjaPegawai::where('statusenabled', true) $mapping = MappingUnitKerjaPegawai::where('statusenabled', true)
->where('objectpegawaifk', auth()->user()->dataUser->id) ->where('objectpegawaifk', auth()?->user()?->dataUser?->id)
->get(['objectunitkerjapegawaifk']); ->get(['objectunitkerjapegawaifk']);
$unitIds = $mapping->pluck('objectunitkerjapegawaifk') $unitIds = $mapping->pluck('objectunitkerjapegawaifk')
->filter() ->filter()
->unique() ->unique()
->values() ->values()
->all(); ->all();
// dd(auth('admin')->check());
$query = FileDirectory::where('statusenabled', true) $query = FileDirectory::where('statusenabled', true)
->where('status_action', 'approved') ->where('status_action', 'approved');
->whereIn('id_unit_kerja', $unitIds) if(!auth('admin')->check()){
->orderBy('master_kategori_directory_id', 'desc'); $query= $query->whereIn('id_unit_kerja', $unitIds);
}
$query=$query->orderBy('master_kategori_directory_id', 'desc');
$rows = $query->get(); $rows = $query->get();
@ -351,9 +356,23 @@ class DashboardController extends Controller
$rowIdx = 5; $rowIdx = 5;
foreach ($rows as $item) { foreach ($rows as $item) {
$parts = array_values(array_filter(explode('/', (string) $item->file))); $parts = array_values(array_filter(explode('/', (string) $item->file)));
$unitName = $parts[0] ?? '-'; if(!$item->is_akre){
$subUnitName = $parts[1] ?? '-'; $unitName = $parts[0] ?? '-';
$kategoriName = $parts[2] ?? '-'; $subUnitName = $parts[1] ?? '-';
if($item->master_kategori_directory_id){
$kategoriName = $parts[2] ?? '-';
}else{
$kategoriName = $item->kategori_hukum ?? '-';
}
}else{
$unitName = UnitKerja::where('id', $item->id_unit_kerja)->first()->name;
$subUnitName = SubUnitKerja::where('id', $item->id_unit_kerja)->first()->name;
if($item->master_kategori_directory_id){
$kategoriName = MasterKategori::where('id', $item->id_unit_kerja)->first()->nama_kategori_directory;
}else{
$kategoriName = $item->kategori_hukum ?? '-';
}
}
$sheet->fromArray([ $sheet->fromArray([
$item->no_dokumen ?? '-', $item->no_dokumen ?? '-',
@ -609,6 +628,7 @@ class DashboardController extends Controller
'pegawai_id_entry' => auth()->user()->dataUser->id ?? 1, 'pegawai_id_entry' => auth()->user()->dataUser->id ?? 1,
'pegawai_nama_entry' => auth()->user()->dataUser->namalengkap ?? 'tes', 'pegawai_nama_entry' => auth()->user()->dataUser->namalengkap ?? 'tes',
]; ];
dd($payload);
if($file){ if($file){
$imageName = $file->getClientOriginalName(); $imageName = $file->getClientOriginalName();
$path = "{$nama_unit_kerja}/{$nama_sub_unit_kerja}/{$nama_kategori}/{$nama_klasifikasi}"; $path = "{$nama_unit_kerja}/{$nama_sub_unit_kerja}/{$nama_kategori}/{$nama_klasifikasi}";
@ -979,7 +999,7 @@ class DashboardController extends Controller
'id_sub_unit_kerja' => $mapping ? $mapping->objectsubunitkerjapegawaifk : null, 'id_sub_unit_kerja' => $mapping ? $mapping->objectsubunitkerjapegawaifk : null,
]); ]);
} }
$tempDir = storage_path('app/temp'); $tempDir = storage_path('app/temp');
if (!is_dir($tempDir)) { if (!is_dir($tempDir)) {
@ -1619,21 +1639,44 @@ class DashboardController extends Controller
->orWhereDate('tgl_expired', '>=', now()->toDateString()); ->orWhereDate('tgl_expired', '>=', now()->toDateString());
}) })
->whereNotNull('status_action')->where('status_action', 'approved'); ->whereNotNull('status_action')->where('status_action', 'approved');
if(in_array(22, $unitIds)){ // if(in_array(22, $unitIds)){
$rows = $rows->pluck('file'); // $rows = $rows->pluck('file');
}elseif(auth()->user()->username === "admin.turt"){ // }elseif(auth()->user()->username === "admin.turt"){
$rows = $rows->pluck('file'); // $rows = $rows->pluck('file');
}else{ // }else{
$rows = $rows->whereIn('id_unit_kerja', $unitIds)->pluck('file'); // $rows = $rows->whereIn('id_unit_kerja', $unitIds)->pluck('file');
// }
if (
!in_array(22, $unitIds) &&
auth()->user()->username !== "admin.turt"
) {
$rows = $rows->whereIn('id_unit_kerja', $unitIds);
} }
$rows = $rows->get();
// dd($rows);
$grouped = []; $grouped = [];
foreach ($rows as $path) { foreach ($rows as $item) {
$parts = array_values(array_filter(explode('/', $path))); $parts = array_values(array_filter(explode('/', $item->file)));
if (count($parts) < 4) { // if (count($parts) < 4) {
continue; // continue;
// }
if(!$item->is_akre){
$unit = $parts[0] ?? '-';
if($item->master_kategori_directory_id){
$folder = $parts[2] ?? '-';
}else{
$folder = $item->kategori_hukum ?? '-';
}
}else{
$unit = UnitKerja::where('id', $item->id_unit_kerja)->first()->name ?? '-';
if($item->master_kategory_directory_id){
$folder = MasterKategori::where('master_kategori_directory_id', $item->master_kategori_directory_id)->first()->nama_kategory_directory;
}else{
$folder = $item->kategori_hukum ?? '-';
}
} }
$unit = $parts[0];
$folder = $parts[2];
if ($keyword) { if ($keyword) {
$hit = str_contains(strtolower($unit), $keyword) || str_contains(strtolower($folder), $keyword); $hit = str_contains(strtolower($unit), $keyword) || str_contains(strtolower($folder), $keyword);
@ -1649,7 +1692,6 @@ class DashboardController extends Controller
} }
$grouped[$unit][$folder]++; $grouped[$unit][$folder]++;
} }
$result = []; $result = [];
foreach ($grouped as $unitName => $folders) { foreach ($grouped as $unitName => $folders) {
$data = []; $data = [];
@ -1665,7 +1707,6 @@ class DashboardController extends Controller
'data' => $data, 'data' => $data,
]; ];
} }
return $result; return $result;
} }