#
luxiaotao1123
2024-11-05 8a4bae16c2e6397251e0f9c58521aa9be363eb8e
#
3个文件已修改
1个文件已添加
55 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/BlockVehicleDto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/JamService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/BlockVehicleDto.java
New file
@@ -0,0 +1,15 @@
package com.zy.acs.manager.core.domain;
import lombok.Data;
/**
 * Created by vincent on 11/5/2024
 */
@Data
public class BlockVehicleDto {
    private String vehicle;
    private boolean avoidable;
}
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -7,7 +7,6 @@
import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.manager.common.utils.MapDataUtils;
import com.zy.acs.manager.core.domain.TaskPosDto;
import com.zy.acs.manager.core.service.astart.DynamicNodeType;
import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
import com.zy.acs.manager.core.service.astart.RetreatNavigateNode;
import com.zy.acs.manager.core.service.astart.WaveNodeType;
@@ -237,7 +236,7 @@
            if (!Cools.isEmpty(pathList)) {
                if (!Cools.isEmpty(blockVehicleList) && !pathList.get(pathList.size() - 1).equals(endCode.getData())) {
                if (!pathList.get(pathList.size() - 1).equals(endCode.getData()) && !Cools.isEmpty(blockVehicleList)) {
                    String blockAgvNo = blockVehicleList.get(0);
                    if (mapDataDispatcher.queryCodeListFromDynamicNode(null, blockAgvNo).size() > 1 && pathList.size() <= MIN_SLICE_PATH_LENGTH) {
                        pathList.clear();
@@ -431,18 +430,22 @@
                List<String> waveNodeList = MapDataUtils.parseWaveNode(waveNode);
                List<String> otherWaveList = MapDataUtils.hasOtherWave(waveNodeList, agvNo);
                if (!Cools.isEmpty(otherWaveList)) {
                    blockVehicleList.addAll(otherWaveList);
                    for (String otherWave : otherWaveList) {
                        if (mapDataDispatcher.queryCodeListFromDynamicNode(lev, otherWave).size() <= 1) {
                            blockVehicleList.add(otherWave);
                        }
                    }
                    break;
                }
            }
            DynamicNode dynamicNode = dynamicMatrix[node[0]][node[1]];
            String vehicle = dynamicNode.getVehicle();
            assert !vehicle.equals(DynamicNodeType.BLOCK.val);
            if (!vehicle.equals(DynamicNodeType.ACCESS.val) && !vehicle.equals(agvNo)) {
                blockVehicleList.add(vehicle);
                break;
            }
//            DynamicNode dynamicNode = dynamicMatrix[node[0]][node[1]];
//            String vehicle = dynamicNode.getVehicle();
//            assert !vehicle.equals(DynamicNodeType.BLOCK.val);
//            if (!vehicle.equals(DynamicNodeType.ACCESS.val) && !vehicle.equals(agvNo)) {
//                blockVehicleList.add(vehicle);
//                break;
//            }
            pathList.add(code);
        }
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/JamService.java
@@ -2,11 +2,16 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.acs.manager.manager.entity.Jam;
import com.zy.acs.manager.manager.enums.JamStateType;
import java.util.List;
public interface JamService extends IService<Jam> {
    Jam getJam(Long agvId, Long jamCode, Long jamSeg);
    List<Jam> queryByAvoid(Long avoAgv, JamStateType jamState);
    Boolean checkIfFinish(Long avoAgv, String currCodeData);
    boolean deprecate(Long id, Long loginUserId);
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java
@@ -38,6 +38,18 @@
    }
    @Override
    public List<Jam> queryByAvoid(Long avoAgv, JamStateType jamState) {
        if (null == avoAgv) {
            return null;
        }
        LambdaQueryWrapper<Jam> wrapper = new LambdaQueryWrapper<Jam>().eq(Jam::getAvoAgv, avoAgv);
        if (null != jamState) {
            wrapper.eq(Jam::getState, jamState.toString());
        }
        return this.list(wrapper);
    }
    @Override
    public Boolean checkIfFinish(Long avoAgv, String currCodeData) {
        if (Cools.isEmpty(avoAgv, currCodeData)) {
            return null;