From fb50c6c8111fffd16091ce25d5d389ea3fcc560f Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 21 三月 2025 14:44:39 +0800
Subject: [PATCH] 不同协议中的开关阀类型进行兼容

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java
index 8019737..5a9f2bc 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java
@@ -3,7 +3,6 @@
 import com.dy.common.mw.protocol.*;
 import com.dy.common.mw.protocol.p206V1.*;
 import com.dy.common.mw.protocol.p206V1.parse.global.GlParse;
-import com.dy.common.mw.protocol.p206V1.upVos.DataCd81Vo;
 import com.dy.common.mw.protocol.p206V1.upVos.DataCd83CloseVo;
 import com.dy.common.mw.protocol.p206V1.upVos.DataCd83OpenVo;
 import com.dy.common.mw.protocol.rtuState.ValveStateInfo;
@@ -25,7 +24,7 @@
     @Override
     public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
         ParseParamsForUpV1 para = (ParseParamsForUpV1)params ;
-        int bsLen = new CommonV1().parseDataLen(para.upBuffer) ;
+        int bsLen = new CommonV1().parseDataLen4P206(para.upBuffer) ;
         if(bsLen > 0){
             this.doParse(para.upBuffer,
                     bsLen,
@@ -78,7 +77,7 @@
             confirmCommand.isQuickSend = true ;
         }
         if(para.data != null && para.data.getSubData() != null){
-            Object subData = para.data.getSubData() ;
+            Object subData = ((DataV1)para.data.getSubData()).subData ;
             if(subData instanceof DataCd83OpenVo){
                 callback.notify(new ValveStateInfo(true));
             }else if(subData instanceof DataCd83CloseVo){
@@ -86,8 +85,8 @@
             }
         }
 
-        callback.callback(midRs.reportOrResponse_trueOrFalse);
-        return new MidResult[]{midRs, confirmCommand} ;
+        callback.callback(midRs.reportOrResponse_trueOrFalse, para.data.subData==null?null:((DataV1)(para.data.subData)).subData);
+        return new MidResult[]{confirmCommand, midRs} ;
     }
     /**
      * 鎵ц鍒嗘瀽
@@ -217,13 +216,14 @@
         Cd_83_Up obj = new Cd_83_Up() ;
         //涓嬮潰涓ゆ潯涓婃姤鏁版嵁锛孖C鍗$紪鐮侀兘鏄潪BCD缂栫爜鑰屽紓甯�
         //String hex = "683C68B08485353448830200000000001000282353FE739444000001000313000101211615000101210000000000000000000200019000011518000101210A7B16";
-        String hex = "683C68B05301154CEA8306001000000004343638483BBBB9E0001000001603000101215907000101210000000000000000000500019000015308000101210AF716";
+        //String hex = "683C68B05301154CEA8306001000000004343638483BBBB9E0001000001603000101215907000101210000000000000000000500019000015308000101210AF716";
+        String hex = "683868B0532328B90083074065840000FE00061010282353535B7F7691590100404022231024737F3F3F1FFF957296944239050000390001900000F916";
         byte[] bs = ByteUtil.hex2Bytes(hex) ;
 
         Data data = new Data() ;
         data.setSubData(new DataV1()) ;
 
-        int bsLen = new CommonV1().parseDataLen(bs) ;
+        int bsLen = new CommonV1().parseDataLen4P206(bs) ;
         if(bsLen > 0){
             try {
             obj.doParse(bs,

--
Gitblit v1.8.0