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'); + }); });