From f18dee1034da10cdd537f4cef94a6bcbe141c6a8 Mon Sep 17 00:00:00 2001
From: Administrator <pjb>
Date: 星期四, 05 六月 2025 18:13:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/glccwcs' into glccwcs
---
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 3 +
src/main/java/com/zy/asrs/entity/TaskWrk.java | 4 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 95 ++++++++++++++++---------------
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 27 +++++---
src/main/java/com/zy/asrs/entity/TaskWrkLog.java | 4 +
5 files changed, 77 insertions(+), 56 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index e7d2ebb..ced303e 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -177,6 +177,10 @@
@TableField("mark_start")
private Integer markStart;
+ @TableField("type")
+ private String type;
+
+
public TaskWrk() {
}
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
index 5aabe2f..29e06e5 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
@@ -167,6 +167,10 @@
@TableField("transfer_mark")
private Integer transferMark;
+
+ @TableField("type")
+ private String type;
+
public TaskWrkLog() {
}
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 fd462e2..b9824bf 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -164,7 +164,7 @@
}
String BoxNo = barcodeThread.getBarcode();
if (Cools.isEmpty(BoxNo)) {
- log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}",inSta.getBarcode(),BoxNo);
+ log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}", inSta.getBarcode(), BoxNo);
continue;
}
TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo));
@@ -181,7 +181,7 @@
log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
if (taskWrk == null) {
- log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}",storageEscalationParam);
+ log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}", storageEscalationParam);
continue;
}
if (back) {
@@ -193,13 +193,13 @@
StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
.eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
if (staDesc == null) {
- log.error("缁勬墭鍏ュ簱璺緞涓嶅瓨鍦紝wrkNo={},crn={},stn_no={}",taskWrk.getWrkNo(),taskWrk.getCrnNo(),staProtocol.getSiteId());
+ log.error("缁勬墭鍏ュ簱璺緞涓嶅瓨鍦紝wrkNo={},crn={},stn_no={}", taskWrk.getWrkNo(), taskWrk.getCrnNo(), staProtocol.getSiteId());
continue;
}
staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- log.info("缁勬墭鍏ュ簱鍛戒护鎺ㄩ�佽緭閫佺嚎闃熷垪鎴愬姛:{}",staProtocol);
+ log.info("缁勬墭鍏ュ簱鍛戒护鎺ㄩ�佽緭閫佺嚎闃熷垪鎴愬姛:{}", staProtocol);
}
}
@@ -219,46 +219,49 @@
for (CrnSlave crnSlave : slaveProperties.getCrn()) {
// 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
- try {
- // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
- // 鏌ヨ宸ヤ綔妗�
- TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo()-1));
- if (taskWrk == null) {
- continue;
- }
- log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
- boolean offer = false;
- try {
- offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
- } catch (Exception e) {
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
- }
- if (offer) {
- log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
- taskWrk.setStatus(5);
- taskWrk.setWrkSts(14);
- taskWrk.setCompleteTime(new Date());
- taskWrkService.updateById(taskWrk);
-
- } else {
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
- }
-// }
- }
- } catch (Exception e) {
- log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+ try {
+ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
}
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+ // 鏌ヨ宸ヤ綔妗�
+ TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo() - 1));
+ if (taskWrk == null) {
+ continue;
+ }
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
+ if (!Cools.isEmpty(taskWrk.getType())) {
+ staProtocol.setHeight(taskWrk.getType());
+ }
+ boolean offer = false;
+ try {
+ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ } catch (Exception e) {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
+ }
+ if (offer) {
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
+ taskWrk.setStatus(5);
+ taskWrk.setWrkSts(14);
+ taskWrk.setCompleteTime(new Date());
+ taskWrkService.updateById(taskWrk);
+
+ } else {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
+ }
+// }
+ }
+ } catch (Exception e) {
+ log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+ }
// }
}
@@ -349,8 +352,8 @@
}
LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
- if(!locMast.getLocSts().equals("O") && taskWrk.getWrkSts() == 2) {
- log.error("鍏ュ簱WMS鍒嗛厤搴撲綅{}鏈夎锛屽簱浣嶇姸鎬佷负{}",locMast.getLocNo(),locMast.getLocSts());
+ if (!locMast.getLocSts().equals("O") && taskWrk.getWrkSts() == 2) {
+ log.error("鍏ュ簱WMS鍒嗛厤搴撲綅{}鏈夎锛屽簱浣嶇姸鎬佷负{}", locMast.getLocNo(), locMast.getLocSts());
taskWrk.setWrkSts(5);
taskWrk.setMemo("WMS鍒嗛厤搴撲綅鏈夎");
taskWrkService.updateById(taskWrk);
@@ -449,7 +452,7 @@
log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
continue;
}
- } else if (flag == 2){
+ } else if (flag == 2) {
LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>()
.eq("row1", (locMast.getRow1() - 1))
.eq("bay1", locMast.getBay1())
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 7281ac6..51e79dd 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -67,6 +67,9 @@
// 鐗╂枡鍙峰垪琛�
private List<String> matIdList;
+ // 楂樺害
+ private String height;
+
// 澶栧舰妫�娴� ------------------------------------------------------------------------
// 鍓嶈秴闄�
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 066b51e..af6d15e 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -252,14 +252,14 @@
}
// 璇诲彇姝i潰鏉$爜
- OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB103.0", (short) (5 * 40));
- if (result3.IsSuccess) {
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB103.0", (short) (5 * 40));
+ if (result2.IsSuccess) {
for (int i = 0; i < 5; i++) {
- String barcode = siemensS7Net.getByteTransform().TransString(result3.Content, i * 40, 40, "UTF-8");
+ String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 40, 40, "UTF-8");
if(!Cools.isEmpty()){
barcode = barcode.trim();
}
- List<String> barcodeList = Arrays.stream(barcode.split(";")).collect(Collectors.toList());
+ List<String> barcodeList = Arrays.stream(barcode.split(",")).collect(Collectors.toList());
Iterator<String> iterator = barcodeList.iterator();
while (iterator.hasNext()){
String next = iterator.next();
@@ -270,7 +270,7 @@
}
}
- BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i+1);
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i);
if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
barcodeThread.setBarcode(barcode);
}
@@ -482,14 +482,14 @@
// 鐩爣绔欏湴鍧�
String staNoAddress;
// 楂樺害绫诲瀷鍦板潃
- String heightAddress;
+ String heightAddress = null;
if (index < 16) {
workNoAddress = "DB100." + index * 4;
staNoAddress = "DB100." + (index * 4 + 2);
- heightAddress = "DB104." + (index * 4 + 2);
+ heightAddress = "DB104." + (index * 4);
} else {
- workNoAddress = "DB100." + (400 + (index-16) * 4);
- staNoAddress = "DB100." + (400 + (index-16) * 4 + 2);
+ workNoAddress = "DB100." + (400 + (index - 16) * 4);
+ staNoAddress = "DB100." + (400 + (index - 16) * 4 + 2);
}
OperateResult writeResult;
@@ -499,7 +499,14 @@
boolean writeFlag = false;
while (writeCount < 5) {
OperateResult writeResult1 = siemensS7Net.Write(workNoAddress, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
- OperateResult writeResult2 = siemensS7Net.Write(staNoAddress, staProtocol.getStaNo()); // 鐩爣绔�
+ OperateResult writeResult2 = siemensS7Net.Write(staNoAddress, staProtocol.getStaNo());// 鐩爣绔�
+ if (!Cools.isEmpty(staProtocol.getHeight()) && heightAddress != null) {
+ OperateResult writeResult3 = siemensS7Net.Write(heightAddress, Short.valueOf(staProtocol.getHeight())); // 楂樺害绫诲瀷
+ if (!writeResult3.IsSuccess) {
+ log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触锛屽皾璇曢噸鏂板啓鍏ワ紝杈撳叆鍙傛暟={}锛岃緭鍑哄弬鏁�={}", JSON.toJSON(staProtocol), writeResult3);// 鍐欏叆杈撻�佺嚎鍛戒护澶辫触锛屽皾璇曢噸鏂板啓鍏ワ紝杈撳叆鍙傛暟={}锛岃緭鍑哄弬鏁�={}", JSON.toJSON(staProtocol), writeResult3);
+ writeResult3 = siemensS7Net.Write(heightAddress, staProtocol.getHeight()); // 楂樺害绫诲瀷
+ }
+ }
if (writeResult1.IsSuccess && writeResult2.IsSuccess) {
Thread.sleep(200);
OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 4, (short) 2);
--
Gitblit v1.9.1