|
@@ -25,6 +25,7 @@ import com.slibra.common.constant.MyConstants;
|
|
|
import com.slibra.common.core.domain.TXinyiDaily;
|
|
|
import com.slibra.common.enums.BusinessEnum;
|
|
|
import com.slibra.common.enums.DataSourceType;
|
|
|
+import com.slibra.common.exception.ServiceException;
|
|
|
import com.slibra.common.utils.DateUtils;
|
|
|
import com.slibra.common.utils.LocalDateTimeUtil;
|
|
|
import com.slibra.common.utils.uuid.IdUtils;
|
|
@@ -415,7 +416,8 @@ public class RyTask
|
|
|
//判断是否触发告警、接触告警、保存决策等等
|
|
|
// this.handleWarning(industry);
|
|
|
//2024年5月30日18:29:20 改为异步处理
|
|
|
- asyncTask.handleWarning(industry, normConfig, xinyiCalculate);
|
|
|
+ //2025年02月13日15:08:54 同步数据的逻辑,不再保留报警,报警单独整理一个定时任务
|
|
|
+// asyncTask.handleWarning(industry, normConfig, xinyiCalculate);
|
|
|
});
|
|
|
|
|
|
//执行完成 测试执行时间
|
|
@@ -425,6 +427,31 @@ public class RyTask
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /***
|
|
|
+ *
|
|
|
+ * 工业库的报警:
|
|
|
+ * 2025年02月13日15:10:55 不再处理工业库数据的时候报警,单独一个定时任务处理报警
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public void industryWarning(){
|
|
|
+ log.info("进入了新的单独的工业库的报警逻辑处理~~~~&&&");
|
|
|
+ //获取配置表
|
|
|
+ List<TXinyiNormConfig> tXinyiNormConfigs = this.xinyiNormConfigMapper.selectTXinyiNormConfigList(null);
|
|
|
+ if(CollectionUtils.isEmpty(tXinyiNormConfigs))
|
|
|
+ throw new RuntimeException("未查询到配置信息");
|
|
|
+ TXinyiNormConfig normConfig = tXinyiNormConfigs.get(0);
|
|
|
+ //获取最新的一条工业库数据
|
|
|
+ TXinyiIndustry industry = this.xinyiIndustryMapper.selectTXinyiIndustryNewest();
|
|
|
+ if(Objects.isNull(industry))
|
|
|
+ throw new ServiceException("未查询到最新的工业库数据");//理论上不会
|
|
|
+ //获取同时刻的计算数据
|
|
|
+ List<TXinyiCalculate> tXinyiCalculates = this.xinyiCalculateMapper.selectTXinyiCalculateList(TXinyiCalculate.builder().testHour(industry.getTestHour()).build());
|
|
|
+ if(CollectionUtils.isEmpty(tXinyiCalculates))
|
|
|
+ throw new ServiceException("未查询到最新的工业库对应的计算数据");//理论上不会
|
|
|
+ //todo 特殊情况:工业库一直挂掉了,一直是同一条报警。需要增加一个记录,处理报警规则: 普通的不再报警、但是仪表故障相关的需要报出来 后续完善
|
|
|
+ asyncTask.handleWarning(industry, normConfig, tXinyiCalculates.get(0));
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -691,15 +718,29 @@ public class RyTask
|
|
|
log.info("{}已经吧保存过了,无需重复保存***&&&···", testHour);
|
|
|
}
|
|
|
//2024年08月09日14:26:29 为了节省费用,测试环境关闭报警并增加手动触发报警操作
|
|
|
- if(PROD_ENVIRONMENT.equalsIgnoreCase(environment) || DENGBAO_ENVIRONMENT.equalsIgnoreCase(environment)){
|
|
|
+ //2025年02月13日15:29:34 报警单独改成一个定时任务
|
|
|
+ /*if(PROD_ENVIRONMENT.equalsIgnoreCase(environment) || DENGBAO_ENVIRONMENT.equalsIgnoreCase(environment)){
|
|
|
asyncTask.handleRobotWarning(uniqueList);
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
+ public void robotWarning(){
|
|
|
+ log.info("进入了单独的化验室数据报警处理^^^***");
|
|
|
+ //获取最新的一条化验室数据
|
|
|
+ List<TXinyiRobot> robotList = this.xinyiRobotMapper.selectNRobot(1);
|
|
|
+ if(CollectionUtils.isEmpty(robotList))
|
|
|
+ throw new ServiceException("获取最新的工业库的一条数据失败,无法处理工业库报警");//理论上不会
|
|
|
+ if(PROD_ENVIRONMENT.equalsIgnoreCase(environment) || DENGBAO_ENVIRONMENT.equalsIgnoreCase(environment)
|
|
|
+ || DEV_ENVIRONMENT.equalsIgnoreCase(environment)){
|
|
|
+ asyncTask.handleRobotWarning(robotList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
*
|
|
|
* 定时生成每日简报数据
|