From bcde9271ecf7a978bbaa7b701fa6da571e165ef7 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 07 十月 2024 16:34:24 +0800 Subject: [PATCH] 跨巷道移库 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 81 insertions(+), 1 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 46e5cee..bf4f3bb 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1591,8 +1591,10 @@ continue; } + log.info("{}鍙峰爢鍨涙満閫夊畾鐨勫嚭搴撳彛鏄瘂}",crnProtocol.getCrnNo(),crnStn.getPlatNo()); + // 宸ヤ綔妗g姸鎬佸垽鏂� - if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) { + if ((wrkMast.getIoType() < 100 && wrkMast.getIoType()!=12) || wrkMast.getSourceStaNo() == null) { log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType()); continue; } @@ -2020,6 +2022,9 @@ // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚 if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) { wrkMast.setWrkSts(4L); + if (wrkMast.getIoType() == 3) { + wrkMast.setWrkSts(13L); + } } else { continue; } @@ -4613,4 +4618,79 @@ } } + /** + * 浜屾ゼ绌烘墭鍥炴祦鍒颁竴妤硷紝3.绔欏埌绔欎换鍔� + */ + public synchronized void emptyTrayReflux() { + for (CrnSlave crn : slaveProperties.getCrn()) { + List<WrkMast> wrkMastList = wrkMastMapper.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 2) + .eq("crn_no",crn.getId()).eq("io_type", 3)); + for (WrkMast wrkMast : wrkMastList) { + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + continue; + } + if (crnProtocol.getStatusType() == CrnStatusType.IDLE + && crnProtocol.getTaskNo() == 0 + && crnProtocol.getModeType() == CrnModeType.AUTO + && crnProtocol.getLoaded() == 0 + && crnProtocol.getForkPos() == 0) { + + CrnSlave.CrnStn crnStn = null; + CrnSlave.CrnStn crnStn2 = null; + for (CrnSlave.CrnStn crnStn1 : crn.getCrnOutStn()){ + if(crnStn1.getStaNo().equals(wrkMast.getStaNo())){ + crnStn = crnStn1; + break; + } + } + for (CrnSlave.CrnStn crnStn1 : crn.getCrnInStn()){ + if(crnStn1.getStaNo().equals(wrkMast.getSourceStaNo())){ + crnStn2 = crnStn1; + break; + } + } + if(Cools.isEmpty(crnStn) || Cools.isEmpty(crnStn2)){ + continue; + } + + // 鍏ュ簱鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX(crnStn2.getRow().shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY(crnStn2.getBay().shortValue()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ(crnStn2.getLev().shortValue()); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX(crnStn.getRow().shortValue()); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞� +// crnCommand.setSourceStaNo(crnStn.getPlatNo().shortValue()); // 婧愬簱浣嶆帓 + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� + Date now = new Date(); + wrkMast.setWrkSts(3L); + wrkMast.setCrnStrTime(now); + wrkMast.setModiTime(now); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } + break; + } + + } + } + } + + /** + * 12.璺ㄥ贩閬撶Щ搴� + */ + public synchronized void autoMoveLoc() { + + } } -- Gitblit v1.9.1