From 78489da7e2185f53faaec9356fa1a8997cedab70 Mon Sep 17 00:00:00 2001 From: whycq <123456> Date: 星期三, 28 五月 2025 08:46:55 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 128 ++++++++++++++++++++++++++++-------------- 1 files changed, 84 insertions(+), 44 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 98ed6e5..992fb0f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -40,14 +40,17 @@ import com.zy.core.thread.LedThread; import com.zy.core.thread.SiemensDevpThread; import lombok.extern.slf4j.Slf4j; -import net.bytebuddy.asm.Advice; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -118,6 +121,7 @@ if (barcodeThread == null) { continue; } + String barcode = barcodeThread.getBarcode(); // 灏哄妫�娴嬪紓甯� boolean back = false; @@ -150,10 +154,15 @@ errMsg = "鎵爜澶辫触"; back = true; } + + + // 閫�鍥� if (back) { // News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); - MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); + if(!staProtocol.isOutEnable()){ + continue; + } if (!staProtocol.isLoading()){ continue; @@ -169,15 +178,16 @@ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); } - - - + //鎷f枡銆佺洏鐐逛换鍔★紝涓嶈繘鍏ユ柊鏉垮叆搴撴柟娉曪紝鐩存帴璺冲嚭 + if(staProtocol.getWorkNo()>=3001 && staProtocol.getWorkNo()<=6000){ + continue; + } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && 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); @@ -192,17 +202,17 @@ } continue; } - //鍒ゆ柇101鍜�104鏄惁鏄嫞鏂欍�佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 璁惧鏆備笉鏀寔101銆�104绔欑洏鐐�/鎷f枡鍏ュ簱 - WrkMast wrkMast1=wrkMastMapper.selectpj(inSta.getStaNo(),barcode); - if(!Cools.isEmpty(wrkMast1)){ - if (wrkMast1.getIoType()!=1){ - continue; - } - } - if( !Cools.isEmpty(barcode)&&!Cools.isEmpty(wrkMast1)){ - log.error("101鎴�104鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱", wrkMast1.getWrkNo()); - continue; - } +// //鍒ゆ柇101鍜�104鏄惁鏄嫞鏂欍�佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 璁惧鏆備笉鏀寔101銆�104绔欑洏鐐�/鎷f枡鍏ュ簱 +// WrkMast wrkMast1=wrkMastMapper.selectpj(inSta.getStaNo(),barcode); +// if(!Cools.isEmpty(wrkMast1)){ +// if (wrkMast1.getIoType()!=1){ +// continue; +// } +// } +// if( !Cools.isEmpty(barcode)&&!Cools.isEmpty(wrkMast1)){ +// log.error("101鎴�104鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱", wrkMast1.getWrkNo()); +// continue; +// } // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode); if (wrkMast != null) { @@ -216,7 +226,7 @@ WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>() .eq("barcode", barcode) - .in("io_type", 107,103,57,53)); + .in("io_type", 107,103,104,57,53)); if (!Cools.isEmpty(checkPick)) { continue; } else { @@ -240,6 +250,7 @@ param.setLocType1(locTypeDto.getLocType1()); String response = new HttpHandler.Builder() .setUri(wmsUrl) + .setTimeout(30, TimeUnit.SECONDS) .setPath("/rpc/pakin/loc/v1") .setJson(JSON.toJSONString(param)) .build() @@ -437,33 +448,46 @@ } String barcode = barcodeThread.getBarcode(); - if (!Cools.isEmpty(barcode)) { + WrkMast wrkMast1 = wrkMastMapper.selectPickStep1(staProtocol.getWorkNo().intValue()); + + //浠诲姟鍙峰鏋滃湪宸ヤ綔妗d腑瀛樺湪锛屽氨涓嶇敤鍘诲垽鏂潯鐮� + if(Cools.isEmpty(wrkMast1)) { +// WrkMast mast = wrkMastMapper.selectPickStep(barcode); +// if (Cools.isEmpty(mast)) { +// break; +// } + + 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; } @@ -477,7 +501,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) { // 鏃犳嫞鏂欐暟鎹� @@ -487,6 +516,9 @@ || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) { continue; } + LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo())); + + // 鎷c�佺洏銆佸苟 浣滀笟绔欒浆鎹� // int stnNo = 0; @@ -1179,6 +1211,7 @@ // continue; } // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� + if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- @@ -1705,6 +1738,7 @@ param.setLocType1(locTypeDto.getLocType1()); String response = new HttpHandler.Builder() .setUri(wmsUrl) + .setTimeout(30, TimeUnit.SECONDS) .setPath("/rpc/pakin/loc/v1") .setJson(JSON.toJSONString(param)) .build() @@ -1879,6 +1913,8 @@ if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) { News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); continue; + } else { +// News.info("{}鍙稬ED鍛戒护涓嬪彂鎴愬姛锛侊紒锛乕ip锛歿}] [port锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort(),commands); } } @@ -1927,13 +1963,15 @@ 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()); +// 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) { + //News.info("{}鍙稬ED鍛戒护閲嶇疆锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); if (ledThread == null) { continue; } @@ -2400,6 +2438,7 @@ try { String response = new HttpHandler.Builder() .setUri(wmsUrl) + .setTimeout(30, TimeUnit.SECONDS) .setPath("/rpc/auto/emptyOut/v1") .build() .doPost(); @@ -2438,6 +2477,7 @@ String response = new HttpHandler.Builder() .setUri(wmsUrl) + .setTimeout(30, TimeUnit.SECONDS) .setPath("/rpc/auto/emptyIn/v1") .setJson(JSON.toJSONString(locTypeDto)) .build() -- Gitblit v1.9.1