From 16f4bb3c28fc85cffcc511718c903ada9fdab134 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期五, 26 十二月 2025 16:59:45 +0800
Subject: [PATCH] 调用mes导入工程参数修改,Excel表数据流程卡号一致;增加读取层号/工程号方法; 工程号一致覆盖更新
---
mes-common/serverBase/src/main/java/com/mes/s7/enhanced/EnhancedS7Serializer.java | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/mes-common/serverBase/src/main/java/com/mes/s7/enhanced/EnhancedS7Serializer.java b/mes-common/serverBase/src/main/java/com/mes/s7/enhanced/EnhancedS7Serializer.java
index 3831e13..d4c24ef 100644
--- a/mes-common/serverBase/src/main/java/com/mes/s7/enhanced/EnhancedS7Serializer.java
+++ b/mes-common/serverBase/src/main/java/com/mes/s7/enhanced/EnhancedS7Serializer.java
@@ -487,7 +487,25 @@
private void extractField(S7ParseData item, Object data) {
switch (item.getDataType()) {
case BOOL:
- item.setDataItem(DataItem.createReqByBoolean((Boolean) data));
+ // 绫诲瀷杞崲瀹归敊锛氭敮鎸� Integer/Number 杞� Boolean
+ Boolean boolValue;
+ if (data instanceof Boolean) {
+ boolValue = (Boolean) data;
+ } else if (data instanceof Number) {
+ boolValue = ((Number) data).intValue() != 0;
+ } else if (data instanceof String) {
+ String str = ((String) data).trim().toLowerCase();
+ boolValue = "true".equals(str) || "1".equals(str) || "on".equals(str);
+ } else {
+ // 灏濊瘯杞崲涓烘暟瀛楀啀杞珺oolean
+ try {
+ int intValue = Integer.parseInt(String.valueOf(data));
+ boolValue = intValue != 0;
+ } catch (NumberFormatException e) {
+ throw new S7CommException("鏃犳硶灏嗗�艰浆鎹负Boolean: " + data + " (绫诲瀷: " + (data != null ? data.getClass().getName() : "null") + ")");
+ }
+ }
+ item.setDataItem(DataItem.createReqByBoolean(boolValue));
break;
case BYTE:
item.setDataItem(DataItem.createReqByByte(ByteReadBuff.newInstance((byte[]) data)
--
Gitblit v1.8.0