diff --git a/app/Http/Controllers/RoadPatrole/OperateorController.php b/app/Http/Controllers/RoadPatrole/OperateorController.php deleted file mode 100644 index b3c23918..00000000 --- a/app/Http/Controllers/RoadPatrole/OperateorController.php +++ /dev/null @@ -1,11 +0,0 @@ -validate(["province_id" => "required",]); - - $activities = $roadPatrolTableService->provinceActivity($request); - - $edarateShahri = EdarateShahri::query()->where('province_id', '=', $request->province_id)->get(['id', 'name_fa']); - - return $this->successResponse([ - 'activities' => $activities['data'], - 'edarateShahri' => $edarateShahri, - ]); - } public function activitiesOnMap(Request $request): JsonResponse { $date_from = $request->from_date ? $request->from_date .' 00:00:00' : now()->startOfDay()->toDateTimeString(); diff --git a/app/Http/Controllers/V3/RoadPatrole/OperateorReportController.php b/app/Http/Controllers/V3/RoadPatrole/OperatorController.php similarity index 62% rename from app/Http/Controllers/V3/RoadPatrole/OperateorReportController.php rename to app/Http/Controllers/V3/RoadPatrole/OperatorController.php index f7f2e81c..2978d112 100644 --- a/app/Http/Controllers/V3/RoadPatrole/OperateorReportController.php +++ b/app/Http/Controllers/V3/RoadPatrole/OperatorController.php @@ -2,19 +2,35 @@ namespace App\Http\Controllers\V3\RoadPatrole; -use App\Exports\V3\RoadPatrols\OperatorCartableReport; + use App\Exports\V3\RoadPatrols\ProvinceActivity; use App\Http\Controllers\Controller; use App\Http\Traits\ApiResponse; use App\Models\EdarateShahri; use App\Services\Cartables\RoadPatrolTableService; +use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Maatwebsite\Excel\Facades\Excel; use Symfony\Component\HttpFoundation\BinaryFileResponse; -class OperateorReportController extends Controller + +class OperatorController extends Controller { use ApiResponse; + public function provincePatrolActivity(Request $request, RoadPatrolTableService $roadPatrolTableService): JsonResponse + { + $request->validate(["province_id" => "required",]); + + $activities = $roadPatrolTableService->provinceActivity($request); + + $edarateShahri = EdarateShahri::query()->where('province_id', '=', $request->province_id)->get(['id', 'name_fa']); + + return $this->successResponse([ + 'activities' => $activities['data'], + 'edarateShahri' => $edarateShahri, + ]); + } + public function provinceActivityExcel(Request $request, RoadPatrolTableService $roadPatrolTableService): BinaryFileResponse { $activities = $roadPatrolTableService->provinceActivity($request); diff --git a/app/Http/Controllers/V3/RoadPatrole/SupervisorController.php b/app/Http/Controllers/V3/RoadPatrole/SupervisorController.php index cb94b6ff..44567a63 100644 --- a/app/Http/Controllers/V3/RoadPatrole/SupervisorController.php +++ b/app/Http/Controllers/V3/RoadPatrole/SupervisorController.php @@ -2,12 +2,15 @@ namespace App\Http\Controllers\V3\RoadPatrole; +use App\Exports\V3\RoadPatrols\CountryActivity; use App\Http\Controllers\Controller; use App\Http\Traits\ApiResponse; use App\Models\Province; use App\Services\Cartables\RoadPatrolTableService; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Maatwebsite\Excel\Facades\Excel; +use Symfony\Component\HttpFoundation\BinaryFileResponse; class SupervisorController extends Controller { @@ -23,6 +26,19 @@ class SupervisorController extends Controller 'provinces' => $provinces ]); } + public function countryActivityExcel(Request $request, RoadPatrolTableService $roadPatrolTableService): BinaryFileResponse + { + $activities = $roadPatrolTableService->countryActivity($request); + $provinces = Province::all(['id', 'name_fa']); + + $name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; + + return Excel::download(new CountryActivity([ + 'activities' => $activities, + 'provinces' => $provinces, + ]), $name); + } + } diff --git a/app/Http/Controllers/V3/RoadPatrole/SupervisorReportController.php b/app/Http/Controllers/V3/RoadPatrole/SupervisorReportController.php deleted file mode 100644 index 138894f2..00000000 --- a/app/Http/Controllers/V3/RoadPatrole/SupervisorReportController.php +++ /dev/null @@ -1,31 +0,0 @@ -countryActivity($request); - $provinces = Province::all(['id', 'name_fa']); - - $name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; - - return Excel::download(new CountryActivity([ - 'activities' => $activities, - 'provinces' => $provinces, - ]), $name); - } - - -} diff --git a/app/Http/Requests/V3/RoadPatrolProject/DeleteRequest.php b/app/Http/Requests/V3/RoadPatrol/DeleteRequest.php similarity index 92% rename from app/Http/Requests/V3/RoadPatrolProject/DeleteRequest.php rename to app/Http/Requests/V3/RoadPatrol/DeleteRequest.php index b6527892..128c020f 100644 --- a/app/Http/Requests/V3/RoadPatrolProject/DeleteRequest.php +++ b/app/Http/Requests/V3/RoadPatrol/DeleteRequest.php @@ -1,6 +1,6 @@ name('showOnMap'); }); - -Route::prefix('road_patrol_reports') - ->name('roadPatrolReports.') - ->controller(RoadPatrolReportController::class) +Route::prefix('road_patrol') ->group(function () { - Route::get('/country_activity', 'countryPatrolActivity')->name('countryPatrolActivity'); - Route::get('/province_activity', 'provincePatrolActivity')->name('provincePatrolActivity'); - 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'); + Route::prefix('details') + ->name('details.') + ->controller(\App\Http\Controllers\V3\RoadPatrole\DetailController::class) + ->group(function () { + Route::get('/activities_on_map', 'activitiesOnMap')->name('activitiesOnMap'); + Route::get('/show_on_map/{roadPatrol}', 'showOnMap')->name('showOnMap'); + }); + Route::prefix('operator') + ->name('operator.') + ->controller(App\Http\Controllers\V3\RoadPatrole\OperatorController::class) + ->group(function () { + Route::get('/province_activity', 'provincePatrolActivity')->name('provincePatrolActivity'); + Route::get('/province_activity_excel', 'provinceActivityExcel')->name('provinceActivityExcel'); + }); + Route::prefix('supervisor') + ->name('supervisor.') + ->controller(App\Http\Controllers\V3\RoadPatrole\SupervisorController::class) + ->group(function () { + Route::get('/country_activity', 'countryPatrolActivity')->name('countryPatrolActivity'); + Route::get('/province_activity_excel', 'provinceActivityExcel')->name('provinceActivityExcel'); + }); }); +//Route::prefix('road_patrol_reports') +// ->name('roadPatrolReports.') +// ->controller(RoadPatrolReportController::class) +// ->group(function () { +// Route::get('/country_activity', 'countryPatrolActivity')->name('countryPatrolActivity'); +// Route::get('/province_activity', 'provincePatrolActivity')->name('provincePatrolActivity'); +// 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'); +// }); + Route::prefix('damages') ->name('damages.') ->middleware('permission:manage-damage')