improve code in controller and form request for V3 whit pint package

This commit is contained in:
2025-10-27 13:20:14 +03:30
parent 71f5001477
commit b155db758a
118 changed files with 604 additions and 559 deletions

View File

@@ -46,8 +46,9 @@ class AccidentReceiptController extends Controller
public function excelReport(Request $request, AccidentReceiptTableService $accidentReceiptTableService): BinaryFileResponse
{
auth()->user()->addActivityComplete(1126);
$name = 'گزارش از خسارات وارده به ابنیه فنی و تاسیسات راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از خسارات وارده به ابنیه فنی و تاسیسات راه '.verta()->now()->format('Y-m-d H-i').'.xlsx';
$data = $accidentReceiptTableService->dataTable($request, true);
return Excel::download(new DataTableReport($data['data']), $name);
}
@@ -64,7 +65,7 @@ class AccidentReceiptController extends Controller
$city = City::query()->where('id', '=', $request->city_id)->first();
$accidentData = [
'is_foreign' => $request->is_foreign,
'is_foreign' => $request->is_foreign,
'province_id' => $province->id,
'province_fa' => $province->name_fa,
'city_id' => $city->id,
@@ -103,12 +104,12 @@ class AccidentReceiptController extends Controller
$sum += $item['amount'];
}
$ojrate_nasb = $sum/100*20;
$ojrate_nasb = $sum / 100 * 20;
$sum += $ojrate_nasb;
$accidentData['ojrate_nasb'] = $ojrate_nasb;
$accidentData['sum'] = $sum;
$accidentData['driver_share_amount'] = ($sum * $request->driver_rate)/100;
$accidentData['driver_share_amount'] = ($sum * $request->driver_rate) / 100;
$accident = Accident::query()->create($accidentData);
$accident->damage_picture1 = FileFacade::save($request->file('damage_picture1'), "receipts_files/{$accident->id}");
@@ -137,7 +138,7 @@ class AccidentReceiptController extends Controller
$city = City::query()->where('id', '=', $request->city_id)->first();
$accidentData = [
'is_foreign' => $request->is_foreign,
'is_foreign' => $request->is_foreign,
'province_id' => $province->id,
'province_fa' => $province->name_fa,
'city_id' => $city->id,
@@ -166,7 +167,9 @@ class AccidentReceiptController extends Controller
}
if ($request->has('police_file')) {
if ($accident->police_file) {FileFacade::delete($accident->police_file, true);}
if ($accident->police_file) {
FileFacade::delete($accident->police_file, true);
}
$accidentData['police_file'] = FileFacade::save($request->file('police_file'), "receipts_files/{$accident->id}/");
}
@@ -193,12 +196,12 @@ class AccidentReceiptController extends Controller
$sum += $item['amount'];
}
$ojrate_nasb = $sum/100*20;
$ojrate_nasb = $sum / 100 * 20;
$sum += $ojrate_nasb;
$accidentData['ojrate_nasb'] = $ojrate_nasb;
$accidentData['sum'] = $sum;
$accidentData['driver_share_amount'] = ($sum * $request->driver_rate)/100;
$accidentData['driver_share_amount'] = ($sum * $request->driver_rate) / 100;
$accident->update($accidentData);
@@ -246,7 +249,7 @@ class AccidentReceiptController extends Controller
return $this->successResponse([
$account_data,
$accident->load('damages')
$accident->load('damages'),
]);
}
@@ -254,7 +257,7 @@ class AccidentReceiptController extends Controller
{
DB::transaction(function () use ($request, $accident) {
$final_amount = $accident->driver_share_amount - ($request->deposit_insurance_amount + $request->deposit_daghi_amount);
$final_amount = $accident->driver_share_amount - ($request->deposit_insurance_amount + $request->deposit_daghi_amount);
throw_if($final_amount < 0, new ProhibitedAction('مبالغ داغی و بیمه از مبلغ کل بیشتر می باشد.'));
@@ -282,13 +285,13 @@ class AccidentReceiptController extends Controller
public function submitInvoice(Accident $accident, PaymentService $paymentService, SubmitInvoiceRequest $request): JsonResponse
{
$lock = Cache::lock("accidentPayment-{$accident->id}", 10);
throw_if(!$lock->get(), new ProhibitedAction('امکان درخواست مجدد تا 10 ثانیه دیگر وجود ندارد'));
throw_if(! $lock->get(), new ProhibitedAction('امکان درخواست مجدد تا 10 ثانیه دیگر وجود ندارد'));
$final_amount = $accident->final_amount;
$bill_code = $paymentService->invoiceBillApi($accident->driver_national_code, $final_amount);
DB::transaction(function () use ($bill_code, $final_amount, $accident) {
DB::transaction(function () use ($bill_code, $accident) {
$accident->update([
'bill_code' => $bill_code,
@@ -312,9 +315,9 @@ class AccidentReceiptController extends Controller
{
DB::transaction(function () use ($accident, $paymentService) {
$response = json_decode($paymentService->callPaymentStatusBillApi(explode("/", $accident->bill_code)[0]));
$response = json_decode($paymentService->callPaymentStatusBillApi(explode('/', $accident->bill_code)[0]));
throw_if(!$response->isPayed, new ProhibitedAction('پرداخت انجام نشده است'));
throw_if(! $response->isPayed, new ProhibitedAction('پرداخت انجام نشده است'));
$accident->update([
'status' => AccidentStates::PARDAKHT_FACTOR->value,
@@ -327,9 +330,9 @@ class AccidentReceiptController extends Controller
return $this->successResponse($accident);
}
public function generatePoliceDocument(Request $request, Accident $accident): JsonResponse
public function generatePoliceDocument(Accident $accident): JsonResponse
{
DB::transaction(function () use ($request, $accident) {
DB::transaction(function () use ($accident) {
$accident->update([
'status' => AccidentStates::SODOR_NAME_POLICE_RAH->value,