Переглянути джерело

水质报警相关功能完善

王苗苗 1 місяць тому
батько
коміт
f50c6b43c3

+ 18 - 30
slibra-quartz/src/main/java/com/slibra/quartz/task/AsyncTask.java

@@ -1578,24 +1578,19 @@ public class AsyncTask {
         Date nowDate = DateUtils.getNowDate();
         TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE.getCode()).status(0).build();
         List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecord);
-        if(breakpointCount <1){//恢复正常 关闭多个断点报警
+        if(breakpointCount < 1){//恢复正常 关闭多个断点报警
             if(!CollectionUtils.isEmpty(tXinyiWarningRecords)){
-                TXinyiWarningRecord warningRecordExists = tXinyiWarningRecords.get(0);
-                warningRecordExists.setStatus(2);
-                warningRecordExists.setOffTime(nowDate);
-                warningRecordExists.setUpdateTime(nowDate);
-                warningRecordExists.setUpdateBy(WARNING_DEFAULT_CREATE);
-                this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(warningRecordExists);
+                closeWarning(tXinyiWarningRecords.get(0));
             }
         }else if(breakpointCount == 1){//只有单个的断点
             TXinyiWarningRecord warningRecordBreakPointOne = breakPointList.get(0);
             String category = warningRecordBreakPointOne.getCategory();
             TXinyiWarningRecord warningRecordReq = TXinyiWarningRecord.builder().type(0).category(category).symbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getCode()).status(0).build();
-            List<TXinyiWarningRecord> tXinyiWarningRecordsBK = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecordReq);
+            List<TXinyiWarningRecord> tXinyiBreakPointSingleWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecordReq);
             //关闭同类型的其他报警
             closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getCode());
             //触发报警 并且模拟大模型返回决策问答数据
-            if(CollectionUtils.isEmpty(tXinyiWarningRecordsBK)){
+            if(CollectionUtils.isEmpty(tXinyiBreakPointSingleWarningRecords)){
                 //插入该类型报警
                 this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(warningRecordBreakPointOne);
                 //同时处理决策 不用调用大模型,本地处理问答
@@ -1630,14 +1625,9 @@ public class AsyncTask {
         //连续不变
         TXinyiWarningRecord warningRecordNoChangeMore = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.YBGZ_LX_MORE.getCode()).status(0).build();
         List<TXinyiWarningRecord> tXinyiWarningNoChangeMoreRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecordNoChangeMore);
-        if(noChange <1){//恢复正常,关闭多个连续不变报警
+        if(noChange < 1){//恢复正常,关闭多个连续不变报警
             if(!CollectionUtils.isEmpty(tXinyiWarningNoChangeMoreRecords)){
-                TXinyiWarningRecord warningRecordExists = tXinyiWarningNoChangeMoreRecords.get(0);
-                warningRecordExists.setStatus(2);
-                warningRecordExists.setOffTime(nowDate);
-                warningRecordExists.setUpdateTime(nowDate);
-                warningRecordExists.setUpdateBy(WARNING_DEFAULT_CREATE);
-                this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(warningRecordExists);
+                closeWarning(tXinyiWarningNoChangeMoreRecords.get(0));
             }
         }else if(noChange == 1){
             TXinyiWarningRecord noChangeWarningRecord = noChangeList.get(0);
@@ -2252,7 +2242,8 @@ public class AsyncTask {
         if(!Objects.isNull(tXinyiIndustry1)){
             if(existsBreakPoints(currentVal, category, tXinyiIndustry1)){
                 //关闭同类型的其他报警
-                closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getCode());
+                //2025年02月25日14:45:09 不用在此关闭,因为在后续处理的时候,判断是单一报警还是多指标表报警的时候,都做了对应的关闭。
+//                closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getCode());
                 breakpoint = true;
                 //插入该类型报警
                 TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().type(0).category(category).symbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getCode()).status(0).build();
@@ -2279,7 +2270,8 @@ public class AsyncTask {
             //2025年02月21日14:20:41 这里要改成当前值和上个小时比较  上个小时和上上个小时比较
             if(existsNoChange(currentVal, category, tXinyiIndustries)){
                 //关闭同类型的其他报警
-                closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_LX_SINGLE.getCode());
+                //2025年02月25日14:45:09 不用在此关闭,因为在后续处理的时候,判断是单一报警还是多指标表报警的时候,都做了对应的关闭。
+//                closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_LX_SINGLE.getCode());
                 noChange = true;
                 //触发报警 并且模拟大模型返回决策问答数据
                 //插入该类型报警
@@ -2369,12 +2361,7 @@ public class AsyncTask {
                 return;
             }else{//不存在 查看历史是否有报警,有的话关闭
                 if(!CollectionUtils.isEmpty(tXinyiNoChangeYCSGRecords)){
-                    TXinyiWarningRecord warningRecordExists = tXinyiNoChangeYCSGRecords.get(0);
-                    warningRecordExists.setStatus(2);
-                    warningRecordExists.setOffTime(nowDate);
-                    warningRecordExists.setUpdateTime(nowDate);
-                    warningRecordExists.setUpdateBy(WARNING_DEFAULT_CREATE);
-                    this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(warningRecordExists);
+                    closeWarning(tXinyiNoChangeYCSGRecords.get(0));
                 }
             }
         }
@@ -2411,12 +2398,7 @@ public class AsyncTask {
                 return;
             }else{//不存在 查看历史是否有报警,有的话关闭
                 if(!CollectionUtils.isEmpty(tXinyiNoChangeYCPDRecords)){
-                    TXinyiWarningRecord warningRecordExists = tXinyiNoChangeYCPDRecords.get(0);
-                    warningRecordExists.setStatus(2);
-                    warningRecordExists.setOffTime(nowDate);
-                    warningRecordExists.setUpdateTime(nowDate);
-                    warningRecordExists.setUpdateBy(WARNING_DEFAULT_CREATE);
-                    this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(warningRecordExists);
+                    closeWarning(tXinyiNoChangeYCPDRecords.get(0));
                 }
             }
         }
@@ -2626,6 +2608,9 @@ public class AsyncTask {
         //是否存在断点
         if(!Objects.isNull(tXinyiIndustry1)){
             if(existsBreakPoints(currentVal, category, tXinyiIndustry1)){
+                //关闭同类型的其他报警
+                //2025年02月25日14:45:09 不用在此关闭,因为在后续处理的时候,判断是单一报警还是多指标表报警的时候,都做了对应的关闭。
+//                closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getCode());
                 breakpoint = true;
                 //触发报警 并且模拟大模型返回决策问答数据
                 //插入该类型报警
@@ -2651,6 +2636,9 @@ public class AsyncTask {
         if(!CollectionUtils.isEmpty(tXinyiIndustries) && tXinyiIndustries.size() == INT_3){
             //2025年02月21日14:20:41 这里要改成当前值和上个小时比较  上个小时和上上个小时比较
             if(existsNoChange(currentVal, category, tXinyiIndustries)){
+                //关闭同类型的其他报警‘
+                //2025年02月25日14:45:09 不用在此关闭,因为在后续处理的时候,判断是单一报警还是多指标表报警的时候,都做了对应的关闭。
+//                closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_LX_SINGLE.getCode());
                 noChange = true;
                 //触发报警 并且模拟大模型返回决策问答数据
                 //插入该类型报警