From 6dc8121c05bec103386cd85df1b1f7603ec52788 Mon Sep 17 00:00:00 2001 From: tqs <56479841@qq.com> Date: 星期五, 17 五月 2024 15:52:44 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 84 +++++++++++++++++++++++++++++------------- 1 files changed, 58 insertions(+), 26 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 64a91c4..c821507 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -177,7 +177,7 @@ && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() - && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) { + && staProtocol.isPakMk() && !back) {// && !Cools.isEmpty(barcode)) { if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); @@ -219,6 +219,8 @@ .in("io_type", 107,103,57,53)); if (!Cools.isEmpty(checkPick)) { continue; + } else { + News.info("鏂版澘鍏ュ簱鏉$爜===>>" + barcode); } // WrkMast checkPick2 = wrkMastService.selectOne(new EntityWrapper<WrkMast>() // .eq("barcode", barcode) @@ -435,33 +437,39 @@ } String barcode = barcodeThread.getBarcode(); - if (!Cools.isEmpty(barcode)) { + WrkMast wrkMast1 = wrkMastMapper.selectPickStep1(staProtocol.getWorkNo().intValue()); + + //浠诲姟鍙峰鏋滃湪宸ヤ綔妗d腑瀛樺湪锛屽氨涓嶇敤鍘诲垽鏂潯鐮� + if(Cools.isEmpty(wrkMast1)) { + if (!Cools.isEmpty(barcode)) { // log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode); - if ("NG".endsWith(barcode) || "NoRead".equals(barcode) ) { - if (!staProtocol.isLoading()) { + if ("NG".endsWith(barcode) || "NoRead".equals(barcode) && staProtocol.isPakMk()) { + if (!staProtocol.isLoading()) { + continue; + } + if (!staProtocol.isPakMk()) { + continue; + } + if (staProtocol.getWorkNo() != 0) { + continue; + } + + staProtocol.setWorkNo(wrkNo); + wrkNo++; + staProtocol.setStaNo(pickSta.getBackSta().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + // led 寮傚父鏄剧ず + if (ledThread != null) { + String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯"; + News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯"); + MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg)); + } continue; } - if (!staProtocol.isPakMk()) { - continue; - } - if(staProtocol.getWorkNo() != 0) { - continue; - } - staProtocol.setWorkNo(wrkNo); - wrkNo++; - staProtocol.setStaNo(pickSta.getBackSta().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - // led 寮傚父鏄剧ず - if (ledThread != null) { - String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯"; - News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯"); - MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg)); - } + } else { continue; } - } else { - continue; } @@ -475,7 +483,12 @@ // && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9997 || staProtocol.getWorkNo() == 9995) && staProtocol.isPakMk()) { - WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); + WrkMast wrkMast = null; + //浼樺厛鏌ヨ浠诲姟鍙峰搴旂殑宸ヤ綔妗f湁娌℃湁锛屽鏋滄湁鐨勮瘽灏变笉鐢ㄦ煡鏉$爜鍙� + wrkMast = wrkMastMapper.selectPickStep1(staProtocol.getWorkNo().intValue()); + if(Cools.isEmpty(wrkMast)) { + wrkMast = wrkMastMapper.selectPickStep(barcode); + } // WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); if (wrkMast == null) { // 鏃犳嫞鏂欐暟鎹� @@ -630,6 +643,7 @@ wrkMast.setCrnEndTime(new Date()); if (wrkMastMapper.updateById(wrkMast) != 0) { // 澶嶄綅鍫嗗灈鏈� + News.info("crnStnToOutStn鍫嗗灈鏈哄浣嶆椂宸ヤ綔鍙�===>>" + crnProtocol.getTaskNo()); crnThread.setResetFlag(true); } else { News.error(methodName + ":鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo()); @@ -806,6 +820,12 @@ // 鍫嗗灈鏈烘帶鍒惰繃婊� if (!crnProtocolNow.getStatusType().equals(CrnStatusType.IDLE) || crnProtocolNow.getTaskNo() != 0) { continue; + } + + // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� + if (wrkMastMapper.selectWorking(slave.getId()) != null) { + break; +// return; } // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- @@ -1519,6 +1539,7 @@ } // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚 if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) { + log.error("鍏ュ簱瀹屾垚鍫嗗灈鏈轰换鍔�=========銆�"+JSON.toJSONString(wrkMast)); wrkMast.setWrkSts(4L); } else { continue; @@ -1529,6 +1550,7 @@ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 if (wrkMastMapper.updateById(wrkMast) > 0) { // 鍫嗗灈鏈哄浣� + News.info("storeFinished鍫嗗灈鏈哄浣嶆椂宸ヤ綔鍙�===>>" + crnProtocol.getTaskNo()); crnThread.setResetFlag(true); } } @@ -1904,14 +1926,24 @@ for (Integer staNo : led.getStaArr()) { // 鑾峰彇鍙夎溅绔欑偣 StaProtocol staProtocol = devpThread.getStation().get(staNo); + StaProtocol staProtocol1 = devpThread.getStation().get(staNo+1); if (staProtocol == null) { continue; } - if (staProtocol.getWorkNo() != 0) { + if (staProtocol1 == null) { continue; } + if (staProtocol.getWorkNo() != 0 || staProtocol.isLoading()) { reset = false; break; } + if (staProtocol1.isLoading() || staProtocol1.getWorkNo() != 0) { + reset = false; + break; + } + if (!staProtocol.isLoading() && staProtocol.getWorkNo() == 0 && !staProtocol1.isLoading() && staProtocol1.getWorkNo() == 0){ +// News.error("{}鍙稬ED鍏ュ簱鍙�2涓珯鐐归兘娌℃湁鏁版嵁,鍑嗗reset澶嶄綅鏄剧ず鍣紒锛侊紒[ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); + } } // 鑾峰彇led绾跨▼ - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getDevpPlcId()); +// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getDevpPlcId()); + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); // led鏄剧ず榛樿鍐呭 if (reset) { if (ledThread == null) { -- Gitblit v1.9.1