diff --git a/app/Http/Controllers/V3/Dashboard/AccidentReceiptController.php b/app/Http/Controllers/V3/Dashboard/AccidentReceiptController.php index 9520c2d2..9a589e11 100644 --- a/app/Http/Controllers/V3/Dashboard/AccidentReceiptController.php +++ b/app/Http/Controllers/V3/Dashboard/AccidentReceiptController.php @@ -92,13 +92,13 @@ class AccidentReceiptController extends Controller $damageData = []; foreach ($request->damage_items as $key => $item) { - $damage = Damage::query()->find($item->id); - $damageData[$item->id] = [ - 'value' => $item->value, + $damage = Damage::query()->find($item['id']); + $damageData[$item['id']] = [ + 'value' => $item['value'], 'unit' => $damage->unit, - 'amount' => $item->amount, + 'amount' => $item['amount'], ]; - $sum += $item->amount; + $sum += $item['amount']; } $ojrate_nasb = $sum/100*20; @@ -129,24 +129,6 @@ class AccidentReceiptController extends Controller $province = Province::query()->where('id', '=', $request->province_id)->first(); $city = City::query()->where('id', '=', $request->city_id)->first(); - if ($request->report_base && $accident->police_file) { - FileFacade::delete($accident->police_file, true); - } - - if (!$request->report_base) { - FileFacade::delete($accident->police_file, true); - $police_file = FileFacade::save($request->file('police_file'), "receipts_files/{$accident->id}/"); - } - - if ($request->has('damage_picture1')) { - FileFacade::delete($accident->damage_picture1, true); - $damage_picture1 = FileFacade::save($request->file('damage_picture1'), "receipts_files/{$accident->id}/"); - } - if ($request->has('damage_picture2')) { - FileFacade::delete($accident->damage_picture2, true); - $damage_picture2 = FileFacade::save($request->file('damage_picture2'), "receipts_files/{$accident->id}/"); - } - $accidentData = [ 'province_id' => $province->id, 'province_fa' => $province->name_fa, @@ -166,24 +148,40 @@ class AccidentReceiptController extends Controller 'accident_type_fa' => DailyAccidentSettings::query()->where('type', 'accident_type')->where('name', $request->accident_type)->first()->value, 'way_id' => $nominatimService->get_way_id_from_nominatim($request->lat, $request->lng), 'report_base' => $request->report_base, - 'police_file' => $police_file ?? null, 'police_serial' => $request->police_serial ?? null, 'police_file_date' => $request->police_file_date ?? null, - 'damage_picture1' => $damage_picture1 ?? null, - 'damage_picture2' => $damage_picture2 ?? null, ]; + if ($request->report_base && $accident->police_file) { + FileFacade::delete($accident->police_file, true); + } + + if (!$request->report_base) { + FileFacade::delete($accident->police_file, true); + $accidentData['police_file'] = FileFacade::save($request->file('police_file'), "receipts_files/{$accident->id}/"); + } + + if ($request->has('damage_picture1')) { + FileFacade::delete($accident->damage_picture1, true); + $accidentData['damage_picture1'] = FileFacade::save($request->file('damage_picture1'), "receipts_files/{$accident->id}/"); + } + + if ($request->has('damage_picture2')) { + FileFacade::delete($accident->damage_picture2, true); + $accidentData['damage_picture2'] = FileFacade::save($request->file('damage_picture2'), "receipts_files/{$accident->id}/"); + } + $sum = 0; $damageData = []; foreach ($request->damage_items as $key => $item) { - $damage = Damage::query()->find($item->id); - $damageData[$item->id] = [ - 'value' => $item->value, + $damage = Damage::query()->find($item['id']); + $damageData[$item['id']] = [ + 'value' => $item['value'], 'unit' => $damage->unit, - 'amount' => $item->amount, + 'amount' => $item['amount'], ]; - $sum += $item->amount; + $sum += $item['amount']; } $ojrate_nasb = $sum/100*20; diff --git a/app/Services/Cartables/AccidentReceiptTableService.php b/app/Services/Cartables/AccidentReceiptTableService.php index 6831f918..3a0ace1a 100644 --- a/app/Services/Cartables/AccidentReceiptTableService.php +++ b/app/Services/Cartables/AccidentReceiptTableService.php @@ -81,6 +81,20 @@ class AccidentReceiptTableService { $data = DB::select( 'SELECT + "استانی" as city_fa, + -1 as city_id, + COUNT(id) AS tedade, + COUNT(CASE WHEN report_base = 0 THEN 1 END) AS police_rah, + COUNT(CASE WHEN report_base = 1 THEN 1 END) AS gozaresh_gasht, + SUM(`sum`) AS kol_sabt_shode, + SUM(CASE WHEN STATUS > 3 THEN `sum` END) AS vasel_shode, + SUM(CASE WHEN STATUS > 3 THEN `deposit_insurance_amount` END) AS vasel_shode_bimeh, + SUM(CASE WHEN STATUS > 3 THEN `deposit_daghi_amount` END) AS vasel_shode_daghi, + SUM(CASE WHEN STATUS > 3 THEN `final_amount` END) AS vasel_shode_final + FROM `accidents` + where created_at BETWEEN "'.$request->from_date.'" AND "'.$request->date_to.'" AND province_id ='.$request->province_id.' + union + SELECT city_fa, city_id, COUNT(id) AS tedade,