From c9a3644b14e1307addeadea23cb5c2f5b2d8b28f Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 12 六月 2024 09:45:02 +0800
Subject: [PATCH] 1、完善通信中间件TkFindP206V1_0_0类和log4j2.yml代码; 2、删除common模块中的HttpUtil类(用不到了); 3、实现P206V1_0_0协议的功能码99H和A0H的上下行数据解析。

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java             |  168 ++++++++++
 /dev/null                                                                                                          |  342 ---------------------
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java              |   17 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Up.java               |   72 ++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java             |  168 ++++++++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd99Vo.java             |   28 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java              |   17 +
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/log4j2.yml                                              |   17 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Up.java               |   72 ++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindP206V1_0_0.java |    2 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java                   |    6 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA0Vo.java             |   28 +
 12 files changed, 584 insertions(+), 353 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
index 3724072..e794d02 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
@@ -30,6 +30,8 @@
 	public static final String cd_93 = "93" ;//閬ユ帶鍏抽棴闃�闂�
 	public static final String cd_97 = "97" ;//APP杩滅▼寮�闃�
 	public static final String cd_98 = "98" ;//APP杩滅▼鍏抽榾
+	public static final String cd_99 = "99" ;//瀹氭椂鍏抽榾寮�闃�
+	public static final String cd_A0 = "A0" ;//瀹氶噺鍏抽榾寮�闃�
 	public static final String cd_3C = "3C" ;//璁剧疆姘翠环
 	public static final String cd_6C = "6C" ;//鏌ヨ姘翠环
 	public static final String cd_3D = "3D" ;//璁剧疆榛戝悕鍗�
@@ -63,11 +65,13 @@
 			(code.equals(cd_93) ? "閬ユ帶鍏抽棴闃�闂�" :
 			(code.equals(cd_97) ? "APP杩滅▼寮�闃�" :
 			(code.equals(cd_98) ? "APP杩滅▼鍏抽榾" :
+			(code.equals(cd_99) ? "瀹氭椂鍏抽榾寮�闃�" :
+			(code.equals(cd_A0) ? "瀹氶噺鍏抽榾寮�闃�" :
 			(code.equals(cd_3C) ? "璁剧疆姘翠环" :
 			(code.equals(cd_6C) ? "鏌ヨ姘翠环" :
 			(code.equals(cd_3D) ? "璁剧疆榛戝悕鍗�" :
 			(code.equals(cd_C0) ? "鑷姤瀹炴椂鏁版嵁" :
-			""))))))))))))))))))))))))))))))) ;
+			""))))))))))))))))))))))))))))))))) ;
 		return name ;
 	}
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java
new file mode 100644
index 0000000..af014d5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java
@@ -0,0 +1,17 @@
+package com.dy.common.mw.protocol.p206V1_0_0.downVos;
+
+import lombok.Data;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/5/28 21:30
+ * @Description 瀹氭椂鍏抽榾寮�闃�
+ */
+@Data
+public class Com99Vo {
+    public String icCardNo ;//17浣嶈櫄鎷烮C鍗$紪鍙�(鍗忚鏄�10浣嶆暟瀛�)
+    public Integer moneyRemain;//鍓╀綑閲戦(鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏�)
+    public Double waterPrice;//姘翠环(鍙栧�艰寖鍥�0.00~99.99鍏�/m3)
+    public Integer minutes ;//鐢ㄦ按鏃堕暱锛�0~9999鍒嗛挓锛�
+    public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java
new file mode 100644
index 0000000..9f78660
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java
@@ -0,0 +1,17 @@
+package com.dy.common.mw.protocol.p206V1_0_0.downVos;
+
+import lombok.Data;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/5/28 21:30
+ * @Description 瀹氭椂鍏抽榾寮�闃�
+ */
+@Data
+public class ComA0Vo {
+    public String icCardNo ;//17浣嶈櫄鎷烮C鍗$紪鍙�(鍗忚鏄�10浣嶆暟瀛�)
+    public Integer moneyRemain;//鍓╀綑閲戦(鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏�)
+    public Double waterPrice;//姘翠环(鍙栧�艰寖鍥�0.00~99.99鍏�/m3)
+    public Integer waterAmount ;//棰勭敤姘撮噺锛�0~9999 m3锛�
+    public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java
new file mode 100644
index 0000000..9e84e6b
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java
@@ -0,0 +1,168 @@
+package com.dy.common.mw.protocol.p206V1_0_0.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com99Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+/**
+ * @Author liurunyu
+ * @Date 2024/06/12 9:30
+ * @Description
+ */
+@AnnotationCodeDown(ifAny={
+        CodeV1_0_1.cd_99
+})
+public class Cd_99_Down implements CodeParse {
+
+    @Override
+    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+        ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ;
+        MidResultToRtu midRs = new MidResultToRtu() ;
+        byte[] bs = this.doParse(midRs, para) ;
+
+        midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
+        midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+        midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+        midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+        midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+        midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+        midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+        midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+        midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+        midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+        if(isLowPower != null && isLowPower.booleanValue()){
+            //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+            midRs.isQuickSend = true ;
+        }
+
+        return new MidResult[]{midRs} ;
+    }
+
+    /**
+     * 鏋勯�犱笅琛屾暟鎹�
+     * @param midRs 鍙傛暟
+     * @param para 鍙傛暟
+     * @return 瀛楄妭鏁扮粍
+     * @throws Exception 寮傚父
+     */
+    public byte[] doParse(MidResultToRtu midRs, ParseParamsForDownV1_0_1 para) throws Exception {
+        CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ;
+        byte[] bytes ;
+        byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ;
+        byte index = 0 ;
+        bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ;
+
+        index++ ;
+        bsHead[index] = 0 ;//甯ч暱搴�
+
+        index++ ;
+        bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ;
+
+        index++ ;
+        bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ;
+
+        index++ ;
+        GlCreate.createRtuAddr(para.rtuAddr, bsHead, index);
+        index += 5 ;
+
+        ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ;
+
+        JSONObject obj = (JSONObject)para.param;
+        String json = obj.toJSONString();
+        Com99Vo cvo = JSON.parseObject(json, Com99Vo.class) ;
+        if(cvo == null){
+            throw new Exception("json杞珻om97Vo涓簄ull") ;
+        }
+        if(cvo.icCardNo == null){
+            throw new Exception("铏氭嫙IC鍗$紪鍙蜂笉鑳戒负绌�") ;
+        }
+        if(cvo.moneyRemain == null){
+            throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖") ;
+        }
+        if(cvo.waterPrice == null){
+            throw new Exception("姘翠环涓嶈兘涓虹┖") ;
+        }
+        if(cvo.minutes == null){
+            throw new Exception("鐢ㄦ按鏃堕暱涓嶈兘涓虹┖") ;
+        }
+       if(cvo.minutes < 0 || cvo.minutes > 9999){
+            throw new Exception("鐢ㄦ按鏃堕暱鍙栧�艰寖鍥存槸0~9999鍒嗛挓") ;
+        }
+
+        String[] icCardNoGrp = CommonV1_0_1.dealIcCardNo(cvo.icCardNo) ;
+        if(icCardNoGrp[0] != null){
+            midRs.param = icCardNoGrp[0] ;
+        }
+
+        byte[] bs = new byte[13] ;
+        index = 0 ;
+        ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ;
+
+        index += 5 ;
+        Integer money = Double.valueOf(cvo.moneyRemain * 100.0D).intValue() ;
+        byte[] bTemp = ByteUtil.int2BCD_LE(money) ;
+        int bTempLen = bTemp.length ;
+        int count = 0 ;
+        for(int i = 0 ; i < bTempLen; i++){
+            bs[index++] = bTemp[i] ;
+            count ++ ;
+            if(count >= 4){
+                break ;
+            }
+        }
+        for(; count < 4; count++){
+            bs[index++] = 0 ;
+        }
+
+        Integer price = Double.valueOf(cvo.waterPrice * 100.0D).intValue() ;
+        bTemp = ByteUtil.int2BCD_LE(price) ;
+        bTempLen = bTemp.length ;
+        count = 0 ;
+        for(int i = 0 ; i < bTempLen; i++){
+            bs[index++] = bTemp[i] ;
+            count ++ ;
+            if(count >= 2){
+                break ;
+            }
+        }
+        for(; count < 2; count++){
+            bs[index++] = 0 ;
+        }
+
+
+        bTemp = ByteUtil.int2BCD_LE(cvo.minutes) ;
+        bTempLen = bTemp.length ;
+        count = 0 ;
+        for(int i = 0 ; i < bTempLen; i++){
+            bs[index++] = bTemp[i] ;
+            count ++ ;
+            if(count >= 2){
+                break ;
+            }
+        }
+        for(; count < 2; count++){
+            bs[index++] = 0 ;
+        }
+
+        bytes = ByteUtil.bytesMerge(bsHead, bs) ;
+
+        GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓�
+
+        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+        return bytes ;
+    }
+
+}
+
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Up.java
new file mode 100644
index 0000000..c6ca29d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Up.java
@@ -0,0 +1,72 @@
+package com.dy.common.mw.protocol.p206V1_0_0.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V1_0_0.*;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd98Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd99Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+/**
+ * @Author liurunyu
+ * @Date 2024/06/12 9:30
+ * @Description
+ */
+@AnnotationCodeUp(ifAny={
+        CodeV1_0_1.cd_99
+})
+@SuppressWarnings("unused")
+public class Cd_99_Up implements CodeParse {
+
+    private static final Logger log = LogManager.getLogger(Cd_99_Up.class);
+
+    /**
+     * 鍒嗘瀽涓婅鏁版嵁
+     */
+    @Override
+    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+        ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ;
+        int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ;
+        if(bsLen > 0){
+            this.doParse(para.upBuffer,
+                    bsLen,
+                    para.upCode,
+                    para.data) ;
+        }
+        log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+        MidResultFromRtu midRs = new MidResultFromRtu() ;
+        midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+        midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+        midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+        midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+        midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+        midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+        midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤
+
+        callback.callback(midRs.reportOrResponse_trueOrFalse);
+        return new MidResult[]{midRs} ;
+    }
+    /**
+     * 鎵ц鍒嗘瀽
+     * @param bs 瀛楄妭鏁扮粍
+     * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+     * @param dataCode 鍔熻兘鐮�
+     * @param data 鏁版嵁
+     * @throws Exception 寮傚父
+     */
+    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+        DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ;
+        DataCd99Vo cdData = new DataCd99Vo() ;
+        dV1.subData = cdData ;
+        //铏氭嫙鍗″彿
+        cdData.cardNo = ByteUtil.BCD2String_LE(bs, ProtocolConstantV206V1_0_0.dataIndex, ProtocolConstantV206V1_0_0.dataIndex+4) ;
+        if(bs[ProtocolConstantV206V1_0_0.dataIndex + 5] == (byte)0xAA){
+            cdData.success = true ;
+        }else{
+            cdData.success = false ;
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java
new file mode 100644
index 0000000..919df26
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java
@@ -0,0 +1,168 @@
+package com.dy.common.mw.protocol.p206V1_0_0.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com99Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.ComA0Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+/**
+ * @Author liurunyu
+ * @Date 2024/06/12 9:30
+ * @Description
+ */
+@AnnotationCodeDown(ifAny={
+        CodeV1_0_1.cd_A0
+})
+public class Cd_A0_Down implements CodeParse {
+
+    @Override
+    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+        ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ;
+        MidResultToRtu midRs = new MidResultToRtu() ;
+        byte[] bs = this.doParse(midRs, para) ;
+
+        midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
+        midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+        midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+        midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+        midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+        midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+        midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+        midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+        midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+        midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+        if(isLowPower != null && isLowPower.booleanValue()){
+            //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+            midRs.isQuickSend = true ;
+        }
+
+        return new MidResult[]{midRs} ;
+    }
+
+    /**
+     * 鏋勯�犱笅琛屾暟鎹�
+     * @param midRs 鍙傛暟
+     * @param para 鍙傛暟
+     * @return 瀛楄妭鏁扮粍
+     * @throws Exception 寮傚父
+     */
+    public byte[] doParse(MidResultToRtu midRs, ParseParamsForDownV1_0_1 para) throws Exception {
+        CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ;
+        byte[] bytes ;
+        byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ;
+        byte index = 0 ;
+        bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ;
+
+        index++ ;
+        bsHead[index] = 0 ;//甯ч暱搴�
+
+        index++ ;
+        bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ;
+
+        index++ ;
+        bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ;
+
+        index++ ;
+        GlCreate.createRtuAddr(para.rtuAddr, bsHead, index);
+        index += 5 ;
+
+        ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ;
+
+        JSONObject obj = (JSONObject)para.param;
+        String json = obj.toJSONString();
+        ComA0Vo cvo = JSON.parseObject(json, ComA0Vo.class) ;
+        if(cvo == null){
+            throw new Exception("json杞珻om97Vo涓簄ull") ;
+        }
+        if(cvo.icCardNo == null){
+            throw new Exception("铏氭嫙IC鍗$紪鍙蜂笉鑳戒负绌�") ;
+        }
+        if(cvo.moneyRemain == null){
+            throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖") ;
+        }
+        if(cvo.waterPrice == null){
+            throw new Exception("姘翠环涓嶈兘涓虹┖") ;
+        }
+        if(cvo.waterAmount == null){
+            throw new Exception("棰勭敤姘撮噺涓嶈兘涓虹┖") ;
+        }
+       if(cvo.waterAmount < 0 || cvo.waterAmount > 9999){
+            throw new Exception("棰勭敤姘撮噺鍙栧�艰寖鍥存槸0~9999m3") ;
+        }
+
+        String[] icCardNoGrp = CommonV1_0_1.dealIcCardNo(cvo.icCardNo) ;
+        if(icCardNoGrp[0] != null){
+            midRs.param = icCardNoGrp[0] ;
+        }
+
+        byte[] bs = new byte[13] ;
+        index = 0 ;
+        ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ;
+
+        index += 5 ;
+        Integer money = Double.valueOf(cvo.moneyRemain * 100.0D).intValue() ;
+        byte[] bTemp = ByteUtil.int2BCD_LE(money) ;
+        int bTempLen = bTemp.length ;
+        int count = 0 ;
+        for(int i = 0 ; i < bTempLen; i++){
+            bs[index++] = bTemp[i] ;
+            count ++ ;
+            if(count >= 4){
+                break ;
+            }
+        }
+        for(; count < 4; count++){
+            bs[index++] = 0 ;
+        }
+
+        Integer price = Double.valueOf(cvo.waterPrice * 100.0D).intValue() ;
+        bTemp = ByteUtil.int2BCD_LE(price) ;
+        bTempLen = bTemp.length ;
+        count = 0 ;
+        for(int i = 0 ; i < bTempLen; i++){
+            bs[index++] = bTemp[i] ;
+            count ++ ;
+            if(count >= 2){
+                break ;
+            }
+        }
+        for(; count < 2; count++){
+            bs[index++] = 0 ;
+        }
+
+
+        bTemp = ByteUtil.int2BCD_LE(cvo.waterAmount) ;
+        bTempLen = bTemp.length ;
+        count = 0 ;
+        for(int i = 0 ; i < bTempLen; i++){
+            bs[index++] = bTemp[i] ;
+            count ++ ;
+            if(count >= 2){
+                break ;
+            }
+        }
+        for(; count < 2; count++){
+            bs[index++] = 0 ;
+        }
+
+        bytes = ByteUtil.bytesMerge(bsHead, bs) ;
+
+        GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓�
+
+        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+        return bytes ;
+    }
+
+}
+
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Up.java
new file mode 100644
index 0000000..7b133e3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Up.java
@@ -0,0 +1,72 @@
+package com.dy.common.mw.protocol.p206V1_0_0.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V1_0_0.*;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd99Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdA0Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+/**
+ * @Author liurunyu
+ * @Date 2024/06/12 9:30
+ * @Description
+ */
+@AnnotationCodeUp(ifAny={
+        CodeV1_0_1.cd_A0
+})
+@SuppressWarnings("unused")
+public class Cd_A0_Up implements CodeParse {
+
+    private static final Logger log = LogManager.getLogger(Cd_A0_Up.class);
+
+    /**
+     * 鍒嗘瀽涓婅鏁版嵁
+     */
+    @Override
+    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+        ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ;
+        int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ;
+        if(bsLen > 0){
+            this.doParse(para.upBuffer,
+                    bsLen,
+                    para.upCode,
+                    para.data) ;
+        }
+        log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+        MidResultFromRtu midRs = new MidResultFromRtu() ;
+        midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+        midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+        midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+        midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+        midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+        midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+        midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤
+
+        callback.callback(midRs.reportOrResponse_trueOrFalse);
+        return new MidResult[]{midRs} ;
+    }
+    /**
+     * 鎵ц鍒嗘瀽
+     * @param bs 瀛楄妭鏁扮粍
+     * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+     * @param dataCode 鍔熻兘鐮�
+     * @param data 鏁版嵁
+     * @throws Exception 寮傚父
+     */
+    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+        DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ;
+        DataCdA0Vo cdData = new DataCdA0Vo() ;
+        dV1.subData = cdData ;
+        //铏氭嫙鍗″彿
+        cdData.cardNo = ByteUtil.BCD2String_LE(bs, ProtocolConstantV206V1_0_0.dataIndex, ProtocolConstantV206V1_0_0.dataIndex+4) ;
+        if(bs[ProtocolConstantV206V1_0_0.dataIndex + 5] == (byte)0xAA){
+            cdData.success = true ;
+        }else{
+            cdData.success = false ;
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd99Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd99Vo.java
new file mode 100644
index 0000000..67ebed5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd99Vo.java
@@ -0,0 +1,28 @@
+package com.dy.common.mw.protocol.p206V1_0_0.upVos;
+
+import lombok.Data;
+
+/**
+ * @Author liurunyu
+ * @Date 2024/01/13 10:08
+ * @LastEditTime 2024/01/13 10:08
+ * @Description
+ */
+@Data
+public class DataCd99Vo {
+    public String cardNo ;//铏氭嫙鍗″彿
+    public boolean success;
+
+    public String toString(){
+        StringBuilder sb = new StringBuilder() ;
+        sb.append("   瀹氭椂鍏抽榾寮�闃�搴旂瓟:\n");
+        sb.append("      铏氭嫙鍗″彿锛�");
+        sb.append(cardNo);
+        sb.append("\n");
+        sb.append("      缁撴灉锛�");
+        sb.append(success?"鎵ц":"澶辫触");
+        sb.append("\n");
+
+        return sb.toString() ;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA0Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA0Vo.java
new file mode 100644
index 0000000..058b9f7
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA0Vo.java
@@ -0,0 +1,28 @@
+package com.dy.common.mw.protocol.p206V1_0_0.upVos;
+
+import lombok.Data;
+
+/**
+ * @Author liurunyu
+ * @Date 2024/01/13 10:08
+ * @LastEditTime 2024/01/13 10:08
+ * @Description
+ */
+@Data
+public class DataCdA0Vo {
+    public String cardNo ;//铏氭嫙鍗″彿
+    public boolean success;
+
+    public String toString(){
+        StringBuilder sb = new StringBuilder() ;
+        sb.append("   瀹氶噺鍏抽榾寮�闃�搴旂瓟:\n");
+        sb.append("      铏氭嫙鍗″彿锛�");
+        sb.append(cardNo);
+        sb.append("\n");
+        sb.append("      缁撴灉锛�");
+        sb.append(success?"鎵ц":"澶辫触");
+        sb.append("\n");
+
+        return sb.toString() ;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/HttpUtils.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/HttpUtils.java
deleted file mode 100644
index 05cee30..0000000
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/HttpUtils.java
+++ /dev/null
@@ -1,342 +0,0 @@
-package com.dy.common.util;
-
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.NameValuePair;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.config.AuthSchemes;
-import org.apache.http.client.config.CookieSpecs;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.client.entity.UrlEncodedFormEntity;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.config.Registry;
-import org.apache.http.config.RegistryBuilder;
-import org.apache.http.conn.socket.ConnectionSocketFactory;
-import org.apache.http.conn.socket.PlainConnectionSocketFactory;
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
-import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.entity.ByteArrayEntity;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.conn.scheme.Scheme;
-import org.apache.http.conn.scheme.SchemeRegistry;
-import org.apache.http.conn.ssl.SSLSocketFactory;
-
-public class HttpUtils {
-	/**
-	 * get
-	 * 
-	 * @param host 鏈嶅姟绔疷RI
-	 * @param path 璇锋眰璺緞
-	 * @param headers 璇锋眰澶�
-	 * @param params 璇锋眰鍙傛暟
-	 * @return HttpResponse鍝嶅簲
-	 * @throws Exception 寮傚父
-	 */
-	public static HttpResponse doGet(String host, String path, Map<String, String> headers,
-			Map<String, String> params) throws Exception{
-		HttpClient httpClient = wrapClient(host);
-
-		HttpGet request = new HttpGet(buildUrl(host, path, params));
-		if(headers != null){
-			for (Map.Entry<String, String> e : headers.entrySet()) {
-				request.addHeader(e.getKey(), e.getValue());
-			}
-		}
-
-		return httpClient.execute(request);
-	}
-
-	/**
-	 * post form
-	 *
-	 * @param host 鏈嶅姟绔疷RI
-	 * @param path 璇锋眰璺緞
-	 * @param headers 璇锋眰澶�
-	 * @param params 璇锋眰鍙傛暟
-	 * @param bodies 璇锋眰浣�
-	 * @return HttpResponse鍝嶅簲
-	 * @throws Exception 寮傚父
-	 */
-	public static HttpResponse doPost(String host, String path, Map<String, String> headers,
-			Map<String, String> params, Map<String, String> bodies) throws Exception {
-		HttpClient httpClient = wrapClient(host);
-
-		HttpPost request = new HttpPost(buildUrl(host, path, params));
-		for (Map.Entry<String, String> e : headers.entrySet()) {
-			request.addHeader(e.getKey(), e.getValue());
-		}
-
-		if (bodies != null) {
-			List<NameValuePair> nameValuePairList = new ArrayList<>();
-
-			for (String key : bodies.keySet()) {
-				nameValuePairList.add(new BasicNameValuePair(key, bodies.get(key)));
-			}
-			UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "utf-8");
-			formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
-			request.setEntity(formEntity);
-		}
-
-		return httpClient.execute(request);
-	}
-
-	/**
-	 * Post String
-	 *
-	 * @param host 鏈嶅姟绔疷RI
-	 * @param path 璇锋眰璺緞
-	 * @param headers 璇锋眰澶�
-	 * @param params 璇锋眰鍙傛暟
-	 * @param body 璇锋眰浣�
-	 * @return HttpResponse鍝嶅簲
-	 * @throws Exception 寮傚父
-	 */
-	public static HttpResponse doPost(String host, String path, Map<String, String> headers,
-			Map<String, String> params, String body) throws Exception {
-		HttpClient httpClient = wrapClient(host);
-
-		HttpPost request = new HttpPost(buildUrl(host, path, params));
-		for (Map.Entry<String, String> e : headers.entrySet()) {
-			request.addHeader(e.getKey(), e.getValue());
-		}
-
-		if (StringUtils.isNotBlank(body)) {
-			request.setEntity(new StringEntity(body, "utf-8"));
-		}
-
-		return httpClient.execute(request);
-	}
-
-	/**
-	 * Post stream
-	 *
-	 * @param host 鏈嶅姟绔疷RI
-	 * @param path 璇锋眰璺緞
-	 * @param headers 璇锋眰澶�
-	 * @param params 璇锋眰鍙傛暟
-	 * @param body 璇锋眰浣�
-	 * @return HttpResponse鍝嶅簲
-	 * @throws Exception 寮傚父
-	 */
-	public static HttpResponse doPost(String host, String path, Map<String, String> headers,
-			Map<String, String> params, byte[] body) throws Exception {
-		HttpClient httpClient = wrapClient(host);
-
-		HttpPost request = new HttpPost(buildUrl(host, path, params));
-		if(headers != null){
-			for (Map.Entry<String, String> e : headers.entrySet()) {
-				request.addHeader(e.getKey(), e.getValue());
-			}
-		}
-
-		if (body != null) {
-			request.setEntity(new ByteArrayEntity(body));
-		}
-
-		return httpClient.execute(request);
-	}
-
-	/**
-	 * Put String
-	 *
-	 * @param host 鏈嶅姟绔疷RI
-	 * @param path 璇锋眰璺緞
-	 * @param headers 璇锋眰澶�
-	 * @param params 璇锋眰鍙傛暟
-	 * @param body 璇锋眰浣�
-	 * @return HttpResponse鍝嶅簲
-	 * @throws Exception 寮傚父
-	 */
-	public static HttpResponse doPut(String host, String path, Map<String, String> headers,
-			Map<String, String> params, String body) throws Exception {
-		HttpClient httpClient = wrapClient(host);
-
-		HttpPut request = new HttpPut(buildUrl(host, path, params));
-		for (Map.Entry<String, String> e : headers.entrySet()) {
-			request.addHeader(e.getKey(), e.getValue());
-		}
-
-		if (StringUtils.isNotBlank(body)) {
-			request.setEntity(new StringEntity(body, "utf-8"));
-		}
-
-		return httpClient.execute(request);
-	}
-
-	/**
-	 * Put stream
-	 *
-	 * @param host 鏈嶅姟绔疷RI
-	 * @param path 璇锋眰璺緞
-	 * @param headers 璇锋眰澶�
-	 * @param params 璇锋眰鍙傛暟
-	 * @param body 璇锋眰浣�
-	 * @return HttpResponse鍝嶅簲
-	 * @throws Exception 寮傚父
-	 */
-	public static HttpResponse doPut(String host, String path, Map<String, String> headers,
-			Map<String, String> params, byte[] body) throws Exception {
-		HttpClient httpClient = wrapClient(host);
-
-		HttpPut request = new HttpPut(buildUrl(host, path, params));
-		for (Map.Entry<String, String> e : headers.entrySet()) {
-			request.addHeader(e.getKey(), e.getValue());
-		}
-
-		if (body != null) {
-			request.setEntity(new ByteArrayEntity(body));
-		}
-
-		return httpClient.execute(request);
-	}
-
-	/**
-	 * Delete
-	 *
-	 * @param host 鏈嶅姟绔疷RI
-	 * @param path 璇锋眰璺緞
-	 * @param headers 璇锋眰澶�
-	 * @param params 璇锋眰鍙傛暟
-	 * @return HttpResponse鍝嶅簲
-	 * @throws Exception 寮傚父
-	 */
-	public static HttpResponse doDelete(String host, String path, Map<String, String> headers,
-			Map<String, String> params) throws Exception {
-		HttpClient httpClient = wrapClient(host);
-
-		HttpDelete request = new HttpDelete(buildUrl(host, path, params));
-		for (Map.Entry<String, String> e : headers.entrySet()) {
-			request.addHeader(e.getKey(), e.getValue());
-		}
-
-		return httpClient.execute(request);
-	}
-
-	private static String buildUrl(String host, String path, Map<String, String> params) {
-		StringBuilder sbUrl = new StringBuilder();
-		sbUrl.append(host);
-		if (!StringUtils.isBlank(path)) {
-			sbUrl.append(path);
-		}
-		if (null != params) {
-			StringBuilder sbQuery = new StringBuilder();
-			for (Map.Entry<String, String> query : params.entrySet()) {
-				if (0 < sbQuery.length()) {
-					sbQuery.append("&");
-				}
-				if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) {
-					sbQuery.append(query.getValue());
-				}
-				if (!StringUtils.isBlank(query.getKey())) {
-					sbQuery.append(query.getKey());
-					if (!StringUtils.isBlank(query.getValue())) {
-						sbQuery.append("=");
-						sbQuery.append(URLEncoder.encode(query.getValue(), StandardCharsets.UTF_8));
-					}
-				}
-			}
-			if (0 < sbQuery.length()) {
-				sbUrl.append("?").append(sbQuery);
-			}
-		}
-
-		return sbUrl.toString();
-	}
-
-	private static HttpClient wrapClient(String host) {
-		if (host.startsWith("https://")) {
-			return sslClient();
-		}else{
-			return HttpClients.createDefault();
-		}
-	}
-//
-//	private static void sslClient(HttpClient httpClient) {
-//		try {
-//			SSLContext ctx = SSLContext.getInstance("TLS");
-//			X509TrustManager tm = new X509TrustManager() {
-//				public X509Certificate[] getAcceptedIssuers() {
-//					return null;
-//				}
-//
-//				public void checkClientTrusted(X509Certificate[] xcs, String str) {
-//
-//				}
-//
-//				public void checkServerTrusted(X509Certificate[] xcs, String str) {
-//
-//				}
-//			};
-//			ctx.init(null, new TrustManager[] { tm }, null);
-//			SSLSocketFactory ssf = new SSLSocketFactory(ctx);
-//			ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
-//			ClientConnectionManager ccm = httpClient.getConnectionManager();
-//			SchemeRegistry registry = ccm.getSchemeRegistry();
-//			registry.register(new Scheme("https", 443, ssf));
-//		} catch (KeyManagementException ex) {
-//			throw new RuntimeException(ex);
-//		} catch (NoSuchAlgorithmException ex) {
-//			throw new RuntimeException(ex);
-//		}
-//	}
-
-	/**
-	 * 鍦ㄨ皟鐢⊿SL涔嬪墠闇�瑕侀噸鍐欓獙璇佹柟娉曪紝鍙栨秷妫�娴婼SL
-	 * 鍒涘缓ConnectionManager锛屾坊鍔燙onnection閰嶇疆淇℃伅
-	 * @return HttpClient 鏀寔https
-	 */
-	private static HttpClient sslClient() {
-		try {
-			// 鍦ㄨ皟鐢⊿SL涔嬪墠闇�瑕侀噸鍐欓獙璇佹柟娉曪紝鍙栨秷妫�娴婼SL
-			X509TrustManager trustManager = new X509TrustManager() {
-				@Override public X509Certificate[] getAcceptedIssuers() {
-					return null;
-				}
-				@Override public void checkClientTrusted(X509Certificate[] xcs, String str) {}
-				@Override public void checkServerTrusted(X509Certificate[] xcs, String str) {}
-			};
-			SSLContext ctx = SSLContext.getInstance(SSLConnectionSocketFactory.TLS);
-			ctx.init(null, new TrustManager[] { trustManager }, null);
-			SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(ctx, NoopHostnameVerifier.INSTANCE);
-			// 鍒涘缓Registry
-			RequestConfig requestConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD_STRICT)
-					.setExpectContinueEnabled(Boolean.TRUE).setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST))
-					.setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)).build();
-			Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
-					.register("http", PlainConnectionSocketFactory.INSTANCE)
-					.register("https",socketFactory).build();
-			// 鍒涘缓ConnectionManager锛屾坊鍔燙onnection閰嶇疆淇℃伅
-			PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
-			CloseableHttpClient closeableHttpClient = HttpClients.custom().setConnectionManager(connectionManager)
-					.setDefaultRequestConfig(requestConfig).build();
-			return closeableHttpClient;
-		} catch (KeyManagementException ex) {
-			throw new RuntimeException(ex);
-		} catch (NoSuchAlgorithmException ex) {
-			throw new RuntimeException(ex);
-		}
-	}
-
-}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindP206V1_0_0.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindP206V1_0_0.java
index 4ac1923..278ffda 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindP206V1_0_0.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindP206V1_0_0.java
@@ -18,7 +18,7 @@
 	public void execute(Object data) {
 		Data d = (Data)data ;
 		if(d.getProtocol() != null && d.getProtocol().equals(ProtocolConstantV206V1_0_0.protocolName)){
-			//this.toNextTasks(data);
+			this.toNextTasks(data);
 		}else{
 			//涓嶆槸鏈崗璁殑鏁版嵁
 		}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/log4j2.yml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/log4j2.yml
index 0fbd3ce..91e1a72 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/log4j2.yml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/log4j2.yml
@@ -9,7 +9,7 @@
               value: ./logs
             #鏃ュ織鏂囦欢瀛樺偍鍚嶇О
             - name: project.name
-              value: aceMw
+              value: rtuMw
 
     #瀹氫箟杈撳嚭鍣紝鍙互杈撳嚭鍒版帶鍒跺彴鍜屾枃浠�.
     Appenders:
@@ -18,7 +18,6 @@
             #Appender鍛藉悕
             name: CONSOLE
             target: SYSTEM_OUT
-            charset: UTF-8
             ThresholdFilter:
                 level: debug #杈撳嚭鏃ュ織绾у埆锛岃緭鍑烘棩蹇楁椂锛岄鍏堢敱Loggers.Root.level鎴朙oggers.Logger.level鍒ゆ柇鏄惁杈撳嚭锛岀劧鍚庡啀鐢辨湰level鍒ゆ柇鏄惁杈撳嚭
                 onMatch: ACCEPT #onMatch=ACCEPT 澶т簬绛変簬 "level" 閰嶇疆鐨勭瓑绾у湴鏃ュ織杈撳嚭
@@ -65,10 +64,10 @@
                 - ref: ROLLING_FILE  #杈撳嚭鏃ュ織鏃讹紝棣栧厛鐢辨湰level鍒ゆ柇鏄惁杈撳嚭锛岀劧鍚庡啀鐢变笂闈㈢殑Appenders.RollingFile.ThresholdFilter.level鍒ゆ柇鏄惁杈撳嚭
         # 涓虹被鍖呰矾寰勯厤缃壒娈婄殑Log绾у埆锛屾柟渚胯皟璇曪紝
         # 涓嶅彈Loggers.Root.level闄愬埗
-        Logger:
-            - name: com.dy.pipIrrGlobal.daoBa
-              additivity: false #鍘婚櫎閲嶅鐨刲og
-              level: debug #杈撳嚭鏃ュ織绾у埆
-              AppenderRef:
-                  - ref: CONSOLE #杈撳嚭鏃ュ織鏃讹紝棣栧厛鐢辨湰.level鍒ゆ柇鏄惁杈撳嚭锛岀劧鍚庡啀鐢变笂闈㈢殑Appenders.Console.ThresholdFilter.level鍒ゆ柇鏄惁杈撳嚭
-                  - ref: ROLLING_FILE #杈撳嚭鏃ュ織鏃讹紝棣栧厛鐢辨湰level鍒ゆ柇鏄惁杈撳嚭锛岀劧鍚庡啀鐢变笂闈㈢殑Appenders.RollingFile.ThresholdFilter.level鍒ゆ柇鏄惁杈撳嚭
+        # Logger:
+        #    - name: com.dy.pipIrrGlobal.daoBa
+        #      additivity: false #鍘婚櫎閲嶅鐨刲og
+        #      level: debug #杈撳嚭鏃ュ織绾у埆
+        #      AppenderRef:
+        #          - ref: CONSOLE #杈撳嚭鏃ュ織鏃讹紝棣栧厛鐢辨湰.level鍒ゆ柇鏄惁杈撳嚭锛岀劧鍚庡啀鐢变笂闈㈢殑Appenders.Console.ThresholdFilter.level鍒ゆ柇鏄惁杈撳嚭
+        #          - ref: ROLLING_FILE #杈撳嚭鏃ュ織鏃讹紝棣栧厛鐢辨湰level鍒ゆ柇鏄惁杈撳嚭锛岀劧鍚庡啀鐢变笂闈㈢殑Appenders.RollingFile.ThresholdFilter.level鍒ゆ柇鏄惁杈撳嚭

--
Gitblit v1.8.0