From bc0a69ea4a4fb49dadc02bf548d8f3fd3f60d18a Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 19 八月 2020 09:22:09 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 91 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 80 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 7a27c3c..a8a9195 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -138,11 +138,11 @@ // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 barcodeThread.setBarcode(""); - staProtocol.setWorkNo(workNo); - staProtocol.setStaNo(startupDto.getStaNo()); + staProtocol.setWorkNo((short) workNo); + staProtocol.setStaNo(startupDto.getStaNo().shortValue()); staProtocol.setPakMk(false); staProtocol.setInreq1(false); - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol)); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } @@ -169,7 +169,7 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInreq1() && staProtocol.getWorkNo() > 0 && staProtocol.isPakMk()){ - WrkMast wrkMast = wrkMastMapper.selectPickStep(staProtocol.getWorkNo()); + WrkMast wrkMast = wrkMastMapper.selectPickStep(staProtocol.getWorkNo().intValue()); if (wrkMast == null) { // 鏃犳嫞鏂欐暟鎹� continue; @@ -217,11 +217,11 @@ } // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(wrkMast.getWrkNo()); - staProtocol.setStaNo(wrkMast.getStaNo()); + staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); + staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); staProtocol.setPakMk(false); staProtocol.setInreq1(false); - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol)); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } @@ -281,9 +281,9 @@ } // 2.涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMast.getWrkNo()); - staProtocol.setStaNo(wrkMast.getStaNo()); - if (!MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol))) { + staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); + staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + if (!MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol))) { throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } } @@ -354,7 +354,7 @@ continue; } // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。 - WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo()); + WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo().intValue()); if(null == wrkMast) { log.error("鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); continue; @@ -553,5 +553,74 @@ } + // ------------------------------------------------------------------------------- + + /** + * 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐� + */ + public void storeEmptyPlt(){ + for (DevpSlave devp : slaveProperties.getDevp()) { + // 閬嶅巻绌烘澘鍏ュ簱鍙� + for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) { + // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo()); + // 绔欑偣鏉′欢鍒ゆ柇 + if (staProtocol.isAutoing() && staProtocol.isLoading() && !staProtocol.isInreq1() + && staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) { + // 宸ヤ綔鍙� + int workNo = commonService.getWorkNo(0); + // 妫�绱㈠簱浣� + StartupDto startupDto = commonService.getLocNo(1, 1, emptyInSta.getStaNo(), null); + + // 鎻掑叆宸ヤ綔涓绘。 + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋 + wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱 + wrkMast.setIoPri(10D); // 浼樺厛绾э細10 + wrkMast.setCrnNo(startupDto.getCrnNo()); + wrkMast.setSourceStaNo(startupDto.getSourceStaNo()); + wrkMast.setStaNo(startupDto.getStaNo()); + wrkMast.setLocNo(startupDto.getLocNo()); + wrkMast.setFullPlt("N"); // 婊℃澘 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setLinkMis("N"); +// wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(new Date()); + wrkMast.setModiTime(new Date()); + Integer insert = wrkMastMapper.insert(wrkMast); + if (insert == 0) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 鏇存柊鐩爣搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(startupDto.getLocNo()); + locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)){ + throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); + } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + + // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 + staProtocol.setWorkNo((short) workNo); + staProtocol.setStaNo(startupDto.getStaNo().shortValue()); + staProtocol.setPakMk(false); + staProtocol.setInreq1(false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if (!result) { + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); + } + + } + + + } + } + } } -- Gitblit v1.9.1