Kaynağa Gözat

Update配置更新

Yue 2 yıl önce
ebeveyn
işleme
215726414b
14 değiştirilmiş dosya ile 156 ekleme ve 154 silme
  1. 0 1
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/webapp/WEB-INF/web.xml
  2. 4 4
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect/src/main/resources/config/application.yml
  3. 1 1
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-server/src/main/java/cn/vbdsm/hj212/server/executor/ReaTimeExector.java
  4. 3 3
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-server/src/main/resources/config/application.yml
  5. 16 29
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/java/cn/vbdsm/analysis/timer/impl/H24Timer.java
  6. 21 5
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/local/log4j-cfg.xml
  7. 2 1
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/local/redis-host.properties
  8. 2 2
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/local/schedule.xml
  9. 5 10
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/db.properties
  10. 1 10
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/redis-host.properties
  11. 54 52
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/schedule.xml
  12. 1 1
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/system.properties
  13. 4 4
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/application-prod.yml
  14. 42 31
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/sharding-prod.yml

+ 0 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/webapp/WEB-INF/web.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          xmlns="http://java.sun.com/xml/ns/j2ee"
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          version="2.4">

+ 4 - 4
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect/src/main/resources/config/application.yml

@@ -4,10 +4,10 @@ server:
   port: 7220
 spring:
   redis:
-    host: 47.112.30.247
-    password: Iwb-2017
-    port: 6399
-    database: 5
+    host: vbdsm-redis
+    #    password: Abcd1234!.com
+    port: 6379
+    database: 3
     lettuce:
       pool:
         maxActive: 10

+ 1 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-server/src/main/java/cn/vbdsm/hj212/server/executor/ReaTimeExector.java

@@ -54,7 +54,6 @@ public class ReaTimeExector implements IExecutor {
         time = time - (time - (time / 10000) * 10000) % 1500;
 
 
-        log.debug(cp);
         DataUploadRequest dataUpload = DataUploadRequest.parse(cp);
         Boolean flag = false;
         log.debug(JSONObject.toJSONString(dataUpload));
@@ -64,6 +63,7 @@ public class ReaTimeExector implements IExecutor {
             onlineTerminal.setTerminalId(tid);
             MonitorCache entity = dataBiz.getMonitorByPk(cn, tid);
             if (entity != null) {
+                log.info("[" + time + "]:" + cp + "$" + tid);
                 VbDsmBody body = dataUpload.getBody(tid);
                 if (body.getP() != null) {
                     //p

+ 3 - 3
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-server/src/main/resources/config/application.yml

@@ -10,9 +10,9 @@ vbdsm:
 spring:
   redis:
     host: 47.112.30.247
-    password: Iwb-2017
-    port: 6399
-    database: 5
+    #password: Iwb-2017
+    port: 4502
+    database: 3
     lettuce:
       pool:
         maxActive: 8

+ 16 - 29
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/java/cn/vbdsm/analysis/timer/impl/H24Timer.java

@@ -15,6 +15,7 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -49,16 +50,24 @@ public class H24Timer {
         data.setHour(hourNum);
 
         if (online.get(1).getFpe() != null && online.get(0).getFpe() != null) {
-            data.setFpe(online.get(1).getFpe().subtract(online.get(0).getFpe()));
+            BigDecimal val = online.get(1).getFpe().subtract(online.get(0).getFpe());
+            val = val.compareTo(new BigDecimal(0)) > 0 ? val : new BigDecimal(0);
+            data.setFpe(val);
         }
         if (online.get(1).getFqe() != null && online.get(0).getFqe() != null) {
-            data.setFqe(online.get(1).getFqe().subtract(online.get(0).getFqe()));
+            BigDecimal val = online.get(1).getFqe().subtract(online.get(0).getFqe());
+            val = val.compareTo(new BigDecimal(0)) > 0 ? val : new BigDecimal(0);
+            data.setFqe(val);
         }
         if (online.get(1).getTpe() != null && online.get(0).getTpe() != null) {
-            data.setTpe(online.get(1).getTpe().subtract(online.get(0).getTpe()));
+            BigDecimal val = online.get(1).getTpe().subtract(online.get(0).getTpe());
+            val = val.compareTo(new BigDecimal(0)) > 0 ? val : new BigDecimal(0);
+            data.setTpe(val);
         }
         if (online.get(1).getTqe() != null && online.get(0).getTqe() != null) {
-            data.setTqe(online.get(1).getTqe().subtract(online.get(0).getTqe()));
+            BigDecimal val = online.get(1).getTqe().subtract(online.get(0).getTqe());
+            val = val.compareTo(new BigDecimal(0)) > 0 ? val : new BigDecimal(0);
+            data.setTqe(val);
         }
         if (online.get(1).getFps() != null && online.get(0).getFps() != null) {
             data.setFps(online.get(1).getFps());
@@ -90,47 +99,25 @@ public class H24Timer {
      * 每小时20分触发
      */
     @Scheduled(cron = CronExpression.EVERY_01_MINUTE_OF_HOUR)
-    @Comment("每个小时的第01分触发")
+    @Comment("H24小时电能统计")
     @Async
     public void h24Timer() {
 
         List<Monitor> pm = monitorDao.selectAll();
 
-//		List<Long> companyIds = new ArrayList<Long>();
-//		companyIds.add(621L);
-//		companyIds.add(622L);
-//		List<Monitor> pm = monitorDao.selectByCompanyIds(companyIds);
-
         Calendar c = Calendar.getInstance();
-//		try{
-//			c.setTime(hourSdf.parse("2016102013"));
-//		}catch(Exception e){
-//			
-//		}
-        Date hour = new Date();
-//		Date hour = c.getTime();
 
-//		for (int i = 0; i < 24 * 30 * 3; i++) {
-//			c.setTime(hour);
-//			c.add(Calendar.HOUR_OF_DAY, -i);
-//			
-//			if(daySdf.format(c.getTime()).equals("20160831")){
-//				break;
-//			}
+        Date hour = new Date();
 
         int j = 1;
         for (Monitor m : pm) {
-            LOG.info("时间:" + hourSdf.format(c.getTime()) + ",设备ID:" + m.getTerminalId() + ",共" + pm.size() + "个设备,当前第" + j + "个");
+            LOG.info("H24小时电能统计时间:" + hourSdf.format(c.getTime()) + ",设备ID:" + m.getTerminalId() + ",共" + pm.size() + "个设备,当前第" + j + "个");
             List<OnlineDataEnergy> r = onlineDataEnergyDao.selectByHour(c.getTime(), m.getTerminalId());
             if (r != null && r.size() == 2) {
                 privateH24(hour, m.getTerminalId(), r);
             }
             j++;
         }
-
-//		}
-
-
     }
 
 }

+ 21 - 5
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/local/log4j-cfg.xml

@@ -9,18 +9,33 @@
         </layout>
     </appender>
 
+    <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
+        <param name="file" value="/vbdsm/logs/app.log"/>
+        <param name="append" value="true"/>
+        <param name="datePattern" value="'.'yyyy-MM-dd"/>
+        <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="[%-5p] [%d{yyyy-MM-dd HH:mm:ss}] %c - %m%n"/>
+        </layout>
+        <filter class="org.apache.log4j.varia.LevelRangeFilter">
+            <param name="AcceptOnMatch" value="true"/>
+        </filter>
+    </appender>
+
     <appender name="info" class="org.apache.log4j.DailyRollingFileAppender">
         <param name="file" value="/vbdsm/logs/info.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%-5p] [%d{yyyy-MM-dd HH:mm:ss}] %c - %m%n"/>
+            <param name="ConversionPattern" value="[%-5p][ %t ] [%d{yyyy-MM-dd HH:mm:ss}] %c - %m%n"/>
         </layout>
         <filter class="org.apache.log4j.varia.LevelRangeFilter">
+            <param name="LevelMin" value="INFO"/>
+            <param name="LevelMax" value="INFO"/>
             <param name="AcceptOnMatch" value="true"/>
         </filter>
     </appender>
 
+
     <appender name="warn" class="org.apache.log4j.DailyRollingFileAppender">
         <param name="file" value="/vbdsm/logs/warn.log"/>
         <param name="append" value="true"/>
@@ -49,14 +64,15 @@
         </filter>
     </appender>
 
-    <!-- <logger name="org.springframework.jdbc.core.JdbcTemplate" additivity="true">
-        <level value="info" />
-    </logger> -->
+    <logger name="org.springframework.jdbc.core.JdbcTemplate" additivity="true">
+        <level value="info,error,warn,debug"/>
+    </logger>
 
     <root>
         <level value="info"/>
-        <appender-ref ref="stdout"/>
         <appender-ref ref="file"/>
+        <appender-ref ref="stdout"/>
+        <appender-ref ref="info"/>
         <appender-ref ref="error"/>
         <appender-ref ref="warn"/>
     </root>

+ 2 - 1
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/local/redis-host.properties

@@ -1 +1,2 @@
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+#redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+redis_ref_hosts=vbdsm-redis:6379

+ 2 - 2
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/local/schedule.xml

@@ -26,8 +26,8 @@
     <timer>powerOnlineTimer.powerTimer</timer>
     <timer>powerOnlineTimer.powerDayTimer</timer>
 
-    <!--    <timer>shiftsEnergyTimer.today</timer>-->
-    <!--    <timer>shiftsEnergyTimer.yesterAndBefore</timer>-->
+    <timer>shiftsEnergyTimer.today</timer>
+    <timer>shiftsEnergyTimer.yesterAndBefore</timer>
 
     <!--    <timer>stationEnergyTimer.today</timer>-->
     <!--    <timer>stationEnergyTimer.yesterAndBefore</timer>-->

+ 5 - 10
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/db.properties

@@ -1,30 +1,25 @@
 #sysbase database mysql config
 sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #gov database mysql config
 gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
 #curr database mysql config
 curr.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-curr.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+curr.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
 curr.mysql.jdbc.username=root
 curr.mysql.jdbc.password=123456
-#error database mysql config
-error.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-error.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
-error.mysql.jdbc.username=root
-error.mysql.jdbc.password=123456
 #business database config
 db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
 db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 10
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/redis-host.properties

@@ -1,10 +1 @@
-#redis_ref_hosts=222.92.214.198:6379
-#222.92.214.198:6379
-#192.168.81.17:6379
-#static.chnmooc.com:6379
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
-#redis.host=127.0.0.1
-#redis.port=6379
-#redis.expire=1800
-#redis.timeout=10000
-#redis.password=123456
+redis_ref_hosts=vbdsm-redis:6379

+ 54 - 52
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/schedule.xml

@@ -1,55 +1,57 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<timers> 
-	
-   	<timer>clearLogsTimer.clearHistroyLog</timer>
-   	<timer>clearBibleWaringInfoTimer.clearHistroy</timer>
-   	<!-- <timer>energyPriceTimer.energyPrice</timer> -->
-   	
-   	<timer>fgpTimer.companyFgp</timer>
-   	<timer>fgpTimer.companyFgpForLastDate</timer>
-   	<timer>fgpTimer.companyFgpFor7DaysAgo</timer>
-   	<!-- <timer>fgpTimer.companyFgpForYestDayDate</timer> -->
-   	
-   	<timer>fgpTimer.monitorFgpForEvery</timer>
-   	<timer>fgpTimer.monitorFgpForLastDate</timer>
-   	<timer>fgpTimer.monitorFgpFor7DaysAgo</timer>
-   	<!-- <timer>fgpTimer.monitorFgpForYestDayDate</timer> -->
-   	
-   	<timer>monitorLimitTimer.monitorDateTimer</timer>
-   	<timer>monitorLimitTimer.monitorLastDateTimer</timer>
-   	<timer>monitorLimitTimer.monitorMonthAndYearTimer</timer>
-   	<timer>monitorLimitTimer.monitorLastYearTimer</timer>
-   	
+<timers>
+
+    <timer>clearLogsTimer.clearHistroyLog</timer>
+    <timer>clearBibleWaringInfoTimer.clearHistroy</timer>
+    <!-- <timer>energyPriceTimer.energyPrice</timer> -->
+
+    <timer>fgpTimer.companyFgp</timer>
+    <timer>fgpTimer.companyFgpForLastDate</timer>
+    <timer>fgpTimer.companyFgpFor7DaysAgo</timer>
+    <!-- <timer>fgpTimer.companyFgpForYestDayDate</timer> -->
+
+    <timer>fgpTimer.monitorFgpForEvery</timer>
+    <timer>fgpTimer.monitorFgpForLastDate</timer>
+    <timer>fgpTimer.monitorFgpFor7DaysAgo</timer>
+    <!-- <timer>fgpTimer.monitorFgpForYestDayDate</timer> -->
+
+    <timer>monitorLimitTimer.monitorDateTimer</timer>
+    <timer>monitorLimitTimer.monitorLastDateTimer</timer>
+    <timer>monitorLimitTimer.monitorMonthAndYearTimer</timer>
+    <timer>monitorLimitTimer.monitorLastYearTimer</timer>
+
     <timer>divisionLimitTimer.divisionDateTimer</timer>
-   	<timer>divisionLimitTimer.divisionMonthTimer</timer>
-   	
-   	<timer>powerOnlineTimer.powerTimer</timer>
-   	<timer>powerOnlineTimer.powerDayTimer</timer>
-   	
-   	<!-- <timer>shiftsEnergyTimer.today</timer>
-   	<timer>shiftsEnergyTimer.yesterAndBefore</timer>
-   	
-   	<timer>stationEnergyTimer.today</timer>
-   	<timer>stationEnergyTimer.yesterAndBefore</timer> -->
-   	
-   	<timer>enterpriseStateTimer.EnterpriseStateTimingTask</timer>
-   	
-   	<timer>powerFactorAlarmTimer.powerFactorAlarm</timer>
-   	<timer>voltageMessageAlarmTimer.voltageMessageAlarm</timer>
-   	<timer>threePhaseUnbalanceTimer.threePhaseUnbalanceAlarm</timer>
-   	<timer>loadMessageAlarmTimer.loadMessageAlarm</timer>
-   	<timer>harmonicAlarmTimer.harmonicAlarm</timer>
-   	<timer>zeroSequenceCurrentTimer.allCommand</timer>
-   	<timer>phaseFaultTimer.allCommand</timer>
-   	<timer>basicElectricityChargeTimer.allCommand</timer>
-   	
-   	<timer>monitorOnlineTimer.updateMonitorOnline</timer>
-   	
-   	<timer>waterGasHeatStatisticsTimer.integralPoint</timer>
-   	<timer>waterGasHeatStatisticsTimer.dayMaximum</timer>
-   	<timer>waterGasHeatStatisticsTimer.monthMaximum</timer>
-   	<timer>waterGasHeatStatisticsTimer.yearMaximum</timer>
-   	<timer>waterGasHeatStatisticsTimer.otherEnergydailyDosage</timer>
-   	
-   	<timer>overWarnTimer.warnningInfoTimer</timer>
+    <timer>divisionLimitTimer.divisionMonthTimer</timer>
+
+    <timer>powerOnlineTimer.powerTimer</timer>
+    <timer>powerOnlineTimer.powerDayTimer</timer>
+
+    <!-- <timer>shiftsEnergyTimer.today</timer>
+    <timer>shiftsEnergyTimer.yesterAndBefore</timer>
+
+    <timer>stationEnergyTimer.today</timer>
+    <timer>stationEnergyTimer.yesterAndBefore</timer> -->
+
+    <timer>enterpriseStateTimer.EnterpriseStateTimingTask</timer>
+
+    <timer>powerFactorAlarmTimer.powerFactorAlarm</timer>
+    <timer>voltageMessageAlarmTimer.voltageMessageAlarm</timer>
+    <timer>threePhaseUnbalanceTimer.threePhaseUnbalanceAlarm</timer>
+    <timer>loadMessageAlarmTimer.loadMessageAlarm</timer>
+    <timer>harmonicAlarmTimer.harmonicAlarm</timer>
+    <timer>zeroSequenceCurrentTimer.allCommand</timer>
+    <timer>phaseFaultTimer.allCommand</timer>
+    <timer>basicElectricityChargeTimer.allCommand</timer>
+
+    <timer>monitorOnlineTimer.updateMonitorOnline</timer>
+
+    <timer>waterGasHeatStatisticsTimer.integralPoint</timer>
+    <timer>waterGasHeatStatisticsTimer.dayMaximum</timer>
+    <timer>waterGasHeatStatisticsTimer.monthMaximum</timer>
+    <timer>waterGasHeatStatisticsTimer.yearMaximum</timer>
+    <timer>waterGasHeatStatisticsTimer.otherEnergydailyDosage</timer>
+
+    <timer>overWarnTimer.warnningInfoTimer</timer>
+    <timer>h24Timer.h24Timer</timer>
+
 </timers>

+ 1 - 1
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/system.properties

@@ -3,5 +3,5 @@ system.charSet=UTF-8
 system.sysCode=analysis
 system.local=zh_CN
 log.rootPath=/vbdsm/logs/
-data.rootPath=/opt/NXDSM/vbdsm-analysis/.data/
+data.rootPath=/vbdsm/logs/
 analysis.limitDateAnalTimer=false

+ 4 - 4
VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/application-prod.yml

@@ -6,10 +6,10 @@ tg:
       path: config/sharding-prod.yml
 spring:
   redis:
-    host: 47.112.30.247
-    password: Iwb-2017
-    port: 6399
-    database: 0
+    host: vbdsm-redis
+    #    password: Abcd1234!.com
+    port: 6379
+    database: 3
     pool:
       maxActive: 8
       maxWait: -1

+ 42 - 31
VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/sharding-prod.yml

@@ -1,7 +1,7 @@
 dataSources:
   vbdsm: !!com.alibaba.druid.pool.DruidDataSource
     driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -14,7 +14,7 @@ dataSources:
     poolPreparedStatements: true
   vbdsm_2023: !!com.alibaba.druid.pool.DruidDataSource
     driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -28,7 +28,7 @@ dataSources:
     maxOpenPreparedStatements: 100
   vbdsm_2024: !!com.alibaba.druid.pool.DruidDataSource
     driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -40,10 +40,9 @@ dataSources:
     testWhileIdle: true
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
-
   vbdsm_sysbase: !!com.alibaba.druid.pool.DruidDataSource
     driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -57,7 +56,7 @@ dataSources:
     maxOpenPreparedStatements: 100
   vbdsm_powergov: !!com.alibaba.druid.pool.DruidDataSource
     driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -71,8 +70,20 @@ dataSources:
     maxOpenPreparedStatements: 100
 shardingRule:
   tables:
+    online_data_water:
+      actualDataNodes: vbdsm_${2023..2024}.online_data_water_0${1..9},vbdsm_${2023..2024}.online_data_water_${10..12}
+      databaseStrategy:
+        standard:
+          shardingColumn: upload_date
+          preciseAlgorithmClassName: cn.vbdsm.statistic.db.sharding.PreciseDatabaseShardingAlgorithm
+          rangeAlgorithmClassName: cn.vbdsm.statistic.db.sharding.RangeDatabaseShardingAlgorithm
+      tableStrategy:
+        standard:
+          shardingColumn: upload_date
+          preciseAlgorithmClassName: cn.vbdsm.statistic.db.sharding.PreciseTableShardingAlgorithm
+          rangeAlgorithmClassName: cn.vbdsm.statistic.db.sharding.RangeTableShardingAlgorithm
     t_online_warn:
-      actualDataNodes: vbdsm_2023..2024.t_online_warn
+      actualDataNodes: vbdsm_${2023..2024}.t_online_warn
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -81,7 +92,7 @@ shardingRule:
       tableStrategy:
         none:
     analysis_output_date:
-      actualDataNodes: vbdsm_2023..2024.analysis_output_date
+      actualDataNodes: vbdsm_${2023..2024}.analysis_output_date
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -90,7 +101,7 @@ shardingRule:
       tableStrategy:
         none:
     analysis_output_month:
-      actualDataNodes: vbdsm_2023..2024.analysis_output_month
+      actualDataNodes: vbdsm_${2023..2024}.analysis_output_month
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -99,7 +110,7 @@ shardingRule:
       tableStrategy:
         none:
     analysis_yield_date:
-      actualDataNodes: vbdsm_2023..2024.analysis_yield_date
+      actualDataNodes: vbdsm_${2023..2024}.analysis_yield_date
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -108,7 +119,7 @@ shardingRule:
       tableStrategy:
         none:
     analysis_yield_month:
-      actualDataNodes: vbdsm_2023..2024.analysis_yield_month
+      actualDataNodes: vbdsm_${2023..2024}.analysis_yield_month
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -117,7 +128,7 @@ shardingRule:
       tableStrategy:
         none:
     company_output_date:
-      actualDataNodes: vbdsm_2023..2024.company_output_date
+      actualDataNodes: vbdsm_${2023..2024}.company_output_date
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -126,7 +137,7 @@ shardingRule:
       tableStrategy:
         none:
     company_output_month:
-      actualDataNodes: vbdsm_2023..2024.company_output_month
+      actualDataNodes: vbdsm_${2023..2024}.company_output_month
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -135,7 +146,7 @@ shardingRule:
       tableStrategy:
         none:
     company_yield_date:
-      actualDataNodes: vbdsm_2023..2024.company_yield_date
+      actualDataNodes: vbdsm_${2023..2024}.company_yield_date
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -144,7 +155,7 @@ shardingRule:
       tableStrategy:
         none:
     company_yield_month:
-      actualDataNodes: vbdsm_2023..2024.company_yield_month
+      actualDataNodes: vbdsm_${2023..2024}.company_yield_month
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -153,7 +164,7 @@ shardingRule:
       tableStrategy:
         none:
     parks_output_date:
-      actualDataNodes: vbdsm_2023..2024.parks_output_date
+      actualDataNodes: vbdsm_${2023..2024}.parks_output_date
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -162,7 +173,7 @@ shardingRule:
       tableStrategy:
         none:
     parks_output_month:
-      actualDataNodes: vbdsm_2023..2024.parks_output_month
+      actualDataNodes: vbdsm_${2023..2024}.parks_output_month
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -171,7 +182,7 @@ shardingRule:
       tableStrategy:
         none:
     parks_yield_date:
-      actualDataNodes: vbdsm_2023..2024.parks_yield_date
+      actualDataNodes: vbdsm_${2023..2024}.parks_yield_date
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -180,7 +191,7 @@ shardingRule:
       tableStrategy:
         none:
     parks_yield_month:
-      actualDataNodes: vbdsm_2023..2024.parks_yield_month
+      actualDataNodes: vbdsm_${2023..2024}.parks_yield_month
       databaseStrategy:
         standard:
           shardingColumn: upload_date
@@ -212,32 +223,32 @@ shardingRule:
         none:
       tableStrategy:
         none:
-    t_industry_date:
-      actualDataNodes: vbdsm_powergov.t_industry_date
+    t_poweruser_product:
+      actualDataNodes: vbdsm_sysbase.t_poweruser_product
       databaseStrategy:
         none:
       tableStrategy:
         none:
-    t_industry_month:
-      actualDataNodes: vbdsm_powergov.t_industry_month
+    t_poweruser:
+      actualDataNodes: vbdsm_sysbase.t_poweruser
       databaseStrategy:
         none:
       tableStrategy:
         none:
-    t_poweruser_product:
-      actualDataNodes: vbdsm_sysbase.t_poweruser_product
+    t_company_fgp:
+      actualDataNodes: vbdsm_powergov.t_company_fgp
       databaseStrategy:
         none:
       tableStrategy:
         none:
-    t_poweruser:
-      actualDataNodes: vbdsm_sysbase.t_poweruser
+    t_industry_date:
+      actualDataNodes: vbdsm_powergov.t_industry_date
       databaseStrategy:
         none:
       tableStrategy:
         none:
-    t_company_fgp:
-      actualDataNodes: vbdsm_powergov.t_company_fgp
+    t_industry_month:
+      actualDataNodes: vbdsm_powergov.t_industry_month
       databaseStrategy:
         none:
       tableStrategy:
@@ -261,7 +272,7 @@ shardingRule:
       tableStrategy:
         none:
     t_anal_date_avg:
-      actualDataNodes: vbdsm_2023..2024.t_anal_date_avg
+      actualDataNodes: vbdsm_${2023..2024}.t_anal_date_avg
       databaseStrategy:
         standard:
           shardingColumn: getDate
@@ -270,7 +281,7 @@ shardingRule:
       tableStrategy:
         none:
     t_online_data_power:
-      actualDataNodes: vbdsm_2023..2024.t_online_data_power_0${1..9},vbdsm_2023..2024.t_online_data_power_${10..12}
+      actualDataNodes: vbdsm_${2023..2024}.t_online_data_power_0${1..9},vbdsm_${2023..2024}.t_online_data_power_${10..12}
       databaseStrategy:
         standard:
           shardingColumn: getTime