From b397edee2be2dfcc3f28eeac50298b4de26b1afa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 13 十二月 2024 16:53:45 +0800
Subject: [PATCH] 取水口日取水量表中,出现一些大数,明显不正确,发析系统日志,发现一些阀控器会上报一些累计流量为0的数据,且无规律,推测是其不能从水表读取到累计流量时会上报0值。如果间歇上报0值,间歇上报一些非0值,非0值减去0值,就会出现大数,一天中出现几次那么会大数进行累加,数值将更大。为此变更算法,规避这种情况,但也会丢失一些流量值。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java |   82 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 80 insertions(+), 2 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..2e20a49 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;
 
@@ -32,8 +33,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