insyaallah revisi done

This commit is contained in:
Jagad R R
2025-01-23 17:46:38 +07:00
parent 6034c331c5
commit 3a01df56e9
32 changed files with 825 additions and 360 deletions
@@ -26,6 +26,7 @@ use App\Rules\FileType;
use App\Models\Admin;
use App\Helpers\BudgetHelper;
use App\Helpers\NotificationHelper;
use Illuminate\Support\Facades\Log;
class FormVehicleController extends Controller
{
@@ -158,7 +159,6 @@ class FormVehicleController extends Controller
$bukti_total->getContent(),
$filename
);
}
// Generate sequence number and expense number
@@ -222,15 +222,22 @@ class FormVehicleController extends Controller
WhatsappHelper::newExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// Send bulk email
Mail::to($recipients)->send(new ExpenseCreated(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new ExpenseCreated(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
NotificationHelper::newExpense($form->user_id, $expense_number, $receiver_ids);
NotificationHelper::newExpense('vehicle-running-cost', $form->id, $form->user_id, $expense_number, $receiver_ids);
AuditTrailHelper::AddAuditTrail('Insert', 'Insert New Expense at Form Vehicle Running Cost (' . $expense_number . ')');
session()->flash('success', 'Form has been created.');
@@ -324,6 +331,7 @@ class FormVehicleController extends Controller
'approved_at' => now(),
'approved_by' => auth()->user()->id,
'status' => 'Approved 1',
'approved_total' => $form->total,
]);
$name = $form->user->name;
@@ -367,15 +375,22 @@ class FormVehicleController extends Controller
WhatsappHelper::approveExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// // Send bulk email
Mail::to($recipients)->send(new ExpenseApproved(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new ExpenseApproved(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
NotificationHelper::approveExpense($form->user_id, $expense_number, $receiver_ids);
NotificationHelper::approveExpense('vehicle-running-cost', $form->id, $form->user_id, $expense_number, $receiver_ids);
AuditTrailHelper::AddAuditTrail('Approve', 'Approve Expense at Form Vehicle Running Cost (' . $form->expense_number . ')');
session()->flash('success', 'Form has been approved.');
@@ -434,22 +449,29 @@ class FormVehicleController extends Controller
WhatsappHelper::approve2Expense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// // Send bulk email
Mail::to($recipients)->send(new ExpenseApproved2(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new ExpenseApproved2(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
NotificationHelper::approve2Expense($form->user_id, $expense_number, $receiver_ids);
NotificationHelper::approve2Expense('vehicle-running-cost', $form->id, $form->user_id, $expense_number, $receiver_ids);
AuditTrailHelper::AddAuditTrail('Approve', 'Approve Expense at Form Vehicle Running Cost (' . $form->expense_number . ')');
session()->flash('success', 'Form has been approved.');
return redirect()->back();
}
public function finalApprove(Request $request, $id)
public function finalApprove($id)
{
$this->checkAuthorization(auth()->user(), ['final_approval.approve']);
@@ -461,8 +483,8 @@ class FormVehicleController extends Controller
// Check if the total nominal exceeds the available budget
$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.');
if($form->approved_total > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'Budget cabang untuk periode ini tidak mencukupi, silahkan ajukan pada periode expense berikutnya');
return redirect()->back();
}
@@ -470,7 +492,6 @@ class FormVehicleController extends Controller
'final_approved_at' => now(),
'final_approved_by' => auth()->user()->id,
'status' => 'Closed',
'approved_total' => $form->total,
]);
$name = $form->user->name;
@@ -509,13 +530,20 @@ class FormVehicleController extends Controller
WhatsappHelper::finalApprove($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// Send bulk email
Mail::to($recipients)->send(new FinalApprove(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new FinalApprove(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
AuditTrailHelper::AddAuditTrail('Final Approve', 'Final Approve Expense at Form Vehicle Running Cost (' . $form->expense_number . ')');
session()->flash('success', 'Form has been final approved.');
@@ -560,13 +588,20 @@ class FormVehicleController extends Controller
WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// Send bulk email
Mail::to($recipients)->send(new ExpenseRejected(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new ExpenseRejected(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
AuditTrailHelper::AddAuditTrail('Reject', 'Reject Expense at Form Vehicle Running Cost (' . $form->expense_number . ')');
session()->flash('success', 'Form has been rejected.');