From 5a0f4ce17e31d84068bdb2f62d5bb7ef27f87d0f Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期六, 22 六月 2024 09:33:07 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 80 insertions(+), 38 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 eb15ae1..e8eb287 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -111,9 +111,14 @@ private BasJarMastService basJarMastService; @Autowired private WrkMastExecuteService wrkMastExecuteService; + @Autowired + private BasJarService basJarService; + @Autowired + private BasJarMapper basJarMapper; @Value("${wms.url}") private String wmsUrl; + /** @@ -4413,42 +4418,63 @@ */ public synchronized void jarGenerateWrkMastSta() { for (JarSlave jarSlave : slaveProperties.getJar()) { - for(JarSlave.StaStn staStn : jarSlave.getJarInSta()){ - // 鑾峰彇纭寲缃愬叆搴撶珯淇℃伅 - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, staStn.getDevpPlcId()); - StaProtocol staProtocol = devpThread.getStation().get(staStn.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo()!=0){ - try{ - if (basJarMastService.selectJarMastOperation(jarSlave.getId(),1)!=0){ - break; - } - if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){ - break; - } - if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=7){ - continue; - } - BasJarMast jarMastByJarIdMax = basJarMastService.getJarMastByJarIdMax(jarSlave.getId()); - if (!Cools.isEmpty(jarMastByJarIdMax) && jarMastByJarIdMax.getJarLocDigit()==7){ - continue; - } - WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); - if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=2){ - continue; - } - if (jarGenerateWrkMastStaExecute(jarSlave,wrkMast)){ - return; - }; - }catch (Exception e){ - log.error(jarSlave.getId()+"鍙峰皬杞﹀浣嶇嚎绋嬫姤閿欙紒"+e); + try{ + for(JarSlave.StaStn staStn : jarSlave.getJarInSta()){ + // 鑾峰彇纭寲缃愬叆搴撶珯淇℃伅 + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, staStn.getDevpPlcId()); + StaProtocol staProtocol = devpThread.getStation().get(staStn.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); } - break; + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo()!=0){ + try{ + if (basJarMastService.selectJarMastOperation(jarSlave.getId(),1)!=0){ + break; + } + if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),1)!=0){ +// log.error("{}鍙峰皬杞�",jarSlave.getJarOtherId()); + break; + } + if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){ + break; + } + if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=7){ + break; + } + BasJarMast jarMastByJarIdMax = basJarMastService.getJarMastByJarIdMax(jarSlave.getId()); + int jarLocDigit = 0; + if (Cools.isEmpty(jarMastByJarIdMax)){ + jarLocDigit = 1; + } else if (jarMastByJarIdMax.getJarLocDigit()<7){ + jarLocDigit = jarMastByJarIdMax.getJarLocDigit()+1; + } else { + continue; + } + WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); + if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=2){ + continue; + } + BasJarMast basJarMast = basJarMastService.getJarMastByWrkNo(wrkMast.getWrkNo().longValue()); + if (!Cools.isEmpty(basJarMast)){ + continue; + } + WrkMastExecute wrkMastExecute = wrkMastExecuteService.getWrkMastByWrkNo(wrkMast.getWrkNo().longValue()); + if (!Cools.isEmpty(wrkMastExecute)){ + continue; + } + if (jarGenerateWrkMastStaExecute(jarSlave,wrkMast,jarLocDigit,staStn.getStaNo())){ + return; + } + }catch (Exception e){ + log.error(jarSlave.getId()+"鍙峰皬杞﹀浣嶇嚎绋嬫姤閿欙紒"+e); + } + break; + } } + } catch (Exception e){ + log.error("{}鍙风~鍖栫綈Jar浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage()); } } } @@ -4456,7 +4482,7 @@ /** * Jar浠诲姟鍒涘缓 鎵ц */ - public synchronized boolean jarGenerateWrkMastStaExecute(JarSlave jarSlave,WrkMast wrkMast) { + public synchronized boolean jarGenerateWrkMastStaExecute(JarSlave jarSlave,WrkMast wrkMast,Integer jarLocDigit,Integer staNo) { try{ // 鑾峰彇鍫嗗灈鏈轰俊鎭� JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId()); @@ -4477,13 +4503,29 @@ return false; } - //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂�� Other宸﹂棬鍏抽棴 - if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && !jarOtherProtocol.isLeftDoor()){ + BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); + if (Cools.isEmpty(basJar)){ + log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo()); + return false; + } + if (basJar.getJarMode()!=1 && basJar.getJarMode()!=0){ + return false; + } + + //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂�� Other宸﹂棬鍏抽棴 + if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 + && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0 && jarOtherProtocol.leftDoorClose==0){ + if (jarProtocol.statusType == JarStatusType.IDLE || jarProtocol.statusType == JarStatusType.MOVING){ + BasJarMast basJarMast = new BasJarMast(basJar, wrkMast, jarLocDigit); + basJarMast.setJarEnterStaNo(staNo);//鍏ョ~鍖栫綈绔欑偣 + basJarMastService.insert(basJarMast); + return true; + } } } catch (Exception e){ -// log.error("鍫嗗灈鏈哄伐浣嶄簩瀹屾垚绛夊緟纭寮傚父,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crn.getId(),e.getMessage(),2); + log.error("{}鍙风~鍖栫綈鐢熸垚BasJarMast鍒濆浠诲姟澶辫触,寮傚父鍘熷洜={},宸ヤ綔鍙�={},纭寲搴撲綅={}",jarSlave.getId(),e.getMessage(),wrkMast,jarLocDigit); } return false; } -- Gitblit v1.9.1