From 94d60fae7e8d0eb186cc013e6f0dc28607b600c8 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 25 May 2025 08:58:30 +0330 Subject: [PATCH] create control unit cartable --- .../Mission/ControlUnitController.php | 16 ++++++++ .../V3/Dashboard/Mission/DetailController.php | 24 ++++++++++++ .../Mission/RequestPortalController.php | 23 ++++-------- .../Cartables/Mission/ControlUnitService.php | 37 +++++++++++++++++++ routes/v3.php | 17 ++++++++- 5 files changed, 99 insertions(+), 18 deletions(-) create mode 100644 app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php create mode 100644 app/Http/Controllers/V3/Dashboard/Mission/DetailController.php create mode 100644 app/Services/Cartables/Mission/ControlUnitService.php diff --git a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php new file mode 100644 index 00000000..4b71192b --- /dev/null +++ b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php @@ -0,0 +1,16 @@ +json($controlUnitService->datatable($request)); + } +} diff --git a/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php b/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php new file mode 100644 index 00000000..55ba3c14 --- /dev/null +++ b/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php @@ -0,0 +1,24 @@ +successResponse($mission->machines()->get(['cmms_machines.id', 'cmms_machines.machine_code', 'cmms_machines.car_name', 'cmms_machines.plak_number'])); + } + + public function rahdaran(Mission $mission): JsonResponse + { + return $this->successResponse($mission->rahdaran()->get(['rahdaran.id', 'rahdaran.name', 'rahdaran.code'])); + } +} diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index c1dc6650..f8a1fcef 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -28,13 +28,13 @@ class RequestPortalController extends Controller $user = auth()->user(); $state = MissionStates::REQUEST_CREATED->value; $mission = Mission::query()->create([ - 'user_id'=> $user->id, - 'username'=> $user->username, - 'province_id'=> $user->province_id, - 'province_name'=> $user->province_fa, - 'edare_shahri_id'=> $user->edare_shahri_id ?? null, - 'edare_shahri_name'=> $user->edare_shahri_name ?? null, - 'state_id' =>$state, + 'user_id' => $user->id, + 'username' => $user->username, + 'province_id' => $user->province_id, + 'province_name' => $user->province_fa, + 'edare_shahri_id' => $user->edare_shahri_id ?? null, + 'edare_shahri_name' => $user->edare_shahri_name ?? null, + 'state_id' => $state, 'state_name' => MissionStates::name($state), 'requested_machines' => json_encode($request->requested_machines), 'type' => $request->type, @@ -86,13 +86,4 @@ class RequestPortalController extends Controller }); return $this->successResponse(); } - public function machines(Mission $mission): JsonResponse - { - return $this->successResponse($mission->machines()->get(['cmms_machines.id', 'cmms_machines.machine_code', 'cmms_machines.car_name', 'cmms_machines.plak_number'])); - } - - public function rahdaran(Mission $mission): JsonResponse - { - return $this->successResponse($mission->rahdaran()->get(['rahdaran.id', 'rahdaran.name', 'rahdaran.code'])); - } } diff --git a/app/Services/Cartables/Mission/ControlUnitService.php b/app/Services/Cartables/Mission/ControlUnitService.php new file mode 100644 index 00000000..571d361d --- /dev/null +++ b/app/Services/Cartables/Mission/ControlUnitService.php @@ -0,0 +1,37 @@ +where('state_id', '=', MissionStates::PENDING_CONFIRMATION->value) + ->where('edare_shahri_name', '=', Auth::user()->edarate_shahri_id); + + return DataTableFacade::run( + $query, + $request, + allowedFilters: ['*'], + allowedSortings: ['*'], + allowedSelects: $fields + ); + } +} \ No newline at end of file diff --git a/routes/v3.php b/routes/v3.php index f51ecf99..2f92f48c 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -7,6 +7,8 @@ use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshController; use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshSampleController; use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshTypeController; use App\Http\Controllers\V3\Dashboard\ItemsManagementController; +use App\Http\Controllers\V3\Dashboard\Mission\ControlUnitController; +use App\Http\Controllers\V3\Dashboard\Mission\DetailController; use App\Http\Controllers\V3\Dashboard\Mission\RequestPortalController; use App\Http\Controllers\V3\Dashboard\Mission\TransportationUnitController; use App\Http\Controllers\V3\Dashboard\ObservedItemController; @@ -440,8 +442,6 @@ Route::prefix('missions') Route::get('/{mission}', 'show')->name('show'); Route::post('/{mission}', 'update')->name('update'); Route::delete('/{mission}', 'destroy')->name('destroy'); - Route::get('/machine/{mission}','machines')->name('machines'); - Route::get('/rahdar/{mission}','rahdaran')->name('rahdaran'); }); Route::name('transportationUnit.') ->prefix('transportation_unit') @@ -451,4 +451,17 @@ Route::prefix('missions') Route::post('/allocate/{mission}', 'allocate')->name('allocate'); Route::post('/deallocate/{mission}', 'deallocate')->name('deallocate'); }); + Route::name('controlUnit.') + ->prefix('control_unit') + ->controller(ControlUnitController::class) + ->group(function () { + Route::get('/', 'index')->name('index'); + }); + Route::prefix('details') + ->name('details.') + ->controller(DetailController::class) + ->group(function () { + Route::get('/machines/{mission}', 'machines')->name('machines'); + Route::get('/rahdaran/{mission}', 'rahdaran')->name('rahdaran'); + }); });