From 959dcca95276888cd9c092d93d276ef9aa580aef Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 30 四月 2025 16:26:19 +0800
Subject: [PATCH] 1、增加远程透传命令; 2、表阀一体机协议优化;

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
index c5d795e..7c61420 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -35,6 +35,8 @@
     @JSONField(serialize = false)
     protected Integer ugMaxRtuSameTime ;//鍚屾椂鍗囩骇RTU鏈�澶т釜鏁�
     @JSONField(serialize = false)
+    private Boolean openNoUpgrade ;//闃�寮�锛堟车寮�锛変笉鎵ц鍗囩骇
+    @JSONField(serialize = false)
     private Integer lastOpenMaxGoOn ;//闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛�
 
     public String setupDt ;//璁剧疆鏃堕棿(yyyy-mm-dd HH:MM:SS)
@@ -64,7 +66,11 @@
     /**
      *  鍒濆鍖栭厤缃俊鎭�
      */
-    public void initOption(Integer lastOpenMaxGoOn, Integer failTryTimes, Integer ugMaxRtuSameTime) {
+    public void initOption(Boolean openNoUpgrade,
+                           Integer lastOpenMaxGoOn,
+                           Integer failTryTimes,
+                           Integer ugMaxRtuSameTime) {
+        this.openNoUpgrade = openNoUpgrade;
         this.lastOpenMaxGoOn = lastOpenMaxGoOn;
         this.failTryTimes = failTryTimes;
         this.ugMaxRtuSameTime = ugMaxRtuSameTime;
@@ -128,7 +134,7 @@
      * @param code
      * @param callbackCom
      */
-    public void trigger(String rtuAddr, String code, String protocolName, Short protocolVersion, Callback callbackCom){
+    public void trigger(String rtuAddr, String code, String protocolName, Short protocolVersion, Callback callbackCom, Object ...objects){
         if(this.upgradeRtus != null && this.upgradeRtus.size() > 0
                 && this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0){
             UpgradeRtu ugRtu = this.upgradeRtus.get(rtuAddr) ;
@@ -147,13 +153,32 @@
                     //褰撳墠RTU宸茬粡鍗囩骇瀹屾垚锛屾棤闇�鍐嶅崌绾�
                     return;
                 }else{
+                    if(this.openNoUpgrade){
+                        //棣栧厛鍒ゆ柇鏄惁鏄榾闂ㄦ墦寮�鐘舵��
+                        RtuStatus rtuStatus = RtuStatusDealer.oneStatus(rtuAddr) ;
+                        if(rtuStatus != null
+                                && rtuStatus.valveOpenTrueCloseFalse != null
+                                && rtuStatus.valveOpenTrueCloseFalse.booleanValue() == true
+                                && rtuStatus.valveStatusLastTimeStamp != null){
+                            //鏈夌姸鎬侊紝骞朵笖鏄榾寮�锛堟车寮�锛�
+                            Long now = System.currentTimeMillis() ;
+                            Long gap = now - rtuStatus.valveStatusLastTimeStamp ;
+                            if(gap < this.lastOpenMaxGoOn){
+                                //杩欐椂閲囩撼闃�闂ㄦ墦寮�鐘舵�侊紝杩涜�屼笉鑳藉崌绾�
+                                ugRtu.isOver = true ;
+                                ugRtu.state = UpgradeRtu.STATE_FAILOPEN ;
+                                return;
+                            }
+                        }
+                    }
+
                     if(UpgradeUnit.confVo.ugMaxRtuAtOnce > 0){
                         //璁剧疆浜嗗悓鏃跺崌绾х殑RTU鏈�澶ф暟閲忕殑闄愬埗
                         if(ugRtu.state == UpgradeRtuDev.STATE_OFFLINE){
                             //鍒濆鎬侊紝璇存槑鍗囩骇浠诲姟璁剧疆浠ユ潵锛岃RTU绗竴娆′笂琛屾暟鎹�
                             if(this.curUgRunningRtuTotal <= UpgradeUnit.confVo.ugMaxRtuAtOnce){
                                 //褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺杩樻湭鍙楅檺
-                                ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
+                                ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ;
                             }else{
                                 //鍚屾椂鍗囩骇鐨凴TU鏁伴噺鍙楅檺锛岀瓑寰呬笅娆℃満浼�
                                 //浣嗗厛琛ㄦ槑涓�涓嬬姸鎬�
@@ -164,18 +189,18 @@
                             //鏍规嵁涓婇潰閫昏緫锛� 璇存槑蹇呯劧鍦ㄧ嚎浜�
                             if(this.curUgRunningRtuTotal <= UpgradeUnit.confVo.ugMaxRtuAtOnce){
                                 //褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺杩樻湭鍙楅檺
-                                ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
+                                ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ;
                             }else{
                                 //鍚屾椂鍗囩骇鐨凴TU鏁伴噺鍙楅檺锛岀瓑寰呬笅娆℃満浼�
                                 return ;
                             }
                         }else{
                             //RTU宸茬粡澶勪簬鍗囩骇杩囩▼涓�
-                            ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
+                            ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ;
                         }
                     }else{
                         //娌℃湁璁剧疆鍚屾椂鍗囩骇鐨凴TU鏈�澶ф暟閲忕殑闄愬埗
-                         ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
+                         ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ;
                     }
                 }
             }

--
Gitblit v1.8.0