From 70aeac289c132085e91d59dc82bc1facd41889fa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 24 二月 2025 15:33:53 +0800
Subject: [PATCH] 有关表阀一体机(王江海制定)通信协议: 1、根据新版本协议,解析部分更新; 2、根据测试一体阀协议数据处理需求与逻辑,进行表阀一体机数据处理。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java
index 8e02203..d9dda58 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java
@@ -3,6 +3,9 @@
 import com.alibaba.fastjson2.annotation.JSONField;
 import com.dy.common.mw.protocol.Command;
 import com.dy.common.mw.protocol.CommandType;
+import com.dy.common.mw.protocol.MidResult;
+import com.dy.common.mw.protocol.MidResultFromRtu;
+import com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo;
 import com.dy.common.softUpgrade.Com1601Vo;
 import com.dy.common.softUpgrade.state.UpgradeRtu;
 import com.dy.common.softUpgrade.state.UpgradeTaskVo;
@@ -39,6 +42,7 @@
         this.currentPackage = 0 ;
         this.currentRamAddr = 0 ;
         this.lastDownDt = "" ;
+        this.lastDownDtAt = 0L ;
         this.reTryTimes = 0 ;
         this.isOver = false ;
     }
@@ -53,6 +57,7 @@
         this.currentPackage = 0 ;
         this.currentRamAddr = 0 ;
         this.lastDownDt = "" ;
+        this.lastDownDtAt = 0L ;
         this.reTryTimes = 0 ;
         this.isOver = false ;
     }
@@ -62,9 +67,10 @@
      * @param code
      * @param softData
      * @param callbackCom
+     * @param objects
      */
     @Override
-    public void trigger(String code, String protocolName, Short protocolVersion, byte[][] softData, Callback callbackCom){
+    public void trigger(String code, String protocolName, Short protocolVersion, byte[][] softData, Callback callbackCom, Object ...objects){
         if(!this.isOver){
             //鍗囩骇鏈畬鎴�
             if(this.state == STATE_OFFLINE || this.state == STATE_UNSTART){
@@ -76,6 +82,7 @@
                 if(code.equals(UpgradeCode.cd_9601)){
                     //涓嬪彂閰嶇疆杩斿洖
                     this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+                    this.lastDownDtAt = System.currentTimeMillis() ;
                     callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData));//涓嬪彂鏁版嵁鍖呮寚浠�
                 }else if(code.equals(UpgradeCode.cd_9602)){
                     //涓嬪彂鏁版嵁鍖呰繑鍥�
@@ -83,14 +90,16 @@
                     currentRamAddr += RAMADDRADD ;
                     if(currentPackage < totalPackage){
                         this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+                        this.lastDownDtAt = System.currentTimeMillis() ;
                         callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData));
                     }else{
                         this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+                        this.lastDownDtAt = System.currentTimeMillis() ;
                         callbackCom.call(createCommand1603(protocolName, protocolVersion));//涓嬪彂鏍¢獙鎸囦护
                     }
                 }else if(code.equals(UpgradeCode.cd_9603)){
                     //涓嬪彂鏍¢獙杩斿洖
-                    this.setStateAtReceiveRes9603Time() ;
+                    this.setStateAtReceiveRes9603Time(objects) ;
                     callbackCom.call(createCommand1600(protocolName, protocolVersion));//涓嬪彂澶嶄綅鎸囦护锛屾鎸囦护鏃犲簲绛�
                 }else{
                     //褰撳墠鏄崌绾т腑鐘舵�侊紝骞朵笖鍗囩骇鏈畬鎴愶紝鏀跺埌浜嗛潪960X绯诲垪鍔熻兘鐮侊紝鍒欏崌绾уけ璐�
@@ -141,15 +150,35 @@
         this.currentRamAddr = 0 ;
         this.isOver = false ;
         this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+        this.lastDownDtAt = System.currentTimeMillis() ;
     }
 
     /**
      * 璁剧疆1603鎸囦护杩斿洖鏃跺埢鐨勭姸鎬�
      */
-    private void setStateAtReceiveRes9603Time(){
+    private void setStateAtReceiveRes9603Time(Object ...objects){
         this.isOver = true ;//鍗囩骇瀹屾垚
         this.state = STATE_SUCCESS ;
+        if(objects != null && objects.length > 0){
+            if(objects[0] instanceof com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo){
+                com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo)objects[0] ;
+                if(vo != null && !vo.success){
+                    this.state = STATE_FAILRTU ;
+                }
+            } else if(objects[0] instanceof com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo){
+                com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo)objects[0] ;
+                if(vo != null && !vo.success){
+                    this.state = STATE_FAILRTU ;
+                }
+            } else if(objects[0] instanceof com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo){
+                com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo)objects[0] ;
+                if(vo != null && !vo.success){
+                    this.state = STATE_FAILRTU ;
+                }
+            }
+        }
         this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+        this.lastDownDtAt = System.currentTimeMillis() ;
     }
 
     @Override

--
Gitblit v1.8.0