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

@@ -18,16 +18,17 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
class ReportController extends Controller
{
use ApiResponse;
public function activitiesOnMap(Request $request): JsonResponse
{
$date_from = $request->from_date ? $request->from_date .' 00:00:00' : now()->startOfDay()->toDateTimeString();
$date_from = $request->from_date ? $request->from_date.' 00:00:00' : now()->startOfDay()->toDateTimeString();
$date_to = $request->date_to ? $request->date_to.' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString();
$provinceId = $request->province_id;
$edareId = $request->edare_id;
$data = RoadPatrol::query()
->when($provinceId, fn($query, $provinceId) => $query->where('province_id', '=', $provinceId))
->when($edareId, fn($query, $edareId) => $query->where('edare_id', '=', $edareId))
->when($provinceId, fn ($query, $provinceId) => $query->where('province_id', '=', $provinceId))
->when($edareId, fn ($query, $edareId) => $query->where('edare_id', '=', $edareId))
->whereBetween('created_at', [$date_from, $date_to])
->select('id', 'start_lat', 'start_lon')
->get();
@@ -51,11 +52,11 @@ class ReportController extends Controller
'officer_name' => $roadPatrol->officer_name,
'officer_plaque' => $roadPatrol->officer_plaque,
'officer_phone_number' => $roadPatrol->officer_phone_number,
'created_at' => $roadPatrol->created_at
'created_at' => $roadPatrol->created_at,
];
$observed_items = array();
if($roadPatrol->observedItems) {
$observed_items = [];
if ($roadPatrol->observedItems) {
foreach ($roadPatrol->observedItems as $index => $observed_item) {
$observed_items[] = [
'item' => $observed_item->item_name,
@@ -68,8 +69,10 @@ class ReportController extends Controller
}
$data['observed_items'] = $observed_items;
return $this->successResponse($data);
}
public function countryPatrolActivity(Request $request, ReportService $reportService): JsonResponse
{
$activities = $reportService->countryActivity($request);
@@ -78,13 +81,13 @@ class ReportController extends Controller
return $this->successResponse([
'activities' => $activities['data'],
'provinces' => $provinces
'provinces' => $provinces,
]);
}
public function provincePatrolActivity(Request $request, ReportService $reportService): JsonResponse
{
$request->validate(["province_id" => "required",]);
$request->validate(['province_id' => 'required']);
$activities = $reportService->provinceActivity($request);
@@ -101,7 +104,7 @@ class ReportController extends Controller
$activities = $reportService->countryActivity($request);
$provinces = Province::all(['id', 'name_fa']);
$name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از گشت راهداری و ترابری '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new CountryActivity([
'activities' => $activities,
@@ -114,7 +117,7 @@ class ReportController extends Controller
$activities = $reportService->provinceActivity($request);
$edarateShahri = EdarateShahri::query()->where('province_id', '=', $request->province_id)->get(['id', 'name_fa']);
$name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از گشت راهداری و ترابری '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new ProvinceActivity([
'activities' => $activities,