#
luxiaotao1123
2024-11-12 5ff701e6cbc25ba4071dbcb390b8fd214a87aee8
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -3,9 +3,6 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.common.domain.AgvAction;
import com.zy.acs.common.domain.AgvActionItem;
import com.zy.acs.common.domain.AgvProtocol;
@@ -14,8 +11,15 @@
import com.zy.acs.common.domain.protocol.AGV_70_UP;
import com.zy.acs.common.domain.protocol.IMessageBody;
import com.zy.acs.common.domain.protocol.action.*;
import com.zy.acs.common.enums.*;
import com.zy.acs.common.enums.AgvBackpackType;
import com.zy.acs.common.enums.AgvCompleteType;
import com.zy.acs.common.enums.AgvDirectionType;
import com.zy.acs.common.enums.AgvSpeedType;
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.common.utils.Utils;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.manager.common.domain.TaskDto;
import com.zy.acs.manager.common.exception.BusinessException;
import com.zy.acs.manager.common.utils.CommonUtil;
@@ -46,6 +50,7 @@
@Component("mainService")
public class MainService {
    private final RedisSupport redis = RedisSupport.defaultRedisSupport;
    private static final int LOCK_TIMEOUT = 5;
    private final ReentrantLock lock = new ReentrantLock(Boolean.TRUE);
@@ -539,6 +544,9 @@
            if (!agvService.judgeEnable(agv.getId())) {
                return false;
            }
            if (!Cools.isEmpty(taskService.selectInSts(agv.getId(), TaskStsType.ASSIGN, TaskStsType.PROGRESS))) {
                throw new CoolException("AGV[" + agv.getUuid() + "] failed to assign,because already has the task in running...");
            }
            Date now = new Date();
            Code endCode = null;
@@ -649,6 +657,10 @@
                default:
                    break;
            }
//            if (taskType.equals(TaskTypeType.TO_STANDBY)) {
//                redis.setObject(RedisConstant.AGV_TO_STANDBY_FLAG, agv.getUuid(), false);
//            }
            return true;
        } catch (Exception e) {
@@ -1072,6 +1084,7 @@
            for (Action action : actionList) {
                action.setActionSts(ActionStsType.ISSUED.val());
                action.setStartTime(now);
                action.setIoTime(now);
                action.setUpdateTime(now);
                if (!actionService.updateById(action)) {
                    throw new BusinessException(action.getPriority() + " - " + action.getName() + "动作更新失败");
@@ -1346,7 +1359,7 @@
                }
                // segment call back
                trafficService.callback(segmentList);
                segmentService.processNext(segmentList);
                log.info("Agv [{}] {}作业完毕 ==========>> ", protocol.getAgvNo(), serialNo);