From 1a3cbd5c98959fd400f1502eac68e3bb86c2fc28 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 02 六月 2025 14:05:33 +0800
Subject: [PATCH] 正面条码读取加上物料号
---
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 3 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 1
src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java | 5 ++
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 91 +++++++++++++++++++++++++++++++--------------
4 files changed, 71 insertions(+), 29 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java b/src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java
index 49f98f7..f6d718d 100644
--- a/src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java
+++ b/src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java
@@ -2,6 +2,8 @@
import lombok.Data;
+import java.util.List;
+
@Data
public class StorageEscalationParam {
//鎵樼洏鐮�
@@ -12,4 +14,7 @@
private Integer WCSStatus = 0;
//閿欒淇℃伅 鍏蜂綋鐨勯敊璇俊鎭紙瓒呴珮锛岃秴閲嶇瓑锛�
private String WCSErrorMessage = "";
+
+ // 鐗╂枡鍙峰垪琛�
+ private List<String> matIdList;
}
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 79e24fb..72f2178 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -177,6 +177,7 @@
storageEscalationParam.setWCSErrorMessage(storageEscalationParam.getWCSErrorMessage() + errMsg);
}
storageEscalationParam.setBarcode(BoxNo);
+ storageEscalationParam.setMatIdList(staProtocol.getMatIdList());
log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
if (taskWrk == null) {
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 9c0ace0..7281ac6 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -64,6 +64,9 @@
//鎸囦护ID
private Integer commandId;
+ // 鐗╂枡鍙峰垪琛�
+ private List<String> matIdList;
+
// 澶栧舰妫�娴� ------------------------------------------------------------------------
// 鍓嶈秴闄�
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 70471e5..999ad53 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -25,11 +25,9 @@
import lombok.extern.slf4j.Slf4j;
import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
/**
* 杈撻�佺嚎绾跨▼
@@ -47,6 +45,11 @@
public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
add(301);add(302);add(303);add(304);add(305);add(306);add(307);add(308);
+ }};
+
+ // 姝i潰5涓潯鐮佹壂鎻忕珯
+ public static final ArrayList<Integer> barcodeSite2 = new ArrayList<Integer>() {{
+ add(102);add(105);add(108);add(111);add(114);
}};
// 渚ч潰涓変釜鏉$爜鎵弿绔�
@@ -249,38 +252,68 @@
}
// 璇诲彇姝i潰鏉$爜
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.1404", (short) (16 * 8));
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB103.0", (short) (5 * 40));
if (result2.IsSuccess) {
- for (int i = 0; i < 16; i++) {
- int barcodeId = 0;
- switch (i) {
- case 1:
- barcodeId = 1;
- break;
- case 4:
- barcodeId = 2;
- break;
- case 7:
- barcodeId = 3;
- break;
- case 10:
- barcodeId = 4;
- break;
- case 13:
- barcodeId = 5;
- break;
- default:
+ for (int i = 0; i < 5; i++) {
+ String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 40, 40, "UTF-8");
+ if(!Cools.isEmpty()){
+ barcode = barcode.trim();
}
- if (barcodeId != 0) {
- String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 6, "UTF-8");
- BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
- if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
- barcodeThread.setBarcode(barcode);
+ List<String> barcodeList = Arrays.stream(barcode.split(",")).collect(Collectors.toList());
+ Iterator<String> iterator = barcodeList.iterator();
+ while (iterator.hasNext()){
+ String next = iterator.next();
+ if(next.length() == 6) {
+ barcode = next;
+ iterator.remove();
+ break;
}
+ }
+
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i);
+ if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+ barcodeThread.setBarcode(barcode);
+ }
+ StaProtocol staProtocol = station.get(barcodeSite2.get(i));
+ if (staProtocol != null) {
+ staProtocol.setMatIdList(barcodeList);
}
}
}
+ // 璇诲彇姝i潰鏉$爜
+// OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.1404", (short) (16 * 8));
+// if (result2.IsSuccess) {
+// for (int i = 0; i < 16; i++) {
+// int barcodeId = 0;
+// switch (i) {
+// case 1:
+// barcodeId = 1;
+// break;
+// case 4:
+// barcodeId = 2;
+// break;
+// case 7:
+// barcodeId = 3;
+// break;
+// case 10:
+// barcodeId = 4;
+// break;
+// case 13:
+// barcodeId = 5;
+// break;
+// default:
+// }
+// if (barcodeId != 0) {
+// String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 6, "UTF-8");
+// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+// if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+// barcodeThread.setBarcode(barcode);
+// }
+// }
+// }
+// }
+
// 璇诲彇渚ч潰鏉$爜
OperateResultExOne<byte[]> resultCM2 = siemensS7Net.Read("DB101.2574", (short) (3 * 4 * 6));
if (resultCM2.IsSuccess) {
--
Gitblit v1.9.1