From 6ea30a9291bfcf21fda724f9957405bbe3fecbd5 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期一, 15 四月 2024 15:34:44 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 74 +++++++++++++++++++++++++++++++++--- 1 files changed, 67 insertions(+), 7 deletions(-) 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 7ac2168..e06f2a1 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -3696,6 +3696,11 @@ if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){ continue; } + if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ + if (basDevp.getLoadingSuper().equals("Y")){ + continue; + } + } if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){ if (!basDevp.getEmptyMk().equals("Y")){ continue; @@ -3773,6 +3778,11 @@ BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaEnd()); if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){ continue; + } + if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ + if (basDevp.getLoadingSuper().equals("Y")){ + continue; + } } if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){ if (!basDevp.getEmptyMk().equals("Y")){ @@ -3855,6 +3865,11 @@ BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaEnd()); if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){ continue; + } + if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ + if (basDevp.getLoadingSuper().equals("Y")){ + continue; + } } if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){ if (!basDevp.getEmptyMk().equals("Y")){ @@ -4060,10 +4075,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 +4109,53 @@ ) { 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) )){ + signRgv1 = false; continue; } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){ + signRgv2 = false; continue; } - rgvAvoidanceXY(rgvProtocol.getRgvNo()); - rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); + }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; + } + + // 鍙湁褰揜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 + ) { + if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){ + continue; + } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){ + continue; + } + BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + rgvAvoidanceXY(rgvProtocol.getRgvNo()); + rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); + + } } } }catch (Exception e){ @@ -4396,8 +4456,8 @@ // List<Integer> integers = RouteUtils.RouteMapCurrentFar(basRgvMapCurrent.getNowRoute(),staStart,staEnd, basRgvMapCurrent.getLockStartRoute()); //鏇存柊褰撳墠灏忚溅閿� try{ -// Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getNowRoute(), staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//鑾峰彇鏈�杩滅珯鐐� - Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(staEnd, staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//鑾峰彇鏈�杩滅珯鐐� + Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getNowRoute(), staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//鑾峰彇鏈�杩滅珯鐐� +// Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(staEnd, staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//鑾峰彇鏈�杩滅珯鐐� Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getRgvNo(), farCurrentStaNo); //鑾峰彇鍚堝苟骞叉秹椤� basRgvMapCurrent.setLockEndRoute(fallMerge); basRgvMapMapper.updateById(basRgvMapCurrent); -- Gitblit v1.9.1