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/p206V202404/parse/global/GlParse.java                    |    3 +
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/http4Xjnk/protocol/accessToken/Res4AccessTokenVo.java |    2 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java                          |    2 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java                           |   57 ++++++++++++++++++++++++++--
 4 files changed, 60 insertions(+), 4 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
index ac6a41c..1e71d09 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
@@ -270,6 +270,24 @@
         };
     }
     /**
+     * 0x01锛氬埛鍗″紑闃� => p206V1 1
+     * 0x02锛氫腑蹇冪珯寮�闃� => p206V1 3
+     * 0x08锛氱敤鎴稟pp杩滅▼寮�闃� => p206V1 3
+     * 0x0B锛氬贰妫�鍗″紑闃� => p206V1 11
+     * @param type
+     * @return
+     */
+    public static byte openType2P206V1(byte type){
+        return switch (type) {
+            case 1 -> (byte)1 ;
+            case 2 -> (byte)3 ;
+            case 8 -> (byte)3 ;
+            case 11 -> (byte)11 ;
+            default -> (byte)-1;
+        };
+    }
+
+    /**
      * 寰楀埌鍏冲紑闃�绫诲瀷鍚嶇О
      * 0x00:鍒峰崱闂�
      * 0x01:骞冲彴鍏�
@@ -280,10 +298,10 @@
      * 0x06:鍓╀綑姘撮噺涓嶈冻鍏�
      * 0x07:鍓╀綑閲戦涓�0鍏�
      * 0x08:寮�娉�/闃�鍚庣閬撴病鏈夋祦閲忓叧
-     * 0x09:鎺夌數鍐嶄笂鐢靛叧锛�
-     * 0x0a:姘磋〃鐬椂娴侀噺涓�0鍏筹紝
-     * 0x0b:鍒峰崱寮�娉碉紝杩滅▼鍏炽��
-     * 0x0c:鐢垫睜浣庣數鍘嬪叧銆�
+     * 0x09:鎺夌數鍐嶄笂鐢靛叧
+     * 0x0a:姘磋〃鐬椂娴侀噺涓�0鍏�
+     * 0x0b:鍒峰崱寮�娉碉紝杩滅▼鍏�
+     * 0x0c:鐢垫睜浣庣數鍘嬪叧
      * @param type 瀛楄妭
      * @return 鍚嶇О
      */
@@ -305,6 +323,37 @@
             default -> "鏈煡";
         };
     }
+    /**
+     * 寰楀埌鍏冲紑闃�绫诲瀷鍚嶇О
+     * 0x00:鍒峰崱闂� => p206V1 2
+     * 0x01:骞冲彴鍏� => p206V1 4
+     * 0x02:APP鍏� => p206V1 4
+     * 0x03:闈炴硶鍗″叧 => p206V1 12
+     * 0x04:姘磋〃閫氳寮傚父鍏� => p206V1 6
+     * 0x05:鐢佃〃寮傚父鍏� => p206V1 6
+     * 0x06:鍓╀綑姘撮噺涓嶈冻鍏� => p206V1 5
+     * 0x07:鍓╀綑閲戦涓�0鍏� => p206V1 5
+     * 0x08:寮�娉�/闃�鍚庣閬撴病鏈夋祦閲忓叧 => p206V1 16
+     * 0x09:鎺夌數鍐嶄笂鐢靛叧锛� => p206V1 7
+     * 0x0a:姘磋〃鐬椂娴侀噺涓�0鍏筹紝 => p206V1 5
+     * 0x0b:鍒峰崱寮�娉碉紝杩滅▼鍏炽�� => p206V1 9
+     * 0x0c:鐢垫睜浣庣數鍘嬪叧銆� => p206V1 7
+     * @param type 瀛楄妭
+     * @return 鍚嶇О
+     */
+    public static byte closeType2P206V1(byte type){
+        return switch (type) {
+            case 0 -> (byte)2;
+            case 1,2 -> (byte)4;
+            case 3 -> (byte)12;
+            case 4,5 -> (byte)6;
+            case 6,7,10 -> (byte)5;
+            case 8 -> (byte)16;
+            case 9,12 -> (byte)7;
+            case 11 -> (byte)9;
+            default -> (byte)-1;
+        };
+    }
 
     public static String ctrlDevType(String hex){
         return switch (hex) {
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
index e279612..cc155a8 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
@@ -104,6 +104,8 @@
 
         index ++ ;//褰撳墠鐢ㄦ按鏂瑰紡
         cdData.opType = bs[index];
+        //杩涜鍏煎杞崲
+        cdData.opType = CommonV202404.openType2P206V1(cdData.opType) ;
 
         index++ ;
         cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
index 97dcc4e..960178c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.parse.global;
 
+import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404;
 import com.dy.common.mw.protocol.p206V202404.upVos.*;
 import com.dy.common.util.ByteUtil;
@@ -242,6 +243,8 @@
 
         index ++ ;
         cdData.clType = bs[index];
+        //杩涜鍏煎杞崲
+        cdData.clType = CommonV202404.closeType2P206V1(cdData.clType) ;
 
         index++ ;
         cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ;
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/http4Xjnk/protocol/accessToken/Res4AccessTokenVo.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/http4Xjnk/protocol/accessToken/Res4AccessTokenVo.java
index 0d319d6..5e5203e 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/http4Xjnk/protocol/accessToken/Res4AccessTokenVo.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/http4Xjnk/protocol/accessToken/Res4AccessTokenVo.java
@@ -2,6 +2,7 @@
 
 import com.dy.rtuMw3rd.http4Xjnk.protocol.XjnkResVo;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 /**
  * @Author: liurunyu
@@ -9,6 +10,7 @@
  * @Description
  */
 @Data
+@EqualsAndHashCode(callSuper=false)
 public class Res4AccessTokenVo extends XjnkResVo {
     public String accessToken ;
     public Integer expires ;

--
Gitblit v1.8.0