From 6fcad8a10aab91b9a0825b0465b7e21d37df2332 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 22 十月 2025 11:53:13 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/RgvThread.java | 62 +++++++++++++++++++++++++------
1 files changed, 50 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 3bbc231..3d88efe 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -5,6 +5,7 @@
import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
@@ -35,6 +36,7 @@
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
+import java.sql.Wrapper;
import java.text.MessageFormat;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@@ -64,13 +66,17 @@
//閿佸畾鏍囪
private boolean PakMk = true;
//鍏ュ簱鏍囪
- private boolean PakIn = true;
- //鍑哄簱鏍囪
- private boolean PakOut = true;
- //鏍规嵁璺濈璺宠繃鍙栬揣
- private boolean PakRgv = true;
- //鎺ラ┏鏍囪
- private boolean PakToCrn = true;
+// private boolean PakIn = true;
+// //鍑哄簱鏍囪
+// private boolean PakOut = true;
+// //鏍规嵁璺濈璺宠繃鍙栬揣
+// private boolean PakRgv = true;
+// //鎺ラ┏鏍囪
+// private boolean PakToCrn = true;
+ // 浠诲姟閿佸畾
+ private boolean Paking = true;
+// //杩炵画浠诲姟涓嬪彂
+// private boolean PakAll = true;
public RgvThread(RgvSlave slave) {
this.slave = slave;
@@ -121,9 +127,10 @@
}
}
private static final Set<Integer> specialSites = new HashSet<>(
- Arrays.asList(1004,1014,1018,1028,1035));
+ Arrays.asList(1004,1014,1018,1028,1035,2006,2012,2018,2024,2030));
public static final Map<Integer, Integer> StaPosition = new HashMap<Integer, Integer>() {{
put(1004, 1001);put(1014, 1011);put(1018, 1015);put(1028, 1025);put(1035, 1032);
+ put(2006, 2004);put(2012, 2010);put(2018, 2016);put(2024, 2022);put(2030, 2028);
}};
public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
@@ -232,13 +239,46 @@
buffer[byteIndex] &= ~(1 << bitIndex); // 娓呴浂
}
}
+ private void updateFlagInDb(String field, boolean value) {
+ try {
+ BasRgvService basRgvService = SpringUtils.getBean(BasRgvService.class);
+
+ EntityWrapper<BasRgv> wrapper = new EntityWrapper<>();
+ wrapper.eq("rgv_no", slave.getId());
+
+ BasRgv entity = new BasRgv();
+ switch (field) {
+ case "pak_mk": entity.setPakMk(value ? "1" : "0"); break;
+ case "pak_in": entity.setPakIn(value ? "1" : "0"); break;
+ case "pak_out": entity.setPakOut(value ? "1" : "0"); break;
+ case "pak_rgv": entity.setPakRgv(value ? "1" : "0"); break;
+ case "pak_to_crn":entity.setPakToCrn(value ? "1" : "0"); break;
+ case "paking":entity.setPaking(value ? "1" : "0"); break;
+ case "pak_all":entity.setPakAll(value ? "1" : "0"); break;
+ default:
+ log.warn("鏈煡鏍囧織浣嶅瓧娈�: {}", field);
+ return;
+ }
+
+ basRgvService.update(entity, wrapper);
+// log.info("RGV鏍囧織浣嶆洿鏂版垚鍔� [rgv_no:{}] {}={}", slave.getId(), field, value ? "1" : "0");
+
+ } catch (Exception e) {
+ log.error("鏇存柊RGV鏍囧織浣嶅紓甯� [rgv_no:{}] {}={} 閿欒锛歿}", slave.getId(), field, value, e.getMessage());
+ }
+ }
+
+
+ public void setPakMk(boolean pakMk) {
+ this.PakMk = pakMk;
+ updateFlagInDb("pak_mk", pakMk);
+ }
/**
* 璇诲彇鐘舵��
*/
private void readStatus(){
try {
- ArrayList<Integer> staNos = getStaNo();
OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 38);
if (result.IsSuccess) {
@@ -272,9 +312,7 @@
rgvProtocol.setErr10(status3[1]);
rgvProtocol.setErr11(status3[2]);
rgvProtocol.setErr12(status3[3]);
- BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
-
-
+// BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
try {
// 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
--
Gitblit v1.9.1