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 | 132 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 121 insertions(+), 11 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 169736f..e06f2a1 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1291,7 +1291,7 @@ continue; } if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() - && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) { + && staDetl.getCanining() != null && staDetl.getCanining().equals("Y") && staDetl.getWrkNo().equals(wrkMast.getWrkNo())) { flag = true; } if (!flag) { @@ -3318,7 +3318,7 @@ wrkMast.setSheetNo("5"); wrkMastMapper.updateById(wrkMast); - boolean result4 = MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol147)); + boolean result4 = MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol147)); } } @@ -3451,8 +3451,13 @@ WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue()); if (!Cools.isEmpty(wrkMast) && wrkMastSta.getWrkType()!=5){ Thread.sleep(200); - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } if (!staProtocol.isAutoing() || !staProtocol.isLoading()){ continue; } @@ -3633,6 +3638,8 @@ break; } } + }else { + continue; } if (!rgvIoExecuteSign){ rgvIoExecuteSign = signWork; @@ -3686,9 +3693,22 @@ continue; } BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaEnd()); - if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y")){ + 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; + } + } + Date date = new Date(); + log.info(date+"鍙栨斁浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta); + log.info(date+"鍙栨斁浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp); boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); if (sign){ boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd()); @@ -3756,9 +3776,22 @@ boolean sign = false; if ( wrkMastSta.getStaEnd()!=0){//鏀� BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaEnd()); - if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y")){ + 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; + } + } + Date date = new Date(); + log.info(date+"鎷嗙洏浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta); + log.info(date+"鎷嗙洏浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp); sign = rgvPutEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鎷嗙洏 }else { continue; @@ -3830,9 +3863,22 @@ boolean sign = false; if ( wrkMastSta.getStaEnd()!=0){//婊℃斁 BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaEnd()); - if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y")){ + 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; + } + } + Date date = new Date(); + log.info(date+"婊℃斁浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta); + log.info(date+"婊℃斁浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp); sign = rgvPutEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta); }else { continue; @@ -3904,6 +3950,14 @@ if (!basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y")){ continue; } + if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){ + if (!basDevp.getEmptyMk().equals("Y")){ + continue; + } + } + Date date = new Date(); + log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta); + log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp); sign = rgvTakeEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鍙犵洏 }else { continue; @@ -3965,6 +4019,13 @@ List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(), basRgvMap.getEndRoute()); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route, route); + WrkMast wrkMast = wrkMastMapper.selectBy122ManQu(122,110,15L); + if (!Cools.isEmpty(wrkMast)){ + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(wrkMast.getWrkNo().longValue()); + if (!Cools.isEmpty(wrkMastSta) && wrkMastSta.getType()==2 && wrkMastSta.getWrkType()==5 ){ + wrkMastStaList.add(wrkMastSta); + } + } for (WrkMastSta wrkMastSta : wrkMastStaList){ if (wrkMastSta.getType()!=2 || wrkMastSta.getWrkType()!=5){// 2:绌烘澘 || 宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 5锛氭弧鍙� 6锛氭弧鏀� continue; @@ -3975,6 +4036,9 @@ if (!basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y")){ continue; } + Date date = new Date(); + log.info(date+"婊″彇浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta); + log.info(date+"婊″彇浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp); sign = rgvTakeEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta); }else { continue; @@ -4011,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(); @@ -4038,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){ @@ -4348,6 +4457,7 @@ //鏇存柊褰撳墠灏忚溅閿� try{ 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