#
luxiaotao1123
2024-10-28 052ee1f9c0b9e2bc8bbd4cf135ae45fed7422023
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());