update by CODEX

This commit is contained in:
Fiqh Pratama
2025-10-23 17:21:46 +07:00
parent 4e0ab80520
commit 6f9f0d34a3
12 changed files with 457 additions and 326 deletions
@@ -41,64 +41,40 @@ class DashboardController extends Controller
$closingDate = Carbon::create($now->year, $now->month, $closingDay)->endOfDay();
}
$forms = [
'vehicle' => FormVehicleRunningCost::whereMonth('tanggal', date('m'))
->whereBetween('tanggal', [$startDate, $closingDate])
->orderBy('tanggal', 'desc')
->get(),
'upcountry' => FormUpCountry::whereMonth('tanggal', date('m'))
->whereBetween('tanggal', [$startDate, $closingDate])
->orderBy('tanggal', 'desc')
->get(),
'entertainment' => FormEntertaimentPresentation::whereMonth('tanggal', date('m'))
->whereBetween('tanggal', [$startDate, $closingDate])
->orderBy('tanggal', 'desc')
->get(),
'meeting' => FormMeetingSeminar::whereMonth('created_at', date('m'))
->whereBetween('created_at', [$startDate, $closingDate])
->orderBy('created_at', 'desc')
->get(),
'others' => FormOthers::whereMonth('tanggal', date('m'))
->whereBetween('tanggal', [$startDate, $closingDate])
->orderBy('tanggal', 'desc')
->get(),
$formQueries = [
'vehicle' => FormVehicleRunningCost::query()
->whereMonth('tanggal', date('m'))
->whereBetween('tanggal', [$startDate, $closingDate]),
'upcountry' => FormUpCountry::query()
->whereMonth('tanggal', date('m'))
->whereBetween('tanggal', [$startDate, $closingDate]),
'entertainment' => FormEntertaimentPresentation::query()
->whereMonth('tanggal', date('m'))
->whereBetween('tanggal', [$startDate, $closingDate]),
'meeting' => FormMeetingSeminar::query()
->whereMonth('created_at', date('m'))
->whereBetween('created_at', [$startDate, $closingDate]),
'others' => FormOthers::query()
->whereMonth('tanggal', date('m'))
->whereBetween('tanggal', [$startDate, $closingDate]),
];
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
$approvedStatuses = [
// 'Approved',
// 'Approved 1',
// 'Approved 2',
// 'Final Approved',
// 'Final Approve',
'Closed',
];
if ($region_id) {
$users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) {
$query->where('region_id', $region_id);
})->pluck('user_id');
$forms = [];
foreach ($forms as $key => $query) {
$forms[$key] = $query->whereIn('user_id', $users)->whereIn('status', ['Approved', 'Closed']);
}
}
} elseif ($role == 'Area Manager Cabang') {
$cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang'];
if ($cabang_id) {
$users = UserHasCabang::where('cabang_id', $cabang_id)->pluck('user_id');
foreach ($forms as $key => $query) {
$forms[$key] = $query->whereIn('user_id', $users)->whereIn('status', ['Approved', 'Closed']);
}
}
} elseif ($role == 'Medical Representatif') {
foreach ($forms as $key => $query) {
$forms[$key] = $query->where('user_id', auth()->user()->id)->whereIn('status', ['Approved', 'Closed']);
}
} else {
foreach ($forms as $key => $query) {
$forms[$key] = $query->whereIn('status', ['Approved', 'Closed']);
}
}
// Sum the filtered queries
foreach ($forms as $key => $query) {
$forms[$key] = $query->sum('approved_total');
foreach ($formQueries as $key => $query) {
$forms[$key] = $query
->whereIn('status', $approvedStatuses)
->whereNotNull('final_approved_at')
->sum('approved_total');
}
return view(