Răsfoiți Sursa

将获取工业库数据后 计算预测值、计算表、大表等操作数据从报警中移除 因为后续报警入口将会有新的调整

王苗苗 1 lună în urmă
părinte
comite
4e6b83fb0c

+ 7 - 26
slibra-quartz/src/main/java/com/slibra/quartz/task/AsyncTask.java

@@ -30,7 +30,6 @@ import inference.PredictionsRequest;
 import io.grpc.ManagedChannel;
 import io.grpc.ManagedChannelBuilder;
 import lombok.extern.slf4j.Slf4j;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
@@ -92,43 +91,25 @@ public class AsyncTask {
     private ITXinyiDailyService xinyiDailyService;
 
     /**
-     *
      * 异步处理告警任务
+     *
      * @param tXinyiIndustry
+     * @param normConfig
+     * @param xinyiCalculate
      */
     @Async("customizeExecutor")
-    public void handleWarning(TXinyiIndustry tXinyiIndustry){
-        //2024年6月18日10:45:20 额外计算一下预测的准确度
-        try {
-            this.updateForecastComparisonByIndustry(tXinyiIndustry);
-        } catch (Exception e) {
-            log.error("-------------------------------更新预测准确度的时候异常,异常信息为{}", e.getMessage());
-        }
+    public void handleWarning(TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, TXinyiCalculate xinyiCalculate){
         log.info("进入了定时任务保存工业库数据并触发报警操作");
-        //获取配置表
-        List<TXinyiNormConfig> tXinyiNormConfigs = this.xinyiNormConfigMapper.selectTXinyiNormConfigList(null);
-        if(CollectionUtils.isEmpty(tXinyiNormConfigs))
-            throw new RuntimeException("未查询到配置信息");
-        TXinyiNormConfig normConfig = tXinyiNormConfigs.get(0);
-
-        //2024年6月7日15:26:44 把一些额外的计算的值,同时记录下来(xinyiCalculate对象在生化报警可能用的到)
-        TXinyiCalculate xinyiCalculate = this.addCalculateByIndustry(tXinyiIndustry, normConfig);
-        this.xinyiCalculateMapper.insertTXinyiCalculate(xinyiCalculate);
-
         //2024年08月09日14:26:29  为了节省费用,测试环境关闭报警并增加手动触发报警操作
         if(PROD_ENVIRONMENT.equalsIgnoreCase(environment) || DENGBAO_ENVIRONMENT.equalsIgnoreCase(environment)){
             //水质报警
             this.handleSZWarning(tXinyiIndustry, normConfig);
-
             //2024年5月28日14:14:26  下面是新增的 生化报警处理
             this.handleSHWarning(tXinyiIndustry, normConfig, xinyiCalculate);
         }
-
-        //2024年7月3日18:01:13 额外处理大表数据
-        this.addBigTable(tXinyiIndustry, xinyiCalculate);
     }
 
-    private void addBigTable(TXinyiIndustry tXinyiIndustry, TXinyiCalculate xinyiCalculate) {
+    public void addBigTable(TXinyiIndustry tXinyiIndustry, TXinyiCalculate xinyiCalculate) {
         TXinyiBigTableHour xinyiBigTableHour = TXinyiBigTableHour.builder().build();
 
         //处理工业库的在线数据
@@ -252,7 +233,7 @@ public class AsyncTask {
      * 额外计算一下预测的准确度
      * @param tXinyiIndustry
      */
-    private void updateForecastComparisonByIndustry(TXinyiIndustry tXinyiIndustry) {
+    public void updateForecastComparisonByIndustry(TXinyiIndustry tXinyiIndustry) {
         BigDecimal csCod = tXinyiIndustry.getCsCod();
         BigDecimal csSs = tXinyiIndustry.getCsSs();
         BigDecimal csTn = tXinyiIndustry.getCsTn();
@@ -948,7 +929,7 @@ public class AsyncTask {
         }
     }
 
-    private TXinyiCalculate addCalculateByIndustry(TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig) {
+    public TXinyiCalculate addCalculateByIndustry(TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig) {
         //获取的一些配置信息
         BigDecimal nhlbqdsl = normConfig.getNHLBQDSL();
         BigDecimal nhlbdsjll = normConfig.getNHLBDSJLL();

+ 23 - 1
slibra-quartz/src/main/java/com/slibra/quartz/task/RyTask.java

@@ -130,6 +130,9 @@ public class RyTask
     @Autowired
     private IFrontService frontService;
 
+    @Autowired
+    private TXinyiCalculateMapper xinyiCalculateMapper;
+
     /** 使用的是哪个环境 */
     @Value("${spring.profiles.active}")
     private String environment;
@@ -387,10 +390,29 @@ public class RyTask
             industry.setHycWnndAll(JSON.toJSONString(extraList));
             //插入数据库
             xinyiIndustryMapper.insertTXinyiIndustry(industry);
+            //2024年6月18日10:45:20 额外计算一下预测的准确度
+            //2025年02月10日14:23:46 由于报警相关和数据处理区分 所以放到这里处理
+            try {
+                asyncTask.updateForecastComparisonByIndustry(industry);
+            } catch (Exception e) {
+                log.error("-------------------------------更新预测准确度的时候异常,异常信息为{}", e.getMessage());
+            }
+            //处理 计算数据 和 大表数据
+            //获取配置表
+            List<TXinyiNormConfig> tXinyiNormConfigs = this.xinyiNormConfigMapper.selectTXinyiNormConfigList(null);
+            if(CollectionUtils.isEmpty(tXinyiNormConfigs))
+                throw new RuntimeException("未查询到配置信息");
+            TXinyiNormConfig normConfig = tXinyiNormConfigs.get(0);
+
+            //2024年6月7日15:26:44 把一些额外的计算的值,同时记录下来(xinyiCalculate对象在生化报警可能用的到)
+            TXinyiCalculate xinyiCalculate = asyncTask.addCalculateByIndustry(industry, normConfig);
+            this.xinyiCalculateMapper.insertTXinyiCalculate(xinyiCalculate);
+            asyncTask.addBigTable(industry, xinyiCalculate);
+
             //判断是否触发告警、接触告警、保存决策等等
 //            this.handleWarning(industry);
             //2024年5月30日18:29:20  改为异步处理
-            asyncTask.handleWarning(industry);
+            asyncTask.handleWarning(industry, normConfig, xinyiCalculate);
         });
 
         //执行完成 测试执行时间