Merge branch 'branch-jagad' into 'main'
added report all See merge request fiqhpratama1/xpendify!24
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers;
|
||||
|
||||
use App\Models\FormEntertaimentPresentation;
|
||||
use App\Models\FormMeetingSeminar;
|
||||
use App\Models\FormOthers;
|
||||
use App\Models\FormUpCountry;
|
||||
use App\Models\FormVehicleRunningCost;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class FormHelper
|
||||
{
|
||||
public static function getFormsByUserIds($userIds, $month, $year) {
|
||||
$formUpCountryQuery = FormUpCountry::select(
|
||||
'expense_number',
|
||||
'user_id',
|
||||
'total',
|
||||
'approved_total',
|
||||
'status',
|
||||
'account_number',
|
||||
'created_at',
|
||||
DB::raw("'Up Country' as type")
|
||||
)->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;
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,45 +20,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-6">
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($data->whereIn('status', 'Assigned')->sum('amount'), 0, ',', '.') }}</h3>
|
||||
<p>Total Budget Bulan Ini</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-wallet"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-6">
|
||||
<div class="small-box bg-success">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p>Total Budget Tersedia</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-check-circle"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-6">
|
||||
<div class="small-box bg-danger">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($usedBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Total Budget Terpakai</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-times"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<div class="card card-primary card-outline">
|
||||
@@ -85,6 +46,7 @@
|
||||
<th>Cabang</th>
|
||||
<th>Pengirim</th>
|
||||
<th>Total</th>
|
||||
<th>Sisa Budget Tersedia</th>
|
||||
<th>Keterangan</th>
|
||||
<th>Periode</th>
|
||||
<th>Tanggal Closing</th>
|
||||
@@ -93,6 +55,9 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php
|
||||
use App\Helpers\BudgetHelper;
|
||||
@endphp
|
||||
@foreach ($data as $item)
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
@@ -100,6 +65,7 @@
|
||||
<td>{{ $item->cabang->name }}</td>
|
||||
<td>{{ $item->sender->name }}</td>
|
||||
<td>{{ number_format($item->amount, 0, ',', '.') }}</td>
|
||||
<td>{{ number_format(BudgetHelper::getAvailableBudget($item->cabang->id), 0, ',', '.') }}</td>
|
||||
<td>{{ $item->remarks }}</td>
|
||||
<td>{{ strtoupper($item->periode_month) }} {{ $item->periode_year }}</td>
|
||||
<td>{{ \Carbon\Carbon::parse($item->closing_at)->locale('id')->isoFormat('D MMMM Y H:mm') }}</td>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-success">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}</h3>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-warning">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -59,18 +59,19 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Budget Available -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
@if($availableBudget > 0)
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-success">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}</h3>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-warning">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -59,18 +59,19 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Budget Available -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
@if($availableBudget > 0)
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -36,10 +36,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-success">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('total'), 0, ',', '.') }}</h3>
|
||||
<h3>Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}</h3>
|
||||
<p>Approved Expenses</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-warning">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -59,18 +59,19 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Budget Available -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
@if($availableBudget > 0)
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-success">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}</h3>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-warning">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -59,18 +59,19 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Budget Available -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
@if($availableBudget > 0)
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-success">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}</h3>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="col-6 {{ $availableBudget > 0 ? 'col-lg-3' : 'col-lg-4' }}">
|
||||
<div class="small-box bg-warning">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||
@@ -59,18 +59,19 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Budget Available -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
@if($availableBudget > 0)
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -0,0 +1,233 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title')
|
||||
{{ $pageInfo['title'] }}
|
||||
@endsection
|
||||
|
||||
@section('admin-content')
|
||||
<section class="content-header">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<h1>{{ $pageInfo['title'] }}</h1>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-form"><a href="{{ route('admin.dashboard') }}">{{ __('Dashboard') }}</a> / </li>
|
||||
<li class="breadcrumb-form active"> {{ $pageInfo['title'] }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||
<p>Total Expense</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-wallet"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-success">
|
||||
<div class="inner">
|
||||
<h3>Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}</h3>
|
||||
<p>Approved Expenses</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-check-circle"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-warning">
|
||||
<div class="inner">
|
||||
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Pending Expenses</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-hourglass-half"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Budget Available -->
|
||||
<div class="col-lg-3 col-6">
|
||||
<div class="small-box bg-purple">
|
||||
<div class="inner">
|
||||
{{-- <h3 class="text-white">Rp {{ number_format($availableBudget, 0, ',', '.') }}</h3> --}}
|
||||
{{-- check if availableBudget is not - --}}
|
||||
<h3 class="text-white">{{ $availableBudget == '0' ? '-' : 'Rp' . number_format($availableBudget, 0, ',', '.') }}</h3>
|
||||
<p class="text-white">Available Budget</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fas fa-money-bill"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form action="{{ route('reports.all') }}" method="GET">
|
||||
<div class="d-flex">
|
||||
<div class="col-md-3">
|
||||
<div class="form-group mb-3">
|
||||
<label for="region">Pilih Region</label>
|
||||
<select name="region" id="region" class="form-control">
|
||||
<option value="">Semua Region</option>
|
||||
@foreach ($regions as $region)
|
||||
<option value="{{ $region->code }}" {{ request()->region == $region->code ? 'selected' : '' }}>
|
||||
{{ $region->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group mb-3">
|
||||
<label for="cabang">Pilih Cabang</label>
|
||||
<select name="cabang" id="cabang" class="form-control">
|
||||
<option value="">Semua Cabang</option>
|
||||
@foreach ($cabang as $cabang)
|
||||
<option value="{{ $cabang->code }}" {{ request()->cabang == $cabang->code ? 'selected' : '' }}>
|
||||
{{ $cabang->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group mb-3">
|
||||
<label for="month">Pilih Periode Bulan</label>
|
||||
<select name="month" id="month" class="form-control">
|
||||
<option value="">Pilih Bulan</option>
|
||||
<option value="january" {{ request()->month == 'january' ? 'selected' : '' }}>Januari</option>
|
||||
<option value="february" {{ request()->month == 'february' ? 'selected' : '' }}>Februari</option>
|
||||
<option value="march" {{ request()->month == 'march' ? 'selected' : '' }}>Maret</option>
|
||||
<option value="april" {{ request()->month == 'april' ? 'selected' : '' }}>April</option>
|
||||
<option value="may" {{ request()->month == 'may' ? 'selected' : '' }}>Mei</option>
|
||||
<option value="june" {{ request()->month == 'june' ? 'selected' : '' }}>Juni</option>
|
||||
<option value="july" {{ request()->month == 'july' ? 'selected' : '' }}>Juli</option>
|
||||
<option value="august" {{ request()->month == 'august' ? 'selected' : '' }}>Agustus</option>
|
||||
<option value="september" {{ request()->month == 'september' ? 'selected' : '' }}>September</option>
|
||||
<option value="october" {{ request()->month == 'october' ? 'selected' : '' }}>Oktober</option>
|
||||
<option value="november" {{ request()->month == 'november' ? 'selected' : '' }}>November</option>
|
||||
<option value="december" {{ request()->month == 'december' ? 'selected' : '' }}>Desember</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="form-group mb-3">
|
||||
<label for="year">Pilih Periode Tahun</label>
|
||||
<select name="year" id="year" class="form-control">
|
||||
<option value="">Pilih Tahun</option>
|
||||
@for ($i = 2024; $i <= date('Y'); $i++)
|
||||
<option value="{{ $i }}" {{ request()->year == $i ? 'selected' : '' }}>{{ $i }}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-primary">Filter</button>
|
||||
<a href="{{ route('reports.all') }}" class="btn btn-secondary">Reset</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@php
|
||||
use App\Helpers\NextCloudHelper;
|
||||
@endphp
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<!-- All Forms Table -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="header-title">All Forms</h4>
|
||||
<div class="data-tables">
|
||||
@include('backend.layouts.partials.messages')
|
||||
<div class="table-responsive">
|
||||
<table id="dataTable-table">
|
||||
<thead class="bg-light text-capitalize">
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>No Expense</th>
|
||||
<th>Tipe</th>
|
||||
<th>Nama</th>
|
||||
<th>Region</th>
|
||||
<th>Cabang</th>
|
||||
<th>Total</th>
|
||||
<th>Total Approved</th>
|
||||
<th>Account Number</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($forms as $item)
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td>{{ $item->expense_number }}</td>
|
||||
<td>{{ $item->type }}</td>
|
||||
<td>{{ $item->user->name }}</td>
|
||||
<td>{{ $item->user->region->cabang->region->name }}</td>
|
||||
<td>{{ $item->user->cabang->cabang->name }}</td>
|
||||
<td>{{ number_format($item->total, 0, ',', '.') }}</td>
|
||||
<td>{{ number_format($item->approved_total, 0, ',', '.') }}</td>
|
||||
<td>{{ $item->account_number }}</td>
|
||||
<td>
|
||||
@if ($item->status == 'On Progress')
|
||||
<span class="badge badge-warning text-white">{{ $item->status }}</span>
|
||||
@elseif ($item->status == 'Approved' || $item->status == 'Final Approved')
|
||||
<span class="badge badge-success text-white">{{ $item->status }}</span>
|
||||
@else
|
||||
<span class="badge badge-danger text-white">{{ $item->status }}</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('scripts')
|
||||
<script>
|
||||
if ($('#dataTable-table').length) {
|
||||
$('#dataTable-table').DataTable({
|
||||
responsive: false,
|
||||
dom: 'Bfrtip',
|
||||
buttons: ['excel', 'pdf', 'print', 'colvis'],
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -117,6 +117,7 @@
|
||||
<th>Jenis</th>
|
||||
<th>Keterangan</th>
|
||||
<th>Total</th>
|
||||
<th>Total Aproved</th>
|
||||
<th>Bukti Total</th>
|
||||
<th>Account Number</th>
|
||||
<th>Status</th>
|
||||
@@ -134,6 +135,7 @@
|
||||
<td>{{ $item->kategori->name }}</td>
|
||||
<td>{{ $item->keterangan }}</td>
|
||||
<td>{{ number_format($item->total, 0, ',', '.') }}</td>
|
||||
<td>{{ number_format($item->approved_total, 0, ',', '.') }}</td>
|
||||
<td>
|
||||
@if ($item->bukti_total)
|
||||
<a href="{{ NextCloudHelper::getFileUrl($item->bukti_total) }}" target="_blank">
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user