From 96ac419976b202833459c8755c5a23d371368118 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期六, 23 十一月 2024 11:29:10 +0800
Subject: [PATCH] 1、远程升级优化; 2、RTU升级模拟器完善.

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/Server.java                                   |    9 ++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java              |   18 ++++++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/ServerProperties.java                         |    6 +++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java           |   21 ++++++++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/resources/config.xml                                             |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/说明.txt                                                                    |    1 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java |    2 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java                                           |   16 ++++---
 8 files changed, 66 insertions(+), 9 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java
index 1491ef3..984b0d3 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java
@@ -11,13 +11,15 @@
 
 	/*
 	public static void main(String[] args) {
-		System.out.println(CreateRandom.Random(1, 0));
-		System.out.println(CreateRandom.Random(2, 0));
-		System.out.println(CreateRandom.Random(3, 0));
-		System.out.println(CreateRandom.Random(4, 0));
-		System.out.println(CreateRandom.Random(5, 0));
-		System.out.println(CreateRandom.Random(100, 0));
-		System.out.println(CreateRandom.Random(1256, 1234));
+		System.out.println(CreateRandom.random(1, 0));
+		System.out.println(CreateRandom.random(2, 0));
+		System.out.println(CreateRandom.random(3, 0));
+		System.out.println(CreateRandom.random(4, 0));
+		System.out.println(CreateRandom.random(5, 0));
+		System.out.println(CreateRandom.random(100, 0));
+		System.out.println(CreateRandom.random(1256, 1234));
+		System.out.println("=======================");
+		System.out.println(create_between(10, 100));
 	}
 	*/
 	
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java
index 9f79fa7..720cfa1 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java
@@ -34,6 +34,27 @@
 public class PipIrrMwSimulateRtuApplication implements CommandLineRunner {
 
     public static void main(String[] args) {
+        if(args != null && args.length > 0){
+            if(args.length == 3){
+                if(args[0] instanceof String){
+                    if(args[0] != null && !args[0].trim().equals("")){
+                        String rtuAddr = (String)args[0] ;//鏈ā鎷熷櫒妯℃嫙RTU鍦板潃
+                        ServerProperties.argRtuAddr = rtuAddr ;
+                    }
+                    if(args[1] != null && !args[1].trim().equals("")){
+                        Integer oneDie = Integer.parseInt(args[1]) ;//涓�鍖呮锛�1鏄紝0鍚�
+                        ServerProperties.argOneDie = oneDie == 1?true:false ;
+                    }
+                    if(args[2] != null && !args[2].trim().equals("")){
+                        Integer multiDie = Integer.parseInt(args[2]) ;//澶氬寘姝伙細1鏄紝0鍚�
+                        ServerProperties.argMultiDie = multiDie == 1?true:false ;
+                    }
+                    if(ServerProperties.argOneDie && ServerProperties.argMultiDie){
+                        ServerProperties.argOneDie = false ;
+                    }
+                }
+            }
+        }
         new SpringApplicationBuilder(PipIrrMwSimulateRtuApplication.class)
                 .web(WebApplicationType.NONE)//涓嶅惎鍔╳eb鏈嶅姟
                 .run(args);
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/Server.java
index eabf255..cf730e4 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/Server.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/Server.java
@@ -44,6 +44,15 @@
 
             this.startUnits() ;
 
+            if(ServerProperties.argRtuAddr != null && !ServerProperties.argRtuAddr.trim().equals("")){
+                System.out.println("搴旂敤閰嶇疆RTU鍦板潃锛�" + ServerProperties.rtuAddr) ;
+            }else{
+                 System.out.println("搴旂敤鍙傛暟RTU鍦板潃锛�" + ServerProperties.argRtuAddr) ;
+                ServerProperties.rtuAddr = ServerProperties.argRtuAddr ;
+            }
+            System.out.println("鍚姩涓�鍖呮锛�" + (ServerProperties.argOneDie==null?"鍚�":(ServerProperties.argOneDie?"鏄�":"鍚�"))) ;
+            System.out.println("鍚姩澶氬寘姝伙細" + (ServerProperties.argMultiDie==null?"鍚�":(ServerProperties.argMultiDie?"鏄�":"鍚�"))) ;
+
             String svName ;
             try{
                 svName = this.conf.getSetAttrTxt(this.doc, "config.server", "name", null, false, null) ;
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/ServerProperties.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/ServerProperties.java
index 94d5073..e69fead 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/ServerProperties.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/ServerProperties.java
@@ -9,4 +9,10 @@
 public class ServerProperties {
 
     public static String rtuAddr ;
+
+    //绋嬪簭鍚姩鍙傛暟锛�
+    public static String argRtuAddr ;
+    public static Boolean argOneDie = false ;
+    public static Boolean argMultiDie = false ;
+
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
index 6211d7b..c4aeaf7 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
@@ -2,6 +2,8 @@
 
 import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
 import com.dy.common.util.ByteUtil;
+import com.dy.common.util.CreateRandom;
+import com.dy.simRtu.ServerProperties;
 import com.dy.simRtu.tcpClient.upData.*;
 
 /**
@@ -10,6 +12,8 @@
  * @Description 涓棿浠剁殑涓嬭鏁版嵁
  */
 public class DownData {
+
+    private static int count9602 = 0;
 
     public void parseData(byte[] bs){
         if(bs != null && bs.length > 0){
@@ -32,16 +36,28 @@
         String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.UG_codeIndex, 1);
         if(cdPre.equals("16")){
             //鍗囩骇鍔熻兘鐮�
-            UpHeartBeat.upHeartBeat = false ;//涓嶄笂琛屽績璺�
+            UpHeartBeat.upHeartBeat = false ;//绂佹涓婅蹇冭烦
             if(bs.length >= ProtocolConstantV206V1.UG_lenHead2Cmd + 1){
                 String cdSuf = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.UG_codeIndex + 1, 1);
                 String cd = cdPre + cdSuf;
                 if(cd.equals("1601")){
                     //鍗囩骇閰嶇疆
+                    if(ServerProperties.argOneDie){
+                        UpHeartBeat.upHeartBeat = true ;//浣胯兘涓婅蹇冭烦
+                    }
                     UpCd9601.upData() ;
                 }else if(cd.equals("1602")){
                     //鍗囩骇鏁版嵁
                     UpCd9602.upData() ;
+                    count9602 ++ ;
+                    if(ServerProperties.argMultiDie){
+                        if(count9602 > 10){
+                            int random =  CreateRandom.create_between(10, 100) ;
+                            if(random > 50){
+                                UpHeartBeat.upHeartBeat = true ;//浣胯兘涓婅蹇冭烦
+                            }
+                        }
+                    }
                 }else if(cd.equals("1603")){
                     //鍗囩骇鏍¢獙
                     UpCd9603.upData() ;
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/resources/config.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/resources/config.xml
index fa87df5..1996da7 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/resources/config.xml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/resources/config.xml
@@ -10,5 +10,5 @@
 	 -->
 	<base rtuAddr="532328000214"></base>
 	<!-- -->
-	<tcpCl mwServerIp="192.168.40.132" mwServerPort="60000" connectTimeout="3000" />
+	<tcpCl mwServerIp="192.168.40.166" mwServerPort="60000" connectTimeout="3000" />
 </config>		
\ No newline at end of file
diff --git "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/\350\257\264\346\230\216.txt" "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/\350\257\264\346\230\216.txt"
new file mode 100644
index 0000000..eff934f
--- /dev/null
+++ "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/\350\257\264\346\230\216.txt"
@@ -0,0 +1 @@
+鏈ā鍧楁槸RTU妯℃嫙鍣紝妯℃嫙RTU鍗囩骇杩囩▼
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java
index 78e473b..440c046 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java
@@ -320,9 +320,11 @@
             cache.ugOverallState.allOver = true ;
         }
         if(cache.ugOverallState.allOver){
+            cache.ugOverallState.overTotal = 0;
             if(cache.ugRtuStateList != null && cache.ugRtuStateList.size() > 0){
                 for(UpgradeRtu rtu : cache.ugRtuStateList){
                     rtu.isOver = true ;
+                    cache.ugOverallState.overTotal++;
                 }
             }
         }

--
Gitblit v1.8.0