#
luxiaotao1123
2024-11-18 8d425ae26f1070043f4e81e7ebce1e6f39d5d013
zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
@@ -8,10 +8,7 @@
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.manager.common.domain.param.HandlerPublishParam;
import com.zy.acs.manager.common.exception.BusinessException;
import com.zy.acs.manager.core.service.AvoidWaveCalculator;
import com.zy.acs.manager.core.service.MainService;
import com.zy.acs.manager.core.service.ThreadPoolRegulator;
import com.zy.acs.manager.core.service.TrafficService;
import com.zy.acs.manager.core.service.*;
import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
import com.zy.acs.manager.manager.entity.*;
import com.zy.acs.manager.manager.enums.ActionStsType;
@@ -50,6 +47,8 @@
    @Autowired
    private MainService mainService;
    @Autowired
    private MainLockWrapService mainLockWrapService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private CodeService codeService;
@@ -65,6 +64,8 @@
    private MapDataDispatcher mapDataDispatcher;
    @Autowired
    private AvoidWaveCalculator avoidWaveCalculator;
    @Autowired
    private PatrolService patrolService;
    @RequestMapping(value = "/control/agv", method = {RequestMethod.GET, RequestMethod.POST})
    @Transactional
@@ -111,13 +112,13 @@
                if (null == endCode) {
                    return R.error();
                }
                if (!mainService.buildMinorTask(agv, agvDetail, param.getTaskMode(), endCode.getData())) {
                if (!mainLockWrapService.buildMinorTask(agv, param.getTaskMode(), endCode.getData(), null)) {
                    return R.error();
                }
                break;
            case TO_CHARGE:
            case TO_STANDBY:
                if (!mainService.buildMinorTask(agv, agvDetail, param.getTaskMode(), null)) {
                if (!mainLockWrapService.buildMinorTask(agv, param.getTaskMode(), null, null)) {
                    return R.error();
                }
                break;
@@ -277,4 +278,21 @@
        return R.ok();
    }
    @RequestMapping(value = "/agv/patrol", method = {RequestMethod.GET, RequestMethod.POST})
    public R agvPatrol(@RequestHeader String appKey,
                        @RequestBody HandlerPublishParam param) throws ExecutionException, InterruptedException {
        if (Cools.isEmpty(param.getAgvNo(), appKey)) {
            return R.error();
        }
        if (!APP_KEY.equals(appKey)) {
            return R.error();
        }
        String agvNo = param.getAgvNo();
        if (patrolService.isPatrolling(agvNo)) {
            return patrolService.shutdownPatrol(agvNo);
        } else {
            return patrolService.startupPatrol(agvNo);
        }
    }
}