From 4f01c40fe0eb40b40d1555fb94104b3a0fb403ec Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 12 四月 2024 16:22:32 +0800 Subject: [PATCH] #SuperLoaded --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 51 ++++++++++++++++++++++--- src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java | 1 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 2 src/main/resources/mapper/WrkMastStaMapper.xml | 11 +++++ 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java index 7ece0f1..c77cb80 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java @@ -18,6 +18,7 @@ * */ Integer selectAllWrkCount(@Param("type")Integer type); Integer selectAllWrkStsCount(@Param("type")Integer type,@Param("wrkSts")Integer wrkSts); + WrkMastSta selectAllWrkStsCountWrkMastSta(@Param("type")Integer type,@Param("wrkSts")Integer wrkSts); /* * 鑾峰彇鎵�鏈夊彲鎵ц浠诲姟 diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index fcef213..a853100 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -4060,10 +4060,17 @@ * */ public synchronized void rgvRunWrkMastEmptyStaAvoidance() { try{ - Integer integer = wrkMastStaMapper.selectAllWrkStsCount(null,0);//鏌ヨ鐘舵�佷负0鐨勪换鍔� - if (integer==0){ +// Integer integer = wrkMastStaMapper.selectAllWrkStsCount(null,0);//鏌ヨ鐘舵�佷负0鐨勪换鍔� +// if (integer==0){ +// return; +// } + WrkMastSta wrkMastSta = wrkMastStaMapper.selectAllWrkStsCountWrkMastSta(null, 0); + if (Cools.isEmpty(wrkMastSta)){ return; } + boolean signRgv = true; + boolean signRgv1 = true; + boolean signRgv2 = true; for (RgvSlave rgvSlave:slaveProperties.getRgv()) { RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId()); RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); @@ -4087,15 +4094,47 @@ ) { BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){ - continue; +// if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),RouteUtils.RouteIndexFarMas(rgvProtocol.getRgvNo(),rgvRunSta[rgvProtocol.getRgvNo()-1]),rgvProtocol.getRgvNo())){ +// if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),rgvRunSta[rgvProtocol.getRgvNo()-1],rgvProtocol.getRgvNo())){ + if (rgvProtocol.getRgvNo()==1){ + signRgv1 = false; + }else { + signRgv2 = false; + } } if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){ - continue; + signRgv = false; + break; } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){ + signRgv = false; + break; + } + }else { + signRgv = false; + break; + } + } + if (signRgv && (signRgv1 || signRgv2)){ + for (RgvSlave rgvSlave:slaveProperties.getRgv()) { + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId()); + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { continue; } - rgvAvoidanceXY(rgvProtocol.getRgvNo()); - rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); + + // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤 + if (rgvProtocol.getStatusType() == RgvStatusType.IDLE + && rgvProtocol.getModeType() == RgvModeType.AUTO + && rgvProtocol.getLoaded1()==0 //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴 + && rgvProtocol.getTaskNo1()==0 + && rgvProtocol.getTaskNo2()==0 + && rgvProtocol.getStatusType1() == RgvStatusType.IDLE + && rgvProtocol.getStatusType2() == RgvStatusType.IDLE + ) { + BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + rgvAvoidanceXY(rgvProtocol.getRgvNo()); + rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); + } } } }catch (Exception e){ diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index e1bd0b0..27d494c 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -69,7 +69,7 @@ }}; public static final ArrayList<Integer> staNos1Super = new ArrayList<Integer>() {{ - add(118);add(119);add(120);add(121);add(131);add(135);add(147); + add(118);add(119);add(120);add(121);add(122);add(123);add(131);add(135);add(147); }}; public static final ArrayList<Integer> staNos2Super = new ArrayList<Integer>() {{ diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml index 6650f59..9f781f4 100644 --- a/src/main/resources/mapper/WrkMastStaMapper.xml +++ b/src/main/resources/mapper/WrkMastStaMapper.xml @@ -93,6 +93,17 @@ </if> </select> + <select id="selectAllWrkStsCountWrkMastSta" resultMap="BaseResultMap"> + select top 1 * from asr_wrk_mast_sta + where 1=1 + <if test="type!=null"> + and type = #{type} + </if> + <if test="wrkSts!=null"> + and wrk_sts = #{wrkSts} + </if> + </select> + -- Gitblit v1.9.1