Browse Source

1.均方根准确率绝对值公式修改
2.根据细则过滤数据,实际可用数据过滤
3.陕西细则校验修改

zhangchenglong 2 năm trước cách đây
mục cha
commit
b818b63e56

+ 1 - 1
src/main/java/com/syjy/calculate/entity/CalculationInfo.java

@@ -59,7 +59,7 @@ public class CalculationInfo implements Serializable  {
     private BigDecimal ableValue;
 
     /**
-     * 理论功率(MW
+     * 理论功率(MW)
      */
     private BigDecimal theoryValue;
 

+ 1 - 1
src/main/java/com/syjy/calculate/function/RootMeanSquaredErrorA.java

@@ -33,7 +33,7 @@ public class RootMeanSquaredErrorA extends AbstractFunction {
         BigDecimal sumDifferenceAbsolute = new BigDecimal(String.valueOf(AviatorEvaluator.execute(exp, env)));
         //当所有点位的预测和实际相减之和为0 ,说明所有点 预测和实际相等 那么准确率是100%
         if (sumDifferenceAbsolute.compareTo(BigDecimal.ZERO) == 0) {
-            return new AviatorDecimal(CalculateResult.ONE_HUNDRED);
+            return new AviatorDecimal(BigDecimal.ONE);
         }
         BigDecimal sum = BigDecimal.ZERO;
         Sequence seq = RuntimeUtils.seq(formulaParam.getFirst(), env);

+ 16 - 19
src/main/java/com/syjy/calculate/service/AccuracyPassRateCalculateService.java

@@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cglib.beans.BeanMap;
 import org.springframework.stereotype.Service;
+
 import java.math.BigDecimal;
 import java.util.*;
 
@@ -64,7 +65,7 @@ public class AccuracyPassRateCalculateService {
         if (calculationFormula.getDataSourceType() != null) {
             List<List<Map<String, Object>>> groupingList = groupingList(checkedData, calculationFormula.getDataSourceType());
             env.put(CalculateResult.LIST, groupingList);
-            if(groupingList==null || groupingList.size()==0){
+            if (groupingList == null || groupingList.size() == 0) {
                 return CalculateResult.error(CalculateResult.MSG_CALCULATE_DATA_NULL);
             }
         } else {
@@ -79,7 +80,7 @@ public class AccuracyPassRateCalculateService {
         List<CalculationInfo> calculationInfoList = calculateRequest.getCalculationInfoList();
         BigDecimal maxOpenCapacity = calculateRequest.getElectricCapacity();
         // 如果数据不为空,获取最大开机容量
-        if(calculationInfoList!=null && calculationInfoList.size()>0){
+        if (calculationInfoList != null && calculationInfoList.size() > 0) {
             calculationInfoList.sort(Comparator.comparing(CalculationInfo::getOpenCapacity).reversed());
             maxOpenCapacity = calculationInfoList.get(0).getOpenCapacity();
         }
@@ -97,7 +98,7 @@ public class AccuracyPassRateCalculateService {
             // 获取计算结果
             Object executeResult = AviatorEvaluator.getInstance().getCachedExpressionByKey(scriptName).execute(env);
             // 过滤计算结果
-            String result = filterResult(executeResult,calculationFormula.getIsRate());
+            String result = filterResult(executeResult, calculationFormula.getIsRate());
             return CalculateResult.success(CalculateResult.MSG_CALCULATE_SUCCESS, result);
         } catch (Exception e) {
             e.printStackTrace();
@@ -111,14 +112,14 @@ public class AccuracyPassRateCalculateService {
      * @param result 过滤前的结果
      * @return 过滤后的结果
      */
-    private String filterResult(Object result,String type) {
+    private String filterResult(Object result, String type) {
         // 如果是map类型,转为jsonString
-        if(result instanceof HashMap){
+        if (result instanceof HashMap) {
             String jsonStr = JSONObject.toJSONString(result);
-            return  jsonStr;
+            return jsonStr;
         }
         // 如果返回的不是数值类型,则不用过滤,直接返回
-        if ((result instanceof String) || (result instanceof Boolean)|| (result instanceof HashMap)) {
+        if ((result instanceof String) || (result instanceof Boolean) || (result instanceof HashMap)) {
             return String.valueOf(result);
         }
         BigDecimal resultBig = new BigDecimal(String.valueOf(result));
@@ -144,7 +145,7 @@ public class AccuracyPassRateCalculateService {
         }
 
         //如果结果不带百分号,直接四舍五入4位小数
-        resultBig = resultBig.setScale(4,BigDecimal.ROUND_HALF_UP);
+        resultBig = resultBig.setScale(4, BigDecimal.ROUND_HALF_UP);
 
         return resultBig.toString();
     }
@@ -212,26 +213,22 @@ public class AccuracyPassRateCalculateService {
         // 获取公式
         String formulaInfo = calculationFormula.getFormula();
 
+        // 如果 实际功率/可用功率/预测功率为null 则剔除此条
+        calculationInfoList.stream().filter(s -> s.getAbleValue() != null && s.getForecastAbleValue() != null);
         // 循环判断实际功率/预测功率、开机容量
         for (int i = 0; i < calculationInfoList.size(); i++) {
-            // 如果 实际功率/可用功率/预测功率为null 则剔除此条
-            if (calculationInfoList.get(i).getAbleValue() == null || calculationInfoList.get(i).getForecastAbleValue() == null || calculationInfoList.get(i).getRealValue() == null) {
-                calculationInfoList.remove(i);
-            }
             // 如果公式中包含开机容量,才校验
-            if(formulaInfo.indexOf("openCapacity")>0){
+            if (formulaInfo.indexOf("openCapacity") > 0) {
                 // 如果开机容量 null 返回
                 if (calculationInfoList.get(i).getOpenCapacity() == null || calculationInfoList.get(i).getOpenCapacity().compareTo(BigDecimal.ZERO) == 0) {
                     return CalculateResult.error(CalculateResult.MSG_CAP_NULL);
                 }
             }
-
             // 如果数据文件类型不为空,则判断数据的生成时间和文件类型不可以为空
             if (dataSourceType != null && !"".equals(dataSourceType)) {
                 if (calculationInfoList.get(i).getGenTime() == null) {
                     return CalculateResult.error(CalculateResult.MSG_GEN_TIME_NULL);
                 }
-
                 if (calculationInfoList.get(i).getDataSourceType() == null || "".equals(calculationInfoList.get(i).getDataSourceType())) {
                     return CalculateResult.error(CalculateResult.MSG_DATA_SOURCE_TYPE_NULL);
                 }
@@ -317,10 +314,10 @@ public class AccuracyPassRateCalculateService {
                     // 如果当前数据和上一条数据的 生成时间相同,则放入组中
                     if (dataTime.equals(forDataTime)) {
                         group.add(map);
-                    // 如果不是,则将dataTime修改为新时间,并将之前的组数据放入最终list
+                        // 如果不是,则将dataTime修改为新时间,并将之前的组数据放入最终list
                     } else {
                         dataTime = forDataTime;
-                        if(group.size()!=0){
+                        if (group.size() != 0) {
                             groupingList.add(group);
                         }
                         // 清空之前的组,向组中放入本次内循环的数据
@@ -329,7 +326,7 @@ public class AccuracyPassRateCalculateService {
                     }
                     // 如果当前数据的文件类型 不是当前循环中的,将之前的组存入最终list,并清空组
                 } else {
-                    if(group.size()!=0){
+                    if (group.size() != 0) {
                         groupingList.add(group);
                     }
                     group = new ArrayList<>();
@@ -337,7 +334,7 @@ public class AccuracyPassRateCalculateService {
                 }
             }
             // 内循环最后一次执行完后,将未保存的组数据存入最终list
-            if(group.size()!=0){
+            if (group.size() != 0) {
                 groupingList.add(group);
             }
         }

+ 48 - 21
src/main/resources/sql/t_calculation_formula.sql

@@ -11,7 +11,7 @@
  Target Server Version : 80029
  File Encoding         : 65001
 
- Date: 11/04/2023 04:36:41
+ Date: 11/05/2023 11:10:57
 */
 
 SET NAMES utf8mb4;
@@ -39,7 +39,7 @@ CREATE TABLE `t_calculation_formula`  (
   `LAST_MODIFIER` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改时间',
   `LAST_MODIFY_TIME` datetime NULL DEFAULT NULL COMMENT '修改人',
   PRIMARY KEY (`ID`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 657 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 681 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Records of t_calculation_formula
@@ -192,7 +192,7 @@ INSERT INTO `t_calculation_formula` VALUES (145, 'RULES', 1, '    ## 设定返
 INSERT INTO `t_calculation_formula` VALUES (146, '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;', 'E51', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (147, '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;', 'E52Old', 'E1;E2', 'ALL', 'DAY_SHORT_ACCURACY', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (148, '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;', 'E52Old', 'E1;E2', 'ALL', 'DAY_ULTRA_SHORT_ACCURACY', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (149, 'RULES', 1, 'let m = seq.map(\"code\", \"500\", \"msg\", \"校验不通过\", \"data\", \"0.00%\");\r\n\r\nif(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      }else{\r\n        m.code=\"200\";\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;', 'E61', 'E1;E2', 'ALL', 'POINT_SHORT_ACCURACY', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (149, '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;', 'E61', 'E1;E2', 'ALL', 'POINT_SHORT_ACCURACY', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (150, '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;', 'E61', 'E1;E2', 'ALL', 'POINT_ULTRA_SHORT_ACCURACY', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (151, '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 ;', 'E61', 'E1;E2', 'ALL', 'POINT_SHORT_PASS', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (152, '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;', 'E61', 'E1;E2', 'ALL', 'POINT_ULTRA_SHORT_PASS', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -235,11 +235,11 @@ INSERT INTO `t_calculation_formula` VALUES (231, 'RULES', 1, '	let m = seq.map(\
 INSERT INTO `t_calculation_formula` VALUES (232, '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;', 'E42', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (233, 'SINGLE_MACHINE_PASS_RATE', 1, 'if(singleMachinePassRate>=0.99){\r\n  return 0;\r\n}\r\nreturn (0.99-singleMachinePassRate)*ratedCapacity*0.001;', 'E42', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (234, '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;', 'E64', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (235, 'ASSESSMENT_ULTRA_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;', 'E64', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (235, '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;', 'E64', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (236, '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', 'E64', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (237, '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', 'E64', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (238, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.1*0.2;\r\n', 'E64', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (239, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.75){\r\n  return 0;\r\n}\r\nreturn (0.75-ultraShortReportRate)*ratedCapacity*0.1*0.015;', 'E64', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (239, '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;', 'E64', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (240, '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;', 'E64', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (241, 'RULES', 1, '	let m = seq.map(\"code\", \"500\", \"msg\", \"校验不通过\", \"data\", \"0.00%\");\r\n	if (singleMachinePassRate == 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;', 'E42', 'E1;E2', 'ALL', 'SINGLE_MACHINE_PASS_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (242, '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', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -259,10 +259,10 @@ INSERT INTO `t_calculation_formula` VALUES (256, 'RULES', 1, '	let m = seq.map(\
 INSERT INTO `t_calculation_formula` VALUES (257, '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;', 'E41', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (258, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.002;', 'E37', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (259, 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.001;', 'E37', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (260, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1;\r\n', 'E37', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (261, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.9){\r\n  return 0;\r\n}\r\nreturn (0.9-ultraShortReportRate)*ratedCapacity*0.1;', 'E37', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (262, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.83){\r\n  return 0;\r\n}\r\nreturn (0.83-shortAccuracyRate)*ratedCapacity*0.1;\r\n', 'E37', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (263, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.87){\r\n  return 0;\r\n}\r\nreturn (0.87-ultraShortReportRate)*ratedCapacity*0.1;', 'E37', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (260, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(deviationPower<=0.2){\r\n  return 0;\r\n}\r\nreturn (deviationPower-0.2)*realValue*0.01*394.5*15/60;\r\n', 'E37', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (261, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(deviationPower<=0.15){\r\n  return 0;\r\n}\r\nreturn (deviationPower-0.15)*realValue*0.01*394.5*15/60;\r\n', 'E37', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (262, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(deviationPower<=0.2){\r\n  return 0;\r\n}\r\nreturn (deviationPower-0.2)*realValue*0.01*394.5*15/60;\r\n', 'E37', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (263, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(deviationPower<=0.15){\r\n  return 0;\r\n}\r\nreturn (deviationPower-0.15)*realValue*0.01*394.5*15/60;\r\n', 'E37', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (264, '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;', 'E37', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (265, '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;', 'E37', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (266, '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;', 'E37', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -280,10 +280,10 @@ INSERT INTO `t_calculation_formula` VALUES (277, 'ASSESSMENT_SHORT_ACCURACY_RATE
 INSERT INTO `t_calculation_formula` VALUES (278, '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', 'E13', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (279, '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;', 'E13', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (280, '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;', 'E13', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (281, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.001;', 'E17', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (282, 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', 1, 'if(ultraShortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-ultraShortReportRate)*ratedCapacity*0.001;', 'E17', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (281, 'ASSESSMENT_SHORT_REPORT_RATE', 1, 'if(shortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-shortReportRate)*ratedCapacity*0.001;', 'E17', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (282, 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', 1, 'if(ultraShortReportRate>=1){\r\n  return 0;\r\n}\r\n\r\nreturn (1-ultraShortReportRate)*ratedCapacity*0.001;', 'E17', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (283, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1;\r\n', 'E17', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (284, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.9){\r\n  return 0;\r\n}\r\nreturn (0.9-ultraShortReportRate)*ratedCapacity*0.1;', 'E17', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (284, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortAccuracyRate>=0.9){\r\n  return 0;\r\n}\r\nreturn (0.9-ultraShortAccuracyRate)*ratedCapacity*0.1;', 'E17', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (285, '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;', 'E17', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (286, '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;', 'E17', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (287, '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;', 'E17', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -587,7 +587,7 @@ INSERT INTO `t_calculation_formula` VALUES (586, 'ASSESSMENT_SHORT_REPORT_RATE',
 INSERT INTO `t_calculation_formula` VALUES (587, '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;', 'E61', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (588, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.8){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E61', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (589, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E61', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (590, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.75){\r\n  return 0;\r\n}\r\nreturn (0.75-ultraShortReportRate)*ratedCapacity*0.015*0.1;', 'E61', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (590, '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;', 'E61', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (591, '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;', 'E61', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (592, '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;', 'E61', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (593, '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;', 'E61', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -596,7 +596,7 @@ INSERT INTO `t_calculation_formula` VALUES (595, 'ASSESSMENT_SHORT_REPORT_RATE',
 INSERT INTO `t_calculation_formula` VALUES (596, '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;', 'E62', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (597, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.8){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E62', 'E1', 'ALL', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (598, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E62', 'E2', 'ALL', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (599, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.75){\r\n  return 0;\r\n}\r\nreturn (0.75-ultraShortReportRate)*ratedCapacity*0.015*0.1;', 'E62', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (599, '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;', 'E62', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (600, '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;', 'E62', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (601, '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;', 'E62', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (602, '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;', 'E62', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -605,16 +605,16 @@ INSERT INTO `t_calculation_formula` VALUES (604, 'ASSESSMENT_SHORT_REPORT_RATE',
 INSERT INTO `t_calculation_formula` VALUES (605, '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;', 'E63', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (606, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.8){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E63', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (607, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E63', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (608, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.75){\r\n  return 0;\r\n}\r\nreturn (0.75-ultraShortReportRate)*ratedCapacity*0.015*0.1;', 'E63', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (608, '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;', 'E63', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (609, '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;', 'E63', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (610, '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;', 'E63', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (611, '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;', 'E63', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` 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;', 'E64', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` 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;', 'E64', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (615, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.8){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E64', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (616, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.75){\r\n  return 0;\r\n}\r\nreturn deviationPower*0.2;\r\n', 'E64', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (617, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.75){\r\n  return 0;\r\n}\r\nreturn (0.75-ultraShortReportRate)*ratedCapacity*0.015*0.1;', 'E64', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (620, '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;', 'E64', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -638,7 +638,7 @@ INSERT INTO `t_calculation_formula` VALUES (641, 'RULES', 1, 'let m = seq.map(\"
 INSERT INTO `t_calculation_formula` VALUES (642, '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;', 'E12', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (643, '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;', 'E12', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (644, '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', 'E12', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `t_calculation_formula` VALUES (645, '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;', 'E12', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (645, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortAccuracyRate>=0.9){\r\n  return 0;\r\n}\r\nreturn (0.9-ultraShortAccuracyRate)*ratedCapacity*0.1*0.4;', 'E12', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (646, '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;', 'E12', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (647, '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;', 'E12', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (648, '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;', 'E12', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
@@ -649,5 +649,32 @@ INSERT INTO `t_calculation_formula` VALUES (652, 'ASSESSMENT_SHORT_REPORT_RATE',
 INSERT INTO `t_calculation_formula` VALUES (653, '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;', 'E32', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (654, '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', 'E32', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `t_calculation_formula` VALUES (655, '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;', 'E32', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (656, '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;', 'E32', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (657, '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;', 'E32', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (658, '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;', 'E32', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` 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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (675, 'ASSESSMENT_ULTRA_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', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (676, '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;', 'E36', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (677, '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;', 'E36', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_REPORT_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (678, 'ASSESSMENT_SHORT_ACCURACY_RATE', 1, 'if(shortAccuracyRate>=0.85){\r\n  return 0;\r\n}\r\nreturn (0.85-shortAccuracyRate)*ratedCapacity*0.1*1.5;\r\n', 'E36', 'E1;E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (679, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.9){\r\n  return 0;\r\n}\r\nreturn (0.9-ultraShortReportRate)*ratedCapacity*0.1*1.5;', 'E36', 'E1', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (680, '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;', 'E36', 'E1;E2', 'ALL', 'ASSESSMENT_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (681, '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;', 'E36', 'E1;E2', 'ALL', 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_calculation_formula` VALUES (682, 'ASSESSMENT_ULTRA_SHORT_ACCURACY_RATE', 1, 'if(ultraShortReportRate>=0.9){\r\n  return 0;\r\n}\r\nreturn (0.9-ultraShortReportRate)*ratedCapacity*0.1*1;', 'E36', 'E2', 'ALL', NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL);
 
 SET FOREIGN_KEY_CHECKS = 1;