Browse Source

风机报警和升压站报警功能修改优化

shilin 1 year ago
parent
commit
2184d70ab5

+ 153 - 0
alarm-scanner/pom.xml

@@ -13,11 +13,32 @@
     <name>alarm-scanner</name>
     <url>http://maven.apache.org</url>
 
+
+
+
+
+    <!-- 统一管理jar包版本 -->
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <junit.version>4.12</junit.version>
+        <log4j.version>2.15.0</log4j.version>
+        <lombok.version>1.18.16</lombok.version>
+        <mysql.version>5.1.45</mysql.version>
+        <druid.version>1.2.5</druid.version>
+        <mybatis.spring.boot.version>1.3.2</mybatis.spring.boot.version>
+        <mybatis-plus.boot.starter.version>3.2.0</mybatis-plus.boot.starter.version>
+        <mybatis-plus.generator.version>3.3.2</mybatis-plus.generator.version>
+        <pgsql.version>42.2.5</pgsql.version>
+        <groovy.version>3.0.8</groovy.version>
+        <springframework.boot.version>2.2.2.RELEASE</springframework.boot.version>
+
     </properties>
 
+
     <dependencies>
+
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
@@ -52,5 +73,137 @@
             <artifactId>jackson-databind</artifactId>
             <version>2.14.3</version>
         </dependency>
+
+        <dependency>
+            <groupId>com.opencsv</groupId>
+            <artifactId>opencsv</artifactId>
+            <version>4.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <version>${springframework.boot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+            <version>${springframework.boot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <version>${springframework.boot.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+            <version>${springframework.boot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-autoconfigure</artifactId>
+            <version>${springframework.boot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+            <version>${lombok.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>1.1.10</version>
+        </dependency>
+        <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc6</artifactId>
+            <version>11.2.0.3</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.data</groupId>
+            <artifactId>spring-data-redis</artifactId>
+            <version>2.3.6.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>${mybatis-plus.boot.starter.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+            <version>${mybatis-plus.generator.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>3.5.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <version>2.3.28</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.gyee</groupId>
+            <artifactId>common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.17</version>
+            <scope>compile</scope>
+        </dependency>
+        <!-- ********************** plugin ********************** -->
+        <!-- groovy-all -->
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy</artifactId>
+            <version>${groovy.version}</version>
+        </dependency>
+        <!-- xxl-job-core -->
+        <dependency>
+            <groupId>com.xuxueli</groupId>
+            <artifactId>xxl-job-core</artifactId>
+            <version>2.3.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.code.gson</groupId>
+            <artifactId>gson</artifactId>
+            <version>2.8.6</version>
+        </dependency>
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-all</artifactId>
+            <version>4.1.55.Final</version>
+        </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <version>${pgsql.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.1.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.taosdata.jdbc</groupId>
+            <artifactId>taos-jdbcdriver</artifactId>
+            <version>3.2.2</version>
+        </dependency>
+
     </dependencies>
 </project>

+ 7 - 0
alarm-scanner/src/main/java/com/gyee/alarm/feigns/IAlarmService.java

@@ -24,4 +24,11 @@ public interface IAlarmService {
     @Headers({"Content-Type: application/json", "Accept: application/json"})
     @RequestLine("POST /api/alarm/saveBtTags")
     void saveBtTags(List<AlarmTag> tasks);
+
+    @Headers({"Content-Type: application/json", "Accept: application/json"})
+    @RequestLine("POST /api/alarm/updateWtTags")
+    void updateWtTags(List<AlarmTag> tasks);
+    @Headers({"Content-Type: application/json", "Accept: application/json"})
+    @RequestLine("POST /api/alarm/updateBtTags")
+    void updateBtTags(List<AlarmTag> tasks);
 }

+ 10 - 2
alarm-scanner/src/main/java/com/gyee/alarm/model/vo/AlarmTag.java

@@ -41,7 +41,14 @@ public class AlarmTag {
      * 报警级别
      */
     private Integer rank;
-
+    /**
+     * 结束时间戳
+     */
+    private Long endts;
+    /**
+     * 报警时长
+     */
+    private Double timeLong;
     /**
      * 更新并检测是否触发报警
      */
@@ -52,7 +59,8 @@ public class AlarmTag {
         }
         ts = pointData.getPointTime();
         oval = pointData.getPointValueInDouble();
-
+        endts= pointData.getPointTime();
+        val=0.0;
 
         if(triggerType==-1)
         {

+ 3 - 3
alarm-scanner/src/main/java/com/gyee/alarm/service/AlarmScannerService.java

@@ -73,14 +73,14 @@ public class AlarmScannerService {
 
         StringBuilder str=new StringBuilder();
 
-        System.out.println(str.toString());
+     //   System.out.println(str.toString());
 
         for(int i=0;i<alarmTags.size();i++)
         {
             alarmls.add(alarmTags.get(i));
             if(i!=0 && i%listNumber==0)
             {
-                new Thread(new AlarmThread(executor, edosUtil, alarmService,  alarmTags,interval,String.valueOf(len),readRows,alarmType)).start();
+                new Thread(new AlarmThread(executor, edosUtil, alarmService,  alarmls,interval,String.valueOf(len),readRows,alarmType)).start();
                 alarmls=new ArrayList<>();
                 len++;
             }
@@ -88,7 +88,7 @@ public class AlarmScannerService {
 
         if(!alarmls.isEmpty())
         {
-            new Thread(new AlarmThread(executor, edosUtil, alarmService,  alarmTags,interval,String.valueOf(len),readRows,alarmType)).start();
+            new Thread(new AlarmThread(executor, edosUtil, alarmService,  alarmls,interval,String.valueOf(len),readRows,alarmType)).start();
             listNumber++;
         }
 

+ 39 - 5
alarm-scanner/src/main/java/com/gyee/alarm/task/thread/AlarmThreadPool.java

@@ -90,7 +90,9 @@ public class AlarmThreadPool implements Callable<String>, Serializable {
 				int alarmNumber=0;
 				if(values.size() == alarmVoList.size())
 				{
-					List<AlarmTag>  alarmTags=new ArrayList<>();
+					List<AlarmTag>  saveAlarmTags=new ArrayList<>();
+
+					List<AlarmTag>  updateAlarmTags=new ArrayList<>();
 
 					for(int i=0;i<alarmVoList.size();i++)
 					{
@@ -102,27 +104,59 @@ public class AlarmThreadPool implements Callable<String>, Serializable {
 						if(vo.updateAndCheck(value))
 						{
 							if(vo.getVal()==1)
-							{AlarmTag po=new AlarmTag();
+							{
+								AlarmTag po=new AlarmTag();
 
 								po.setId(vo.getId());
 								po.setTs(vo.getTs());
+								po.setEndts(po.getEndts());
 								po.setVal(vo.getVal());
 								po.setOval(vo.getOval());
 								po.setTriggerType(vo.getTriggerType());
 								po.setTagId(vo.getTagId());
 								po.setRank(vo.getRank());
-								alarmTags.add(po);
+								po.setTimeLong(0.0);
+								saveAlarmTags.add(po);
 								alarmNumber++;
+							}else
+							{
+								AlarmTag po=new AlarmTag();
+
+								po.setId(vo.getId());
+								po.setTs(vo.getTs());
+								po.setEndts(po.getEndts());
+								po.setVal(vo.getVal());
+								po.setOval(vo.getOval());
+								po.setTriggerType(vo.getTriggerType());
+								po.setTagId(vo.getTagId());
+								po.setRank(vo.getRank());
+								po.setTimeLong(0.0);
+								updateAlarmTags.add(po);
 							}
 						}
 					}
 
 					switch (alarmType){
 						case "wt_alarms":
-							alarmService.saveWtTags(alarmTags);
+							if(!saveAlarmTags.isEmpty())
+							{
+								alarmService.saveWtTags(saveAlarmTags);
+							}
+							if(!updateAlarmTags.isEmpty())
+							{
+								alarmService.updateWtTags(updateAlarmTags);
+							}
 							break;
 						case "bt_alarms":
-							alarmService.saveBtTags(alarmTags);
+							if(!saveAlarmTags.isEmpty())
+							{
+								alarmService.saveBtTags(saveAlarmTags);
+							}
+							if(!updateAlarmTags.isEmpty())
+							{
+								alarmService.updateBtTags(updateAlarmTags);
+							}
+
 							break;
 
 					}

+ 4 - 2
alarm-scanner/src/main/resources/application-jn.yml

@@ -134,8 +134,8 @@ logging:
 
 #db url
 db:
-  url1: http://10.81.3.154:8021/ts
-  url2: http://10.81.3.154:8022/ts
+  url1: http://10.81.3.154:8011/ts
+  url2: http://10.81.3.154:8012/ts
 
 
 #参与计算的场站
@@ -170,7 +170,9 @@ frequency:
 urls:
   alarm-service: http://127.0.0.1:6010
 
+#分隔10个线程
 task-count: 10
+#任务休眠间隔
 interval: 1
 
 #WT("wt_alarms", "设备报警超级表"),

+ 189 - 0
alarm-scanner/src/main/resources/application-wt.yml

@@ -0,0 +1,189 @@
+
+server:
+  port: 6012
+  servlet:
+    context-path: /
+
+
+spring:
+  main:
+    allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
+  #redis集群
+  redis:
+    #host: 127.0.0.1
+    host: 10.81.3.155
+    port: 6379
+    timeout: 100000
+    #    集群环境打开下面注释,单机不需要打开
+    #    cluster:
+    #      #集群信息
+    #      nodes: 10.83.68.151:6379,10.83.68.152:6379,10.83.68.153:6379,10.83.68.154:6379,10.83.68.155:6379,10.83.68.156:6379,10.83.68.157:6379,10.83.68.158:6379,10.83.68.159:6379
+    #      #默认值是5 一般当此值设置过大时,容易报:Too many Cluster redirections
+    #      maxRedirects: 3
+    password:
+    application:
+      name: test
+    jedis:
+      pool:
+        max-active: 8
+        min-idle: 0
+        max-idle: 8
+        max-wait: -1
+    database: 9
+  autoconfigure:
+    exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
+  datasource:
+    #type: com.alibaba.druid.pool.DruidDataSource
+    type: com.alibaba.druid.pool.DruidDataSource
+    dynamic:
+      primary: master #设置默认的数据源或者数据源组,默认值即为master
+      strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
+      datasource:
+        master:
+          url: jdbc:postgresql://10.81.3.151:5432/IMS_NEM_JN
+          username: postgres
+          password: gd123
+          driver-class-name: org.postgresql.Driver
+        slave:
+          driver-class-name: com.taosdata.jdbc.TSDBDriver
+          url: jdbc:TAOS://10.81.3.154:6030/nemjn?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8
+          username: root
+          password: taosdata
+        #配置初始化连接数大小
+      initial-size: 10
+      # 最大连接数
+      max-active: 50
+      #最小连接数
+      min-idle: 10
+      #获取连接等待超时时间
+      max-wait: 5000
+      pool-prepared-statements: true #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
+      max-pool-prepared-statement-per-connection-size: 20
+      validation-query: SELECT 1 FROM DUAL
+      validation-query-timeout: 20000
+      test-on-borrow: false #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+      test-on-return: false #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+      test-while-idle: true #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
+      time-between-eviction-runs-millis: 60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      min-evictable-idle-time-millis: 300000  #一个连接在池中最小生存的时间,单位是毫秒
+      #StatViewServlet配置。(因为暴露的监控信息比较敏感,支持密码加密和访问ip限定)
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        #可以增加访问账号密码【去掉注释就可以】
+        #login-username: admin
+        #login-password: admin
+      filter:
+        stat:
+          log-slow-sql: true
+          slow-sql-millis: 1000
+          merge-sql: false
+        wall:
+          config:
+            multi-statement-allow: true
+  servlet:
+    multipart:
+      # 开启 multipart 上传功能
+      enabled: true
+      # 文件写入磁盘的阈值
+      file-size-threshold: 2KB
+      # 最大文件大小
+      max-file-size: 200MB
+      # 最大请求大小
+      max-request-size: 215MB
+
+mybatis-plus:
+  configuration:
+    map-underscore-to-camel-case: true
+    auto-mapping-behavior: full
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  mapper-locations: classpath*:mapper/**/*Mapper.xml
+  global-config:
+    # 逻辑删除配置
+    db-config:
+      id-type: auto
+      # 删除前
+      logic-not-delete-value: 1
+      # 删除后
+      logic-delete-value: 0
+# 日志配置
+logging:
+  level:
+    root: info
+  charset:
+    # 输出控制台编码
+    console: UTF-8
+    # 输出文件编码
+    file: UTF-8
+  # 输出文件名及路径,不配置则不输出文件
+  file:
+    # 切记,该文件表示正在产出日志的日志文件。并不会打包,当文件大于max-file-size,会根据file-name-pattern格式打包
+    # 名称为log/ota.log文件夹会在项目根目录下,打包后会在启动包同目录下;名称为/log/ota.log的文件夹会在项目所在磁盘的跟目录下
+    name: log/ota.log
+  logback:
+    rollingpolicy:
+      # 单文件的大小,默认10M, 超过之后打包成一个日志文件
+      max-file-size: 1MB
+      # 日志保存的天数
+      max-history: 30
+      # 打包文件格式,默认: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz,书写格式为:文件路径/文件名.%i.文件后缀,其中%i不可省去,否则无日志显示
+      # 例如: 日期为:2021/11/5 ,则打包文件之后为: log/ota.2021-11-05.0.gz,0表示日志的第一部分,后续就是,1,2,3...
+      # 如果是压缩包,里面会多一个名log/ota.2021-11-05.0的日志文件
+      # 如下面的例子,打包之后为: log/2021-11/ota.2020-11-5.0.log,这是一个日志文件
+      file-name-pattern: log/%d{yyyy-MM}/ota.%d{yyyy-MM-dd}.%i.log
+
+#db url
+db:
+  url1: http://10.81.3.154:8011/ts
+  url2: http://10.81.3.154:8012/ts
+
+
+#参与计算的场站
+#runWindpowerstation: SXJ_KGDL_GJY_FDC_STA
+runWindpowerstation: SXJ_KGDL_NJL_FDC_STA,SXJ_KGDL_YF_FDC_STA,SXJ_KGDL_YLZ_FDC_STA,SXJ_KGDL_XWT_FDC_STA,SXJ_KGDL_PTZ_FDC_STA,SXJ_KGDL_GJY_FDC_STA,SXJ_KGDL_BHB_FDC_STA,SXJ_KGDL_HSM_FDC_STA,SXJ_KGDL_YTY_FDC_STA,SXJ_KGDL_BHB3_FDC_STA,SXJ_KGDL_SY_GDC_STA,SXJ_KGDL_PDL_FDC_STA,SXJ_KGDL_ZK_FDC_STA,SXJ_KGDL_JR_GDC_STA,SXJ_KGDL_FS_GDC_STA,SXJ_KGDL_HR_GDC_STA,SXJ_KGDL_YY_GDC_STA,SXJ_KGDL_PL_GDC_STA,SXJ_KGDL_TL_GDC_STA
+#计算状态用ai或者di
+clauStatus:
+  ai: GJY03_GC,YLZ01_GC,PTZ02_GC   #配置期次
+  di: GJY01_GC,GJY02_GC,DJY01_GC,DJY02_GC,YF01_GC,YF02_GC,HSM01_GC,PTZ01_GC,ZK01_GC,NJL01_GC,YTY01_GC,PDL01_GC
+#判断数据终端
+second: 1800
+#判断降出力
+AI110: 17.4    #叶轮转速给定
+AI178: 17.4    #转矩给定
+#AI443:容量
+
+#功率曲线拟合
+curvefitting:
+  #维度
+  dimension: 20
+  #尺度
+  scale: 0.01
+initialcode: INITIAL
+##调用区间间隔时长,需要与XXLJOB调度时长结合,保证查询区间时长大于调度时长,单位分钟
+frequency:
+  #停机
+  shutdown: 1
+  #限电
+  powerrationing: 1
+  #切入切出
+  cutinandout: 1
+urls:
+  alarm-service: http://127.0.0.1:6010
+
+#分隔10个线程
+task-count: 10
+#任务休眠间隔
+interval: 1
+
+#WT("wt_alarms", "设备报警超级表"),
+#BT("bt_alarms", "升压站报警超级表"),
+#CT("custom_alarms", "自定义报警超级表");
+alarmType: wt_alarms
+read-rows: 1000
+
+
+
+
+
+
+

+ 1 - 4
alarm-scanner/src/main/resources/application.yml

@@ -1,6 +1,3 @@
 spring:
   profiles:
-    active: jn
-#    active: yun
-
-#    active: td
+    active: bt

+ 184 - 0
alarm-web/src/main/resources/application-jn.yml

@@ -0,0 +1,184 @@
+
+server:
+  port: 6015
+  servlet:
+    context-path: /
+
+
+spring:
+  main:
+    allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
+  #redis集群
+  redis:
+    #host: 127.0.0.1
+    host: 10.81.3.155
+    port: 6379
+    timeout: 100000
+    #    集群环境打开下面注释,单机不需要打开
+    #    cluster:
+    #      #集群信息
+    #      nodes: 10.83.68.151:6379,10.83.68.152:6379,10.83.68.153:6379,10.83.68.154:6379,10.83.68.155:6379,10.83.68.156:6379,10.83.68.157:6379,10.83.68.158:6379,10.83.68.159:6379
+    #      #默认值是5 一般当此值设置过大时,容易报:Too many Cluster redirections
+    #      maxRedirects: 3
+    password:
+    application:
+      name: test
+    jedis:
+      pool:
+        max-active: 8
+        min-idle: 0
+        max-idle: 8
+        max-wait: -1
+    database: 9
+  autoconfigure:
+    exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
+  datasource:
+    #type: com.alibaba.druid.pool.DruidDataSource
+    type: com.alibaba.druid.pool.DruidDataSource
+    dynamic:
+      primary: master #设置默认的数据源或者数据源组,默认值即为master
+      strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
+      datasource:
+        master:
+          url: jdbc:postgresql://10.81.3.151:5432/IMS_NEM_JN
+          username: postgres
+          password: gd123
+          driver-class-name: org.postgresql.Driver
+        slave:
+          driver-class-name: com.taosdata.jdbc.TSDBDriver
+          url: jdbc:TAOS://10.81.3.154:6030/nemjn?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8
+          username: root
+          password: taosdata
+        #配置初始化连接数大小
+      initial-size: 10
+      # 最大连接数
+      max-active: 50
+      #最小连接数
+      min-idle: 10
+      #获取连接等待超时时间
+      max-wait: 5000
+      pool-prepared-statements: true #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
+      max-pool-prepared-statement-per-connection-size: 20
+      validation-query: SELECT 1 FROM DUAL
+      validation-query-timeout: 20000
+      test-on-borrow: false #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+      test-on-return: false #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+      test-while-idle: true #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
+      time-between-eviction-runs-millis: 60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      min-evictable-idle-time-millis: 300000  #一个连接在池中最小生存的时间,单位是毫秒
+      #StatViewServlet配置。(因为暴露的监控信息比较敏感,支持密码加密和访问ip限定)
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        #可以增加访问账号密码【去掉注释就可以】
+        #login-username: admin
+        #login-password: admin
+      filter:
+        stat:
+          log-slow-sql: true
+          slow-sql-millis: 1000
+          merge-sql: false
+        wall:
+          config:
+            multi-statement-allow: true
+  servlet:
+    multipart:
+      # 开启 multipart 上传功能
+      enabled: true
+      # 文件写入磁盘的阈值
+      file-size-threshold: 2KB
+      # 最大文件大小
+      max-file-size: 200MB
+      # 最大请求大小
+      max-request-size: 215MB
+
+mybatis-plus:
+  configuration:
+    map-underscore-to-camel-case: true
+    auto-mapping-behavior: full
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  mapper-locations: classpath*:mapper/**/*Mapper.xml
+  global-config:
+    # 逻辑删除配置
+    db-config:
+      id-type: auto
+      # 删除前
+      logic-not-delete-value: 1
+      # 删除后
+      logic-delete-value: 0
+# 日志配置
+logging:
+  level:
+    root: info
+  charset:
+    # 输出控制台编码
+    console: UTF-8
+    # 输出文件编码
+    file: UTF-8
+  # 输出文件名及路径,不配置则不输出文件
+  file:
+    # 切记,该文件表示正在产出日志的日志文件。并不会打包,当文件大于max-file-size,会根据file-name-pattern格式打包
+    # 名称为log/ota.log文件夹会在项目根目录下,打包后会在启动包同目录下;名称为/log/ota.log的文件夹会在项目所在磁盘的跟目录下
+    name: log/ota.log
+  logback:
+    rollingpolicy:
+      # 单文件的大小,默认10M, 超过之后打包成一个日志文件
+      max-file-size: 1MB
+      # 日志保存的天数
+      max-history: 30
+      # 打包文件格式,默认: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz,书写格式为:文件路径/文件名.%i.文件后缀,其中%i不可省去,否则无日志显示
+      # 例如: 日期为:2021/11/5 ,则打包文件之后为: log/ota.2021-11-05.0.gz,0表示日志的第一部分,后续就是,1,2,3...
+      # 如果是压缩包,里面会多一个名log/ota.2021-11-05.0的日志文件
+      # 如下面的例子,打包之后为: log/2021-11/ota.2020-11-5.0.log,这是一个日志文件
+      file-name-pattern: log/%d{yyyy-MM}/ota.%d{yyyy-MM-dd}.%i.log
+
+#db url
+db:
+  url1: http://10.81.3.154:8021/ts
+  url2: http://10.81.3.154:8022/ts
+
+
+#参与计算的场站
+#runWindpowerstation: SXJ_KGDL_GJY_FDC_STA
+runWindpowerstation: SXJ_KGDL_NJL_FDC_STA,SXJ_KGDL_YF_FDC_STA,SXJ_KGDL_YLZ_FDC_STA,SXJ_KGDL_XWT_FDC_STA,SXJ_KGDL_PTZ_FDC_STA,SXJ_KGDL_GJY_FDC_STA,SXJ_KGDL_BHB_FDC_STA,SXJ_KGDL_HSM_FDC_STA,SXJ_KGDL_YTY_FDC_STA,SXJ_KGDL_BHB3_FDC_STA,SXJ_KGDL_SY_GDC_STA,SXJ_KGDL_PDL_FDC_STA,SXJ_KGDL_ZK_FDC_STA,SXJ_KGDL_JR_GDC_STA,SXJ_KGDL_FS_GDC_STA,SXJ_KGDL_HR_GDC_STA,SXJ_KGDL_YY_GDC_STA,SXJ_KGDL_PL_GDC_STA,SXJ_KGDL_TL_GDC_STA
+#计算状态用ai或者di
+clauStatus:
+  ai: GJY03_GC,YLZ01_GC,PTZ02_GC   #配置期次
+  di: GJY01_GC,GJY02_GC,DJY01_GC,DJY02_GC,YF01_GC,YF02_GC,HSM01_GC,PTZ01_GC,ZK01_GC,NJL01_GC,YTY01_GC,PDL01_GC
+#判断数据终端
+second: 1800
+#判断降出力
+AI110: 17.4    #叶轮转速给定
+AI178: 17.4    #转矩给定
+#AI443:容量
+
+#功率曲线拟合
+curvefitting:
+  #维度
+  dimension: 20
+  #尺度
+  scale: 0.01
+initialcode: INITIAL
+##调用区间间隔时长,需要与XXLJOB调度时长结合,保证查询区间时长大于调度时长,单位分钟
+frequency:
+  #停机
+  shutdown: 1
+  #限电
+  powerrationing: 1
+  #切入切出
+  cutinandout: 1
+
+task-count: 10
+
+interval: 1
+
+
+
+
+
+
+
+
+
+
+