|
@@ -4219,8 +4219,6 @@ public class AsyncTask {
|
|
|
log.error("处理生化报警时,获取最近的8条工业库数据失败~~~~~~~");
|
|
|
return ;
|
|
|
}
|
|
|
- TXinyiIndustry tXinyiIndustry1 = tXinyiIndustries.get(INDEX_1);//前一个小时
|
|
|
-
|
|
|
//拼接决策的最近8小时的值
|
|
|
String last8Str = this.getJsNh3StrByList(tXinyiIndustries);
|
|
|
|
|
@@ -7223,14 +7221,14 @@ public class AsyncTask {
|
|
|
//#1好氧硝酸盐
|
|
|
if(no3Hlj1Jqr.compareTo(BigDecimal.ZERO) > 0 && xsy1Execute){
|
|
|
if(!Objects.isNull(cszzBzz)){
|
|
|
- handleXinYiWarningsRobotOrigin(cszzBzz, no3Hlj1Jqr, cszzGkz, ROBOT_XSY_1.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
|
|
|
+ handleXinYiWarningsRobotOriginCsXsy(cszzBzz, no3Hlj1Jqr, cszzGkz, ROBOT_XSY_1.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()), tXinyiRobots);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//#2好氧硝酸盐
|
|
|
if(no3Hlj2Jqr.compareTo(BigDecimal.ZERO) > 0 && xsy2Execute){
|
|
|
if(!Objects.isNull(cszzBzz)){
|
|
|
- handleXinYiWarningsRobotOrigin(cszzBzz, no3Hlj2Jqr, cszzGkz, ROBOT_XSY_2.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
|
|
|
+ handleXinYiWarningsRobotOriginCsXsy(cszzBzz, no3Hlj2Jqr, cszzGkz, ROBOT_XSY_2.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()), tXinyiRobots);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -7238,7 +7236,7 @@ public class AsyncTask {
|
|
|
|
|
|
//出水氨氮
|
|
|
if(!Objects.isNull(csadBzz) && csADExecute){
|
|
|
- handleXinYiWarningsRobotOriginCsAd(csadBzz, tenVals.get(INDEX_0), csadGkz, ROBOT_CS_AD.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsNh3(), jsslSjz, normConfig.getJsadSjz()), tXinyiRobots);
|
|
|
+ handleXinYiWarningsRobotOriginCsAd(csadBzz, tenVals.get(INDEX_0), csadGkz, ROBOT_CS_AD.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsNh3(), jsslSjz, normConfig.getJsadSjz()), tXinyiRobots, tenVals);
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -7634,7 +7632,6 @@ public class AsyncTask {
|
|
|
// }
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 通过输入的值 生成对应类型的报警对象(出水)
|
|
|
*
|
|
@@ -7648,25 +7645,23 @@ public class AsyncTask {
|
|
|
* @param tXinyiRobots
|
|
|
* @return
|
|
|
*/
|
|
|
- private void handleXinYiWarningsRobotOriginCsAd(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<TXinyiRobot> tXinyiRobots) {
|
|
|
+ private void handleXinYiWarningsRobotOriginCsXsy(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<TXinyiRobot> tXinyiRobots) {
|
|
|
|
|
|
Date nowDate = DateUtils.getNowDate();
|
|
|
- TXinyiRobot tXinyiRobot1 = tXinyiRobots.get(INDEX_1);//前一个小时
|
|
|
|
|
|
//单点突变-异常升高报警
|
|
|
if (existsYcsgRobots(csBzz, currentVal, csGkz, category, tXinyiIndustry, normConfig, cwrwfhz, tXinyiRobots, nowDate))
|
|
|
return;
|
|
|
|
|
|
-
|
|
|
//下面是最原始的处理 超标准 超管控报警
|
|
|
- robotCsAdGybz(csBzz, currentVal, csGkz, category, tXinyiIndustry, normConfig, cwrwfhz, tXinyiRobots, nowDate, tXinyiRobot1);
|
|
|
+ robotCsXsyGybz(csBzz, currentVal, csGkz, category, tXinyiIndustry, normConfig, cwrwfhz, tXinyiRobots, nowDate);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
- * 化验室-出水氨氮 的 超标准工艺报警
|
|
|
+ * 化验室-出水硝酸盐 的 超标准工艺报警
|
|
|
* @param csBzz
|
|
|
* @param currentVal
|
|
|
* @param csGkz
|
|
@@ -7676,10 +7671,109 @@ public class AsyncTask {
|
|
|
* @param cwrwfhz
|
|
|
* @param tXinyiRobots
|
|
|
* @param nowDate
|
|
|
- * @param tXinyiRobot1
|
|
|
*/
|
|
|
- private void robotCsAdGybz(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<TXinyiRobot> tXinyiRobots, Date nowDate, TXinyiRobot tXinyiRobot1) {
|
|
|
- BigDecimal multiply = csBzz.multiply(new BigDecimal(MyConstants.SCALE_VALUE));
|
|
|
+ private void robotCsXsyGybz(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<TXinyiRobot> tXinyiRobots, Date nowDate) {
|
|
|
+ TXinyiWarningRecord tXinyiWarningRecord = getRobotCsXsyWarningBean(csBzz, currentVal, csGkz, category, normConfig, cwrwfhz, tXinyiRobots);
|
|
|
+ //判断是否存在要报警的数据
|
|
|
+ //当前状态正常 需要查询历史有无正在报警的数据,如果有,将报警状态改完2(系统自动关闭)
|
|
|
+ List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(TXinyiWarningRecord.builder().delFlag(0).type(0).category(category).status(0).build());
|
|
|
+ if(Objects.isNull(tXinyiWarningRecord)){//数据正常,无告警信息
|
|
|
+ if(!CollectionUtils.isEmpty(tXinyiWarningRecords)){
|
|
|
+ log.info( "{}:现在恢复正常,历史报警数据为{}", category,JSON.toJSONString(tXinyiWarningRecords));
|
|
|
+ for (TXinyiWarningRecord xinyiWarningRecord : tXinyiWarningRecords) {
|
|
|
+ this.closeWarning(xinyiWarningRecord);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{//有告警信息
|
|
|
+ if(CollectionUtils.isEmpty(tXinyiWarningRecords)){//之前没有告警记录
|
|
|
+ //保存到数据库中
|
|
|
+ //2024年7月15日11:06:16 因为只有一个告警记录,但是如果一直报警,现在报警时间取的是更新时间,兼容第一次报警处理
|
|
|
+ tXinyiWarningRecord.setUpdateTime(nowDate);
|
|
|
+ this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
+ //继续调用决策
|
|
|
+ this.handleDecision(tXinyiWarningRecord, tXinyiIndustry, normConfig, true, nowDate);
|
|
|
+ }else{
|
|
|
+ log.info("{}:之前已经有过告警记录了,且还是继续报警,无需重复添加报警,但是决策仍然要调用", category);
|
|
|
+ for (TXinyiWarningRecord xinyiWarningRecord : tXinyiWarningRecords) {//理论上只有一个的
|
|
|
+ //2024年7月5日10:45:24 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
+ xinyiWarningRecord.setWarningVal(tXinyiWarningRecord.getWarningVal());
|
|
|
+// xinyiWarningRecord.setDesignVal(tXinyiWarningRecord.getDesignVal());
|
|
|
+// tXinyiWarningRecord.setControlVal(tXinyiWarningRecord.getControlVal());
|
|
|
+ xinyiWarningRecord.setTime(tXinyiWarningRecord.getTime());
|
|
|
+ xinyiWarningRecord.setUpdateTime(nowDate);
|
|
|
+ xinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ //2024年7月15日11:07:33 报警的级别也要重新计算并更新
|
|
|
+ xinyiWarningRecord.setLevel(tXinyiWarningRecord.getLevel());
|
|
|
+ //2024年7月31日09:20:47 报警的原因(超标还是超管控也需要更新)
|
|
|
+ xinyiWarningRecord.setReason(tXinyiWarningRecord.getReason());
|
|
|
+ //更新数据库
|
|
|
+ this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
|
|
|
+ //继续调用决策
|
|
|
+ this.handleDecision(xinyiWarningRecord, tXinyiIndustry, normConfig, true, nowDate);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断化验室的-出水氨氮是否存在报警,如果存在返回报警对象;如果不存在,返回null
|
|
|
+ *
|
|
|
+ * @param csBzz
|
|
|
+ * @param currentVal
|
|
|
+ * @param csGkz
|
|
|
+ * @param category
|
|
|
+ * @param normConfig
|
|
|
+ * @param cwrwfhz
|
|
|
+ * @param tXinyiRobots
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private TXinyiWarningRecord getRobotCsXsyWarningBean(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<TXinyiRobot> tXinyiRobots) {
|
|
|
+ //判断是否存在
|
|
|
+ boolean flag1 = true;
|
|
|
+ boolean flag2 = true;
|
|
|
+ int index = 0;
|
|
|
+ for (TXinyiRobot xinyiRobot : tXinyiRobots) {
|
|
|
+ //是否连续6小时超标
|
|
|
+ if(index < 6){
|
|
|
+ BigDecimal val = null;
|
|
|
+ if(ROBOT_XSY_1.getCode().equals(category))
|
|
|
+ val = xinyiRobot.getNo3Hlj1Jqr();
|
|
|
+ else if(ROBOT_XSY_2.getCode().equals(category))
|
|
|
+ val = xinyiRobot.getNo3Hlj2Jqr();
|
|
|
+ if (!Objects.isNull(val) && val.compareTo(csBzz) <= 0) {
|
|
|
+ flag1 = false;
|
|
|
+ break;//只要出现一个不超标的就不算超标
|
|
|
+ }
|
|
|
+ }
|
|
|
+ index++;
|
|
|
+
|
|
|
+ //是否满足{缺氧区出水氨氮+缺氧区出水硝酸盐 > 15(文件配置) and 连续10小时}
|
|
|
+ BigDecimal one = null;
|
|
|
+ BigDecimal two = null;
|
|
|
+ if(ROBOT_XSY_1.getCode().equals(category)){
|
|
|
+ one = xinyiRobot.getNh31Jqr();
|
|
|
+ two = xinyiRobot.getNo3Qyc1Jqr();
|
|
|
+ }
|
|
|
+ else if(ROBOT_XSY_2.getCode().equals(category)){
|
|
|
+ one = xinyiRobot.getNh32Jqr();
|
|
|
+ two = xinyiRobot.getNo3Qyc2Jqr();
|
|
|
+ }
|
|
|
+ //兜底计算
|
|
|
+ if(Objects.isNull(one))
|
|
|
+ one = BigDecimal.ZERO;
|
|
|
+ if(Objects.isNull(two))
|
|
|
+ two = BigDecimal.ZERO;
|
|
|
+ if(one.add(two).compareTo(BigDecimal.valueOf(15)) <= 0) {
|
|
|
+ flag2 = false;
|
|
|
+ break;//只要出现一个不超标的就不算超标
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //存放则返回对象,不存在,则返回null 2个条件都不满足报警,返回空对象
|
|
|
+ if(!flag1 && !flag2)
|
|
|
+ return null;
|
|
|
TXinyiWarningRecord tXinyiWarningRecord = new TXinyiWarningRecord();
|
|
|
tXinyiWarningRecord.setStatus(0);
|
|
|
tXinyiWarningRecord.setType(0);
|
|
@@ -7694,31 +7788,60 @@ public class AsyncTask {
|
|
|
tXinyiWarningRecord.setCwrwfhz(cwrwfhz);//2025年02月14日10:42:53 具体指标具体计算,由上游传过来。
|
|
|
//2025年02月17日13:53:49 化验室的报警都是对应的类型都是出水
|
|
|
tXinyiWarningRecord.setWaterType(BusinessEnum.WaterTypeEnum.CS.getCode());
|
|
|
+ tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING);
|
|
|
+ tXinyiWarningRecord.setLevel(WARNING_LEVEL_ONE);
|
|
|
+ tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.CBZZ.getCode());
|
|
|
+ tXinyiWarningRecord.setCwrwxz(getCwrwxzByDetail(currentVal, normConfig, category, true));//根据当前值和类型以及是否超标处理
|
|
|
+ return tXinyiWarningRecord;
|
|
|
+ }
|
|
|
|
|
|
- //2024年5月25日17:52:33 如果化验室获取不到数据,也触发报警,但是不调用决策接口
|
|
|
- if(Objects.isNull(currentVal)){
|
|
|
- tXinyiWarningRecord.setReason(category + EXCEPTION_WARNING);
|
|
|
- tXinyiWarningRecord.setLevel(WARNING_LEVEL_NO_DATE);
|
|
|
- }else if(currentVal.compareTo(multiply) > 0){//一级
|
|
|
- tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING);
|
|
|
- tXinyiWarningRecord.setLevel(WARNING_LEVEL_ONE);
|
|
|
- tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.CBZZ.getCode());
|
|
|
- tXinyiWarningRecord.setCwrwxz(getCwrwxzByDetail(currentVal, normConfig, category, true));//根据当前值和类型以及是否超标处理
|
|
|
- }else if(currentVal.compareTo(csBzz) >= 0 && currentVal.compareTo(multiply) <= 0){//二级
|
|
|
- tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING);
|
|
|
- tXinyiWarningRecord.setLevel(WARNING_LEVEL_TWO);
|
|
|
- tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.CBZZ.getCode());
|
|
|
- tXinyiWarningRecord.setCwrwxz(getCwrwxzByDetail(currentVal, normConfig, category, true));//根据当前值和类型以及是否超标处理
|
|
|
- }else if(!Objects.isNull(csGkz) && currentVal.compareTo(csGkz) > 0){
|
|
|
- tXinyiWarningRecord.setReason(category + CHAOGUANKONG_WARNING);
|
|
|
- tXinyiWarningRecord.setLevel(WARNING_LEVEL_THREE);
|
|
|
- tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.CGKZ.getCode());
|
|
|
- tXinyiWarningRecord.setCwrwxz(getCwrwxzByDetail(currentVal, normConfig, category, false));//根据当前值和类型以及是否超标处理
|
|
|
- }else{
|
|
|
- tXinyiWarningRecord = null;//这种的无需处理
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过输入的值 生成对应类型的报警对象(出水)
|
|
|
+ *
|
|
|
+ * @param csBzz
|
|
|
+ * @param currentVal
|
|
|
+ * @param csGkz
|
|
|
+ * @param category
|
|
|
+ * @param tXinyiIndustry
|
|
|
+ * @param normConfig
|
|
|
+ * @param cwrwfhz
|
|
|
+ * @param tXinyiRobots
|
|
|
+ * @param tenVals
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private void handleXinYiWarningsRobotOriginCsAd(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<TXinyiRobot> tXinyiRobots, List<BigDecimal> tenVals) {
|
|
|
+
|
|
|
+ Date nowDate = DateUtils.getNowDate();
|
|
|
+
|
|
|
+ //单点突变-异常升高报警
|
|
|
+ if (existsYcsgRobots(csBzz, currentVal, csGkz, category, tXinyiIndustry, normConfig, cwrwfhz, tXinyiRobots, nowDate))
|
|
|
+ return;
|
|
|
+
|
|
|
+ //下面是最原始的处理 超标准 超管控报警
|
|
|
+ robotCsAdGybz(csBzz, currentVal, csGkz, category, tXinyiIndustry, normConfig, cwrwfhz, tenVals, nowDate);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * 化验室-出水氨氮 的 超标准工艺报警
|
|
|
+ * @param csBzz
|
|
|
+ * @param currentVal
|
|
|
+ * @param csGkz
|
|
|
+ * @param category
|
|
|
+ * @param tXinyiIndustry
|
|
|
+ * @param normConfig
|
|
|
+ * @param cwrwfhz
|
|
|
+ * @param tXinyiRobots
|
|
|
+ * @param nowDate
|
|
|
+ */
|
|
|
+ private void robotCsAdGybz(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<BigDecimal> tXinyiRobots, Date nowDate) {
|
|
|
+ TXinyiWarningRecord tXinyiWarningRecord = getRobotCsAdWarningBean(csBzz, currentVal, csGkz, category, normConfig, cwrwfhz, tXinyiRobots);
|
|
|
//判断是否存在要报警的数据
|
|
|
-// xxx todo 优化
|
|
|
//当前状态正常 需要查询历史有无正在报警的数据,如果有,将报警状态改完2(系统自动关闭)
|
|
|
List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(TXinyiWarningRecord.builder().delFlag(0).type(0).category(category).status(0).build());
|
|
|
if(Objects.isNull(tXinyiWarningRecord)){//数据正常,无告警信息
|
|
@@ -7759,6 +7882,51 @@ public class AsyncTask {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 判断化验室的-出水氨氮是否存在报警,如果存在返回报警对象;如果不存在,返回null
|
|
|
+ *
|
|
|
+ * @param csBzz
|
|
|
+ * @param currentVal
|
|
|
+ * @param csGkz
|
|
|
+ * @param category
|
|
|
+ * @param normConfig
|
|
|
+ * @param cwrwfhz
|
|
|
+ * @param tXinyiRobots
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private TXinyiWarningRecord getRobotCsAdWarningBean(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<BigDecimal> tXinyiRobots) {
|
|
|
+ //判断是否存在
|
|
|
+ boolean flag = true;
|
|
|
+ for (BigDecimal val : tXinyiRobots) {
|
|
|
+ if (!Objects.isNull(val) && val.compareTo(csBzz) <= 0) {
|
|
|
+ flag = false;
|
|
|
+ break;//只要出现一个不超标的就不算超标
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //存放则返回对象,不存在,则返回null
|
|
|
+ if(!flag)
|
|
|
+ return null;
|
|
|
+ TXinyiWarningRecord tXinyiWarningRecord = new TXinyiWarningRecord();
|
|
|
+ tXinyiWarningRecord.setStatus(0);
|
|
|
+ tXinyiWarningRecord.setType(0);
|
|
|
+ tXinyiWarningRecord.setCategory(category);
|
|
|
+ tXinyiWarningRecord.setTime(DateUtils.getNowDate());
|
|
|
+ tXinyiWarningRecord.setWarningVal(currentVal);
|
|
|
+ tXinyiWarningRecord.setDesignVal(csBzz);
|
|
|
+ tXinyiWarningRecord.setControlVal(csGkz);
|
|
|
+ tXinyiWarningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ tXinyiWarningRecord.setCreateTime(DateUtils.getNowDate());
|
|
|
+ tXinyiWarningRecord.setRemark(THREE_HYS_WARNING.getCode());//化验室
|
|
|
+ tXinyiWarningRecord.setCwrwfhz(cwrwfhz);//2025年02月14日10:42:53 具体指标具体计算,由上游传过来。
|
|
|
+ //2025年02月17日13:53:49 化验室的报警都是对应的类型都是出水
|
|
|
+ tXinyiWarningRecord.setWaterType(BusinessEnum.WaterTypeEnum.CS.getCode());
|
|
|
+ tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING);
|
|
|
+ tXinyiWarningRecord.setLevel(WARNING_LEVEL_ONE);
|
|
|
+ tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.CBZZ.getCode());
|
|
|
+ tXinyiWarningRecord.setCwrwxz(getCwrwxzByDetail(currentVal, normConfig, category, true));//根据当前值和类型以及是否超标处理
|
|
|
+ return tXinyiWarningRecord;
|
|
|
+ }
|
|
|
+
|
|
|
private boolean existsYcsgRobots(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, BigDecimal cwrwfhz, List<TXinyiRobot> tXinyiRobots, Date nowDate) {
|
|
|
TXinyiWarningRecord warningRecordYCSG = TXinyiWarningRecord.builder().type(0).category(category).symbol(BusinessEnum.WarningSymbolEnum.SJYC_YCSG.getCode()).status(0).build();
|
|
|
List<TXinyiWarningRecord> tXinyiNoChangeYCSGRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecordYCSG);
|