add where for cut off

This commit is contained in:
Jagad R R
2025-01-12 13:34:35 +07:00
parent 3127b3b5d7
commit 6efaa99220
7 changed files with 90 additions and 30 deletions
+7
View File
@@ -40,4 +40,11 @@ class BudgetHelper
return $availableBudget;
}
public static function getClosingDate($cabang_id)
{
$budget = BudgetControl::where('cabang_id', $cabang_id)->orderBy('created_at', 'desc')->first();
return $budget->closing_at;
}
}
@@ -32,7 +32,13 @@ class FormEntertainmentPresentationController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.entertainment.view']);
$role = auth()->user()->getRoleNames()[0];
$forms = FormEntertaimentPresentation::get();
$forms = FormEntertaimentPresentation::whereMonth('tanggal', date('m'))
->whereYear('tanggal', date('Y'))
->where('tanggal', '<=', date('Y-m-10'))
->whereRaw('DAY(CURDATE()) <= 10')
->orderBy('tanggal', 'desc')
->get();
$availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,8 @@ class FormEntertainmentPresentationController extends Controller
}
else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id);
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
}
else {
$forms = $forms;
@@ -104,12 +111,13 @@ class FormEntertainmentPresentationController extends Controller
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['forms.entertainment.create']);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([
'tanggal' => 'required',
'jenis' => 'required|in:entertainment,presentation,sponsorship',
'keterangan' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'name' => 'required',
'alamat' => 'required',
'nik_or_npwp' => 'required',
@@ -216,19 +224,20 @@ class FormEntertainmentPresentationController extends Controller
{
$this->checkAuthorization(auth()->user(), ['forms.entertainment.edit']);
$role = auth()->user()->getRoleNames()[0];
$form = FormEntertaimentPresentation::findOrfail($id);
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
$request->validate([
'tanggal' => 'required',
'jenis' => 'required|in:entertainment,presentation,sponsorship',
'keterangan' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'name' => 'required',
'alamat' => 'required',
'nik_or_npwp' => 'required',
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
$form = FormEntertaimentPresentation::findOrfail($id);
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
return redirect()->back();
@@ -280,7 +289,8 @@ class FormEntertainmentPresentationController extends Controller
]);
$form = FormEntertaimentPresentation::findOrfail($id);
if($form->total > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
if($form->total > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}
@@ -32,7 +32,13 @@ class FormMeetingSeminarController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.meeting.view']);
$role = auth()->user()->getRoleNames()[0];
$forms = FormMeetingSeminar::get();
$forms = FormMeetingSeminar::whereMonth('created_at', date('m'))
->whereYear('created_at', date('Y'))
->where('created_at', '<=', date('Y-m-10'))
->whereRaw('DAY(CURDATE()) <= 10')
->orderBy('created_at', 'desc')
->get();
$availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,8 @@ class FormMeetingSeminarController extends Controller
}
else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id);
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
}
else {
$forms = $forms;
@@ -175,7 +182,8 @@ class FormMeetingSeminarController extends Controller
];
// Check if the total nominal exceeds the available budget
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}
@@ -254,6 +262,7 @@ class FormMeetingSeminarController extends Controller
{
$this->checkAuthorization(auth()->user(), ['forms.meeting.edit']);
$role = auth()->user()->getRoleNames()[0];
$form = FormMeetingSeminar::findOrfail($id);
$request->validate([
'allowance' => 'nullable|numeric',
@@ -264,7 +273,6 @@ class FormMeetingSeminarController extends Controller
'bukti_hotel' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
$form = FormMeetingSeminar::findOrfail($id);
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
return redirect()->back();
@@ -322,7 +330,8 @@ class FormMeetingSeminarController extends Controller
];
// Check if the total nominal exceeds the available budget
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}
@@ -356,7 +365,8 @@ class FormMeetingSeminarController extends Controller
];
// Check if the total nominal exceeds the available budget
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}
@@ -32,7 +32,13 @@ class FormOtherController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.other.view']);
$role = auth()->user()->getRoleNames()[0];
$forms = FormOthers::get();
$forms = FormOthers::whereMonth('tanggal', date('m'))
->whereYear('tanggal', date('Y'))
->where('tanggal', '<=', date('Y-m-10'))
->whereRaw('DAY(CURDATE()) <= 10')
->orderBy('tanggal', 'desc')
->get();
$availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,9 @@ class FormOtherController extends Controller
}
else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id);
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
}
else {
$forms = $forms;
@@ -107,12 +115,13 @@ class FormOtherController extends Controller
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['forms.other.create']);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([
'kategori_id' => 'required',
'tanggal' => 'required|date',
'keterangan' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
@@ -214,16 +223,17 @@ class FormOtherController extends Controller
{
$this->checkAuthorization(auth()->user(), ['forms.other.edit']);
$role = auth()->user()->getRoleNames()[0];
$form = FormOthers::findOrfail($id);
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
$request->validate([
'kategori_id' => 'required',
'tanggal' => 'required|date',
'keterangan' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
$form = FormOthers::findOrfail($id);
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
return redirect()->back();
@@ -273,7 +283,8 @@ class FormOtherController extends Controller
]);
$form = FormOthers::findOrfail($id);
if($form->total > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
if($form->total > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}
@@ -32,7 +32,13 @@ class FormUpCountryController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.country.view']);
$role = auth()->user()->getRoleNames()[0];
$forms = FormUpCountry::get();
$forms = FormUpCountry::whereMonth('tanggal', date('m'))
->whereYear('tanggal', date('Y'))
->where('tanggal', '<=', date('Y-m-10'))
->whereRaw('DAY(CURDATE()) <= 10')
->orderBy('tanggal', 'desc')
->get();
$availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,9 @@ class FormUpCountryController extends Controller
}
else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id);
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
}
else {
$forms = $forms;
@@ -199,7 +207,8 @@ class FormUpCountryController extends Controller
];
// Check if the total nominal exceeds the available budget
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}
@@ -372,7 +381,8 @@ class FormUpCountryController extends Controller
];
// Check if the total nominal exceeds the available budget
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}
@@ -413,7 +423,8 @@ class FormUpCountryController extends Controller
];
// Check if the total nominal exceeds the available budget
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}
@@ -32,7 +32,13 @@ class FormVehicleController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.vehicle.view']);
$role = auth()->user()->getRoleNames()[0];
$forms = FormVehicleRunningCost::get();
$forms = FormVehicleRunningCost::whereMonth('tanggal', date('m'))
->whereYear('tanggal', date('Y'))
->where('tanggal', '<=', date('Y-m-10'))
->whereRaw('DAY(CURDATE()) <= 10')
->orderBy('tanggal', 'desc')
->get();
$availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,9 @@ class FormVehicleController extends Controller
}
else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id);
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
}
else {
$forms = $forms;
@@ -104,11 +112,12 @@ class FormVehicleController extends Controller
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['forms.vehicle.create']);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([
'tanggal' => 'required',
'liter' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'jarak' => 'required',
'tipe_bensin' => 'required|in:pertalite,pertamax',
'nopol' => 'required',
@@ -217,11 +226,13 @@ class FormVehicleController extends Controller
{
$this->checkAuthorization(auth()->user(), ['forms.vehicle.edit']);
$role = auth()->user()->getRoleNames()[0];
$form = FormVehicleRunningCost::findOrfail($id);
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
$request->validate([
'tanggal' => 'required',
'liter' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'jarak' => 'required',
'tipe_bensin' => 'required|in:pertalite,pertamax',
'nopol' => 'required',
@@ -229,7 +240,6 @@ class FormVehicleController extends Controller
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
$form = FormVehicleRunningCost::findOrfail($id);
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
return redirect()->back();
@@ -282,7 +292,8 @@ class FormVehicleController extends Controller
]);
$form = FormVehicleRunningCost::findOrfail($id);
if($form->total > BudgetHelper::getAvailableBudget()) {
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
if($form->total > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back();
}