Merge branch 'branch-jagad' into 'main'
Branch jagad See merge request fiqhpratama1/xpendify!20
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers;
|
||||
|
||||
use GuzzleHttp\Client;
|
||||
use GuzzleHttp\Exception\RequestException;
|
||||
use Illuminate\Support\Str;
|
||||
use App\Models\BudgetControl;
|
||||
use App\Models\FormUpCountry;
|
||||
use App\Models\FormMeetingSeminar;
|
||||
use App\Models\FormOthers;
|
||||
use App\Models\FormEntertaimentPresentation;
|
||||
use App\Models\FormVehicleRunningCost;
|
||||
|
||||
class BudgetHelper
|
||||
{
|
||||
public static function getAvailableBudget()
|
||||
{
|
||||
// Get the budget control data
|
||||
$budget = BudgetControl::orderBy('created_at', 'desc')->with(['user', 'cabang'])->get();
|
||||
|
||||
// Initialize an empty array to hold the used budget sums
|
||||
$usedBudget = [];
|
||||
|
||||
foreach ($budget as $b) {
|
||||
// Get the month and year from the budget
|
||||
$month = $b->periode_month;
|
||||
$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')
|
||||
];
|
||||
}
|
||||
|
||||
$usedBudget = array_sum(array_map(function ($b) {
|
||||
return array_sum($b);
|
||||
}, $usedBudget));
|
||||
|
||||
$availableBudget = $budget->sum('amount') - $usedBudget;
|
||||
|
||||
return $availableBudget;
|
||||
}
|
||||
}
|
||||
@@ -58,7 +58,7 @@ class LoginController extends Controller
|
||||
}
|
||||
|
||||
// Default redirection if no condition matches
|
||||
return '/login';
|
||||
return '/admin/login';
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,6 +23,7 @@ use App\Helpers\WhatsappHelper;
|
||||
use App\Helpers\AuditTrailHelper;
|
||||
use App\Models\Admin;
|
||||
use App\Rules\FileType;
|
||||
use App\Helpers\BudgetHelper;
|
||||
|
||||
class FormEntertainmentPresentationController extends Controller
|
||||
{
|
||||
@@ -63,7 +64,8 @@ class FormEntertainmentPresentationController extends Controller
|
||||
|
||||
session()->put('redirect_url', route('forms.entertainment'));
|
||||
return view('backend.pages.forms.entertainment.index', [
|
||||
'forms' => $forms
|
||||
'forms' => $forms,
|
||||
'availableBudget' => BudgetHelper::getAvailableBudget(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -104,7 +106,7 @@ class FormEntertainmentPresentationController extends Controller
|
||||
'tanggal' => 'required',
|
||||
'jenis' => 'required|in:entertainment,presentation,sponsorship',
|
||||
'keterangan' => 'required',
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
'name' => 'required',
|
||||
'alamat' => 'required',
|
||||
'nik_or_npwp' => 'required',
|
||||
@@ -216,7 +218,7 @@ class FormEntertainmentPresentationController extends Controller
|
||||
'tanggal' => 'required',
|
||||
'jenis' => 'required|in:entertainment,presentation,sponsorship',
|
||||
'keterangan' => 'required',
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
'name' => 'required',
|
||||
'alamat' => 'required',
|
||||
'nik_or_npwp' => 'required',
|
||||
@@ -271,7 +273,7 @@ class FormEntertainmentPresentationController extends Controller
|
||||
{
|
||||
$this->checkAuthorization(auth()->user(), ['approval.approve']);
|
||||
$request->validate([
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
]);
|
||||
|
||||
$form = FormEntertaimentPresentation::findOrfail($id);
|
||||
|
||||
@@ -23,6 +23,7 @@ use App\Helpers\WhatsappHelper;
|
||||
use App\Helpers\AuditTrailHelper;
|
||||
use App\Rules\FileType;
|
||||
use App\Models\Admin;
|
||||
use App\Helpers\BudgetHelper;
|
||||
|
||||
class FormMeetingSeminarController extends Controller
|
||||
{
|
||||
@@ -63,7 +64,8 @@ class FormMeetingSeminarController extends Controller
|
||||
|
||||
session()->put('redirect_url', route('forms.meeting'));
|
||||
return view('backend.pages.forms.meeting.index', [
|
||||
'forms' => $forms
|
||||
'forms' => $forms,
|
||||
'availableBudget' => BudgetHelper::getAvailableBudget(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -169,6 +171,12 @@ class FormMeetingSeminarController extends Controller
|
||||
'hotel' => $request->hotel ?? 0,
|
||||
];
|
||||
|
||||
// Check if the total nominal exceeds the available budget
|
||||
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
|
||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
// Save the form data
|
||||
$form = FormMeetingSeminar::create([
|
||||
'expense_number' => $expense_number,
|
||||
@@ -310,6 +318,12 @@ class FormMeetingSeminarController extends Controller
|
||||
'hotel' => $request->hotel ?? 0,
|
||||
];
|
||||
|
||||
// Check if the total nominal exceeds the available budget
|
||||
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
|
||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
// Save the form data
|
||||
$form->update([
|
||||
'allowance' => $data_nominal['allowance'],
|
||||
@@ -338,6 +352,12 @@ class FormMeetingSeminarController extends Controller
|
||||
'hotel' => $request->hotel ? $form->hotel : 0,
|
||||
];
|
||||
|
||||
// Check if the total nominal exceeds the available budget
|
||||
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget()) {
|
||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
$form->update([
|
||||
'approved_at' => now(),
|
||||
'approved_by' => auth()->user()->id,
|
||||
|
||||
@@ -23,6 +23,7 @@ use App\Helpers\WhatsappHelper;
|
||||
use App\Helpers\AuditTrailHelper;
|
||||
use App\Rules\FileType;
|
||||
use App\Models\Admin;
|
||||
use App\Helpers\BudgetHelper;
|
||||
|
||||
class FormOtherController extends Controller
|
||||
{
|
||||
@@ -63,7 +64,8 @@ class FormOtherController extends Controller
|
||||
|
||||
session()->put('redirect_url', route('forms.other'));
|
||||
return view('backend.pages.forms.other.index', [
|
||||
'forms' => $forms
|
||||
'forms' => $forms,
|
||||
'availableBudget' => BudgetHelper::getAvailableBudget(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -107,7 +109,7 @@ class FormOtherController extends Controller
|
||||
'kategori_id' => 'required',
|
||||
'tanggal' => 'required|date',
|
||||
'keterangan' => 'required',
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
]);
|
||||
|
||||
@@ -214,7 +216,7 @@ class FormOtherController extends Controller
|
||||
'kategori_id' => 'required',
|
||||
'tanggal' => 'required|date',
|
||||
'keterangan' => 'required',
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
]);
|
||||
|
||||
@@ -264,7 +266,7 @@ class FormOtherController extends Controller
|
||||
$this->checkAuthorization(auth()->user(), ['approval.approve']);
|
||||
|
||||
$request->validate([
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
]);
|
||||
|
||||
$form = FormOthers::findOrfail($id);
|
||||
|
||||
@@ -23,6 +23,7 @@ use App\Helpers\AuditTrailHelper;
|
||||
use App\Helpers\NextCloudHelper;
|
||||
use App\Rules\FileType;
|
||||
use App\Models\Admin;
|
||||
use App\Helpers\BudgetHelper;
|
||||
|
||||
class FormUpCountryController extends Controller
|
||||
{
|
||||
@@ -63,7 +64,8 @@ class FormUpCountryController extends Controller
|
||||
|
||||
session()->put('redirect_url', route('forms.up-country'));
|
||||
return view('backend.pages.forms.upcountry.index', [
|
||||
'forms' => $forms
|
||||
'forms' => $forms,
|
||||
'availableBudget' => BudgetHelper::getAvailableBudget()
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -92,7 +94,7 @@ class FormUpCountryController extends Controller
|
||||
|
||||
return view('backend.pages.forms.upcountry.view', [
|
||||
'form' => $form,
|
||||
'rayons' => Rayon::all()
|
||||
'rayons' => Rayon::all(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -193,6 +195,12 @@ class FormUpCountryController extends Controller
|
||||
'hotel' => $request->hotel ?? 0,
|
||||
];
|
||||
|
||||
// Check if the total nominal exceeds the available budget
|
||||
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
|
||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
// Save the form data
|
||||
$form = FormUpCountry::create([
|
||||
'expense_number' => $expense_number,
|
||||
@@ -360,6 +368,12 @@ class FormUpCountryController extends Controller
|
||||
'hotel' => $request->hotel ?? 0,
|
||||
];
|
||||
|
||||
// Check if the total nominal exceeds the available budget
|
||||
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
|
||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
// Save the form data
|
||||
$form->update([
|
||||
'rayon_id' => $request->rayon_id,
|
||||
@@ -395,6 +409,12 @@ class FormUpCountryController extends Controller
|
||||
'hotel' => $request->hotel ? $form->hotel : 0,
|
||||
];
|
||||
|
||||
// Check if the total nominal exceeds the available budget
|
||||
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget()) {
|
||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
$form->update([
|
||||
'approved_at' => now(),
|
||||
'approved_by' => auth()->user()->id,
|
||||
|
||||
@@ -23,6 +23,7 @@ use App\Helpers\WhatsappHelper;
|
||||
use App\Helpers\AuditTrailHelper;
|
||||
use App\Rules\FileType;
|
||||
use App\Models\Admin;
|
||||
use App\Helpers\BudgetHelper;
|
||||
|
||||
class FormVehicleController extends Controller
|
||||
{
|
||||
@@ -63,7 +64,8 @@ class FormVehicleController extends Controller
|
||||
|
||||
session()->put('redirect_url', route('forms.vehicle'));
|
||||
return view('backend.pages.forms.vehicle.index', [
|
||||
'forms' => $forms
|
||||
'forms' => $forms,
|
||||
'availableBudget' => BudgetHelper::getAvailableBudget(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -103,7 +105,7 @@ class FormVehicleController extends Controller
|
||||
$request->validate([
|
||||
'tanggal' => 'required',
|
||||
'liter' => 'required',
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
'jarak' => 'required',
|
||||
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
||||
'nopol' => 'required',
|
||||
@@ -216,7 +218,7 @@ class FormVehicleController extends Controller
|
||||
$request->validate([
|
||||
'tanggal' => 'required',
|
||||
'liter' => 'required',
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
'jarak' => 'required',
|
||||
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
||||
'nopol' => 'required',
|
||||
@@ -273,7 +275,7 @@ class FormVehicleController extends Controller
|
||||
{
|
||||
$this->checkAuthorization(auth()->user(), ['approval.approve']);
|
||||
$request->validate([
|
||||
'total' => 'required',
|
||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
||||
]);
|
||||
|
||||
$form = FormVehicleRunningCost::findOrfail($id);
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -59,6 +59,18 @@
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -59,6 +59,18 @@
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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('total'), 0, ',', '.') }}</h3>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -59,6 +59,18 @@
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -59,6 +59,18 @@
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- Total Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Approved Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pending Expense -->
|
||||
<div class="col-lg-4 col-6">
|
||||
<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>
|
||||
@@ -59,6 +59,18 @@
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user