#
vincentlu
2026-04-13 bc729b420fc0db8db80fc4d2b8e67f56edada33e
zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
@@ -13,6 +13,7 @@
import com.zy.acs.manager.common.domain.param.HandlerPublishParam;
import com.zy.acs.manager.common.exception.BusinessException;
import com.zy.acs.manager.core.service.*;
import com.zy.acs.manager.core.service.hik.HikInstantActionPublishService;
import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
import com.zy.acs.manager.manager.entity.*;
@@ -81,6 +82,8 @@
    private AgvAreaDispatcher agvAreaDispatcher;
    @Autowired
    private ConfigService configService;
    @Autowired
    private HikInstantActionPublishService hikInstantActionPublishService;
    @PreAuthorize("hasAuthority('manager:agv:update')")
    @OperationLog("Locate All Agv")
@@ -467,6 +470,7 @@
        }
        if (null != agv) {
            publishRestoreCancelIfNeeded(agv);
            mapDataDispatcher.modifyDynamicMatrix(null, null, agv.getUuid(), true);
            avoidWaveCalculator.calcDynamicNodeByVehicle(agv, null);
@@ -477,6 +481,7 @@
        } else {
            List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>());
            for (Agv one : agvList) {
                publishRestoreCancelIfNeeded(one);
                mapDataDispatcher.modifyDynamicMatrix(null, null, one.getUuid(), true);
                avoidWaveCalculator.calcDynamicNodeByVehicle(one, null);
            }
@@ -490,6 +495,15 @@
        return R.ok();
    }
    private void publishRestoreCancelIfNeeded(Agv agv) {
        if (agv == null) {
            return;
        }
        if (hikInstantActionPublishService.support(agv.getId())) {
            hikInstantActionPublishService.publishCancelOrder(agv.getUuid());
        }
    }
    @RequestMapping(value = "/unlock", method = {RequestMethod.GET, RequestMethod.POST})
    public R unlockPath(@RequestHeader String appKey,
                              @RequestBody HandlerPublishParam param) throws ExecutionException, InterruptedException {