diff --git a/app/Http/Controllers/V3/CMMSMachinesController.php b/app/Http/Controllers/V3/CMMSMachinesController.php index d0819a1a..3fa35b93 100644 --- a/app/Http/Controllers/V3/CMMSMachinesController.php +++ b/app/Http/Controllers/V3/CMMSMachinesController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\V3; use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; +use App\Http\Requests\V3\CMMSMachine\UpdateRequest; use App\Http\Traits\ApiResponse; use App\Models\CMMSMachine; use Illuminate\Http\JsonResponse; @@ -48,4 +49,16 @@ class CMMSMachinesController extends Controller ->distinct() ->pluck('car_type'); } + + public function update(UpdateRequest $request , CMMSMachine $machine): JsonResponse + { + $machine->update([ + 'status' => $request->status, + 'province_id' => $request->province_id, + 'city_id' => $request->city_id, + 'station_id' => $request->station_id, + ]); + + return $this->successResponse(); + } } diff --git a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php index bcc7e1d9..320e996d 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php @@ -33,11 +33,11 @@ class ControlUnitController extends Controller public function start(StartRequest $request, Mission $mission): JsonResponse { DB::transaction(function () use ($mission, $request) { - $mission->histories()->create([ - 'user_id' => auth()->user()->id, - 'previous_state_id' => $mission->state_id, - 'previous_state_name' => $mission->state_name, - ]); +// $mission->histories()->create([ +// 'user_id' => auth()->user()->id, +// 'previous_state_id' => $mission->state_id, +// 'previous_state_name' => $mission->state_name, +// ]); $state = MissionStates::START_MISSION->value; $mission->update([ @@ -57,11 +57,11 @@ class ControlUnitController extends Controller public function finish(FinishRequest $request, Mission $mission, GetErrorRateService $getErrorRateService): JsonResponse { DB::transaction(function () use ($mission, $getErrorRateService, $request) { - $mission->histories()->create([ - 'user_id' => auth()->user()->id, - 'previous_state_id' => $mission->state_id, - 'previous_state_name' => $mission->state_name, - ]); +// $mission->histories()->create([ +// 'user_id' => auth()->user()->id, +// 'previous_state_id' => $mission->state_id, +// 'previous_state_name' => $mission->state_name, +// ]); $state = MissionStates::END_MISSION->value; diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 9a3d5d50..45e4f03e 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -9,6 +9,7 @@ use App\Enums\MissionTypes; use App\Enums\MissionZones; use App\Http\Controllers\Controller; use App\Http\Controllers\V3\Dashboard\RoadPatrol\OperatorController; +use App\Http\Requests\V3\Mission\RequestPortal\ChangeStateRequest; use App\Http\Requests\V3\Mission\RequestPortal\ContinueMissionRequest; use App\Http\Requests\V3\Mission\RequestPortal\NoProcessRequest; use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest; @@ -273,4 +274,14 @@ class RequestPortalController extends Controller return $this->successResponse(); } + + public function changeState(ChangeStateRequest $request, Mission $mission): JsonResponse + { + $mission->update([ + 'state' => $request->state_id, + 'state_name' => MissionStates::name($request->status_id), + ]); + + return $this->successResponse($mission); + } } diff --git a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php index bbffd853..d939395b 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php @@ -33,11 +33,11 @@ class TransportationUnitController extends Controller DB::transaction(function () use ($request, $mission) { $mission->rahdaran()->attach($request->driver, ['is_driver' => true]); - $mission->histories()->create([ - 'user_id' => auth()->user()->id, - 'previous_state_id' => $mission->state_id, - 'previous_state_name' => $mission->state_name, - ]); +// $mission->histories()->create([ +// 'user_id' => auth()->user()->id, +// 'previous_state_id' => $mission->state_id, +// 'previous_state_name' => $mission->state_name, +// ]); $state = MissionStates::PENDING_CONFIRMATION->value; $machine = CMMSMachine::query()->find($request->machine_id); @@ -61,12 +61,12 @@ class TransportationUnitController extends Controller DB::transaction(function () use ($request, $mission) { $mission->rahdaran()->wherePivot('is_driver', '=', true)->detach(); - $mission->histories()->create([ - 'user_id' => auth()->user()->id, - 'previous_state_id' => $mission->state_id, - 'previous_state_name' => $mission->state_name, - 'user_description' => $request->description, - ]); +// $mission->histories()->create([ +// 'user_id' => auth()->user()->id, +// 'previous_state_id' => $mission->state_id, +// 'previous_state_name' => $mission->state_name, +// 'user_description' => $request->description, +// ]); $state = MissionStates::REJECT_BY_TRANSPORTATION->value; diff --git a/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php b/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php index bb8b8365..7238dc05 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php @@ -63,19 +63,19 @@ class ViolationManagementController extends Controller 'zone_fa' => MissionZones::name($zone), 'type' => $type, 'type_fa' => MissionTypes::name($type), - 'start_date' => $request->start_date,// - 'end_date' => $request->end_date,// + 'start_date' => $request->start_date, + 'end_date' => $request->end_date, 'end_point' => $request->end_point, 'category_id' => $request->category_id, 'category_name' => MissionCategory::name($request->category_id), - 'start_time' => $request->start_date,// - 'finish_time' => $request->end_date,// + 'start_time' => $request->start_date, + 'finish_time' => $request->end_date, 'state_id' => $state, 'state_name' => MissionStates::name($state), 'explanation' => $request->explanation, 'request_date' => now(), - 'machine_id' => $machine->id,// - 'machine_code' => $machine->machine_code,// + 'machine_id' => $machine->id, + 'machine_code' => $machine->machine_code, 'station_id' => $user->station_id, 'station_name' => RahdariPoint::query()->find( $user->station_id)->name, 'km' => $violation->km ?? null, diff --git a/app/Http/Controllers/V3/Dashboard/RoadMaintenanceStationController.php b/app/Http/Controllers/V3/Dashboard/RoadMaintenanceStationController.php index ded93c8b..f01e9eaf 100644 --- a/app/Http/Controllers/V3/Dashboard/RoadMaintenanceStationController.php +++ b/app/Http/Controllers/V3/Dashboard/RoadMaintenanceStationController.php @@ -42,7 +42,7 @@ class RoadMaintenanceStationController extends Controller { $stations = RahdariPoint::query() ->where('city_id', $request->query('city_id')) - ->get(); + ->get(['id', 'name']); return $this->successResponse($stations); } diff --git a/app/Http/Requests/V3/CMMSMachine/UpdateRequest.php b/app/Http/Requests/V3/CMMSMachine/UpdateRequest.php new file mode 100644 index 00000000..7e1d97ce --- /dev/null +++ b/app/Http/Requests/V3/CMMSMachine/UpdateRequest.php @@ -0,0 +1,33 @@ + + */ + public function rules(): array + { + return [ + 'status' => 'integer', + 'province_id' => 'integer|exists:provinces,id', + 'city_id' => 'integer|exists:cities,id', + 'station_id' => 'integer|exists:rahdari_points,id', + ]; + } +} diff --git a/app/Http/Requests/V3/Mission/RequestPortal/ChangeStateRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/ChangeStateRequest.php new file mode 100644 index 00000000..1bd06690 --- /dev/null +++ b/app/Http/Requests/V3/Mission/RequestPortal/ChangeStateRequest.php @@ -0,0 +1,30 @@ + + */ + public function rules(): array + { + return [ + 'state_id' => 'required', + ]; + } +} diff --git a/routes/v3.php b/routes/v3.php index 8d1e61ca..95a22328 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -185,6 +185,7 @@ Route::prefix('cmms_machines') Route::get('/list', 'list')->name('list'); Route::get('/search', 'search')->name('search'); Route::get('/car_types', 'carTypes')->name('carTypes'); + Route::post('/{machine}', 'update')->name('update')->middleware('permission:update-machine'); }); Route::prefix('rahdaran') @@ -497,6 +498,7 @@ Route::prefix('missions') Route::get('/{mission}', 'show')->name('show'); Route::post('/{mission}', 'update')->name('update'); Route::delete('/{mission}', 'destroy')->name('destroy'); + Route::post('/change_state/{mission}', 'changeState')->name('changeState'); }); Route::name('transportationUnit.') ->prefix('transportation_unit')