From 140981b95a73a3eaf9adcecf9227c22ec96fbba6 Mon Sep 17 00:00:00 2001 From: wangshilong Date: Wed, 11 Dec 2024 14:03:30 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=97=A0=E7=AC=A6?= =?UTF-8?q?=E5=8F=B7=E6=95=B4=E6=95=B0=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/UnsignedNumberDecodeHandler.java | 33 +++++++++++++++++++ .../command/etc/CasPressureOptimization.java | 2 +- .../vo/command/etc/TimingMode.java | 2 +- .../command/etc/TubPressureOptimization.java | 2 +- .../vo/command/scss/CasingMode.java | 2 +- .../vo/command/scss/SamplingInterval.java | 2 +- .../vo/command/scss/TimeMode.java | 2 +- 7 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/isu/gaswellwatch/modbus/data/decode/impl/UnsignedNumberDecodeHandler.java diff --git a/src/main/java/com/isu/gaswellwatch/modbus/data/decode/impl/UnsignedNumberDecodeHandler.java b/src/main/java/com/isu/gaswellwatch/modbus/data/decode/impl/UnsignedNumberDecodeHandler.java new file mode 100644 index 0000000..aa8c299 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/modbus/data/decode/impl/UnsignedNumberDecodeHandler.java @@ -0,0 +1,33 @@ +package com.isu.gaswellwatch.modbus.data.decode.impl; + +import com.isu.gaswellwatch.modbus.data.ModbusMessage; +import com.isu.gaswellwatch.modbus.data.decode.DecodeHandler; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * 无符号整数转换 + * + * @author 王仕龙 + * 2024/12/10 22:48 + */ +@Component(UnsignedNumberDecodeHandler.NAME + DecodeHandler.DECODE_NAME) +public class UnsignedNumberDecodeHandler implements DecodeHandler { + public static final String NAME = "unsignedNumber"; + + @Override + public String decode(Map commandPointMap, String value) { + if (StringUtils.isBlank(value)) { + return value; + } + return String.valueOf(Integer.parseInt(value, 16)); + } + + @Override + public void decode(Map commandPointMap, ModbusMessage.MessagePoint point) { + point.setValue(this.decode(commandPointMap, point.getOriginalValue())); + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/etc/CasPressureOptimization.java b/src/main/java/com/isu/gaswellwatch/vo/command/etc/CasPressureOptimization.java index d414da1..3b2b6b4 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/etc/CasPressureOptimization.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/etc/CasPressureOptimization.java @@ -17,7 +17,7 @@ import java.util.List; /** * 套压模式 * - * @author 王仕龙 + * @author 王仕龙 * 2024/12/11 9:22 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/etc/TimingMode.java b/src/main/java/com/isu/gaswellwatch/vo/command/etc/TimingMode.java index 40d33cd..41bfd70 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/etc/TimingMode.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/etc/TimingMode.java @@ -14,7 +14,7 @@ import java.util.Collection; import java.util.List; /** - * @author 王仕龙 + * @author 王仕龙 * 2024/12/11 9:20 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/etc/TubPressureOptimization.java b/src/main/java/com/isu/gaswellwatch/vo/command/etc/TubPressureOptimization.java index 9a8ed8c..7751b2d 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/etc/TubPressureOptimization.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/etc/TubPressureOptimization.java @@ -14,7 +14,7 @@ import java.util.Collection; import java.util.List; /** - * @author 王仕龙 + * @author 王仕龙 * 2024/12/11 9:22 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java b/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java index 2ce39c8..99bad71 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java @@ -19,7 +19,7 @@ import java.util.List; /** * 套压模式 * - * @author 王仕龙 + * @author 王仕龙 * 2024/12/10 17:01 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/scss/SamplingInterval.java b/src/main/java/com/isu/gaswellwatch/vo/command/scss/SamplingInterval.java index f2422bc..ae51bbe 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/scss/SamplingInterval.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/scss/SamplingInterval.java @@ -16,7 +16,7 @@ import java.util.List; /** * 采样间隔 * - * @author 王仕龙 + * @author 王仕龙 * 2024/12/10 17:24 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/scss/TimeMode.java b/src/main/java/com/isu/gaswellwatch/vo/command/scss/TimeMode.java index e8dd84c..00ae413 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/scss/TimeMode.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/scss/TimeMode.java @@ -17,7 +17,7 @@ import java.util.List; /** * 时间模式 * - * @author 王仕龙 + * @author 王仕龙 * 2024/12/10 16:57 */ @Getter From 1601ac38cd9b74585636bc90839bc4c66af3abc6 Mon Sep 17 00:00:00 2001 From: wangshilong Date: Wed, 11 Dec 2024 14:54:47 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8C=87=E4=BB=A4=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java b/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java index 99bad71..f24b0b8 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java @@ -82,7 +82,7 @@ public class CasingMode extends Command implements Timing { command.setLength(0); // 地址码 功能码 起始地址 连续长度 连续字长 // 01 10 00AA 0004 08 - command.append("011000AA000204"); + command.append("011000AA000408"); command.append(StringUtils.leftPad(Long.toHexString(this.toSeconds(this.minWellCloseTimeDuration)), 8, "0")); command.append(StringUtils.leftPad(Long.toHexString(this.toSeconds(this.maxWellCloseTimeDuration)), 8, "0")); resultList.add(ModbusCommandDto.builder().command(command.toString()).length(16).build());