diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index aa96474..575ebd1 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -145,22 +145,18 @@ class DashboardController extends Controller public function dataUnitInternal(){ $perPage = (int) request('per_page', 10); // $authUnitId = auth()->user()->dataUser?->mappingUnitKerjaPegawai[0]?->objectunitkerjapegawaifk; - $mapping = MappingUnitKerjaPegawai::where('statusenabled', true); - if(auth()->user()){ - $mapping->where('objectpegawaifk', auth()->user()->dataUser->id); - }else{ - $mapping->where('objectpegawaifk', 937); - } - $mapping->get(['objectunitkerjapegawaifk', 'objectsubunitkerjapegawaifk']); + $userId = auth()->user()->dataUser->id ?? 937; + $mapping = MappingUnitKerjaPegawai::where('statusenabled', true) + ->where('objectpegawaifk', $userId) + ->get(['objectunitkerjapegawaifk']); $unitIds = $mapping->pluck('objectunitkerjapegawaifk') ->filter() // buang null ->unique() ->values() - ->all(); + ->toArray(); $keyword = request('keyword'); $kategori = request('kategori'); $kategoriHeader = request('kategori_header'); - $unitFilter = request('unit'); $kategoriValues = is_array($kategori) ? array_values(array_filter($kategori)) @@ -195,16 +191,17 @@ class DashboardController extends Controller } $kategoriIds[] = $val; } - $unitFilterIds = is_array($unitFilter) - ? array_values(array_filter($unitFilter)) - : array_values(array_filter(explode(',', (string) $unitFilter))); - if (!empty($unitFilterIds)) { - $unitIds = array_values(array_intersect($unitIds, $unitFilterIds)); - } $baseQuery = FileDirectory::with('kategori') + ->when(!empty($unitFilter), function($q) use($unitFilter){ + $q->whereIn('id_unit_kerja', $unitFilter); + }) ->where('statusenabled', true) - ->where('status_action', 'approved') - ->whereIn('id_unit_kerja', $unitIds); + ->where('status_action', 'approved'); + + if(in_array(22, $unitIds)){ + }else{ + $baseQuery = $baseQuery->whereIn('id_unit_kerja', $unitIds); + } $query = (clone $baseQuery) ->when(!empty($kategoriIds) || !empty($kategoriTypes) || !empty($kategoriHukumValues), function ($q) use ($kategoriIds, $kategoriTypes, $kategoriHukumValues) { @@ -628,18 +625,23 @@ class DashboardController extends Controller $unitIds = $mapping->pluck('objectunitkerjapegawaifk')->filter()->unique()->values(); $subIds = $mapping->pluck('objectsubunitkerjapegawaifk')->filter()->unique()->values(); + $units = UnitKerja::where('statusenabled', true); + if($unitIds->contains(22)){ + }else{ + $units->when($unitIds->isNotEmpty(), fn($q2) => $q2->whereIn('id', $unitIds)); + } - $units = UnitKerja::where('statusenabled', true) - ->when($unitIds->isNotEmpty(), fn($q2) => $q2->whereIn('id', $unitIds)) - ->when($q, fn($q2) => $q2->where('name', 'ILIKE', '%' . $q . '%')) + $units = $units->when($q, fn($q2) => $q2->where('name', 'ILIKE', '%' . $q . '%')) ->select('id', 'name') ->get(); - $subUnits = $subIds->isNotEmpty() - ? SubUnitKerja::where('statusenabled', true) - ->whereIn('id', $subIds) - ->get(['id', 'name', 'objectunitkerjapegawaifk']) - : collect(); + $subUnits = SubUnitKerja::where('statusenabled', true); + if($unitIds->contains(22)){ + + }else{ + $subUnits = $subUnits->whereIn('id', $subIds); + } + $subUnits = $subUnits->get(['id', 'name', 'objectunitkerjapegawaifk']); $subMap = $subUnits->groupBy('objectunitkerjapegawaifk')->map(function($items){ return $items->map(fn($s) => ['id' => $s->id, 'name' => $s->name])->values(); @@ -1558,9 +1560,12 @@ class DashboardController extends Controller private function buildRecapData(array $unitIds, string $keyword = ''): array { $rows = FileDirectory::where('statusenabled', true) - ->whereNotNull('status_action')->where('status_action', 'approved') - ->whereIn('id_unit_kerja', $unitIds) - ->pluck('file'); + ->whereNotNull('status_action')->where('status_action', 'approved'); + if(in_array(22, $unitIds)){ + $rows = $rows->pluck('file'); + }else{ + $rows = $rows->whereIn('id_unit_kerja', $unitIds)->pluck('file'); + } $grouped = []; foreach ($rows as $path) { diff --git a/app/Http/Controllers/LogActivityController.php b/app/Http/Controllers/LogActivityController.php index 7a1cb9c..7e269f6 100644 --- a/app/Http/Controllers/LogActivityController.php +++ b/app/Http/Controllers/LogActivityController.php @@ -41,9 +41,12 @@ class LogActivityController extends Controller $q->select(DB::raw('COUNT(DISTINCT pegawai_id_entry)')); }]) ->where('statusenabled', true) - ->where('status_action', 'approved') - ->whereIn('id_unit_kerja', $unitIds) - ->orderBy('entry_at','desc'); + ->where('status_action', 'approved'); + if(in_array(22, $unitIds)){ + }else{ + $query = $baseQuery->whereIn('id_unit_kerja', $unitIds); + } + $query = $query->orderBy('entry_at','desc'); if($keyword){ $query->where(function($q) use ($keyword){ diff --git a/resources/views/dataUmum/index.blade.php b/resources/views/dataUmum/index.blade.php index 2a4d6ba..bb354df 100644 --- a/resources/views/dataUmum/index.blade.php +++ b/resources/views/dataUmum/index.blade.php @@ -36,6 +36,15 @@ color: #111 !important; } +.select2-container--default .select2-selection--single .select2-selection__clear { + display: inline-block !important; + font-size: 16px; + font-weight: bold; + color: #999; + margin-right: 8px; + cursor: pointer; +} + .table-header-filter .dropdown-menu { z-index: 1080; } diff --git a/resources/views/dataUnit/index.blade.php b/resources/views/dataUnit/index.blade.php index 288d31a..aa5b52d 100644 --- a/resources/views/dataUnit/index.blade.php +++ b/resources/views/dataUnit/index.blade.php @@ -1,9 +1,10 @@ @extends('layout.main')