Bladeren bron

计算新的外回流比 大宽表的小时维度 天维度 月度维度数据处理

wangmiaomiao 9 maanden geleden
bovenliggende
commit
01b5d3e2b9

+ 5 - 0
slibra-common/src/main/java/com/slibra/common/constant/MyConstants.java

@@ -47,6 +47,11 @@ public class MyConstants {
     public static final BigDecimal CLSNJCSJ_LAST = BigDecimal.valueOf(2938 * 60);
     public static final BigDecimal XGCDCQSQSSLS_LAST = BigDecimal.valueOf(24 * 1000 / (10.9 * 2.9 * 86400));
 
+    public static final BigDecimal DECIMAL_2 = new BigDecimal(2);
+    public static final BigDecimal DECIMAL_1500 = new BigDecimal(1500);
+    public static final BigDecimal DECIMAL_1200 = new BigDecimal(1200);
+    public static final BigDecimal DECIMAL_1620 = new BigDecimal(1620);
+
     //温度的范围  超过该温度表示夏季;没有超过表示冬季
     public static final String TEMPERATURE_VALUE = "12";
 

+ 11 - 2
slibra-quartz/src/main/java/com/slibra/quartz/task/AsyncTask.java

@@ -205,6 +205,8 @@ public class AsyncTask {
         xinyiBigTableHour.setJsQsb(xinyiCalculate.getQSB());
         xinyiBigTableHour.setJsFcxsl(xinyiCalculate.getFCXSL());
         xinyiBigTableHour.setJsFcxslbl(xinyiCalculate.getFCXSLBL());
+        //2024年7月11日15:57:20 外回流比采用新的公式计算
+        xinyiBigTableHour.setJsWhlbRN(xinyiCalculate.getWhlRN());
     }
 
     /**
@@ -643,7 +645,12 @@ public class AsyncTask {
                 //2024年7月3日10:54:28 额外再增加一个字段
                 tXinyiCalculate.setFCXSLBL(fcxsl.divide(jsSlq, NUMBER_SCALE_4, RoundingMode.HALF_UP).multiply(BigDecimal_100));
             }
-
+            //2024年7月11日15:43:47  之前给的外回流比计算不准确,额外一个字段记录新的外回流比
+            BigDecimal divide = jsSlq.divide(DECIMAL_2, NUMBER_SCALE_4, RoundingMode.HALF_UP);
+            if(divide.compareTo(DECIMAL_1500) < 0)
+                tXinyiCalculate.setWhlRN(DECIMAL_1200.divide(divide, NUMBER_SCALE_4, RoundingMode.HALF_UP).multiply(BigDecimal_100));
+            else
+                tXinyiCalculate.setWhlRN(DECIMAL_1620.divide(divide, NUMBER_SCALE_4, RoundingMode.HALF_UP).multiply(BigDecimal_100));
         }
         return tXinyiCalculate;
     }
@@ -670,7 +677,9 @@ public class AsyncTask {
 //        BigDecimal whlbgzxl = normConfig.getWHLBGZXL();
         BigDecimal whlbnkXxz = normConfig.getWhlbnkXxz();//75
 //        BigDecimal whlbSjz = normConfig.getWhlbSjz();
-        BigDecimal whlb = xinyiCalculate.getWHLB();
+//        BigDecimal whlb = xinyiCalculate.getWHLB();
+        //2024年7月11日15:54:19 外回流比采用新的计算方式获取的值
+        BigDecimal whlb = xinyiCalculate.getWhlRN();
         if(!Objects.isNull(whlb) && !Objects.isNull(whlbnkXxz)){
             handleXinYiWarningsSH(whlbnkXxz, whlb, BusinessEnum.WarningCategoryEnum.WHLB.getCode(), tXinyiIndustry, normConfig, true, BusinessEnum.BigModelUnitEnum.PERCENT.getCode());
         }