From 02d965a2ff0cb5d415cedceacd2ae90c7ec1ac39 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期六, 10 五月 2025 09:03:50 +0800
Subject: [PATCH] 解决开关阀记录数据因重绑定或改RTU地址而引起的地址变更问题

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java |   85 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 82 insertions(+), 3 deletions(-)

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 dcb167d..02fcd72 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
@@ -2,9 +2,10 @@
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
-import org.springframework.boot.SpringApplication;
+import org.springframework.boot.WebApplicationType;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.builder.SpringApplicationBuilder;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.FilterType;
 
@@ -21,10 +22,11 @@
                         "com.dy.common.aop..*",
                         "com.dy.common.apiDoc..*",
                         "com.dy.common.multiDataSource..*",
-                        "com.dy.common.mybatis..*",
                         "com.dy.common.singleDataSource..*",
+                        "com.dy.common.mybatis..*",
                         "com.dy.common.webFilter..*",
                         "com.dy.common.webListener..*",
+                        "com.dy.pipIrrGlobal.config..*",
                         "com.dy.pipIrrGlobal.webCtrls..*"
                 })
         }
@@ -32,8 +34,85 @@
 public class PipIrrMwSimulateRtuApplication implements CommandLineRunner {
 
     public static void main(String[] args) {
-        SpringApplication.run(PipIrrMwSimulateRtuApplication.class, args);
+        if(args != null && args.length > 0){
+            if(args.length == 1){
+                getArg0(args, 0) ;
+            }else if(args.length == 2){
+                getArg0(args, 0) ;
+                getArg1(args, 1) ;
+            }else if(args.length == 3){
+                getArg0(args, 0) ;
+                getArg1(args, 1) ;
+                getArg2(args, 2) ;
+            }else if(args.length == 4){
+                getArg0(args, 0) ;
+                getArg1(args, 1) ;
+                getArg2(args, 2) ;
+                getArg3(args, 3) ;
+            }else if(args.length == 5){
+                getArg0(args, 0) ;
+                getArg1(args, 1) ;
+                getArg2(args, 2) ;
+                getArg3(args, 3) ;
+                getArg4(args,4) ;
+            }else if(args.length == 6){
+                getArg0(args, 0) ;
+                getArg1(args, 1) ;
+                getArg2(args, 2) ;
+                getArg3(args, 3) ;
+                getArg4(args, 4) ;
+                getArg5(args, 5) ;
+            }
+
+            if(ServerProperties.argOneDie && ServerProperties.argMultiDie){
+                ServerProperties.argOneDie = false ;
+            }
+        }
+        new SpringApplicationBuilder(PipIrrMwSimulateRtuApplication.class)
+                .web(WebApplicationType.NONE)//涓嶅惎鍔╳eb鏈嶅姟
+                .run(args);
     }
+    private static void getArg0(String[] args, int index){
+        if(args[index] instanceof String){
+            if(args[index] != null && !args[index].trim().equals("")){
+                String rtuAddr = (String)args[index] ;//鏈ā鎷熷櫒妯℃嫙RTU鍦板潃
+                ServerProperties.argRtuAddr = rtuAddr ;
+            }
+        }
+    }
+    private static void getArg1(String[] args, int index){
+        if(args[index] != null && !args[index].trim().equals("")){
+            Integer conf = Integer.parseInt(args[index]) ;//蹇冭烦绫诲瀷锛�1锛氬姛鑳界爜02锛�0:鍔熻兘鐮�81
+            ServerProperties.argHeardBeatBy02True81False = conf == 1?true:false ;
+        }
+    }
+    private static void getArg2(String[] args, int index){
+        if(args[index] != null && !args[index].trim().equals("")){
+            Integer oneDie = Integer.parseInt(args[index]) ;//涓�鍖呮锛�1鏄紝0鍚�
+            ServerProperties.argOneDie = oneDie == 1?true:false ;
+        }
+    }
+    private static void getArg3(String[] args, int index){
+        if(args[index] != null && !args[index].trim().equals("")){
+            Integer multiDie = Integer.parseInt(args[index]) ;//澶氬寘姝伙細1鏄紝0鍚�
+            ServerProperties.argMultiDie = multiDie == 1?true:false ;
+        }
+    }
+    private static void getArg4(String[] args, int index){
+        if(args[index] instanceof String){
+            if(args[index] != null && !args[index].trim().equals("")){
+                String serverIp = (String)args[index] ;//鏈嶅姟绔疘P
+                ServerProperties.serverIp = serverIp ;
+            }
+        }
+    }
+    private static void getArg5(String[] args, int index){
+        if(args[index] != null && !args[index].trim().equals("")){
+            Integer serverPort = Integer.parseInt(args[index]) ;//鏈嶅姟绔痯ort
+            ServerProperties.serverPort = serverPort ;
+        }
+    }
+
 
     /**
      * Spring瀹瑰櫒鍚姩瀹屾垚鍚庯紝鎵ц涓嬮潰鏂规硶

--
Gitblit v1.8.0