From c30e856b9ae160b84e3deb519e320feb09793283 Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期二, 27 五月 2025 20:40:47 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 123 +++++++++++++++++++++++++++--------------
1 files changed, 81 insertions(+), 42 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 3c585c6..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,9 +178,10 @@
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()
@@ -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) && staProtocol.isPakMk() ) {
- 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,7 +1963,7 @@
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绾跨▼
@@ -1935,6 +1971,7 @@
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;
}
@@ -2401,6 +2438,7 @@
try {
String response = new HttpHandler.Builder()
.setUri(wmsUrl)
+ .setTimeout(30, TimeUnit.SECONDS)
.setPath("/rpc/auto/emptyOut/v1")
.build()
.doPost();
@@ -2439,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