#
luxiaotao1123
2024-11-26 76e29d1cedce4739e48042028264e21a5d310d4c
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;
@@ -160,7 +161,9 @@
                task.setSeqNum(Utils.generateSeqNum(Cools.isEmpty(lastTasks)?null:lastTasks.get(0).getSeqNum()));
                task.setOriLoc(oriLoc.getId());
                task.setOriCode(oriLoc.getCode());
                task.setDestLoc(destLoc.getId());
                task.setDestCode(destLoc.getCode());
                task.setTaskType(param.getTaskMode().val());
                task.setTaskSts(TaskStsType.WAITING.val());
@@ -277,4 +280,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);
        }
    }
}