Browse Source

生化、水质、化验室、预测报警处理逻辑一致: 更新的时候,更新额外字段,另外保存的时候更新时间就是创建时间

wangmiaomiao 8 months ago
parent
commit
0e43e690ae

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

@@ -1039,8 +1039,11 @@ public class AsyncTask {
                 }
             }
         }else{//有新的告警信息
+            Date nowDate = DateUtils.getNowDate();
             if(CollectionUtils.isEmpty(tXinyiWarningRecords)){//之前没有告警记录
                 //保存到数据库中
+                //2024年7月15日11:06:16 因为只有一个告警记录,但是如果一直报警,现在报警时间取的是更新时间,兼容第一次报警处理
+                tXinyiWarningRecord.setUpdateTime(nowDate);
                 this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
                 if(WARNING_LEVEL_NO_DATE.equals(tXinyiWarningRecord.getLevel())){
                     //只保存一个普通的问答记录 不需要调用决策信息,但是实时数据还是要记录的
@@ -1056,6 +1059,17 @@ public class AsyncTask {
                         //只保存一个普通的问答记录 不需要调用决策信息,但是实时数据还是要记录的
                         this.addChatRecordByDeviceErr(tXinyiWarningRecord, tXinyiIndustry, normConfig);
                     }else {
+                        //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());
+                        //更新数据库
+                        this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
                         //继续调用决策(普通问答)
                         this.askBigModelForSHWarning(xinyiWarningRecord, tXinyiIndustry, normConfig, unit);
                     }
@@ -1784,6 +1798,8 @@ public class AsyncTask {
             Date nowDate = DateUtils.getNowDate();
             if(CollectionUtils.isEmpty(tXinyiWarningRecords)){//之前没有告警记录
                 //保存到数据库中
+                //2024年7月15日11:06:16 因为只有一个告警记录,但是如果一直报警,现在报警时间取的是更新时间,兼容第一次报警处理
+                tXinyiWarningRecord.setUpdateTime(nowDate);
                 this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
                 if(WARNING_LEVEL_NO_DATE.equals(tXinyiWarningRecord.getLevel())){
                     //只保存一个普通的问答记录 不需要调用决策信息,但是实时数据还是要记录的
@@ -1806,6 +1822,8 @@ public class AsyncTask {
                         xinyiWarningRecord.setTime(tXinyiWarningRecord.getTime());
                         xinyiWarningRecord.setUpdateTime(nowDate);
                         xinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
+                        //2024年7月15日11:07:33 报警的级别也要重新计算并更新
+                        xinyiWarningRecord.setLevel(tXinyiWarningRecord.getLevel());
                         //更新数据库
                         this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
                         //继续调用决策

+ 4 - 0
slibra-quartz/src/main/java/com/slibra/quartz/task/RyTask.java

@@ -1259,6 +1259,8 @@ public class RyTask
             //2024年6月27日10:45:49  列表的预警时间和showval里的预警时间保持一致(用同一个,否则可能有一分钟左右的误差)
             Date nowDate = DateUtils.getNowDate();
             if(CollectionUtils.isEmpty(tXinyiWarningRecords)){//之前没有告警记录
+                //2024年7月15日11:06:16 因为只有一个告警记录,但是如果一直报警,现在报警时间取的是更新时间,兼容第一次报警处理
+                tXinyiWarningRecord.setUpdateTime(nowDate);
                 //保存到数据库中
                 this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
                 if(WARNING_LEVEL_NO_DATE.equals(tXinyiWarningRecord.getLevel())){
@@ -1285,6 +1287,8 @@ public class RyTask
                         xinyiWarningRecord.setTime(tXinyiWarningRecord.getTime());
                         xinyiWarningRecord.setUpdateTime(nowDate);
                         xinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
+                        //2024年7月15日11:07:33 报警的级别也要重新计算并更新
+                        xinyiWarningRecord.setLevel(tXinyiWarningRecord.getLevel());
                         //更新数据库
                         this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
                         //继续调用决策