소스 검색

1.增加西藏准确率
2.更新山西准确率
3.修复新疆准确率
4.更新湖南准确率
5.修改海南、金山萨如拉计算准确使用实际功率

jyyw 1 년 전
부모
커밋
a41259826e

+ 1 - 1
.gitignore

@@ -18,7 +18,7 @@ target/
 *.iws
 *.iml
 *.ipr
-
+*.gitignore
 ### NetBeans ###
 /nbproject/private/
 /nbbuild/

+ 2 - 2
pom.xml

@@ -10,8 +10,8 @@
     </parent>
     <groupId>com.syjy</groupId>
     <artifactId>calculation-spring-boot-starter</artifactId>
-    <version>0.0.29</version>
-<!--    <version>0.0.29-SNAPSHOT</version>-->
+    <version>0.0.32</version>
+<!--    <version>0.0.32-SNAPSHOT</version>-->
     <name>calculation</name>
     <description>Demo project for Spring Boot</description>
     <properties>

+ 4 - 4
src/main/java/com/syjy/calculate/entity/CalculationFormula.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -20,7 +21,7 @@ import java.util.Date;
 @NoArgsConstructor
 @AllArgsConstructor
 @EqualsAndHashCode(callSuper = false)
-public class CalculationFormula extends PageReq {
+public class CalculationFormula extends PageReq implements Serializable {
 
     /**
      * 公式编号(运维标识,主键)
@@ -74,7 +75,6 @@ public class CalculationFormula extends PageReq {
      */
     private String maxMinLimit;
 
-
     /**
      * 状态
      */
@@ -90,14 +90,14 @@ public class CalculationFormula extends PageReq {
      */
     private String howManyDays;
 
+    private String creator;
 
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date createTime;
 
-    private String creator;
-
     private String lastModifier;
+
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date lastModifyTime;

+ 2 - 0
src/main/java/com/syjy/calculate/repository/repositoryImpl/CalculationFormulaRepositoryImpl.java

@@ -1,6 +1,8 @@
 package com.syjy.calculate.repository.repositoryImpl;
 
 import cn.hutool.core.io.IoUtil;
+import cn.hutool.poi.excel.ExcelReader;
+import cn.hutool.poi.excel.ExcelUtil;
 import com.alibaba.druid.sql.SQLUtils;
 import com.googlecode.aviator.AviatorEvaluator;
 import com.syjy.calculate.config.StarterProperties;

+ 9 - 3
src/main/resources/application.yml

@@ -6,8 +6,8 @@ spring:
     druid:
       # 数据源配置
       username: root
-      password: '123456'
-      url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&characterSetResults=UTF-8&autoReconnect=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
+      password: '!QAZ2root'
+      url: jdbc:mysql://localhost:3306/ipfcst-v3?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&autoReconnect=true&rewriteBatchedStatements=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
       driver-class-name: com.mysql.cj.jdbc.Driver
 
 #      金仓数据库
@@ -20,4 +20,10 @@ spring:
 #  file:
 #    name: ./logs/calculate.log
 
-version: @project.version@
+calculate:
+  service:
+    enabled: true
+    version: 0.0.31
+    dbType: mysql
+
+#version: @project.version@

+ 1 - 1
src/main/resources/config/db.setting

@@ -7,6 +7,6 @@ url = jdbc:mysql://localhost:3306/ipfcst-v3?useUnicode=true&characterEncoding=UT
 # 用户名,此处也可以使用 user 代替
 username = root
 # 密码,此处也可以使用 pass 代替
-password = root
+password = !QAZ2root
 # JDBC驱动名,可选(Hutool会自动识别)
 driver = com.mysql.cj.jdbc.Driver

+ 170 - 83
src/main/resources/sql/t_calculation_formula.sql

@@ -54,51 +54,51 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(4, 'DAY_ULTRA_SHORT_ACCURACY', 1, '    let listList = doubleList(list);\r\n    let sum = 0;\r\n    let count = 0;\r\n    for x in listList{\r\n        let insideResult = rootMeanSquaredErrorA(x,ableValue,forecastAbleValue,electricCapacity);\r\n        sum = sum + insideResult;\r\n        count = count + 1;\r\n    }\r\n    let data = sum/count;\r\n    return data;', 'E13', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(5, 'DAY_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E14', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(5, 'DAY_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E14Old', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(6, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E14', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(6, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E14Old', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(7, 'DAY_SHORT_PASS', 1, 'pass(list,80,ableValue,forecastAbleValue,openCapacity)', 'E14', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(7, 'DAY_SHORT_PASS', 1, 'pass(list,80,ableValue,forecastAbleValue,openCapacity)', 'E14Old', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(8, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,80,ableValue,forecastAbleValue,openCapacity)', 'E14', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(8, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,80,ableValue,forecastAbleValue,openCapacity)', 'E14Old', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(9, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E15', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(9, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,realValue,forecastAbleValue,openCapacity)', 'E15', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(10, 'DAY_SHORT_PASS', 1, 'pass(list,75,ableValue,forecastAbleValue,openCapacity)', 'E15', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(10, 'DAY_SHORT_PASS', 1, 'pass(list,75,realValue,forecastAbleValue,openCapacity)', 'E15', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(11, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorA(list,ableValue,forecastAbleValue,electricCapacity)', 'E17', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(12, 'DAY_ULTRA_SHORT_ACCURACY', 1, '    let listList = doubleList(list);\r\n    let sum = 0;\r\n    let count = 0;\r\n    for x in listList{\r\n        let insideResult = rootMeanSquaredErrorA(x,ableValue,forecastAbleValue,electricCapacity);\r\n        sum = sum + insideResult;\r\n        count = count + 1;\r\n    }\r\n    let data = sum/count;\r\n    return data;', 'E17', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(13, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E21', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(13, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,realValue,forecastAbleValue,openCapacity)', 'E21', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(14, 'DAY_SHORT_PASS', 1, 'pass(list,85,ableValue,forecastAbleValue,openCapacity)', 'E21', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(14, 'DAY_SHORT_PASS', 1, 'pass(list,85,realValue,forecastAbleValue,openCapacity)', 'E21', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(15, 'DAY_SHORT_PASS', 1, 'pass(list,75,ableValue,forecastAbleValue,openCapacity)', 'E21', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(15, 'DAY_SHORT_PASS', 1, 'pass(list,75,realValue,forecastAbleValue,openCapacity)', 'E21', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(16, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E22', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(16, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,realValue,forecastAbleValue,openCapacity)', 'E22', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(17, 'DAY_SHORT_PASS', 1, 'pass(list,85,ableValue,forecastAbleValue,openCapacity)', 'E22', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(17, 'DAY_SHORT_PASS', 1, 'pass(list,85,realValue,forecastAbleValue,openCapacity)', 'E22', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(18, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E22', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(18, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,realValue,forecastAbleValue,openCapacity)', 'E22', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(19, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,85,ableValue,forecastAbleValue,openCapacity)', 'E22', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(19, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,85,realValue,forecastAbleValue,openCapacity)', 'E22', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(20, 'DAY_SHORT_PASS', 1, 'pass(list,75,ableValue,forecastAbleValue,openCapacity)', 'E22', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(20, 'DAY_SHORT_PASS', 1, 'pass(list,75,realValue,forecastAbleValue,openCapacity)', 'E22', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(21, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,75,ableValue,forecastAbleValue,openCapacity)', 'E22', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(21, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,75,realValue,forecastAbleValue,openCapacity)', 'E22', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(22, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E23', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(22, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,realValue,forecastAbleValue,openCapacity)', 'E23', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(23, 'DAY_SHORT_PASS', 1, 'pass(list,85,ableValue,forecastAbleValue,openCapacity)', 'E23', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(23, 'DAY_SHORT_PASS', 1, 'pass(list,85,realValue,forecastAbleValue,openCapacity)', 'E23', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(24, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E23', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(24, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,realValue,forecastAbleValue,openCapacity)', 'E23', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(25, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,85,ableValue,forecastAbleValue,openCapacity)', 'E23', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(25, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,85,realValue,forecastAbleValue,openCapacity)', 'E23', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(26, 'DAY_SHORT_PASS', 1, 'pass(list,75,ableValue,forecastAbleValue,openCapacity)', 'E23', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(26, 'DAY_SHORT_PASS', 1, 'pass(list,75,realValue,forecastAbleValue,openCapacity)', 'E23', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(27, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,75,ableValue,forecastAbleValue,openCapacity)', 'E23', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(27, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,75,realValue,forecastAbleValue,openCapacity)', 'E23', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(28, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorR(list,ableValue,forecastAbleValue)', 'E32', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -136,14 +136,6 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(47, 'DAY_ULTRA_SHORT_PASS', 1, 'return \'100.00%\';', 'E42', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(48, 'DAY_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(49, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(50, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorS(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(51, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorS(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(52, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorS(list,ableValue,forecastAbleValue,electricCapacity)', 'E44Old', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(53, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorS(list,ableValue,forecastAbleValue,electricCapacity)', 'E44Old', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -228,11 +220,11 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(93, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,(electricCapacity*0.03),ableValue,forecastAbleValue,openCapacity)', 'E64', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(94, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorA(list,ableValue,forecastAbleValue,electricCapacity)', 'E99', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(94, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorA(list,realValue,forecastAbleValue,electricCapacity)', 'E99', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(95, 'DAY_ULTRA_SHORT_ACCURACY', 1, '    let listList = doubleList(list);\r\n    let sum = 0;\r\n    let count = 0;\r\n    for x in listList{\r\n        let insideResult = rootMeanSquaredErrorA(x,ableValue,forecastAbleValue,electricCapacity);\r\n        sum = sum + insideResult;\r\n        count = count + 1;\r\n    }\r\n    let data = sum/count;\r\n    return data;', 'E99', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(95, 'DAY_ULTRA_SHORT_ACCURACY', 1, '    let listList = doubleList(list);\r\n    let sum = 0;\r\n    let count = 0;\r\n    for x in listList{\r\n        let insideResult = rootMeanSquaredErrorA(x,realValue,forecastAbleValue,electricCapacity);\r\n        sum = sum + insideResult;\r\n        count = count + 1;\r\n    }\r\n    let data = sum/count;\r\n    return data;', 'E99', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(96, 'VERSION', 1, '', '', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(96, 'VERSION', 1, '0.0.32', '', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(97, 'RULES', 1, 'let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    if(ableValue<0){\r\n        m.code="666";\r\n        m.msg="忽略实际功率小于0的数据";\r\n        return m;\r\n    }\r\n    m.code="200";\r\n    m.msg="校验通过";\r\n    return m;', 'E12', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -242,17 +234,17 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(100, 'RULES', 1, 'let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    if(ableValue<0){\r\n        m.code="666";\r\n        m.msg="忽略实际功率小于0的数据";\r\n        return m;\r\n    }\r\n    m.code="200";\r\n    m.msg="校验通过";\r\n    return m;', 'E13', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(101, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(101, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14Old', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(102, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(102, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14Old', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(103, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'DAY_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(103, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14Old', 'E1;E2', 'ALL', 'DAY_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(104, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(104, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14Old', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(105, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E15', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(105, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (realValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E15', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(106, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E15', 'E1;E2', 'ALL', 'DAY_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(106, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (realValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E15', 'E1;E2', 'ALL', 'DAY_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(107, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E17', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -318,10 +310,6 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(138, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (realValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E42', 'E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(139, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(140, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(141, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E44Old', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(142, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E44Old', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -988,17 +976,17 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(525, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计\r\n    if (ableValue <electricCapacity*0.1 && realValue <electricCapacity*0.1 && forecastAbleValue <electricCapacity*0.1 ) {\r\n      m.code = "666";\r\n      m.msg = "实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E45', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(526, 'DAY_MID_ACCURACY', 1, 'rootMeanSquaredErrorSouthernPowerGrid(list,ableValue,forecastAbleValue,electricCapacity,0.2)', 'E46', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(526, 'DAY_MID_ACCURACY', 1, 'rootMeanSquaredErrorSouthernPowerGrid(list,realValue,forecastAbleValue,electricCapacity,0.2)', 'E46', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(527, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorSouthernPowerGrid(list,ableValue,forecastAbleValue,electricCapacity,0.2)', 'E46', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(527, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorSouthernPowerGrid(list,realValue,forecastAbleValue,electricCapacity,0.2)', 'E46', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(528, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorSouthernPowerGrid(list,ableValue,forecastAbleValue,electricCapacity,0.2)', 'E46', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(528, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorSouthernPowerGrid(list,realValue,forecastAbleValue,electricCapacity,0.2)', 'E46', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(529, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计\r\n    if (ableValue <electricCapacity*0.1 && realValue <electricCapacity*0.1 && forecastAbleValue <electricCapacity*0.1 ) {\r\n      m.code = "666";\r\n      m.msg = "实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E46', 'E1;E2', 'ALL', 'DAY_MID_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(529, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计\r\n    if (realValue <electricCapacity*0.1 && realValue <electricCapacity*0.1 && forecastAbleValue <electricCapacity*0.1 ) {\r\n      m.code = "666";\r\n      m.msg = "实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (realValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E46', 'E1;E2', 'ALL', 'DAY_MID_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(530, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计\r\n    if (ableValue <electricCapacity*0.1 && realValue <electricCapacity*0.1 && forecastAbleValue <electricCapacity*0.1 ) {\r\n      m.code = "666";\r\n      m.msg = "实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E46', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(530, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计\r\n    if (realValue <electricCapacity*0.1 && realValue <electricCapacity*0.1 && forecastAbleValue <electricCapacity*0.1 ) {\r\n      m.code = "666";\r\n      m.msg = "实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (realValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E46', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(531, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计\r\n    if (ableValue <electricCapacity*0.1 && realValue <electricCapacity*0.1 && forecastAbleValue <electricCapacity*0.1 ) {\r\n      m.code = "666";\r\n      m.msg = "实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E46', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(531, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计\r\n    if (realValue <electricCapacity*0.1 && realValue <electricCapacity*0.1 && forecastAbleValue <electricCapacity*0.1 ) {\r\n      m.code = "666";\r\n      m.msg = "实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (realValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E46', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(532, 'DAY_MID_ACCURACY', 1, 'rootMeanSquaredErrorSouthernPowerGrid(list,ableValue,forecastAbleValue,electricCapacity,0.2)', 'E52', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -1024,7 +1012,7 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(543, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计\r\n    if (ableValue <electricCapacity*0.1 && realValue <electricCapacity*0.1 && forecastAbleValue <electricCapacity*0.1 ) {\r\n      m.code = "666";\r\n      m.msg = "实际功率、可用功率、预测功率均小于装机容量*10%时,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E53', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(544, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E21', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(544, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,realValue,forecastAbleValue,openCapacity)', 'E21', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(551, 'DAY_MID_ACCURACY', 1, '    let sum = 0;\r\n    let count = 0;\r\n    for x in list{\r\n        let insideResult = rootMeanSquaredErrorC(x,ableValue,forecastAbleValue,electricCapacity);\r\n        sum = sum + insideResult;\r\n        count = count + 1;\r\n    }\r\n    let data = sum/count;\r\n    return data;', 'E33', 'E1;E2', 'ALL', NULL, '1', '1', '1', 'E278,E279', '10', NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -1038,7 +1026,7 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(556, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "200";\r\n      ableValue = 0;\r\n      m.msg = "实际功率为负数,转换为0";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E33', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(557, 'DAY_SHORT_PASS', 1, 'pass(list,85,ableValue,forecastAbleValue,openCapacity)', 'E15', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(557, 'DAY_SHORT_PASS', 1, 'pass(list,85,realValue,forecastAbleValue,openCapacity)', 'E15', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(558, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.1*2;', 'E23', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -1150,16 +1138,6 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(612, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E63', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(613, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=0.95){\r\n  return 0;\r\n}\r\n\r\nreturn (0.95-shortReportRate)*ratedCapacity*0.1*6;', 'E65', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(614, 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', 1, 'if(ultraShortReportRate>=0.95){\r\n  return 0;\r\n}\r\n\r\nreturn (0.95-ultraShortReportRate)*ratedCapacity*0.1*6;', 'E65', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(615, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.8){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E65', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(616, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E65', 'E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(617, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn (0.75-ultraShortAccuracyRate)*ratedCapacity*0.015*0.1;', 'E65', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(618, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E64', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(619, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E64', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -1216,7 +1194,7 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(649, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E12', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(650, 'DAY_MID_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E21', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(650, 'DAY_MID_ACCURACY', 1, 'rootMeanSquaredErrorC(list,realValue,forecastAbleValue,openCapacity)', 'E21', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(651, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果开机容量为负数,忽略不计\r\n    if (openCapacity <=0) {\r\n      m.code = "666";\r\n      m.msg = "开机容量为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m ;', 'E21', 'E1;E2', 'ALL', 'DAY_MID_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -1236,33 +1214,21 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(659, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E32', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(660, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.1*0.001;', 'E14', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(661, 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', 1, 'if(ultraShortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-ultraShortReportRate)*ratedCapacity*0.1*0.001;', 'E14', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(662, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1*0.4;\r\n', 'E14', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(663, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.9){\r\n  return 0;\r\n}\r\nreturn (0.9-ultraShortReportRate)*ratedCapacity*0.1*0.4;', 'E14', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(664, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(660, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.1*0.001;', 'E14Old', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(665, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(661, 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', 1, 'if(ultraShortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-ultraShortReportRate)*ratedCapacity*0.1*0.001;', 'E14Old', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(666, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(662, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1*0.4;\r\n', 'E14Old', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(667, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(663, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.9){\r\n  return 0;\r\n}\r\nreturn (0.9-ultraShortReportRate)*ratedCapacity*0.1*0.4;', 'E14Old', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(668, 'ASSESSMENT_MID_ACCURACY_RATE', 1, 'if(midReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nif(midAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\n\r\nreturn (0.75-midAccuracyRate)*ratedCapacity*0.1*30;', 'E43', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(664, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14Old', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(669, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\n\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1*30;', 'E43', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(665, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14Old', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(670, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.9){\r\n  return 0;\r\n}\r\n\r\nreturn (0.9-shortAccuracyRate)*ratedCapacity*0.1*30;', 'E43', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(666, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14Old', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(671, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (midAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "中期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'ASSESSMENT_MID_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(672, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(673, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(667, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14Old', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(674, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.1*0.25;', 'E36', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -1284,7 +1250,7 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(683, 'USER', 1, 'user:123456', 'E99', 'E1;E2', NULL, NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
-	(684, 'POINT_SHORT_DEVIATION_ELECTRICITY', 1, '		manyDayThreeDayDeviationElectricity(list,0.15,\'		## 如果 预测功率为空\r\n		if(forecastAbleValue == 0){\r\n			## 如果 预测功率为0,可用功率也为0,则返回0\r\n			if(ableValue ==0){\r\n				return 0;\r\n			## 如果 预测功率为空,可用功率不为0,则返回可用功率\r\n			}else{\r\n				return ableValue*0.25;\r\n			}\r\n		}\r\n\r\n		## 如果预测功率=可用功率,返回0\r\n		if(forecastAbleValue==ableValue){\r\n			return 0;\r\n		}\r\n\r\n		## 如果预测功率不为0且预测功率与可用功率差不为0,则计算单侧误差带宽\r\n		let pointDeviation = math.abs(forecastAbleValue-ableValue)/forecastAbleValue;\r\n		let deviationElectricity = 0M;\r\n		## 如果超过阈值\r\n		if(pointDeviation>deviationThreshold){\r\n			##如果预测大于实际\r\n			if (forecastAbleValue > ableValue) {\r\n				deviationElectricity = (forecastAbleValue * (1 - deviationThreshold) - ableValue) * 0.25;\r\n			##如果预测小于实际\r\n			} else {\r\n				deviationElectricity = (ableValue - (forecastAbleValue * (1 + deviationThreshold))) * 0.25;\r\n			}\r\n		}else{\r\n			deviationElectricity = 0;\r\n		}\r\n		return deviationElectricity;\')', 'E21', 'E1', 'ALL', NULL, '1', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+	(684, 'POINT_SHORT_DEVIATION_ELECTRICITY', 1, '		manyDayThreeDayDeviationElectricity(list,0.15,\'		## 如果 预测功率为空\r\n		if(forecastAbleValue == 0){\r\n			## 如果 预测功率为0,可用功率也为0,则返回0\r\n			if(realValue ==0){\r\n				return 0;\r\n			## 如果 预测功率为空,可用功率不为0,则返回可用功率\r\n			}else{\r\n				return realValue*0.25;\r\n			}\r\n		}\r\n\r\n		## 如果预测功率=可用功率,返回0\r\n		if(forecastAbleValue==realValue){\r\n			return 0;\r\n		}\r\n\r\n		## 如果预测功率不为0且预测功率与可用功率差不为0,则计算单侧误差带宽\r\n		let pointDeviation = math.abs(forecastAbleValue-realValue)/forecastAbleValue;\r\n		let deviationElectricity = 0M;\r\n		## 如果超过阈值\r\n		if(pointDeviation>deviationThreshold){\r\n			##如果预测大于实际\r\n			if (forecastAbleValue > realValue) {\r\n				deviationElectricity = (forecastAbleValue * (1 - deviationThreshold) - realValue) * 0.25;\r\n			##如果预测小于实际\r\n			} else {\r\n				deviationElectricity = (realValue - (forecastAbleValue * (1 + deviationThreshold))) * 0.25;\r\n			}\r\n		}else{\r\n			deviationElectricity = 0;\r\n		}\r\n		return deviationElectricity;\')', 'E21', 'E1', 'ALL', NULL, '1', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(685, 'TEN_DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorS(list,realValue,forecastAbleValue,electricCapacity)', 'E37', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
@@ -1329,4 +1295,125 @@ INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVI
 	(705, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (realValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E42', 'E1', 'ALL', 'TEN_DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
 	(706, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (realValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E42', 'E2', 'ALL', 'TEN_DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-SET FOREIGN_KEY_CHECKS = 1;
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(707, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorA(list,ableValue,forecastAbleValue,electricCapacity)', 'E14', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(708, 'DAY_ULTRA_SHORT_ACCURACY', 1, '    let listList = doubleList(list);\r\n    let sum = 0;\r\n    let count = 0;\r\n    for x in listList{\r\n        let insideResult = rootMeanSquaredErrorA(x,ableValue,forecastAbleValue,electricCapacity);\r\n        sum = sum + insideResult;\r\n        count = count + 1;\r\n    }\r\n    let data = sum/count;\r\n    return data;', 'E14', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(709, 'RULES', 1, 'let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    if(ableValue<0){\r\n        m.code="666";\r\n        m.msg="忽略实际功率小于0的数据";\r\n        return m;\r\n    }\r\n    m.code="200";\r\n    m.msg="校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(710, 'RULES', 1, 'let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    if(ableValue<0){\r\n        m.code="666";\r\n        m.msg="忽略实际功率小于0的数据";\r\n        return m;\r\n    }\r\n    m.code="200";\r\n    m.msg="校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(711, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.001;', 'E14', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(712, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1*0.4;\r\n', 'E14', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(713, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1*0.4;\r\n', 'E14', 'E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(714, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(715, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E14', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(716, 'DAY_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(717, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(718, 'DAY_MID_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E1', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(719, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorS(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(720, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorS(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(721, 'DAY_MID_ACCURACY', 1, 'rootMeanSquaredErrorS(list,ableValue,forecastAbleValue,electricCapacity)', 'E43', 'E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(722, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'DAY_MID_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(723, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(724, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(725, 'ASSESSMENT_MID_ACCURACY_RATE', 1, 'if(midReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nif(midAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\n\r\nreturn (0.75-midAccuracyRate)*ratedCapacity*0.1*30;', 'E43', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(726, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\n\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1*30;', 'E43', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(727, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.9){\r\n  return 0;\r\n}\r\n\r\nreturn (0.9-shortAccuracyRate)*ratedCapacity*0.1*30;', 'E43', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(728, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (midAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "中期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'ASSESSMENT_MID_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(729, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(730, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E43', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(731, 'POINT_SHORT_ACCURACY', 1, 'pointS(list,ableValue,forecastAbleValue)', 'E65', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(732, 'POINT_ULTRA_SHORT_ACCURACY', 1, 'pointU(list,ableValue,forecastAbleValue)', 'E65', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(733, 'POINT_SHORT_PASS', 1, 'pass(list,(electricCapacity*0.03),ableValue,forecastAbleValue,openCapacity)', 'E65', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(734, 'POINT_ULTRA_SHORT_PASS', 1, 'pass(list,(electricCapacity*0.03),ableValue,forecastAbleValue,openCapacity)', 'E65', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(735, 'DAY_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E65', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(736, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'rootMeanSquaredErrorC(list,ableValue,forecastAbleValue,openCapacity)', 'E65', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(737, 'DAY_SHORT_PASS', 1, 'pass(list,(electricCapacity*0.03),ableValue,forecastAbleValue,openCapacity)', 'E65', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(738, 'DAY_ULTRA_SHORT_PASS', 1, 'pass(list,(electricCapacity*0.03),ableValue,forecastAbleValue,openCapacity)', 'E65', 'E1;E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(739, 'RULES', 1, 'let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    if(forecastAbleValue==0){\r\n        if(ableValue<=electricCapacity*0.03){\r\n            m.msg="预测功率为0,实际功率<=容量的3%";\r\n            m.data = "不予考核";\r\n            return m;\r\n        }else{\r\n            m.msg="预测功率为0,实际功率>容量的3%";\r\n            m.data = "0.00%";\r\n            return m;\r\n        }\r\n    }else{\r\n        if(ableValue==0){\r\n                if(forecastAbleValue<=electricCapacity*0.03){\r\n                    m.msg="实际功率为0,预测功率<=容量的3%";\r\n                    m.data = "不予考核";\r\n                    return m;\r\n                }else{\r\n                    m.msg="实际功率为0,预测功率>容量的3%";\r\n                    m.data = "0.00%";\r\n                    return m;\r\n                }\r\n            }\r\n    }\r\n    m.code="200";\r\n    m.msg="校验通过";\r\n    return m;', 'E65', 'E2', 'ALL', 'POINT_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(740, 'RULES', 1, 'let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n\r\nif(ableValue<=electricCapacity*0.03 && forecastAbleValue<=electricCapacity*0.03){\r\n      m.code = "666";\r\n      m.msg = "实际和预测值均在装机容量3%以内时,忽略不计";\r\n      return m;\r\n    }\r\n    m.code="200";\r\n    m.msg="校验通过";\r\n    return m;', 'E65', 'E2', 'ALL', 'POINT_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(741, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果开机容量为负数,忽略不计\r\n    if (openCapacity <=0) {\r\n      m.code = "666";\r\n      m.msg = "开机容量为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m ;', 'E65', 'E2', 'ALL', 'POINT_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(742, 'RULES', 1, 'let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n\r\nif(ableValue<=electricCapacity*0.03 && forecastAbleValue<=electricCapacity*0.03){\r\n      m.code = "666";\r\n      m.msg = "实际和预测值均在装机容量3%以内时,忽略不计";\r\n      return m;\r\n    }\r\n    m.code="200";\r\n    m.msg="校验通过";\r\n    return m;', 'E65', 'E2', 'ALL', 'POINT_ULTRA_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(743, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=0.95){\r\n  return 0;\r\n}\r\n\r\nreturn (0.95-shortReportRate)*ratedCapacity*0.1*6;', 'E65', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(744, 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', 1, 'if(ultraShortReportRate>=0.95){\r\n  return 0;\r\n}\r\n\r\nreturn (0.95-ultraShortReportRate)*ratedCapacity*0.1*6;', 'E65', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(745, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.8){\r\n  return 0;\r\n}\r\nreturn (0.8-shortAccuracyRate)*0.1*0.2;\r\n', 'E65', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(746, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.8){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.1*0.2;\r\n', 'E65', 'E1', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(747, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.1*0.2;\r\n', 'E65', 'E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(748, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn (0.75-ultraShortAccuracyRate)*ratedCapacity*0.1*0.015;', 'E65', 'E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(749, 'ABLE_POWER_ACCURACY_RATE', 1, 'if(ablePowerAccuracyRate>=0.98){\r\n  return 0;\r\n}\r\nreturn (0.98-ablePowerAccuracyRate)*ratedCapacity*0.1*0.05;', 'E65', 'E1;E2', 'ALL', NULL, '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(750, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(751, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(752, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (deviationPower == nil) {\r\n      m.code = "500";\r\n      m.msg = "偏差电量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(753, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(754, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ablePowerAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "可用功率准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ABLE_POWER_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(755, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(756, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortReportRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "超短期上报率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(757, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (shortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (deviationPower == nil) {\r\n      m.code = "500";\r\n      m.msg = "偏差积分电量空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(758, 'RULES', 1, '	let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n	if (ultraShortAccuracyRate == nil) {\r\n      m.code = "500";\r\n      m.msg = "短期准确率为空";\r\n      return m;\r\n    }\r\n	if (ratedCapacity == nil) {\r\n      m.code = "500";\r\n      m.msg = "额定容量为空";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(759, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(760, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E65', 'E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(761, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果开机容量为负数,忽略不计\r\n    if (openCapacity <=0) {\r\n      m.code = "666";\r\n      m.msg = "开机容量为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m ;', 'E65', 'E2', 'ALL', 'DAY_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(762, 'RULES', 1, 'let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n\r\nif(ableValue<=electricCapacity*0.03 && forecastAbleValue<=electricCapacity*0.03){\r\n      m.code = "666";\r\n      m.msg = "实际和预测值均在装机容量3%以内时,忽略不计";\r\n      return m;\r\n    }\r\n    m.code="200";\r\n    m.msg="校验通过";\r\n    return m;', 'E65', 'E2', 'ALL', 'DAY_ULTRA_SHORT_PASS', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(763, 'DAY_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E54', 'E1,E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(764, 'DAY_ULTRA_SHORT_ACCURACY', 1, 'meanAbsoluteError(list,ableValue,forecastAbleValue,electricCapacity)', 'E54', 'E1,E2', 'ALL', NULL, '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(765, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E54', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` (`ID`, `TYPE`, `ORDER_NO`, `FORMULA`, `PROVINCE`, `ELECTRIC_TYPE`, `STATION_CODE`, `RULE_FORMULA`, `IS_RATE`, `MAX_MIN_LIMIT`, `STATE`, `DATA_SOURCE_TYPE`, `HOW_MANY_DAYS`, `CREATE_TIME`, `CREATOR`, `LAST_MODIFIER`, `LAST_MODIFY_TIME`) VALUES
+	(766, 'RULES', 1, '    ## 设定返回map\r\n    let m = seq.map("code", "500", "msg", "校验不通过", "data", "0.00%");\r\n    ## 如果实际功率为负数,忽略不计\r\n    if (ableValue <0) {\r\n      m.code = "666";\r\n      m.msg = "实际功率为负数,忽略不计";\r\n      return m;\r\n    }\r\n    m.code = "200";\r\n    m.msg = "校验通过";\r\n    return m;', 'E54', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+
+SET FOREIGN_KEY_CHECKS = 1;