From 18a81e48e6559009ec39d2c2e28d64312f204189 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期六, 11 三月 2023 13:58:10 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 234 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 158 insertions(+), 76 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 98acb5e..8a63999 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -315,9 +315,9 @@ } // // 鍏ュ嚭搴撴ā寮忓垽鏂� - if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { - continue; - } +// if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { +// continue; +// } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() @@ -517,8 +517,35 @@ String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); for (CrnSlave crnSlave : slaveProperties.getCrn()) { - // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 - for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) { + //鏌ヨ宸ヤ綔妗� + List<WrkMast> wrkMasts= wrkMastService.selectList(new EntityWrapper<WrkMast>() + .eq("crn_no",crnSlave.getCrnOutStn()) + .and() + .gt("io_type",100) + .orderBy("appe_time") + ); + if(Cools.isEmpty(wrkMasts)){ + continue; + } + //閬嶅巻浠诲姟妗o紝鎸夌敓鎴愭椂闂磋繘琛屾帓搴� + for (WrkMast wrkMast: wrkMasts) { + // 鍒ゆ柇宸ヤ綔妗f潯浠� + if (wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) { + continue; + } + CrnSlave.CrnStn crnStn = null; + for (CrnSlave.CrnStn crnStn1 : crnSlave.getCrnOutStn()) { + if (crnStn1.getStaNo() == wrkMast.getSourceStaNo()) { + crnStn = crnStn1; + break; + } else { + continue; + } + } + if (Cools.isEmpty(crnStn)) { + continue; + } + // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); @@ -528,15 +555,8 @@ staProtocol = staProtocol.clone(); } if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) { - // 鏌ヨ宸ヤ綔妗� - WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId()); - if (wrkMast == null) { - continue; - } - // 鍒ゆ柇宸ヤ綔妗f潯浠� - if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) { - continue; - } + + // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗� CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); @@ -574,6 +594,68 @@ } } } + +// public synchronized void crnStnToOutStn1() { +// String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); +// +// for (CrnSlave crnSlave : slaveProperties.getCrn()) { +// // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 +// for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) { +// // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 +// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); +// StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); +// if (staProtocol == null) { +// continue; +// } else { +// staProtocol = staProtocol.clone(); +// } +// if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) { +// // 鏌ヨ宸ヤ綔妗� +// WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId()); +// if (wrkMast == null) { +// continue; +// } +// // 鍒ゆ柇宸ヤ綔妗f潯浠� +// if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) { +// continue; +// } +// // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗� +// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo()); +// CrnProtocol crnProtocol = crnThread.getCrnProtocol(); +// if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) { +// // 绉诲姩涓� +// continue; +// } +// // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁� +// if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue()) +// && crnProtocol.statusType == CrnStatusType.WAITING +// && crnProtocol.forkPosType == CrnForkPosType.HOME) { +// +// // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- +// +// // 涓嬪彂绔欑偣淇℃伅 +// staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); +// staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); +// if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) { +// continue; +// } +// +// // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触 +// wrkMast.setWrkSts(14L); +// wrkMast.setCrnEndTime(new Date()); +// if (wrkMastMapper.updateById(wrkMast) != 0) { +// // 澶嶄綅鍫嗗灈鏈� +// crnThread.setResetFlag(true); +// } else { +// News.error(methodName + ":鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo()); +// } +// +// } +// +// } +// } +// } +// } /** * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 @@ -861,9 +943,9 @@ // // 鍏ュ嚭搴撴ā寮忓垽鏂� // if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; } - if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) { - continue; - } +// if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) { +// continue; +// } // 鏌ヨ绔欑偣璇︾粏淇℃伅 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); @@ -2058,65 +2140,65 @@ /** * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� */ - public synchronized void ioConvert() { - try { - // 鏍规嵁杈撻�佺嚎plc閬嶅巻 - for (DevpSlave devp : slaveProperties.getDevp()) { - SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - - for (DevpSlave.Sta inSta : devp.getInSta()) { - if (inSta.getStaNo() == 2) { - continue; - } - WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo()); - switch (inSta.getStaNo()) { - case 203://1F - if (pakout != null) { - if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) { - // 鍑哄簱鍒囨崲涓� - devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING; - WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); - if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() - && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading() - && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) { - // 鍑哄簱妯″紡 - devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE; - } - } - } else { - // 鍏ュ簱妯″紡 - devpThread.ioModeOf2F = IoModeType.PAKIN_MODE; - } - break; - case 401://1F - if (pakout != null) { - if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) { - // 鍑哄簱鍒囨崲涓� - devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING; - WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); - if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() - && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading() - && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) { - // 鍑哄簱妯″紡 - devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE; - } - } - } else { - // 鍏ュ簱妯″紡 - devpThread.ioModeOf4F = IoModeType.PAKIN_MODE; - } - break; - } - } - - } - - } catch (Exception e) { - e.printStackTrace(); - } - - - } +// public synchronized void ioConvert() { +// try { +// // 鏍规嵁杈撻�佺嚎plc閬嶅巻 +// for (DevpSlave devp : slaveProperties.getDevp()) { +// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); +// +// for (DevpSlave.Sta inSta : devp.getInSta()) { +// if (inSta.getStaNo() == 2) { +// continue; +// } +// WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo()); +// switch (inSta.getStaNo()) { +// case 203://1F +// if (pakout != null) { +// if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) { +// // 鍑哄簱鍒囨崲涓� +// devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING; +// WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); +// if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() +// && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading() +// && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) { +// // 鍑哄簱妯″紡 +// devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE; +// } +// } +// } else { +// // 鍏ュ簱妯″紡 +// devpThread.ioModeOf2F = IoModeType.PAKIN_MODE; +// } +// break; +// case 401://1F +// if (pakout != null) { +// if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) { +// // 鍑哄簱鍒囨崲涓� +// devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING; +// WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); +// if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() +// && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading() +// && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) { +// // 鍑哄簱妯″紡 +// devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE; +// } +// } +// } else { +// // 鍏ュ簱妯″紡 +// devpThread.ioModeOf4F = IoModeType.PAKIN_MODE; +// } +// break; +// } +// } +// +// } +// +// } catch (Exception e) { +// e.printStackTrace(); +// } +// +// +// } public synchronized void outOfDevp() { List<WrkMast> wrkMasts = wrkMastMapper.selectPick(); -- Gitblit v1.9.1