From 35fd1f14cbe260a2075f8b7df7bc927357e2b16e Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 18 十月 2024 15:51:39 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java index 0d31355..2573042 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java @@ -17,6 +17,7 @@ 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; @@ -190,9 +191,8 @@ 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(); } @@ -203,6 +203,18 @@ 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) { @@ -239,6 +251,8 @@ return R.error(); } + Agv agv = agvService.selectByUuid(param.getAgvNo()); + // block // Future<R> future = threadPoolRegulator.getInstance().submit(() -> { // mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true); @@ -249,6 +263,7 @@ // non-block CompletableFuture<?> completableFuture = CompletableFuture.supplyAsync(() -> { mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true); + avoidWaveCalculator.calcDynamicNodeByVehicle(agv, null); return R.ok(); }, threadPoolRegulator.getInstance()); -- Gitblit v1.9.1