From d8eb22351c6d0bfe0c9f233edfd593538e6838c9 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 24 四月 2025 13:58:49 +0800
Subject: [PATCH] 1、表阀一体机协议开阀类型变化; 2、表阀一体机协议开关阀报中增加水价数据;

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java |  147 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 147 insertions(+), 0 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
new file mode 100644
index 0000000..2e20a49
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java
@@ -0,0 +1,147 @@
+package com.dy.simRtu;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+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;
+
+
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) //绂佹鍚姩鏁版嵁搴撹繛鎺ユ睜
+@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.simRtu"},
+        excludeFilters = {
+                @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {
+                        com.dy.common.apiDoc.SpringApiConfig.class, //涓�绉嶆帓闄ょ被鐨勬柟寮�
+                        com.dy.pipIrrGlobal.config.DingTalk.class
+                }),
+                @ComponentScan.Filter(type = FilterType.REGEX, pattern = {
+                        //浜岀鎺掗櫎绫荤殑鏂瑰紡锛屽啓姝e垯琛ㄨ揪寮忥紝闇�瑕佸鐩爣绫荤殑瀹屽叏闄愬畾鍚嶅畬鍏ㄥ尮閰嶏紝鍚﹀垯涓嶇敓鏁�
+                        "com.dy.common.aop..*",
+                        "com.dy.common.apiDoc..*",
+                        "com.dy.common.multiDataSource..*",
+                        "com.dy.common.mybatis..*",
+                        "com.dy.common.singleDataSource..*",
+                        "com.dy.common.webFilter..*",
+                        "com.dy.common.webListener..*",
+                        "com.dy.pipIrrGlobal.webCtrls..*"
+                })
+        }
+)
+public class PipIrrMwSimulateRtuApplication implements CommandLineRunner {
+
+    public static void main(String[] 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瀹瑰櫒鍚姩瀹屾垚鍚庯紝鎵ц涓嬮潰鏂规硶
+     * @param args 鍙傛暟
+     * @throws Exception 寮傚父
+     */
+    @Override
+    public void run(String... args) throws Exception {
+        try{
+            //绛夊緟涓�涓�
+            Thread.sleep(500L);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        finally {
+            this.startMwSv() ;
+        }
+    }
+
+    private void startMwSv(){
+        if(sv != null){
+            sv.startServer();
+        }
+    }
+
+
+    private Server sv ;
+
+    @Autowired
+    public void setSv(Server sv){
+        this.sv = sv ;
+    }
+}

--
Gitblit v1.8.0