src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/RouteUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | 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){