From eb96c650d25d9d17ea3c582cd091dbeff9909bf1 Mon Sep 17 00:00:00 2001 From: tqs <56479841@qq.com> Date: 星期五, 23 十二月 2022 08:52:07 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 63 +++++++++++++++++++++++++++++++ 1 files changed, 63 insertions(+), 0 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 3d1d248..4ff55ab 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -571,6 +571,69 @@ } /** + * 鎷f枡/鐩樼偣杞叏鏉垮悗锛�300绔欎换鍔¤浆100/200绔欏幓 + */ + public synchronized void transPickToFullChangeStn() { + for (DevpSlave devp : slaveProperties.getDevp()) { + // 閬嶅巻鎷f枡鍑哄簱鍙� + for (DevpSlave.Sta pickSta : devp.getPickOutSta()) { + // 鑾峰彇鎷f枡鍑哄簱绔欎俊鎭� + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + + if (staProtocol.isAutoing() + && staProtocol.isLoading() + && staProtocol.isInEnable() + && staProtocol.getWorkNo() > 0 + && staProtocol.getStaNo().equals(staProtocol.getSiteId().shortValue()) + && staProtocol.isPakMk()){ + WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); + if(Cools.isEmpty(wrkMast)){ + log.error("鎷f枡/鐩樼偣杞叏鏉�,浠诲姟鍙峰伐浣滄。涓嶅瓨鍦�===>>[浠诲姟鍙�:{}]", staProtocol.getWorkNo()); + continue; + } + if (wrkMast.getIoType() != 101) { continue; } + + //鎷f枡杞叏鏉块粯璁ゅ嚭搴撶珯100绔欙紝褰�100绔欐湁鐗╂椂锛岀洰鏍囨敼200绔� + Integer staNo = 100; + StaProtocol staProtocol100 = devpThread.getStation().get(staNo); + if (staProtocol100 == null) { + continue; + } else { + staProtocol100 = staProtocol100.clone(); + } + if (staProtocol100.isLoading()) { + staNo = 200; + } + + // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 + staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); + staProtocol.setStaNo(staNo.shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if (!result) { + log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + } else { + wrkMast.setStaNo(staNo); + wrkMast.setModiTime(new Date()); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("鏇存柊宸ヤ綔妗g殑鐩爣绔欏け璐ワ紒锛侊紒 [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo()); + } + } + + } + } + + + } + } + + /** * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯 */ public synchronized void crnStnToOutStn() { -- Gitblit v1.9.1