diff --git a/app/Helpers/BudgetHelper.php b/app/Helpers/BudgetHelper.php index fa5dfbd..3d26892 100644 --- a/app/Helpers/BudgetHelper.php +++ b/app/Helpers/BudgetHelper.php @@ -11,16 +11,18 @@ use App\Models\FormMeetingSeminar; use App\Models\FormOthers; use App\Models\FormEntertaimentPresentation; use App\Models\FormVehicleRunningCost; +use App\Helpers\FormHelper; +use App\Models\UserHasCabang; class BudgetHelper { - public static function getAvailableBudget() + public static function getAvailableBudget($cabang_id) { // Get the budget control data - $budget = BudgetControl::orderBy('created_at', 'desc')->with(['user', 'cabang'])->get(); + $budget = BudgetControl::where('cabang_id', $cabang_id)->orderBy('created_at', 'desc')->with(['user', 'cabang'])->get(); // Initialize an empty array to hold the used budget sums - $usedBudget = []; + $usedBudget = 0; foreach ($budget as $b) { // Get the month and year from the budget @@ -28,38 +30,12 @@ class BudgetHelper $year = $b->periode_year; // Add the used budget per model for the specified month and year to the usedBudget array - $usedBudget[] = [ - 'FormUpCountry' => FormUpCountry::whereIn('status', ['Approved', 'Closed']) - ->whereMonth('tanggal', '=', date('m', strtotime($month))) - ->whereYear('tanggal', '=', $year) - ->sum('approved_total'), - - 'FormMeetingSeminar' => FormMeetingSeminar::whereIn('status', ['Approved', 'Closed']) - ->whereMonth('created_at', '=', date('m', strtotime($month))) - ->whereYear('created_at', '=', $year) - ->sum('approved_total'), - - 'FormOthers' => FormOthers::whereIn('status', ['Approved', 'Closed']) - ->whereMonth('tanggal', '=', date('m', strtotime($month))) - ->whereYear('tanggal', '=', $year) - ->sum('approved_total'), - - 'FormEntertaimentPresentation' => FormEntertaimentPresentation::whereIn('status', ['Approved', 'Closed']) - ->whereMonth('tanggal', '=', date('m', strtotime($month))) - ->whereYear('tanggal', '=', $year) - ->sum('approved_total'), - - 'FormVehicleRunningCost' => FormVehicleRunningCost::whereIn('status', ['Approved', 'Closed']) - ->whereMonth('tanggal', '=', date('m', strtotime($month))) - ->whereYear('tanggal', '=', $year) - ->sum('approved_total') - ]; + $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); + $userIds = $users->pluck('user_id')->toArray(); + $forms = FormHelper::getFormsByUserIds($userIds, $month, $year)->sortByDesc('tanggal')->sortByDesc('created_at'); + $usedBudget += $forms->sum('approved_total'); } - $usedBudget = array_sum(array_map(function ($b) { - return array_sum($b); - }, $usedBudget)); - $availableBudget = $budget->sum('amount') - $usedBudget; return $availableBudget; diff --git a/app/Helpers/FormHelper.php b/app/Helpers/FormHelper.php new file mode 100644 index 0000000..d4a97c2 --- /dev/null +++ b/app/Helpers/FormHelper.php @@ -0,0 +1,162 @@ +whereIn('user_id', $userIds) + ->whereMonth('tanggal', '=', date('m', strtotime($month))) + ->whereYear('tanggal', '=', $year); + + $formVehicleRunningCostQuery = FormVehicleRunningCost::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Vehicle Running Cost' as type") + )->whereIn('user_id', $userIds) + ->whereMonth('tanggal', '=', date('m', strtotime($month))) + ->whereYear('tanggal', '=', $year); + + $formEntertaimentPresentationQuery = FormEntertaimentPresentation::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Entertainment Presentation' as type") + )->whereIn('user_id', $userIds) + ->whereMonth('tanggal', '=', date('m', strtotime($month))) + ->whereYear('tanggal', '=', $year); + + $formMeetingSeminarQuery = FormMeetingSeminar::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Meeting Seminar' as type") + )->whereIn('user_id', $userIds) + ->whereMonth('created_at', '=', date('m', strtotime($month))) + ->whereYear('created_at', '=', $year); + + $formOthersQuery = FormOthers::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Others' as type") + )->whereIn('user_id', $userIds) + ->whereMonth('tanggal', '=', date('m', strtotime($month))) + ->whereYear('tanggal', '=', $year); + + // Use union before fetching the data + $forms = $formUpCountryQuery + ->union($formVehicleRunningCostQuery) + ->union($formEntertaimentPresentationQuery) + ->union($formMeetingSeminarQuery) + ->union($formOthersQuery) + ->get(); + + return $forms; + } + + public static function getAllForms($month, $year) { + $formUpCountryQuery = FormUpCountry::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Up Country' as type") + )->whereMonth('tanggal', '=', date('m', strtotime($month))) + ->whereYear('tanggal', '=', $year); + + $formVehicleRunningCostQuery = FormVehicleRunningCost::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Vehicle Running Cost' as type") + )->whereMonth('tanggal', '=', date('m', strtotime($month))) + ->whereYear('tanggal', '=', $year); + + $formEntertaimentPresentationQuery = FormEntertaimentPresentation::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Entertainment Presentation' as type") + )->whereMonth('tanggal', '=', date('m', strtotime($month))) + ->whereYear('tanggal', '=', $year); + + $formMeetingSeminarQuery = FormMeetingSeminar::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Meeting Seminar' as type") + )->whereMonth('created_at', '=', date('m', strtotime($month))) + ->whereYear('created_at', '=', $year); + + $formOthersQuery = FormOthers::select( + 'expense_number', + 'user_id', + 'total', + 'approved_total', + 'status', + 'account_number', + 'created_at', + DB::raw("'Others' as type") + )->whereMonth('tanggal', '=', date('m', strtotime($month))) + ->whereYear('tanggal', '=', $year); + + // Use union before fetching the data + $forms = $formUpCountryQuery + ->union($formVehicleRunningCostQuery) + ->union($formEntertaimentPresentationQuery) + ->union($formMeetingSeminarQuery) + ->union($formOthersQuery) + ->get(); + + return $forms; + } +} diff --git a/app/Http/Controllers/Backend/ReportController.php b/app/Http/Controllers/Backend/ReportController.php index 7dea482..f71f141 100644 --- a/app/Http/Controllers/Backend/ReportController.php +++ b/app/Http/Controllers/Backend/ReportController.php @@ -12,11 +12,16 @@ use App\Models\FormMeetingSeminar; use App\Models\FormVehicleRunningCost; use App\Models\FormOthers; use App\Models\UserHasCabang; +use Illuminate\Support\Facades\DB; use App\Models\Cabang; use App\Models\Region; +use App\Helpers\FormHelper; +use App\Helpers\BudgetHelper; +use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Schema; class ReportController extends Controller -{ +{ public function upcountry() { $role = auth()->user()->getRoleNames()[0]; @@ -496,4 +501,134 @@ class ReportController extends Controller 'regions' => $regions ]); } + + public function all() + { + $role = auth()->user()->getRoleNames()[0]; + $cabangs = []; + $regions = []; + $forms = null; + + $availableBudget = 0; + + $month = date('F'); + $year = date('Y'); + + $region_id = auth()->user()->getMyCabangAndRegionId()['region'] ?? null; + $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang'] ?? null; + $userId = auth()->user()->id; + + if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { + if ($region_id) { + $users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) { + $query->where('region_id', $region_id); + })->get(); + $userIds = $users->pluck('user_id')->toArray(); + $cabangs = Cabang::where('region_id', $region_id)->get(); + $regions = Region::where('id', $region_id)->get(); + $forms = FormHelper::getFormsByUserIds($userIds, $month, $year)->sortByDesc('created_at'); + } + } elseif ($role == 'Area Manager Cabang') { + if ($cabang_id) { + $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); + $userIds = $users->pluck('user_id')->toArray(); + $cabangs = Cabang::where('id', $cabang_id)->get(); + $regions = Region::where('id', $cabangs[0]->region_id)->get(); + $forms = FormHelper::getFormsByUserIds($userIds, $month, $year)->sortByDesc('created_at'); + } + } elseif ($role == 'Medical Representatif') { + $cabangs = null; + $regions = null; + $forms = FormHelper::getFormsByUserIds([$userId], $month, $year)->sortByDesc('created_at'); + } else { + $cabangs = Cabang::all(); + $regions = Region::all(); + $forms = FormHelper::getAllForms($month, $year)->sortByDesc('created_at'); + } + + // get all params in url + $params = request()->all(); + + if ($params) { + // Filter by region + if (isset($params['region'])) { + $region = Region::where('code', $params['region'])->first(); + if ($region) { + $userIds = UserHasCabang::whereIn('cabang_id', Cabang::where('region_id', $region->id)->pluck('id'))->pluck('user_id')->toArray(); + $forms = $forms->whereIn('user_id', $userIds); + } + } + + // Filter by cabang + if (isset($params['cabang'])) { + $cabang = Cabang::where('code', $params['cabang'])->first(); + if ($cabang) { + $userIds = UserHasCabang::where('cabang_id', $cabang->id)->pluck('user_id')->toArray(); + $forms = isset($forms) ? $forms->whereIn('user_id', $userIds) : FormHelper::getFormsByUserIds($userIds); // Ensure $forms is updated + $availableBudget = BudgetHelper::getAvailableBudget($cabang->id); + } + } + + // Filter by date range + if (isset($params['month']) || isset($params['year'])) { + $month = $params['month'] ?? date('F'); + $year = $params['year'] ?? date('Y'); + + $startOfMonth = Carbon::parse("first day of $month $year")->startOfDay(); + $endOfMonth = Carbon::parse("last day of $month $year")->endOfDay(); + + if (isset($forms)) { + // Determine the date column to filter by + $dateColumn = Schema::hasColumn('forms', 'tanggal') ? 'tanggal' : 'created_at'; + + // Further filter existing forms by the determined date column + $forms = $forms->whereBetween($dateColumn, [$startOfMonth, $endOfMonth]); + } else { + // Rebuild $forms using FormHelper and filter by role + if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { + if ($region_id) { + $users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) { + $query->where('region_id', $region_id); + })->get(); + $userIds = $users->pluck('user_id')->toArray(); + $cabangs = Cabang::where('region_id', $region_id)->get(); + $regions = Region::where('id', $region_id)->get(); + $forms = FormHelper::getFormsByUserIds($userIds, $month, $year)->sortByDesc('tanggal')->sortByDesc('created_at'); + } + } elseif ($role == 'Area Manager Cabang') { + if ($cabang_id) { + $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); + $userIds = $users->pluck('user_id')->toArray(); + $cabangs = Cabang::where('id', $cabang_id)->get(); + $regions = Region::where('id', $cabangs[0]->region_id)->get(); + $forms = FormHelper::getFormsByUserIds($userIds, $month, $year)->sortByDesc('tanggal')->sortByDesc('created_at'); + } + } elseif ($role == 'Medical Representatif') { + $cabangs = null; + $regions = null; + $forms = FormHelper::getFormsByUserIds([$userId], $month, $year)->sortByDesc('tanggal')->sortByDesc('created_at'); + } else { + $cabangs = Cabang::all(); + $regions = Region::all(); + $forms = FormHelper::getAllForms($month, $year)->sortByDesc('tanggal')->sortByDesc('created_at'); + } + } + } + + // Filter by status + if (isset($params['status'])) { + $forms = isset($forms) ? $forms->where('status', $params['status']) : $forms; + } + } + + return view('backend.pages.report.all', [ + 'pageInfo' => [ + 'title' => 'Generate Reports For All Forms', + ], + 'forms' => $forms, + 'cabang' => $cabangs, + 'regions' => $regions, + 'availableBudget' => $availableBudget + ]); + } } diff --git a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php index f766359..3f5d2ed 100644 --- a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php +++ b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php @@ -33,6 +33,7 @@ class FormEntertainmentPresentationController extends Controller $role = auth()->user()->getRoleNames()[0]; $forms = FormEntertaimentPresentation::get(); + $availableBudget = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; @@ -53,10 +54,12 @@ class FormEntertainmentPresentationController extends Controller $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); + $availableBudget = BudgetHelper::getAvailableBudget($cabang_id); } } else if ($role == 'Medical Representatif') { $forms = $forms->where('user_id', auth()->user()->id); + $availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id); } else { $forms = $forms; @@ -65,7 +68,7 @@ class FormEntertainmentPresentationController extends Controller session()->put('redirect_url', route('forms.entertainment')); return view('backend.pages.forms.entertainment.index', [ 'forms' => $forms, - 'availableBudget' => BudgetHelper::getAvailableBudget(), + 'availableBudget' => $availableBudget, ]); } diff --git a/app/Http/Controllers/Forms/FormMeetingSeminarController.php b/app/Http/Controllers/Forms/FormMeetingSeminarController.php index a294aea..c47af8c 100644 --- a/app/Http/Controllers/Forms/FormMeetingSeminarController.php +++ b/app/Http/Controllers/Forms/FormMeetingSeminarController.php @@ -33,6 +33,7 @@ class FormMeetingSeminarController extends Controller $role = auth()->user()->getRoleNames()[0]; $forms = FormMeetingSeminar::get(); + $availableBudget = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; @@ -53,10 +54,12 @@ class FormMeetingSeminarController extends Controller $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); + $availableBudget = BudgetHelper::getAvailableBudget($cabang_id); } } else if ($role == 'Medical Representatif') { $forms = $forms->where('user_id', auth()->user()->id); + $availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id); } else { $forms = $forms; @@ -65,7 +68,7 @@ class FormMeetingSeminarController extends Controller session()->put('redirect_url', route('forms.meeting')); return view('backend.pages.forms.meeting.index', [ 'forms' => $forms, - 'availableBudget' => BudgetHelper::getAvailableBudget(), + 'availableBudget' => $availableBudget ]); } diff --git a/app/Http/Controllers/Forms/FormOtherController.php b/app/Http/Controllers/Forms/FormOtherController.php index 52e0ec3..e124d2c 100644 --- a/app/Http/Controllers/Forms/FormOtherController.php +++ b/app/Http/Controllers/Forms/FormOtherController.php @@ -33,6 +33,7 @@ class FormOtherController extends Controller $role = auth()->user()->getRoleNames()[0]; $forms = FormOthers::get(); + $availableBudget = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; @@ -53,10 +54,12 @@ class FormOtherController extends Controller $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); + $availableBudget = BudgetHelper::getAvailableBudget($cabang_id); } } else if ($role == 'Medical Representatif') { $forms = $forms->where('user_id', auth()->user()->id); + $availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id); } else { $forms = $forms; @@ -65,7 +68,7 @@ class FormOtherController extends Controller session()->put('redirect_url', route('forms.other')); return view('backend.pages.forms.other.index', [ 'forms' => $forms, - 'availableBudget' => BudgetHelper::getAvailableBudget(), + 'availableBudget' => $availableBudget ]); } diff --git a/app/Http/Controllers/Forms/FormUpCountryController.php b/app/Http/Controllers/Forms/FormUpCountryController.php index 8f06cf3..169afbc 100644 --- a/app/Http/Controllers/Forms/FormUpCountryController.php +++ b/app/Http/Controllers/Forms/FormUpCountryController.php @@ -33,6 +33,7 @@ class FormUpCountryController extends Controller $role = auth()->user()->getRoleNames()[0]; $forms = FormUpCountry::get(); + $availableBudget = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; @@ -53,10 +54,12 @@ class FormUpCountryController extends Controller $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); + $availableBudget = BudgetHelper::getAvailableBudget($cabang_id); } } else if ($role == 'Medical Representatif') { $forms = $forms->where('user_id', auth()->user()->id); + $availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id); } else { $forms = $forms; @@ -65,7 +68,7 @@ class FormUpCountryController extends Controller session()->put('redirect_url', route('forms.up-country')); return view('backend.pages.forms.upcountry.index', [ 'forms' => $forms, - 'availableBudget' => BudgetHelper::getAvailableBudget() + 'availableBudget' => $availableBudget ]); } diff --git a/app/Http/Controllers/Forms/FormVehicleController.php b/app/Http/Controllers/Forms/FormVehicleController.php index 3cd411e..2657ba9 100644 --- a/app/Http/Controllers/Forms/FormVehicleController.php +++ b/app/Http/Controllers/Forms/FormVehicleController.php @@ -33,6 +33,7 @@ class FormVehicleController extends Controller $role = auth()->user()->getRoleNames()[0]; $forms = FormVehicleRunningCost::get(); + $availableBudget = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; @@ -53,10 +54,12 @@ class FormVehicleController extends Controller $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); + $availableBudget = BudgetHelper::getAvailableBudget($cabang_id); } } else if ($role == 'Medical Representatif') { $forms = $forms->where('user_id', auth()->user()->id); + $availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id); } else { $forms = $forms; @@ -65,7 +68,7 @@ class FormVehicleController extends Controller session()->put('redirect_url', route('forms.vehicle')); return view('backend.pages.forms.vehicle.index', [ 'forms' => $forms, - 'availableBudget' => BudgetHelper::getAvailableBudget(), + 'availableBudget' => $availableBudget ]); } diff --git a/resources/views/backend/pages/budget_control/index.blade.php b/resources/views/backend/pages/budget_control/index.blade.php index 6b2cb09..901bae5 100644 --- a/resources/views/backend/pages/budget_control/index.blade.php +++ b/resources/views/backend/pages/budget_control/index.blade.php @@ -20,45 +20,6 @@ -
-
-
-
-
-
-

Rp {{ number_format($data->whereIn('status', 'Assigned')->sum('amount'), 0, ',', '.') }}

-

Total Budget Bulan Ini

-
-
- -
-
-
-
-
-
-

Rp {{ number_format($availableBudget, 0, ',', '.') }}

-

Total Budget Tersedia

-
-
- -
-
-
-
-
-
-

Rp {{ number_format($usedBudget, 0, ',', '.') }}

-

Total Budget Terpakai

-
-
- -
-
-
-
-
-
@@ -85,6 +46,7 @@ Cabang Pengirim Total + Sisa Budget Tersedia Keterangan Periode Tanggal Closing @@ -93,6 +55,9 @@ + @php + use App\Helpers\BudgetHelper; + @endphp @foreach ($data as $item) {{ $loop->iteration }} @@ -100,6 +65,7 @@ {{ $item->cabang->name }} {{ $item->sender->name }} {{ number_format($item->amount, 0, ',', '.') }} + {{ number_format(BudgetHelper::getAvailableBudget($item->cabang->id), 0, ',', '.') }} {{ $item->remarks }} {{ strtoupper($item->periode_month) }} {{ $item->periode_year }} {{ \Carbon\Carbon::parse($item->closing_at)->locale('id')->isoFormat('D MMMM Y H:mm') }} diff --git a/resources/views/backend/pages/forms/entertainment/index.blade.php b/resources/views/backend/pages/forms/entertainment/index.blade.php index ddfb42c..83ae6aa 100644 --- a/resources/views/backend/pages/forms/entertainment/index.blade.php +++ b/resources/views/backend/pages/forms/entertainment/index.blade.php @@ -24,7 +24,7 @@
-
+

Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}

@@ -36,7 +36,7 @@
-
+

Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}

@@ -48,7 +48,7 @@
-
+

Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}

@@ -59,18 +59,19 @@
- -
-
-
-

Rp {{ number_format($availableBudget, 0, ',', '.') }}

-

Available Budget

-
-
- + @if($availableBudget > 0) +
+
+
+

Rp {{ number_format($availableBudget, 0, ',', '.') }}

+

Available Budget

+
+
+ +
-
+ @endif
diff --git a/resources/views/backend/pages/forms/meeting/index.blade.php b/resources/views/backend/pages/forms/meeting/index.blade.php index 4603ccd..15c91bb 100644 --- a/resources/views/backend/pages/forms/meeting/index.blade.php +++ b/resources/views/backend/pages/forms/meeting/index.blade.php @@ -24,7 +24,7 @@
-
+

Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}

@@ -36,7 +36,7 @@
-
+

Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}

@@ -48,7 +48,7 @@
-
+

Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}

@@ -59,18 +59,19 @@
- -
-
-
-

Rp {{ number_format($availableBudget, 0, ',', '.') }}

-

Available Budget

-
-
- + @if($availableBudget > 0) +
+
+
+

Rp {{ number_format($availableBudget, 0, ',', '.') }}

+

Available Budget

+
+
+ +
-
+ @endif
diff --git a/resources/views/backend/pages/forms/other/index.blade.php b/resources/views/backend/pages/forms/other/index.blade.php index fc3cd13..29dbb7b 100644 --- a/resources/views/backend/pages/forms/other/index.blade.php +++ b/resources/views/backend/pages/forms/other/index.blade.php @@ -24,7 +24,7 @@
-
+

Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}

@@ -36,10 +36,10 @@
-
+
-

Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('total'), 0, ',', '.') }}

+

Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}

Approved Expenses

@@ -48,7 +48,7 @@
-
+

Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}

@@ -59,18 +59,19 @@
- -
-
-
-

Rp {{ number_format($availableBudget, 0, ',', '.') }}

-

Available Budget

-
-
- + @if($availableBudget > 0) +
+
+
+

Rp {{ number_format($availableBudget, 0, ',', '.') }}

+

Available Budget

+
+
+ +
-
+ @endif
diff --git a/resources/views/backend/pages/forms/upcountry/index.blade.php b/resources/views/backend/pages/forms/upcountry/index.blade.php index a6efd4f..29c9626 100644 --- a/resources/views/backend/pages/forms/upcountry/index.blade.php +++ b/resources/views/backend/pages/forms/upcountry/index.blade.php @@ -24,7 +24,7 @@
-
+

Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}

@@ -36,7 +36,7 @@
-
+

Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}

@@ -48,7 +48,7 @@
-
+

Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}

@@ -59,18 +59,19 @@
- -
-
-
-

Rp {{ number_format($availableBudget, 0, ',', '.') }}

-

Available Budget

-
-
- + @if($availableBudget > 0) +
+
+
+

Rp {{ number_format($availableBudget, 0, ',', '.') }}

+

Available Budget

+
+
+ +
-
+ @endif
diff --git a/resources/views/backend/pages/forms/vehicle/index.blade.php b/resources/views/backend/pages/forms/vehicle/index.blade.php index d32da56..422f000 100644 --- a/resources/views/backend/pages/forms/vehicle/index.blade.php +++ b/resources/views/backend/pages/forms/vehicle/index.blade.php @@ -24,7 +24,7 @@
-
+

Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}

@@ -36,7 +36,7 @@
-
+

Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}

@@ -48,7 +48,7 @@
-
+

Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}

@@ -59,18 +59,19 @@
- -
-
-
-

Rp {{ number_format($availableBudget, 0, ',', '.') }}

-

Available Budget

-
-
- + @if($availableBudget > 0) +
+
+
+

Rp {{ number_format($availableBudget, 0, ',', '.') }}

+

Available Budget

+
+
+ +
-
+ @endif
diff --git a/resources/views/backend/pages/report/all.blade.php b/resources/views/backend/pages/report/all.blade.php new file mode 100644 index 0000000..e02959c --- /dev/null +++ b/resources/views/backend/pages/report/all.blade.php @@ -0,0 +1,233 @@ +@extends('layouts.app') + +@section('title') + {{ $pageInfo['title'] }} +@endsection + +@section('admin-content') +
+
+
+
+

{{ $pageInfo['title'] }}

+
+
+ +
+
+
+ +
+
+
+

Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}

+

Total Expense

+
+
+ +
+
+
+ +
+
+
+

Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}

+

Approved Expenses

+
+
+ +
+
+
+ +
+
+
+

Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}

+

Pending Expenses

+
+
+ +
+
+
+ +
+
+
+ {{--

Rp {{ number_format($availableBudget, 0, ',', '.') }}

--}} + {{-- check if availableBudget is not - --}} +

{{ $availableBudget == '0' ? '-' : 'Rp' . number_format($availableBudget, 0, ',', '.') }}

+

Available Budget

+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+ +
+
+ + Reset +
+
+
+
+
+
+
+
+
+ + @php + use App\Helpers\NextCloudHelper; + @endphp + +
+
+ +
+
+
+
+

All Forms

+
+ @include('backend.layouts.partials.messages') +
+ + + + + + + + + + + + + + + + + @foreach ($forms as $item) + + + + + + + + + + + + + @endforeach + +
#No ExpenseTipeNamaRegionCabangTotalTotal ApprovedAccount NumberStatus
{{ $loop->iteration }}{{ $item->expense_number }}{{ $item->type }}{{ $item->user->name }}{{ $item->user->region->cabang->region->name }}{{ $item->user->cabang->cabang->name }}{{ number_format($item->total, 0, ',', '.') }}{{ number_format($item->approved_total, 0, ',', '.') }}{{ $item->account_number }} + @if ($item->status == 'On Progress') + {{ $item->status }} + @elseif ($item->status == 'Approved' || $item->status == 'Final Approved') + {{ $item->status }} + @else + {{ $item->status }} + @endif +
+
+
+
+
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/backend/pages/report/others.blade.php b/resources/views/backend/pages/report/others.blade.php index 703d195..45d11e5 100644 --- a/resources/views/backend/pages/report/others.blade.php +++ b/resources/views/backend/pages/report/others.blade.php @@ -117,6 +117,7 @@ Jenis Keterangan Total + Total Aproved Bukti Total Account Number Status @@ -134,6 +135,7 @@ {{ $item->kategori->name }} {{ $item->keterangan }} {{ number_format($item->total, 0, ',', '.') }} + {{ number_format($item->approved_total, 0, ',', '.') }} @if ($item->bukti_total) diff --git a/routes/web.php b/routes/web.php index 1dcbc47..c08b5a5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -108,6 +108,7 @@ Route::middleware(['auth:admin', 'menu'])->group(function () { Route::get('/entertainment', [ReportController::class, 'entertainment'])->name('reports.entertainment'); Route::get('/meeting', [ReportController::class, 'meeting'])->name('reports.meeting'); Route::get('/others', [ReportController::class, 'others'])->name('reports.others'); + Route::get('/all', [ReportController::class, 'all'])->name('reports.all'); }); // Forms