自动化立体仓库 - WCS系统
#
LSH
2023-11-21 d430625175baab1a00b5d6361a5c5d8722979aa4
#
2个文件已修改
43 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/RouteUtils.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4339,13 +4339,14 @@
        //更新当前小车锁
        try{
            Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getNowRoute(), staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//获取最远站点
            basRgvMapCurrent.setLockEndRoute(farCurrentStaNo);
            Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getRgvNo(), farCurrentStaNo); //获取合并干涉项
            basRgvMapCurrent.setLockEndRoute(fallMerge);
            basRgvMapMapper.updateById(basRgvMapCurrent);
            //更新另一台小车地图
            Integer rgvNoOther = basRgvMapCurrent.getRgvNoOther();
            BasRgvMap basRgvMapOther = basRgvMapMapper.selectById(rgvNoOther);
            List<Integer> integers = RouteUtils.RouteMapCurrentFar(farCurrentStaNo, basRgvMapCurrent.getLockStartRoute());
            List<Integer> integers = RouteUtils.RouteMapCurrentFar(fallMerge, basRgvMapCurrent.getLockStartRoute());
            Integer lockEndRoute = RouteUtils.RouteMapOtherFarStnNo(integers, basRgvMapCurrent.getLockStartRoute());//另一台小车可活动最远位置
            basRgvMapOther.setStartRoute(lockEndRoute);
            basRgvMapMapper.updateById(basRgvMapOther);
src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -11,6 +11,22 @@
 */
public class RouteUtils {
    public static final List<Integer> MERGE_STA_NO_One = new ArrayList<Integer>() {{
        add(116);add(117);
    }};
    public static final List<Integer> MERGE_STA_NO_TWO = new ArrayList<Integer>() {{
        add(116);add(117);
    }};
    public static final List<Integer> MERGE_STA_NO_THREE = new ArrayList<Integer>() {{
        add(116);add(117);
    }};
    public static final List<Integer> MERGE_STA_NO_FOUR = new ArrayList<Integer>() {{
        add(116);add(117);
    }};
//    正序
    public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE = new ArrayList<Integer>() {{
        add(101);add(102);add(104);add(105);add(107);add(118);add(108);add(119);add(110);add(120);add(111);add(121);add(113);add(114);add(116);add(117);
@@ -33,6 +49,28 @@
            return msgBuilder.toString();
        }
    }
    /*
     * 获取干涉最远站点
     * */
    public static Integer RouteIndexFarMas(int rgvNo,Integer staNo){
        List<Integer> staFall = new ArrayList<>();
        if (MERGE_STA_NO_One.contains(staNo)){
            staFall = MERGE_STA_NO_One;
        }else if (MERGE_STA_NO_TWO.contains(staNo)){
            staFall = MERGE_STA_NO_TWO;
        }else if (MERGE_STA_NO_THREE.contains(staNo)){
            staFall = MERGE_STA_NO_THREE;
        }else if (MERGE_STA_NO_FOUR.contains(staNo)){
            staFall = MERGE_STA_NO_FOUR;
        }
        int indexNo = 0;
        if (rgvNo==2){
            indexNo=staFall.size()-1;
        }
        return staFall.get(indexNo);
    }
    // 获取当前小车未行走的路线集合
    public static List<Integer> getRoute(Integer groupStart,Integer groupEnd){