| | |
| | | import com.zy.acs.manager.manager.enums.ActionStsType; |
| | | import com.zy.acs.manager.manager.enums.LocStsType; |
| | | import com.zy.acs.manager.manager.enums.TaskStsType; |
| | | import com.zy.acs.manager.manager.enums.TaskTypeType; |
| | | import com.zy.acs.manager.manager.service.*; |
| | | import com.zy.acs.manager.system.controller.BaseController; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/reset", method = {RequestMethod.GET, RequestMethod.POST}) |
| | | public R reset(@RequestHeader String appKey, |
| | | @RequestBody HandlerPublishParam param) { |
| | | @RequestMapping(value = "/restore/agv", method = {RequestMethod.GET, RequestMethod.POST}) |
| | | public R restoreAgv(@RequestHeader String appKey, @RequestBody HandlerPublishParam param) { |
| | | if (Cools.isEmpty(appKey)) { |
| | | return R.error(); |
| | | } |
| | |
| | | Agv agv = null; |
| | | if (!Cools.isEmpty(param.getAgvNo())) { |
| | | agv = agvService.selectByUuid(param.getAgvNo()); |
| | | List<Task> tasks = taskService.selectInSts(agv.getId(), TaskStsType.WAITING, TaskStsType.ASSIGN, TaskStsType.PROGRESS); |
| | | if (!Cools.isEmpty(tasks)) { |
| | | for (Task task : tasks) { |
| | | if (TaskTypeType.LOC_TO_LOC.toString().equals(task.getTaskTypeEl()) |
| | | || TaskTypeType.LOC_TO_STA.toString().equals(task.getTaskTypeEl()) |
| | | || TaskTypeType.STA_TO_LOC.toString().equals(task.getTaskTypeEl()) |
| | | || TaskTypeType.STA_TO_STA.toString().equals(task.getTaskTypeEl()) |
| | | ) { |
| | | return R.error("Restore Failed, because the agv has Tasks that are associated with Loc!"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (null != agv) { |
| | |
| | | return R.error(); |
| | | } |
| | | |
| | | Agv agv = agvService.selectByUuid(param.getAgvNo()); |
| | | |
| | | // block |
| | | // Future<R> future = threadPoolRegulator.getInstance().submit(() -> { |
| | | // mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true); |
| | |
| | | // non-block |
| | | CompletableFuture<?> completableFuture = CompletableFuture.supplyAsync(() -> { |
| | | mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true); |
| | | avoidWaveCalculator.calcDynamicNodeByVehicle(agv, null); |
| | | return R.ok(); |
| | | }, threadPoolRegulator.getInstance()); |
| | | |