json($transportationUnitService->dataTable($request)); } /** * @throws Throwable */ public function allocate(AllocateRequest $request, Mission $mission): JsonResponse { DB::transaction(function () use ($request, $mission) { // $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); $mission->update([ 'state_id' => $state, 'state_name' => MissionStates::name($state), 'machine_id' => $machine->id, 'machine_code' => $machine->machine_code, 'driver_id' => $request->driver, 'driver_name' => Rahdaran::query()->find($request->driver)->name, ]); $machine->update([ 'status' => CmmsMachineStatus::RESERVE->value ]); }); return $this->successResponse(); } /** * @throws Throwable */ public function deallocate(DeallocateRequest $request, Mission $mission): JsonResponse { DB::transaction(function () use ($request, $mission) { // $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; $mission->machine()->update([ 'status' => CmmsMachineStatus::AMADE->value ]); $mission->update([ 'state_id' => $state, 'state_name' => MissionStates::name($state), 'description' => $request->description, 'machine_id' => null, 'machine_code' => null, 'driver_id' => null, 'driver_name' => null, ]); }); return $this->successResponse(); } public function machinesList(Mission $mission): JsonResponse { return $this->successResponse( CMMSMachine::query() ->where('car_type', '=', $mission->car_type) // ->where('status', '<>', CmmsMachineStatus::DAR_MAMORIAT->value) ->get(['machine_code', 'id', 'plak_number', 'car_name']) ); } }