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
+1 -1
View File
@@ -74,4 +74,4 @@ NEXT_CLOUD_PASSWORD=userdev12345
NEXT_CLOUD_PATHPREFIX="" NEXT_CLOUD_PATHPREFIX=""
WABLAS_HOST=https://bdg.wablas.com WABLAS_HOST=https://bdg.wablas.com
WABLAS_TOKEN=5iCaiP0nEgfl3lzrdsZGb9TvNYuwFZF8s4rp8AYwCx5OrYeiKXgixFMo9nDWNrJN WABLAS_TOKEN=5iCaiP0nEgfl3lzrdsZGb9TvNYuwFZF8s4rp8AYwCx5OrYeiKXgixFMo9nDWNrJN.IF98hujz
+7
View File
@@ -40,4 +40,11 @@ class BudgetHelper
return $availableBudget; 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']); $this->checkAuthorization(auth()->user(), ['forms.entertainment.view']);
$role = auth()->user()->getRoleNames()[0]; $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; $availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,8 @@ class FormEntertainmentPresentationController extends Controller
} }
else if ($role == 'Medical Representatif') { else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id); $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 { else {
$forms = $forms; $forms = $forms;
@@ -104,12 +111,13 @@ class FormEntertainmentPresentationController extends Controller
public function store(Request $request) public function store(Request $request)
{ {
$this->checkAuthorization(auth()->user(), ['forms.entertainment.create']); $this->checkAuthorization(auth()->user(), ['forms.entertainment.create']);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([ $request->validate([
'tanggal' => 'required', 'tanggal' => 'required',
'jenis' => 'required|in:entertainment,presentation,sponsorship', 'jenis' => 'required|in:entertainment,presentation,sponsorship',
'keterangan' => 'required', 'keterangan' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(), 'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'name' => 'required', 'name' => 'required',
'alamat' => 'required', 'alamat' => 'required',
'nik_or_npwp' => 'required', 'nik_or_npwp' => 'required',
@@ -216,19 +224,20 @@ class FormEntertainmentPresentationController extends Controller
{ {
$this->checkAuthorization(auth()->user(), ['forms.entertainment.edit']); $this->checkAuthorization(auth()->user(), ['forms.entertainment.edit']);
$role = auth()->user()->getRoleNames()[0]; $role = auth()->user()->getRoleNames()[0];
$form = FormEntertaimentPresentation::findOrfail($id);
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
$request->validate([ $request->validate([
'tanggal' => 'required', 'tanggal' => 'required',
'jenis' => 'required|in:entertainment,presentation,sponsorship', 'jenis' => 'required|in:entertainment,presentation,sponsorship',
'keterangan' => 'required', 'keterangan' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(), 'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'name' => 'required', 'name' => 'required',
'alamat' => 'required', 'alamat' => 'required',
'nik_or_npwp' => 'required', 'nik_or_npwp' => 'required',
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])], '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') { if($form->status != 'On Progress' && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.'); session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
return redirect()->back(); return redirect()->back();
@@ -280,7 +289,8 @@ class FormEntertainmentPresentationController extends Controller
]); ]);
$form = FormEntertaimentPresentation::findOrfail($id); $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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }
@@ -32,7 +32,13 @@ class FormMeetingSeminarController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.meeting.view']); $this->checkAuthorization(auth()->user(), ['forms.meeting.view']);
$role = auth()->user()->getRoleNames()[0]; $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; $availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,8 @@ class FormMeetingSeminarController extends Controller
} }
else if ($role == 'Medical Representatif') { else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id); $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 { else {
$forms = $forms; $forms = $forms;
@@ -175,7 +182,8 @@ class FormMeetingSeminarController extends Controller
]; ];
// Check if the total nominal exceeds the available budget // 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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }
@@ -254,6 +262,7 @@ class FormMeetingSeminarController extends Controller
{ {
$this->checkAuthorization(auth()->user(), ['forms.meeting.edit']); $this->checkAuthorization(auth()->user(), ['forms.meeting.edit']);
$role = auth()->user()->getRoleNames()[0]; $role = auth()->user()->getRoleNames()[0];
$form = FormMeetingSeminar::findOrfail($id);
$request->validate([ $request->validate([
'allowance' => 'nullable|numeric', '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'])], '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') { if($form->status != 'On Progress' && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.'); session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
return redirect()->back(); return redirect()->back();
@@ -322,7 +330,8 @@ class FormMeetingSeminarController extends Controller
]; ];
// Check if the total nominal exceeds the available budget // 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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }
@@ -356,7 +365,8 @@ class FormMeetingSeminarController extends Controller
]; ];
// Check if the total nominal exceeds the available budget // 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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }
@@ -32,7 +32,13 @@ class FormOtherController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.other.view']); $this->checkAuthorization(auth()->user(), ['forms.other.view']);
$role = auth()->user()->getRoleNames()[0]; $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; $availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,9 @@ class FormOtherController extends Controller
} }
else if ($role == 'Medical Representatif') { else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id); $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 { else {
$forms = $forms; $forms = $forms;
@@ -107,12 +115,13 @@ class FormOtherController extends Controller
public function store(Request $request) public function store(Request $request)
{ {
$this->checkAuthorization(auth()->user(), ['forms.other.create']); $this->checkAuthorization(auth()->user(), ['forms.other.create']);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([ $request->validate([
'kategori_id' => 'required', 'kategori_id' => 'required',
'tanggal' => 'required|date', 'tanggal' => 'required|date',
'keterangan' => 'required', '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'])], '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']); $this->checkAuthorization(auth()->user(), ['forms.other.edit']);
$role = auth()->user()->getRoleNames()[0]; $role = auth()->user()->getRoleNames()[0];
$form = FormOthers::findOrfail($id);
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
$request->validate([ $request->validate([
'kategori_id' => 'required', 'kategori_id' => 'required',
'tanggal' => 'required|date', 'tanggal' => 'required|date',
'keterangan' => 'required', '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'])], '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') { if($form->status != 'On Progress' && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.'); session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
return redirect()->back(); return redirect()->back();
@@ -273,7 +283,8 @@ class FormOtherController extends Controller
]); ]);
$form = FormOthers::findOrfail($id); $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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }
@@ -32,7 +32,13 @@ class FormUpCountryController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.country.view']); $this->checkAuthorization(auth()->user(), ['forms.country.view']);
$role = auth()->user()->getRoleNames()[0]; $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; $availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,9 @@ class FormUpCountryController extends Controller
} }
else if ($role == 'Medical Representatif') { else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id); $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 { else {
$forms = $forms; $forms = $forms;
@@ -199,7 +207,8 @@ class FormUpCountryController extends Controller
]; ];
// Check if the total nominal exceeds the available budget // 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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }
@@ -372,7 +381,8 @@ class FormUpCountryController extends Controller
]; ];
// Check if the total nominal exceeds the available budget // 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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }
@@ -413,7 +423,8 @@ class FormUpCountryController extends Controller
]; ];
// Check if the total nominal exceeds the available budget // 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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }
@@ -32,7 +32,13 @@ class FormVehicleController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.vehicle.view']); $this->checkAuthorization(auth()->user(), ['forms.vehicle.view']);
$role = auth()->user()->getRoleNames()[0]; $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; $availableBudget = null;
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
@@ -59,7 +65,9 @@ class FormVehicleController extends Controller
} }
else if ($role == 'Medical Representatif') { else if ($role == 'Medical Representatif') {
$forms = $forms->where('user_id', auth()->user()->id); $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 { else {
$forms = $forms; $forms = $forms;
@@ -104,11 +112,12 @@ class FormVehicleController extends Controller
public function store(Request $request) public function store(Request $request)
{ {
$this->checkAuthorization(auth()->user(), ['forms.vehicle.create']); $this->checkAuthorization(auth()->user(), ['forms.vehicle.create']);
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([ $request->validate([
'tanggal' => 'required', 'tanggal' => 'required',
'liter' => 'required', 'liter' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(), 'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'jarak' => 'required', 'jarak' => 'required',
'tipe_bensin' => 'required|in:pertalite,pertamax', 'tipe_bensin' => 'required|in:pertalite,pertamax',
'nopol' => 'required', 'nopol' => 'required',
@@ -217,11 +226,13 @@ class FormVehicleController extends Controller
{ {
$this->checkAuthorization(auth()->user(), ['forms.vehicle.edit']); $this->checkAuthorization(auth()->user(), ['forms.vehicle.edit']);
$role = auth()->user()->getRoleNames()[0]; $role = auth()->user()->getRoleNames()[0];
$form = FormVehicleRunningCost::findOrfail($id);
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
$request->validate([ $request->validate([
'tanggal' => 'required', 'tanggal' => 'required',
'liter' => 'required', 'liter' => 'required',
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(), 'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
'jarak' => 'required', 'jarak' => 'required',
'tipe_bensin' => 'required|in:pertalite,pertamax', 'tipe_bensin' => 'required|in:pertalite,pertamax',
'nopol' => 'required', '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'])], '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') { if($form->status != 'On Progress' && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.'); session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
return redirect()->back(); return redirect()->back();
@@ -282,7 +292,8 @@ class FormVehicleController extends Controller
]); ]);
$form = FormVehicleRunningCost::findOrfail($id); $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.'); session()->flash('error', 'The total nominal exceeds the available budget.');
return redirect()->back(); return redirect()->back();
} }