From 18cbf772616ae6a94b011a98c0d14e2b7f198d89 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sat, 8 Feb 2025 15:39:15 +0330 Subject: [PATCH 01/12] map reports --- .../Reports/RoadItemsReportController.php | 53 ++++++++++--------- .../Reports/RoadPatrolReportController.php | 5 ++ routes/v3.php | 3 +- 3 files changed, 36 insertions(+), 25 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php index 81a8425d..f5afc74a 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php @@ -90,30 +90,6 @@ class RoadItemsReportController extends Controller ]); } - public function map(Request $request): JsonResponse - { - $provinceId = $request->province_id; - $cityId = $request->city_id; - $subId = $request->sub_id; - $item = $request->item; - $dateFrom = $request->date_from ? $request->date_from . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString(); - - $data = RoadItemsProject::query() - ->where('is_new', '=', 1) - ->when($provinceId, fn($query) => $query->where('province_id', '=', $provinceId)) - ->when($cityId, fn($query) => $query->where('city_id', '=', $cityId)) - ->when($subId, fn($query) => $query->where('sub_items', 'like', '%' . $subId . '%')) - ->when($item, fn($query) => $query->where('item', '=', $item)) - ->when(!is_null($request->status), fn($query) => $query->where('status', '=', $request->status)) - ->whereBetween('activity_date', [$dateFrom, $dateTo]) - ->leftJoin('users', 'users.id', '=', 'road_items_projects.user_id') - ->select('road_items_projects.id as i', 'start_lat as l', 'start_lng as g', 'status') - ->get(); - - return $this->successResponse($data); - } - public function countryActivityExcelPerItem(Request $request, RoadItemReportService $roadItemReportService): BinaryFileResponse { auth()->user()->addActivityComplete(1034); @@ -169,4 +145,33 @@ class RoadItemsReportController extends Controller 'edarateShahri' => EdarateShahri::query()->where('province_id', '=', $request->province_id)->get(['id', 'name_fa']), ]), $name); } + + public function activitiesOnMap(Request $request): JsonResponse + { + $provinceId = $request->province_id; + $cityId = $request->city_id; + $subId = $request->sub_id; + $item = $request->item; + $dateFrom = $request->date_from ? $request->date_from . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); + $dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString(); + + $data = RoadItemsProject::query() + ->where('is_new', '=', 1) + ->when($provinceId, fn($query) => $query->where('province_id', '=', $provinceId)) + ->when($cityId, fn($query) => $query->where('city_id', '=', $cityId)) + ->when($subId, fn($query) => $query->where('sub_items', 'like', '%' . $subId . '%')) + ->when($item, fn($query) => $query->where('item', '=', $item)) + ->when(!is_null($request->status), fn($query) => $query->where('status', '=', $request->status)) + ->whereBetween('activity_date', [$dateFrom, $dateTo]) + ->leftJoin('users', 'users.id', '=', 'road_items_projects.user_id') + ->select('road_items_projects.id as i', 'start_lat as l', 'start_lng as g', 'status') + ->get(); + + return $this->successResponse($data); + } + + public function showOnMap(RoadItemsProject $roadItemsProject): JsonResponse + { + return $this->successResponse($roadItemsProject->load(['files', 'rahdaran:id,name,code', 'cmmsMachines:id,machine_code,car_name,plak_number'])); + } } diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php index d45967b6..9cb4ce6a 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php @@ -89,4 +89,9 @@ class RoadPatrolReportController extends Controller return $this->successResponse($data); } + + public function showOnMap(RoadPatrol $road_patrol) + { + return $this->successResponse($road_patrol->load(['rahdaran:id,name,code', 'cmmsMachines:id,machine_code,car_name,plak_number'])); + } } diff --git a/routes/v3.php b/routes/v3.php index 9557589f..cfba8f17 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -196,11 +196,12 @@ Route::prefix('road_item_reports') Route::get('/province_activity_per_sub_item', 'provinceActivityPerSubItem')->name('provinceActivityPerSubItem'); Route::get('/country_activity_per_item', 'countryActivityPerItem')->name('countryActivityPerItem'); Route::get('/province_activity_per_item', 'provinceActivityPerItem')->name('provinceActivityPerItem'); - Route::get('/map', 'map')->name('map'); Route::get('/country_activity_excel_per_item', 'countryActivityExcelPerItem')->name('countryActivityExcelPerItem'); Route::get('/province_activity_excel_per_item', 'provinceActivityExcelPerItem')->name('provinceActivityExcelPerItem'); Route::get('/country_activity_excel_per_sub_item', 'countryActivityExcelPerSubItem')->name('countryActivityExcelPerSubItem'); Route::get('/province_activity_excel_per_sub_item', 'provinceActivityExcelPerSubItem')->name('provinceActivityExcelPerSubItem'); + Route::get('/activities_on_map', 'activitiesOnMap')->name('activitiesOnMap'); + Route::get('/show_on_map', 'showOnMap')->name('showOnMap'); }); Route::prefix('road_patrol_reports') From c8ff302d090882829d8dade3c4d232358b8aafb8 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 09:30:49 +0330 Subject: [PATCH 02/12] refactor the queries --- .../Reports/RoadItemsReportController.php | 13 +++++----- .../Reports/RoadPatrolReportController.php | 24 ++++++++----------- routes/v3.php | 3 ++- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php index f5afc74a..70d15be0 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php @@ -152,18 +152,19 @@ class RoadItemsReportController extends Controller $cityId = $request->city_id; $subId = $request->sub_id; $item = $request->item; + $status = $request->status; $dateFrom = $request->date_from ? $request->date_from . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); $dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString(); $data = RoadItemsProject::query() ->where('is_new', '=', 1) - ->when($provinceId, fn($query) => $query->where('province_id', '=', $provinceId)) - ->when($cityId, fn($query) => $query->where('city_id', '=', $cityId)) - ->when($subId, fn($query) => $query->where('sub_items', 'like', '%' . $subId . '%')) - ->when($item, fn($query) => $query->where('item', '=', $item)) - ->when(!is_null($request->status), fn($query) => $query->where('status', '=', $request->status)) - ->whereBetween('activity_date', [$dateFrom, $dateTo]) + ->when($provinceId, fn($query, $provinceId) => $query->where('road_items_projects.province_id', '=', $provinceId)) + ->when($cityId, fn($query, $cityId) => $query->where('road_items_projects.city_id', '=', $cityId)) + ->when($subId, fn($query, $subId) => $query->where('sub_items', 'like', '%' . $subId . '%')) + ->when($item, fn($query, $item) => $query->where('item', '=', $item)) + ->when(!is_null($status), fn($query, $status) => $query->where('status', '=', $status)) ->leftJoin('users', 'users.id', '=', 'road_items_projects.user_id') + ->whereBetween('road_items_projects.activity_date', [$dateFrom, $dateTo]) ->select('road_items_projects.id as i', 'start_lat as l', 'start_lng as g', 'status') ->get(); diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php index 9cb4ce6a..fc6c30b5 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php @@ -71,27 +71,23 @@ class RoadPatrolReportController extends Controller public function activitiesOnMap(Request $request): JsonResponse { - $date_from = $request->date_from ? $request->date_from .' 00:00:00' : Date('Y-m-d') .' 00:00:00'; - $date_to = $request->date_to ? $request->date_to.' 23:59:59' : (new \DateTime('tomorrow'))->format('Y-m-d').' 23:59:59'; + $date_from = $request->date_from ? $request->date_from .' 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($request->province_id, function ($query, $province) { - return $query->where('province_id', '=', $province); - }) - ->when($request->edare_id, function ($query, $edare_id) { - return $query->where('edare_id', '=', $edare_id); - }) - ->whereBetween('created_at', [ - $date_from, - $date_to, - ]) + $data = RoadPatrol::query() + ->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(); return $this->successResponse($data); } - public function showOnMap(RoadPatrol $road_patrol) + public function showOnMap(RoadPatrol $roadPatrol): JsonResponse { - return $this->successResponse($road_patrol->load(['rahdaran:id,name,code', 'cmmsMachines:id,machine_code,car_name,plak_number'])); + return $this->successResponse($roadPatrol->load(['rahdaran:id,name,code', 'cmmsMachines:id,machine_code,car_name,plak_number'])); } } diff --git a/routes/v3.php b/routes/v3.php index cfba8f17..a0fa2ed7 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -201,7 +201,7 @@ Route::prefix('road_item_reports') Route::get('/country_activity_excel_per_sub_item', 'countryActivityExcelPerSubItem')->name('countryActivityExcelPerSubItem'); Route::get('/province_activity_excel_per_sub_item', 'provinceActivityExcelPerSubItem')->name('provinceActivityExcelPerSubItem'); Route::get('/activities_on_map', 'activitiesOnMap')->name('activitiesOnMap'); - Route::get('/show_on_map', 'showOnMap')->name('showOnMap'); + Route::get('/show_on_map/{roadItemsProject}', 'showOnMap')->name('showOnMap'); }); Route::prefix('road_patrol_reports') @@ -213,4 +213,5 @@ Route::prefix('road_patrol_reports') Route::get('/country_activity_excel', 'countryActivityExcel')->name('countryActivityExcel'); Route::get('/province_activity_excel', 'provinceActivityExcel')->name('provinceActivityExcel'); Route::get('/activities_on_map', 'activitiesOnMap')->name('activitiesOnMap'); + Route::get('/show_on_map/{roadPatrol}', 'showOnMap')->name('showOnMap'); }); From 66ddeca81a3ba4f02cb96032ff6bdfbb4e5f7423 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 10:34:47 +0330 Subject: [PATCH 03/12] create road patrol blades --- .../Dashboard/RoadPatrolProjectController.php | 3 - .../OperatorCartableReport.blade.php | 89 +++++++++++++++++++ .../SupervisorCartableReport.blade.php | 89 +++++++++++++++++++ 3 files changed, 178 insertions(+), 3 deletions(-) create mode 100644 resources/views/v3/Reports/RoadPatrols/OperatorCartableReport.blade.php create mode 100644 resources/views/v3/Reports/RoadPatrols/SupervisorCartableReport.blade.php diff --git a/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php b/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php index 565ca51e..44d58245 100644 --- a/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php +++ b/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php @@ -2,11 +2,8 @@ namespace App\Http\Controllers\V3\Dashboard; -use App\Exports\V2\RoadPatrol\OperatorCartableExport; -use App\Exports\V2\RoadPatrol\SupervisorCartableExport; use App\Exports\V3\RoadPatrols\OperatorCartableReport; use App\Exports\V3\RoadPatrols\SupervisorCartableReport; -use App\Facades\DataTable\DataTableFacade; use App\Facades\Sms\Sms; use App\Http\Controllers\Controller; use App\Http\Requests\V3\RoadPatrolProject\DeleteRequest; diff --git a/resources/views/v3/Reports/RoadPatrols/OperatorCartableReport.blade.php b/resources/views/v3/Reports/RoadPatrols/OperatorCartableReport.blade.php new file mode 100644 index 00000000..7cf3b4c3 --- /dev/null +++ b/resources/views/v3/Reports/RoadPatrols/OperatorCartableReport.blade.php @@ -0,0 +1,89 @@ + + + + + + + + گزارش گشت راهداری + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + @endforeach + +
+ تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }} +
+
+ گزارش کارتابل عملیات گشت راهداری +
کد + یکتا + استان + اداره + کد خودرو(ها) + کد راهدار(ها) + تاریخ شروع + تاریخ پایان + تاریخ ثبت + توضیحات مامور
{{ $item['id'] ?? '-' }}{{ $item['province_fa'] ?? '-' }}{{ $item['edarat_name'] ?? '-' }}{{ $item['cmmsMachines'] != null ? $item['cmmsMachines']->pluck('machine_code')->implode(', ') : '-' }}{{ $item['rahdaran'] != null ? $item['rahdaran']->pluck('code')->implode(', ') : '-' }}{{ $item['start_time'] ? verta($item['start_time'])->format('Y/n/j H:i:s') : '-' }} + {{ $item['end_time'] ? verta($item['end_time'])->format('Y/n/j H:i:s') : '-' }} + {{ $item['created_at'] ? verta($item['created_at'])->format('Y/n/j H:i:s') : '-' }}{{ $item['supervisor_description'] ?? '-' }}
+ + + diff --git a/resources/views/v3/Reports/RoadPatrols/SupervisorCartableReport.blade.php b/resources/views/v3/Reports/RoadPatrols/SupervisorCartableReport.blade.php new file mode 100644 index 00000000..e90648a2 --- /dev/null +++ b/resources/views/v3/Reports/RoadPatrols/SupervisorCartableReport.blade.php @@ -0,0 +1,89 @@ + + + + + + + + گزارش گشت راهداری + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + @endforeach + +
+ تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }} +
+
+ گزارش کارتابل ارزیابی گشت راهداری +
کد + یکتا + استان + اداره + کد خودرو(ها) + کد راهدار(ها) + تاریخ شروع + تاریخ پایان + تاریخ ثبت + توضیحات مامور
{{ $item['id'] ?? '-' }}{{ $item['province_fa'] ?? '-' }}{{ $item['edarat_name'] ?? '-' }}{{ $item['cmmsMachines'] != null ? $item['cmmsMachines']->pluck('machine_code')->implode(', ') : '-' }}{{ $item['rahdaran'] != null ? $item['rahdaran']->pluck('code')->implode(', ') : '-' }}{{ $item['start_time'] ? verta($item['start_time'])->format('Y/n/j H:i:s') : '-' }} + {{ $item['end_time'] ? verta($item['end_time'])->format('Y/n/j H:i:s') : '-' }} + {{ $item['created_at'] ? verta($item['created_at'])->format('Y/n/j H:i:s') : '-' }}{{ $item['supervisor_description'] ?? '-' }}
+ + + From ce3b7d5688ddf6078a671bd192bcde1232cbea4f Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 10:49:12 +0330 Subject: [PATCH 04/12] refactor the blades --- app/Exports/V3/RoadPatrols/OperatorCartableReport.php | 3 ++- app/Exports/V3/RoadPatrols/SupervisorCartableReport.php | 3 ++- .../Controllers/V3/Dashboard/RoadPatrolProjectController.php | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/Exports/V3/RoadPatrols/OperatorCartableReport.php b/app/Exports/V3/RoadPatrols/OperatorCartableReport.php index d1279f13..0a72ef63 100644 --- a/app/Exports/V3/RoadPatrols/OperatorCartableReport.php +++ b/app/Exports/V3/RoadPatrols/OperatorCartableReport.php @@ -3,6 +3,7 @@ namespace App\Exports\V3\RoadPatrols; use Illuminate\Contracts\View\View; +use Illuminate\Database\Eloquent\Collection; use Maatwebsite\Excel\Concerns\FromView; use Maatwebsite\Excel\Concerns\ShouldAutoSize; use Maatwebsite\Excel\Concerns\WithDrawings; @@ -14,7 +15,7 @@ use PhpOffice\PhpSpreadsheet\Worksheet\Drawing; class OperatorCartableReport implements FromView, WithEvents, ShouldAutoSize, WithDrawings { - public function __construct(private array $data){} + public function __construct(private Collection $data){} public function view(): View { diff --git a/app/Exports/V3/RoadPatrols/SupervisorCartableReport.php b/app/Exports/V3/RoadPatrols/SupervisorCartableReport.php index 12f05996..6373978e 100644 --- a/app/Exports/V3/RoadPatrols/SupervisorCartableReport.php +++ b/app/Exports/V3/RoadPatrols/SupervisorCartableReport.php @@ -3,6 +3,7 @@ namespace App\Exports\V3\RoadPatrols; use Illuminate\Contracts\View\View; +use Illuminate\Database\Eloquent\Collection; use Maatwebsite\Excel\Concerns\FromView; use Maatwebsite\Excel\Concerns\ShouldAutoSize; use Maatwebsite\Excel\Concerns\WithDrawings; @@ -14,7 +15,7 @@ use PhpOffice\PhpSpreadsheet\Worksheet\Drawing; class SupervisorCartableReport implements FromView, WithEvents, ShouldAutoSize, WithDrawings { - public function __construct(private array $data){} + public function __construct(private Collection $data){} public function view(): View { diff --git a/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php b/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php index 44d58245..ca3247ef 100644 --- a/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php +++ b/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php @@ -84,7 +84,7 @@ class RoadPatrolProjectController extends Controller { $name = 'گزارش از کارتابل ارزیابی گشت راهداری ' . verta()->now()->format('Y-m-d H:i') . '.xlsx'; $data = $roadPatrolReportService->supervisorCartableReport($request); - return Excel::download(new SupervisorCartableReport($data), $name); + return Excel::download(new SupervisorCartableReport($data['data']), $name); } public function operatorIndex(Request $request, RoadPatrolReportService $roadPatrolReportService): JsonResponse @@ -321,6 +321,6 @@ class RoadPatrolProjectController extends Controller { $name = 'گزارش از کارتابل عملیات گشت راهداری ' . verta()->now()->format('Y-m-d H:i') . '.xlsx'; $data = $roadPatrolReportService->operatorCartableReport($request); - return Excel::download(new OperatorCartableReport($data), $name); + return Excel::download(new OperatorCartableReport($data['data']), $name); } } From 95cd1e319e99044ef2a6063fe1e82616ad2036de Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 11:34:06 +0330 Subject: [PATCH 05/12] fix the place of logo --- .../V3/RoadPatrols/OperatorCartableReport.php | 2 +- .../V3/RoadPatrols/SupervisorCartableReport.php | 2 +- .../RoadItems/OperatorCartableReport.blade.php | 2 +- .../RoadItems/SupervisorCartableReport.blade.php | 2 +- .../RoadPatrols/OperatorCartableReport.blade.php | 6 +++--- .../RoadPatrols/SupervisorCartableReport.blade.php | 12 ++++++------ 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/Exports/V3/RoadPatrols/OperatorCartableReport.php b/app/Exports/V3/RoadPatrols/OperatorCartableReport.php index 0a72ef63..769044e3 100644 --- a/app/Exports/V3/RoadPatrols/OperatorCartableReport.php +++ b/app/Exports/V3/RoadPatrols/OperatorCartableReport.php @@ -63,7 +63,7 @@ class OperatorCartableReport implements FromView, WithEvents, ShouldAutoSize, Wi $drawing2->setHeight(50); $drawing2->setOffsetX(5); $drawing2->setOffsetY(5); - $drawing2->setCoordinates('q1'); + $drawing2->setCoordinates('i1'); return [$drawing, $drawing2]; } } \ No newline at end of file diff --git a/app/Exports/V3/RoadPatrols/SupervisorCartableReport.php b/app/Exports/V3/RoadPatrols/SupervisorCartableReport.php index 6373978e..b4e67b7a 100644 --- a/app/Exports/V3/RoadPatrols/SupervisorCartableReport.php +++ b/app/Exports/V3/RoadPatrols/SupervisorCartableReport.php @@ -63,7 +63,7 @@ class SupervisorCartableReport implements FromView, WithEvents, ShouldAutoSize, $drawing2->setHeight(50); $drawing2->setOffsetX(5); $drawing2->setOffsetY(5); - $drawing2->setCoordinates('q1'); + $drawing2->setCoordinates('i1'); return [$drawing, $drawing2]; } } \ No newline at end of file diff --git a/resources/views/v3/Reports/RoadItems/OperatorCartableReport.blade.php b/resources/views/v3/Reports/RoadItems/OperatorCartableReport.blade.php index 8c45948a..558c8907 100644 --- a/resources/views/v3/Reports/RoadItems/OperatorCartableReport.blade.php +++ b/resources/views/v3/Reports/RoadItems/OperatorCartableReport.blade.php @@ -97,7 +97,7 @@ {{ $item['sub_item_data'] ? ($item['unit_fa'] ? $item['sub_item_data'] . '(' . $item['unit_fa'] . ')' : $item['sub_item_data'] . '(-)') : '-' }} - {{ $item['cmmsMachines'] != null ? $item['cmmsMachines']->pluck('machine_code')->implode(', ') : '-' }} + {{ $item['cmms_machines'] != null ? $item['cmms_machines']->pluck('machine_code')->implode(', ') : '-' }} {{ $item['rahdaran'] != null ? $item['rahdaran']->pluck('code')->implode(', ') : '-' }} {{ isset($item['start_lat']) && isset($item['start_lng']) ? $item['start_lat'] . ' ' . $item['start_lng'] : '-' }} diff --git a/resources/views/v3/Reports/RoadItems/SupervisorCartableReport.blade.php b/resources/views/v3/Reports/RoadItems/SupervisorCartableReport.blade.php index c92fc3ab..1dd0a9c8 100644 --- a/resources/views/v3/Reports/RoadItems/SupervisorCartableReport.blade.php +++ b/resources/views/v3/Reports/RoadItems/SupervisorCartableReport.blade.php @@ -97,7 +97,7 @@ {{ $item['sub_item_data'] ? ($item['unit_fa'] ? $item['sub_item_data'] . '(' . $item['unit_fa'] . ')' : $item['sub_item_data'] . '(-)') : '-' }} - {{ $item['cmmsMachines'] != null ? $item['cmmsMachines']->pluck('machine_code')->implode(', ') : '-' }} + {{ $item['cmms_machines'] != null ? $item['cmms_machines']->pluck('machine_code')->implode(', ') : '-' }} {{ $item['rahdaran'] != null ? $item['rahdaran']->pluck('code')->implode(', ') : '-' }} {{ isset($item['start_lat']) && isset($item['start_lng']) ? $item['start_lat'] . ' ' . $item['start_lng'] : '-' }} diff --git a/resources/views/v3/Reports/RoadPatrols/OperatorCartableReport.blade.php b/resources/views/v3/Reports/RoadPatrols/OperatorCartableReport.blade.php index 7cf3b4c3..c90cb1da 100644 --- a/resources/views/v3/Reports/RoadPatrols/OperatorCartableReport.blade.php +++ b/resources/views/v3/Reports/RoadPatrols/OperatorCartableReport.blade.php @@ -73,13 +73,13 @@ {{ $item['id'] ?? '-' }} {{ $item['province_fa'] ?? '-' }} - {{ $item['edarat_name'] ?? '-' }} - {{ $item['cmmsMachines'] != null ? $item['cmmsMachines']->pluck('machine_code')->implode(', ') : '-' }} + {{ $item['edare_name'] ?? '-' }} + {{ $item['cmms_machines'] != null ? $item['cmms_machines']->pluck('machine_code')->implode(', ') : '-' }} {{ $item['rahdaran'] != null ? $item['rahdaran']->pluck('code')->implode(', ') : '-' }} {{ $item['start_time'] ? verta($item['start_time'])->format('Y/n/j H:i:s') : '-' }} {{ $item['end_time'] ? verta($item['end_time'])->format('Y/n/j H:i:s') : '-' }} {{ $item['created_at'] ? verta($item['created_at'])->format('Y/n/j H:i:s') : '-' }} - {{ $item['supervisor_description'] ?? '-' }} + {{ $item['description'] ?? '-' }} @endforeach diff --git a/resources/views/v3/Reports/RoadPatrols/SupervisorCartableReport.blade.php b/resources/views/v3/Reports/RoadPatrols/SupervisorCartableReport.blade.php index e90648a2..0fb2a3d1 100644 --- a/resources/views/v3/Reports/RoadPatrols/SupervisorCartableReport.blade.php +++ b/resources/views/v3/Reports/RoadPatrols/SupervisorCartableReport.blade.php @@ -21,18 +21,18 @@ - - - @@ -73,13 +73,13 @@ - - + + - + @endforeach From ce28ec9f930937ade3d12185c22080f77b022bb5 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 13:34:40 +0330 Subject: [PATCH 06/12] format the blades --- app/Services/Reports/RoadItemReportService.php | 8 ++++---- .../v3/Reports/RoadItems/OperatorCartableReport.blade.php | 3 +-- .../Reports/RoadItems/SupervisorCartableReport.blade.php | 3 +-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app/Services/Reports/RoadItemReportService.php b/app/Services/Reports/RoadItemReportService.php index 4751cda3..23454c13 100644 --- a/app/Services/Reports/RoadItemReportService.php +++ b/app/Services/Reports/RoadItemReportService.php @@ -76,7 +76,7 @@ class RoadItemReportService public function countryActivityPerSubItem(Request $request): array { $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $toDate = $request->to_date ? $request->to_date . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $item = $request->item; $provinceRoadItemsPerSubItem = RoadItemsProject::query()->selectRaw(' @@ -114,7 +114,7 @@ class RoadItemReportService public function provinceActivityPerSubItem(Request $request): array { $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $toDate = $request->to_date ? $request->to_date . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $item = $request->item; $province = $request->province_id; @@ -159,7 +159,7 @@ class RoadItemReportService public function countryActivityPerItem(Request $request): array { $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $toDate = $request->to_date ? $request->to_date . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $user = auth()->user(); // $isSpecialUser = in_array($user->username, ['witel', 'drdanesh']); $isSpecialUser = $user->hasPermissionTo("show-road-item-supervise-cartable"); @@ -198,7 +198,7 @@ class RoadItemReportService { $provinceId = $request->province_id; $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $toDate = $request->to_date ? $request->to_date . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $edarehActivity = RoadItemsProject::query() ->selectRaw(' diff --git a/resources/views/v3/Reports/RoadItems/OperatorCartableReport.blade.php b/resources/views/v3/Reports/RoadItems/OperatorCartableReport.blade.php index 558c8907..3894defd 100644 --- a/resources/views/v3/Reports/RoadItems/OperatorCartableReport.blade.php +++ b/resources/views/v3/Reports/RoadItems/OperatorCartableReport.blade.php @@ -33,7 +33,7 @@ @@ -107,7 +107,6 @@ - diff --git a/resources/views/v3/Reports/RoadItems/SupervisorCartableReport.blade.php b/resources/views/v3/Reports/RoadItems/SupervisorCartableReport.blade.php index 1dd0a9c8..6203dbbc 100644 --- a/resources/views/v3/Reports/RoadItems/SupervisorCartableReport.blade.php +++ b/resources/views/v3/Reports/RoadItems/SupervisorCartableReport.blade.php @@ -33,7 +33,7 @@ @@ -107,7 +107,6 @@ - From 6cda8f04c6c6da236857410f1ba52089d94a5223 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 14:08:03 +0330 Subject: [PATCH 07/12] rename --- .../V3/Dashboard/Reports/RoadPatrolReportController.php | 6 +++--- .../V3/Dashboard/RoadPatrolProjectController.php | 4 ++-- app/Services/Reports/RoadItemReportService.php | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php index fc6c30b5..4c28c442 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php @@ -53,7 +53,7 @@ class RoadPatrolReportController extends Controller public function countryActivityExcel(Request $request, RoadPatrolReportService $roadPatrolReportService): BinaryFileResponse { - $activities = $roadPatrolReportService->countryActivity($request->from_date, $request->to_date); + $activities = $roadPatrolReportService->countryActivity($request->from_date, $request->date_to); $name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; @@ -62,7 +62,7 @@ class RoadPatrolReportController extends Controller public function provinceActivityExcel(Request $request, RoadPatrolReportService $roadPatrolReportService): BinaryFileResponse { - $activities = $roadPatrolReportService->provinceActivity($request->from_date, $request->to_date, $request->province_id); + $activities = $roadPatrolReportService->provinceActivity($request->from_date, $request->date_to, $request->province_id); $name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; @@ -71,7 +71,7 @@ class RoadPatrolReportController extends Controller public function activitiesOnMap(Request $request): JsonResponse { - $date_from = $request->date_from ? $request->date_from .' 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; diff --git a/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php b/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php index ca3247ef..c33888c3 100644 --- a/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php +++ b/app/Http/Controllers/V3/Dashboard/RoadPatrolProjectController.php @@ -281,8 +281,8 @@ class RoadPatrolProjectController extends Controller $status = $request->status; $rms_status = $request->rms_status; - if ($request->date_from && $request->date_to) { - $date_from = $request->date_from.' 00:00:00'; + if ($request->from_date && $request->date_to) { + $date_from = $request->from_date.' 00:00:00'; $date_to = $request->date_to.' 23:59:59'; } else { $date_from = Date('Y-m-d'); diff --git a/app/Services/Reports/RoadItemReportService.php b/app/Services/Reports/RoadItemReportService.php index 23454c13..4751cda3 100644 --- a/app/Services/Reports/RoadItemReportService.php +++ b/app/Services/Reports/RoadItemReportService.php @@ -76,7 +76,7 @@ class RoadItemReportService public function countryActivityPerSubItem(Request $request): array { $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->to_date ? $request->to_date . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $item = $request->item; $provinceRoadItemsPerSubItem = RoadItemsProject::query()->selectRaw(' @@ -114,7 +114,7 @@ class RoadItemReportService public function provinceActivityPerSubItem(Request $request): array { $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->to_date ? $request->to_date . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $item = $request->item; $province = $request->province_id; @@ -159,7 +159,7 @@ class RoadItemReportService public function countryActivityPerItem(Request $request): array { $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->to_date ? $request->to_date . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $user = auth()->user(); // $isSpecialUser = in_array($user->username, ['witel', 'drdanesh']); $isSpecialUser = $user->hasPermissionTo("show-road-item-supervise-cartable"); @@ -198,7 +198,7 @@ class RoadItemReportService { $provinceId = $request->province_id; $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->to_date ? $request->to_date . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $edarehActivity = RoadItemsProject::query() ->selectRaw(' From c131e466da27ca58e92b69863b68348f7c30d0c4 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 14:23:36 +0330 Subject: [PATCH 08/12] resolve the date debug --- app/Exports/V3/RoadPatrols/CountryActivity.php | 2 +- .../Dashboard/Reports/RoadPatrolReportController.php | 4 ++-- app/Services/Reports/RoadPatrolReportService.php | 11 +++++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/Exports/V3/RoadPatrols/CountryActivity.php b/app/Exports/V3/RoadPatrols/CountryActivity.php index 29be9cff..48c0c1e4 100644 --- a/app/Exports/V3/RoadPatrols/CountryActivity.php +++ b/app/Exports/V3/RoadPatrols/CountryActivity.php @@ -21,7 +21,7 @@ class CountryActivity implements FromView, WithEvents, ShouldAutoSize, WithDrawi $activities = $this->activities; return view('v3.Reports.RoadPatrols.CountryActivity', [ - 'activities' => $activities["activities"], + 'activities' => $activities["data"], 'fromDate' => $activities["fromDate"], 'toDate' => $activities["toDate"] ]); diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php index 4c28c442..d0a28030 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php @@ -53,7 +53,7 @@ class RoadPatrolReportController extends Controller public function countryActivityExcel(Request $request, RoadPatrolReportService $roadPatrolReportService): BinaryFileResponse { - $activities = $roadPatrolReportService->countryActivity($request->from_date, $request->date_to); + $activities = $roadPatrolReportService->countryActivity($request); $name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; @@ -62,7 +62,7 @@ class RoadPatrolReportController extends Controller public function provinceActivityExcel(Request $request, RoadPatrolReportService $roadPatrolReportService): BinaryFileResponse { - $activities = $roadPatrolReportService->provinceActivity($request->from_date, $request->date_to, $request->province_id); + $activities = $roadPatrolReportService->provinceActivity($request); $name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; diff --git a/app/Services/Reports/RoadPatrolReportService.php b/app/Services/Reports/RoadPatrolReportService.php index c7051116..38559505 100644 --- a/app/Services/Reports/RoadPatrolReportService.php +++ b/app/Services/Reports/RoadPatrolReportService.php @@ -71,8 +71,11 @@ class RoadPatrolReportService return $data; } - public function countryActivity(string $fromDate, string $toDate): array + public function countryActivity(Request $request): array { + $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); + $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $activities = DB::select('SELECT "کشوری" as province_fa, -1 as province_id, @@ -124,8 +127,12 @@ class RoadPatrolReportService ]; } - public function provinceActivity(string $fromDate, string $toDate, int $provinceId): array + public function provinceActivity(Request $request): array { + $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); + $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); + $provinceId = $request->province_id; + $activities = DB::select( 'SELECT province_fa, From baf4b0502c0ac60dcdedb2d4e373a31f8d9ec53b Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 14:35:54 +0330 Subject: [PATCH 09/12] debug --- app/Exports/V3/RoadPatrols/ProvinceActivity.php | 2 +- .../Dashboard/Reports/RoadPatrolReportController.php | 12 +++--------- .../v3/Reports/RoadPatrols/CountryActivity.blade.php | 2 +- .../Reports/RoadPatrols/ProvinceActivity.blade.php | 2 +- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/app/Exports/V3/RoadPatrols/ProvinceActivity.php b/app/Exports/V3/RoadPatrols/ProvinceActivity.php index 1d7d0d8d..5fcc3196 100644 --- a/app/Exports/V3/RoadPatrols/ProvinceActivity.php +++ b/app/Exports/V3/RoadPatrols/ProvinceActivity.php @@ -21,7 +21,7 @@ class ProvinceActivity implements FromView, WithEvents, ShouldAutoSize, WithDraw $activities = $this->activities; return view('v3.Reports.RoadPatrols.ProvinceActivity', [ - 'activities' => $activities["activities"], + 'activities' => $activities["data"], 'fromDate' => $activities["fromDate"], 'toDate' => $activities["toDate"] ]); diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php index d0a28030..ab3d13dd 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php @@ -21,10 +21,7 @@ class RoadPatrolReportController extends Controller use ApiResponse; public function countryPatrolActivity(Request $request, RoadPatrolReportService $roadPatrolReportService): JsonResponse { - $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); - - $activities = $roadPatrolReportService->countryActivity($fromDate, $toDate); + $activities = $roadPatrolReportService->countryActivity($request); $provinces = Province::all(['id', 'name_fa']); @@ -37,13 +34,10 @@ class RoadPatrolReportController extends Controller public function provincePatrolActivity(Request $request, RoadPatrolReportService $roadPatrolReportService): JsonResponse { $request->validate(["province_id" => "required",]); - $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); - $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); - $provinceId = $request->province_id; - $activities = $roadPatrolReportService->provinceActivity($fromDate, $toDate, $provinceId); + $activities = $roadPatrolReportService->provinceActivity($request); - $edarateShahri = EdarateShahri::query()->where('province_id', '=', $provinceId)->get(['id', 'name_fa']); + $edarateShahri = EdarateShahri::query()->where('province_id', '=', $request->province_id)->get(['id', 'name_fa']); return $this->successResponse([ 'activities' => $activities['data'], diff --git a/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php b/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php index 0e94bde7..6efeed9b 100644 --- a/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php +++ b/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php @@ -27,7 +27,7 @@ - @foreach ($activities as $activity) + @php + // محاسبه مجموع مقدار s برای کل کشور + $totalForCountry = collect($activities)->where('province_id', -1)->get(); + @endphp + + {{-- ردیف کل کشور --}} - - - - - - - - + + + @foreach($items as $item) + + @endforeach + @foreach ($provinces as $province) + @foreach($activities as $activity) + @if($province->name_fa == $activity->province_fa) + + + + + + + + + + + @endif + + + + + + + + + + + @endforeach @endforeach From 8099c2874c5dc6cedafea19c82c5713bda929316 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 15:56:31 +0330 Subject: [PATCH 11/12] create blade files --- .../RoadPatrols/CountryActivity.blade.php | 62 ++++++++++--------- .../RoadPatrols/ProvinceActivity.blade.php | 55 ++++++++++++---- 2 files changed, 76 insertions(+), 41 deletions(-) diff --git a/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php b/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php index 292615ea..bba1555a 100644 --- a/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php +++ b/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php @@ -82,48 +82,50 @@ @php // محاسبه مجموع مقدار s برای کل کشور - $totalForCountry = collect($activities)->where('province_id', -1)->get(); + $totalForCountry = collect($activities)->where('province_id', -1)->first(); @endphp {{-- ردیف کل کشور --}} - - @foreach($items as $item) - - @endforeach + + + + + + + + @foreach ($provinces as $province) - @foreach($activities as $activity) - @if($province->name_fa == $activity->province_fa) + @php + $totalForProvince = collect($activities)->where('province_id', $province->id)->first(); + @endphp + @if($totalForProvince) - - - - - - - - + + + + + + + + + + @else + + + + + + + + + @endif - - - - - - - - - - - @endforeach @endforeach - -
تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }}
گزارش کارتابل ارزیابی گشت راهداری
{{ $item['id'] ?? '-' }} {{ $item['province_fa'] ?? '-' }}{{ $item['edarat_name'] ?? '-' }}{{ $item['cmmsMachines'] != null ? $item['cmmsMachines']->pluck('machine_code')->implode(', ') : '-' }}{{ $item['edare_name'] ?? '-' }}{{ $item['cmms_machines'] != null ? $item['cmms_machines']->pluck('machine_code')->implode(', ') : '-' }} {{ $item['rahdaran'] != null ? $item['rahdaran']->pluck('code')->implode(', ') : '-' }} {{ $item['start_time'] ? verta($item['start_time'])->format('Y/n/j H:i:s') : '-' }} {{ $item['end_time'] ? verta($item['end_time'])->format('Y/n/j H:i:s') : '-' }} {{ $item['created_at'] ? verta($item['created_at'])->format('Y/n/j H:i:s') : '-' }}{{ $item['supervisor_description'] ?? '-' }}{{ $item['description'] ?? '-' }}
+ style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;font-size: 13px;"> گزارش کارتابل عملیات فعالیت های روزانه و جاری
{{ $item['activity_date_time'] ? verta($item['activity_date_time'])->format('Y/n/j H:i:s') : '-' }} {{ $item['created_at'] ? verta($item['created_at'])->format('Y/n/j H:i:s') : '-' }} {{ $item['status_fa'] ?? '-' }} {{ $item['supervisor_description'] ?? '-' }}
+ style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;font-size: 13px;"> گزارش کارتابل ارزیابی فعالیت های روزانه و جاری
{{ $item['activity_date_time'] ? verta($item['activity_date_time'])->format('Y/n/j H:i:s') : '-' }} {{ $item['created_at'] ? verta($item['created_at'])->format('Y/n/j H:i:s') : '-' }} {{ $item['status_fa'] ?? '-' }} {{ $item['supervisor_description'] ?? '-' }}
+ style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;font-size: 13px;"> گزارش گشت راهداری و ترابری از تاریخ {{ verta($fromDate)->format('Y/n/j') }} تا diff --git a/resources/views/v3/Reports/RoadPatrols/ProvinceActivity.blade.php b/resources/views/v3/Reports/RoadPatrols/ProvinceActivity.blade.php index 602352e5..fe995428 100644 --- a/resources/views/v3/Reports/RoadPatrols/ProvinceActivity.blade.php +++ b/resources/views/v3/Reports/RoadPatrols/ProvinceActivity.blade.php @@ -27,7 +27,7 @@
+ style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;font-size: 13px;"> گزارش گشت راهداری و ترابری از تاریخ {{ verta($fromDate)->format('Y/n/j') }} تا From 382299dac5fa05f8af2454bf0206ccd36fef8e23 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 9 Feb 2025 15:21:14 +0330 Subject: [PATCH 10/12] change patrol blade --- .../V3/RoadPatrols/CountryActivity.php | 7 +-- .../V3/RoadPatrols/ProvinceActivity.php | 7 +-- .../Reports/RoadPatrolReportController.php | 12 ++++- .../RoadPatrols/CountryActivity.blade.php | 45 +++++++++++++++---- 4 files changed, 54 insertions(+), 17 deletions(-) diff --git a/app/Exports/V3/RoadPatrols/CountryActivity.php b/app/Exports/V3/RoadPatrols/CountryActivity.php index 48c0c1e4..dd328cc1 100644 --- a/app/Exports/V3/RoadPatrols/CountryActivity.php +++ b/app/Exports/V3/RoadPatrols/CountryActivity.php @@ -21,9 +21,10 @@ class CountryActivity implements FromView, WithEvents, ShouldAutoSize, WithDrawi $activities = $this->activities; return view('v3.Reports.RoadPatrols.CountryActivity', [ - 'activities' => $activities["data"], - 'fromDate' => $activities["fromDate"], - 'toDate' => $activities["toDate"] + 'activities' => $activities["activities"]['data'], + 'provinces' => $activities["provinces"], + 'fromDate' => $activities["activities"]["fromDate"], + 'toDate' => $activities["activities"]["toDate"] ]); } diff --git a/app/Exports/V3/RoadPatrols/ProvinceActivity.php b/app/Exports/V3/RoadPatrols/ProvinceActivity.php index 5fcc3196..4118fd19 100644 --- a/app/Exports/V3/RoadPatrols/ProvinceActivity.php +++ b/app/Exports/V3/RoadPatrols/ProvinceActivity.php @@ -21,9 +21,10 @@ class ProvinceActivity implements FromView, WithEvents, ShouldAutoSize, WithDraw $activities = $this->activities; return view('v3.Reports.RoadPatrols.ProvinceActivity', [ - 'activities' => $activities["data"], - 'fromDate' => $activities["fromDate"], - 'toDate' => $activities["toDate"] + 'activities' => $activities["activities"]['data'], + 'edarateShahri' => $activities["edarateShahri"], + 'fromDate' => $activities["activities"]["fromDate"], + 'toDate' => $activities["activities"]["toDate"] ]); } diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php index ab3d13dd..9f485e05 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadPatrolReportController.php @@ -48,19 +48,27 @@ class RoadPatrolReportController extends Controller public function countryActivityExcel(Request $request, RoadPatrolReportService $roadPatrolReportService): BinaryFileResponse { $activities = $roadPatrolReportService->countryActivity($request); + $provinces = Province::all(['id', 'name_fa']); $name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; - return Excel::download(new CountryActivity($activities), $name); + return Excel::download(new CountryActivity([ + 'activities' => $activities, + 'provinces' => $provinces, + ]), $name); } public function provinceActivityExcel(Request $request, RoadPatrolReportService $roadPatrolReportService): BinaryFileResponse { $activities = $roadPatrolReportService->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'; - return Excel::download(new ProvinceActivity($activities), $name); + return Excel::download(new ProvinceActivity([ + 'activities' => $activities, + 'edarateShahri' => $edarateShahri, + ]), $name); } public function activitiesOnMap(Request $request): JsonResponse diff --git a/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php b/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php index 6efeed9b..292615ea 100644 --- a/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php +++ b/resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php @@ -80,17 +80,44 @@
{{ $activity->province_fa }}{{ $activity->tedade }}{{ $activity->tedad_mavarede_moshede_shode_adi }}{{ $activity->tedad_mavarede_moshede_shode_fori }}{{ $activity->tedad_mavarede_moshede_shode_ani }}{{ $activity->tedad_mavarede_peygiri_shode }}{{ $activity->masafat_tey_shode }}{{ $activity->tedad_faliyat_sabt_shode }}کل کشور{{ $totalForCountry }}{{ $itemTotalsForCountry[$item['item']] ?? '-' }}
{{ $activity->province_fa }}{{ $activity->tedade }}{{ $activity->tedad_mavarede_moshede_shode_adi }}{{ $activity->tedad_mavarede_moshede_shode_fori }}{{ $activity->tedad_mavarede_moshede_shode_ani }}{{ $activity->tedad_mavarede_peygiri_shode }}{{ $activity->masafat_tey_shode }}{{ $activity->tedad_faliyat_sabt_shode }}
{{ $province->name_fa }}-------
کل کشور{{ $totalForCountry }}{{ $itemTotalsForCountry[$item['item']] ?? '-' }}{{ $totalForCountry->tedade }}{{ $totalForCountry->tedad_mavarede_moshede_shode_adi }}{{ $totalForCountry->tedad_mavarede_moshede_shode_fori }}{{ $totalForCountry->tedad_mavarede_moshede_shode_ani }}{{ $totalForCountry->tedad_mavarede_peygiri_shode }}{{ $totalForCountry->masafat_tey_shode }}{{ $totalForCountry->tedad_faliyat_sabt_shode }}
{{ $activity->province_fa }}{{ $activity->tedade }}{{ $activity->tedad_mavarede_moshede_shode_adi }}{{ $activity->tedad_mavarede_moshede_shode_fori }}{{ $activity->tedad_mavarede_moshede_shode_ani }}{{ $activity->tedad_mavarede_peygiri_shode }}{{ $activity->masafat_tey_shode }}{{ $activity->tedad_faliyat_sabt_shode }}{{ $totalForProvince->province_fa }}{{ $totalForProvince->tedade }}{{ $totalForProvince->tedad_mavarede_moshede_shode_adi }}{{ $totalForProvince->tedad_mavarede_moshede_shode_fori }}{{ $totalForProvince->tedad_mavarede_moshede_shode_ani }}{{ $totalForProvince->tedad_mavarede_peygiri_shode }}{{ $totalForProvince->masafat_tey_shode }}{{ $totalForProvince->tedad_faliyat_sabt_shode }}
{{ $province->name_fa }}0000000
{{ $province->name_fa }}-------
- - diff --git a/resources/views/v3/Reports/RoadPatrols/ProvinceActivity.blade.php b/resources/views/v3/Reports/RoadPatrols/ProvinceActivity.blade.php index fe995428..5ab14deb 100644 --- a/resources/views/v3/Reports/RoadPatrols/ProvinceActivity.blade.php +++ b/resources/views/v3/Reports/RoadPatrols/ProvinceActivity.blade.php @@ -80,17 +80,50 @@ - @foreach ($activities as $activity) - - {{ $activity->edare_name }} - {{ $activity->tedade }} - {{ $activity->tedad_mavarede_moshede_shode_adi }} - {{ $activity->tedad_mavarede_moshede_shode_fori }} - {{ $activity->tedad_mavarede_moshede_shode_ani }} - {{ $activity->tedad_mavarede_peygiri_shode }} - {{ $activity->masafat_tey_shode }} - {{ $activity->tedad_faliyat_sabt_shode }} - + @php + // محاسبه مجموع مقدار s برای کل کشور + $totalForProvince = collect($activities)->where('edare_id', -1)->first(); + @endphp + + {{-- ردیف کل کشور --}} + + کل استان + {{ $totalForProvince->tedade ?? 0 }} + {{ $totalForProvince->tedad_mavarede_moshede_shode_adi ?? 0 }} + {{ $totalForProvince->tedad_mavarede_moshede_shode_fori ?? 0 }} + {{ $totalForProvince->tedad_mavarede_moshede_shode_ani ?? 0 }} + {{ $totalForProvince->tedad_mavarede_peygiri_shode ?? 0 }} + {{ $totalForProvince->masafat_tey_shode ?? 0 }} + {{ $totalForProvince->tedad_faliyat_sabt_shode ?? 0 }} + + + @foreach ($edarateShahri as $edareShahri) + @php + $totalForEdare = collect($activities)->where('edare_id', $edareShahri->id)->first(); + @endphp + @if($totalForEdare) + + {{ $totalForEdare->edare_name }} + {{ $totalForEdare->tedade }} + {{ $totalForEdare->tedad_mavarede_moshede_shode_adi }} + {{ $totalForEdare->tedad_mavarede_moshede_shode_fori }} + {{ $totalForEdare->tedad_mavarede_moshede_shode_ani }} + {{ $totalForEdare->tedad_mavarede_peygiri_shode }} + {{ $totalForEdare->masafat_tey_shode }} + {{ $totalForEdare->tedad_faliyat_sabt_shode }} + + @else + + {{ $edareShahri->name_fa }} + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + @endif @endforeach From efda4a816194c5bcc1fa56a8ea0780ab032efe4b Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Tue, 11 Feb 2025 12:03:56 +0330 Subject: [PATCH 12/12] debug the sql files --- storage/sql-files/edarate_shahri.sql | 4 ++-- storage/sql-files/log_lists.sql | 2 +- storage/sql-files/permissions.sql | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/storage/sql-files/edarate_shahri.sql b/storage/sql-files/edarate_shahri.sql index 85a2b042..83b4b022 100644 --- a/storage/sql-files/edarate_shahri.sql +++ b/storage/sql-files/edarate_shahri.sql @@ -518,6 +518,6 @@ INSERT INTO edarate_shahri (name_fa,province_id,created_at,updated_at) VALUES ('اداره آق قلا',27,'2023-03-13 14:12:25','2023-03-13 14:12:25'); INSERT INTO edarate_shahri (name_fa,province_id,created_at,updated_at) VALUES ('اداره خمام',28,'2023-06-17 08:43:14','2023-06-17 08:43:14'), - ('اداره اصلاندوز',3,'2023-08-15 09:33:55','2023-08-15 09:33:55'); - ('اداره گالیکش',27,'2024-11-16 14:33:55','2024-11-16 14:33:55'); + ('اداره اصلاندوز',3,'2023-08-15 09:33:55','2023-08-15 09:33:55'), + ('اداره گالیکش',27,'2024-11-16 14:33:55','2024-11-16 14:33:55'), ('آزادراه ساوه-تهران',32,'2025-01-06 14:33:55','2025-01-06 14:33:55'); diff --git a/storage/sql-files/log_lists.sql b/storage/sql-files/log_lists.sql index 914b9823..4cef3f6e 100644 --- a/storage/sql-files/log_lists.sql +++ b/storage/sql-files/log_lists.sql @@ -160,4 +160,4 @@ INSERT INTO log_lists (description,log_unique_code,action_type,is_done) VALUES ('حذف نوع آزمایش','1164','action',0), ('ثبت نمونه آزمایش','1165','action',0), ('ویرایش نمونه آزمایش','1166','action',0), - ('حذف نمونه آزمایش','1167','action',0), + ('حذف نمونه آزمایش','1167','action',0); diff --git a/storage/sql-files/permissions.sql b/storage/sql-files/permissions.sql index a03a7003..d6515554 100644 --- a/storage/sql-files/permissions.sql +++ b/storage/sql-files/permissions.sql @@ -132,6 +132,6 @@ INSERT INTO permissions (name,guard_name,name_fa,description,created_at,updated_ ('delete-safety-and-privacy','web','حذف نگهداری و حریم','کاربر امکان حذف یک فعالیت نگهداری حریم راه را دارد',NULL,NULL,NULL,NULL,'safety-and-privacy','نگهداری حریم راه',0,0), ('show-receipt','web','نمایش خسارت (کشوری)','نمایش خسارات کشوری',NULL,NULL,NULL,NULL,'receipt','خسارات وارد بر ابنیه فنی راه',0,0), ('show-receipt-province','web','نمایش خسارت (استانی)','نمایش خسارات استانی',NULL,NULL,NULL,NULL,'receipt','خسارات وارد بر ابنیه فنی راه',1,0), - ('supervise-road-item-by-edareostani','web','نظارت بر ثبت فعالیت روزانه و جاری(ادارات استانی)',NULL,'2023-07-09 09:48:35','2023-07-09 09:48:37',NULL,NULL,'road-item','فعالیت روزانه',0,0); - ('azmayesh-management','web','مدیریت آزمایشات',NULL,'2024-11-18 09:48:35','2024-11-18 09:48:35',NULL,NULL,'azmayesh','آزمایشات',0,0); + ('supervise-road-item-by-edareostani','web','نظارت بر ثبت فعالیت روزانه و جاری(ادارات استانی)',NULL,'2023-07-09 09:48:35','2023-07-09 09:48:37',NULL,NULL,'road-item','فعالیت روزانه',0,0), + ('azmayesh-management','web','مدیریت آزمایشات',NULL,'2024-11-18 09:48:35','2024-11-18 09:48:35',NULL,NULL,'azmayesh','آزمایشات',0,0), ('azmayesh-type-management','web','مدیریت نوع آزمایشات',NULL,'2024-11-18 09:48:35','2024-11-18 09:48:35',NULL,NULL,'azmayesh','آزمایشات',0,0);