From a1e94379b115721b2e604070dc48063b8016f72f Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 21 十月 2025 19:32:59 +0800
Subject: [PATCH] 侧面输送线出库码盘信息对接
---
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 18 +++++++++
src/main/java/com/zy/asrs/entity/TaskWrk.java | 8 ++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 5 ++
src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java | 15 +++++++
src/main/resources/mapper/TaskWrkLogMapper.xml | 4 +
src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java | 3 +
src/main/resources/mapper/TaskWrkMapper.xml | 3 +
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 3 +
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 47 +++++++++++++++++++++++
src/main/java/com/zy/asrs/entity/TaskWrkLog.java | 9 ++++
10 files changed, 114 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index ced303e..1822651 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -180,6 +180,14 @@
@TableField("type")
private String type;
+ @TableField("mp")
+ private short mp;
+
+ @TableField("lx")
+ private short lx;
+
+ @TableField("lev")
+ private short lev;
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 29e06e5..08df704 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
@@ -171,6 +171,15 @@
@TableField("type")
private String type;
+ @TableField("mp")
+ private short mp;
+
+ @TableField("lx")
+ private short lx;
+
+ @TableField("lev")
+ private short lev;
+
public TaskWrkLog() {
}
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
index 73bfea3..bf4fc42 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
@@ -35,6 +35,21 @@
//鍫嗗灈鏈�
private Integer crn;
+ /**
+ * 1锛氱爜鐩樸�� 2涓嶇爜鐩�
+ */
+ private short mp;
+
+ /**
+ * 绉嶇被1 姘歌繙涓嶅彔鐩橈紱2鍙�2灞傦紱3鍙犱笁灞傦紱4鍙犲洓灞�
+ */
+ private short lx;
+
+ /**
+ * 鐮佺洏灞傛暟
+ */
+ private short lev;
+
public TaskCreateParam() {
}
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 a91420c..c907cd3 100644
--- a/src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java
+++ b/src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java
@@ -18,6 +18,9 @@
//鏄惁婊℃澘
private Integer fullPlt;
+ // 鐮佺洏楂樺害 1浣�2楂�
+ private short mpHigh;
+
// 鐗╂枡鍙峰垪琛�
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 c3948e6..786c08c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -182,6 +182,7 @@
storageEscalationParam.setBarcode(BoxNo);
storageEscalationParam.setMatIdList(staProtocol.getMatIdList());
storageEscalationParam.setFullPlt(staProtocol.isFullPlt() ? 1 : 0);
+ storageEscalationParam.setMpHigh(staProtocol.getMpHigh());
log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
if (taskWrk == null) {
@@ -254,6 +255,10 @@
boolean offer = false;
try {
offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ staProtocol.setMp(taskWrk.getMp());
+ staProtocol.setLx(taskWrk.getLx());
+ staProtocol.setLev(taskWrk.getLev());
+ MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol));
} catch (Exception e) {
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 8e0d452..aa8cb04 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -81,6 +81,9 @@
taskWrk.setBarcode(param.getBarcode());//鏉$爜
taskWrk.setCrnNo(locMast.getCrnNo());
taskWrk.setType(param.getType());
+ taskWrk.setMp(param.getMp());
+ taskWrk.setLx(param.getLx());
+ taskWrk.setLev(param.getLev());
if (param.getIoType() == 1) {
taskWrk.setWrkSts(1);
if (!Cools.isEmpty(param.getTargetPoint())) {
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 06e9ca6..54b0c3f 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -73,6 +73,24 @@
// 鏉$爜锛屼晶闈㈠嚭搴撶粰杈撻�佺嚎
private String barcode;
+ // 楂樺害锛屼晶闈㈢爜鐩樼殑楂樺害
+ private short mpHigh;
+
+ /**
+ * 1锛氱爜鐩樸�� 2涓嶇爜鐩�
+ */
+ private short mp;
+
+ /**
+ * 绉嶇被1 姘歌繙涓嶅彔鐩橈紱2鍙�2灞傦紱3鍙犱笁灞傦紱4鍙犲洓灞�
+ */
+ private short lx;
+
+ /**
+ * 鐮佺洏灞傛暟
+ */
+ private short lev;
+
// 澶栧舰妫�娴� ------------------------------------------------------------------------
// 鍓嶈秴闄�
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index f7a97a0..baec76c 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -159,6 +159,11 @@
write((StaProtocol) task.getData());
read();
break;
+ // 鍑哄叆搴撳啓鐮佺洏淇℃伅
+ case 3:
+ write3((StaProtocol) task.getData());
+ read();
+ break;
default:
break;
}
@@ -653,6 +658,48 @@
}
+ private void write3(StaProtocol staProtocol){
+
+ int lx = 0,mp = 0,lev = 0;
+
+ switch (staProtocol.getSiteId()) {
+ case 205: lx = 16;mp = 18;lev=344;break;
+ case 207: lx = 24;mp = 26;lev=348;break;
+ case 210: lx = 36;mp = 38;lev=354;break;
+ case 212: lx = 44;mp = 46;lev=358;break;
+ default:
+ log.error("鍐欑爜鐩樹俊鎭珯鐐规湁璇細{}" , staProtocol.getSiteId());
+ return;
+ }
+
+ String addressPre = "DB79.";
+
+ //浠诲姟涓嬪彂娆℃暟
+ int writeCount = 0;
+ //浠诲姟涓嬪彂鎴愬姛鏍囪瘑
+ boolean writeFlag = false;
+ while (writeCount < 5) {
+ OperateResult writeResult1 = siemensS7Net.Write(addressPre + lx, staProtocol.getLx()); // 宸ヨ绫诲瀷
+ OperateResult writeResult2 = siemensS7Net.Write(addressPre + mp, staProtocol.getMp()); // 鏄惁鐮佺洏
+ OperateResult writeResult3 = siemensS7Net.Write(addressPre + lev, staProtocol.getLev()); // 鐮佺洏灞傛暟
+ if (writeResult1.IsSuccess && writeResult2.IsSuccess && writeResult3.IsSuccess) {
+ writeFlag = true;
+ log.info("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ break;
+ } else {
+ writeCount++;
+ log.error("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ }
+ }
+
+ //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡
+ if (!writeFlag) {
+ //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒�
+ MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol));
+ log.error("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ラ噸鏂版帹閫侀槦鍒椼�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
+ }
+ }
+
// /**
// * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏�
// */
diff --git a/src/main/resources/mapper/TaskWrkLogMapper.xml b/src/main/resources/mapper/TaskWrkLogMapper.xml
index e07c447..373e6bb 100644
--- a/src/main/resources/mapper/TaskWrkLogMapper.xml
+++ b/src/main/resources/mapper/TaskWrkLogMapper.xml
@@ -25,7 +25,9 @@
<result column="crn_no" property="crnNo" />
<result column="command_step" property="commandStep" />
<result column="transfer_mark" property="transferMark" />
-
+ <result column="mp" property="mp"/>
+ <result column="lx" property="lx"/>
+ <result column="lev" property="lev"/>
</resultMap>
</mapper>
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 1efa21d..b7d3f81 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -25,6 +25,9 @@
<result column="command_step" property="commandStep" />
<result column="transfer_mark" property="transferMark" />
<result column="mark_start" property="markStart"/>
+ <result column="mp" property="mp"/>
+ <result column="lx" property="lx"/>
+ <result column="lev" property="lev"/>
</resultMap>
--
Gitblit v1.9.1