Ver Fonte

报警-本地决策调用 再场景:之前已经报警,但是需要新的报警的时候,需要额外再次调用,传递报警对象错误的bug修复

王苗苗 há 1 dia atrás
pai
commit
f71c546067

+ 20 - 8
slibra-quartz/src/main/java/com/slibra/quartz/task/AsyncTask.java

@@ -1963,8 +1963,9 @@ public class AsyncTask {
         //开始走正常的水质报警 + 突变
         //2025年02月27日15:33:39 加上校验:此次的检查指标必须是不存在断点且不存在连续不变才执行下面的报警。
         //后续的指标是否往下进行,用新的逻辑:
-        if(csCodExecute && !Objects.isNull(cscodBzz) && cscodBzz.compareTo(BigDecimal.ZERO) > 0 && !Objects.isNull(cscodGkz) && cscodGkz.compareTo(BigDecimal.ZERO) > 0)
-            handleXinYiWarningsCsOriginCod(cscodBzz, csCod, cscodGkz, CS_COD.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsCod(), jsslSjz, normConfig.getJscodSjz()));
+        //等给新的逻辑再做出水cod的报警
+//        if(csCodExecute && !Objects.isNull(cscodBzz) && cscodBzz.compareTo(BigDecimal.ZERO) > 0 && !Objects.isNull(cscodGkz) && cscodGkz.compareTo(BigDecimal.ZERO) > 0)
+//            handleXinYiWarningsCsOriginCod(cscodBzz, csCod, cscodGkz, CS_COD.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsCod(), jsslSjz, normConfig.getJscodSjz()));
         if(jsZDExecute && !Objects.isNull(jszdSjz) && jszdSjz.compareTo(BigDecimal.ZERO) > 0)
             handleXinYiWarningRecordJSOriginZD(jszdSjz, jsTn, BusinessEnum.WarningCategoryEnum.JS_ZD.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
         if(jsADExecute && !Objects.isNull(jsadSjz) && jsadSjz.compareTo(BigDecimal.ZERO) > 0)
@@ -3411,6 +3412,8 @@ public class AsyncTask {
                     //同时处理决策 不用调用大模型,本地处理问答
                     addChatRecordByYCSG(warningRecordYCSG, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL));
                 }else{
+                    //2025年05月08日13:39:22 这种的需要再次调用本地决策
+                    addChatRecordByYCSG(tXinyiNoChangeYCSGRecords.get(0), tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL));
                     log.info("工业库报警的时候,发现存在异常升高的报警,并且已经有该类型报警了,不做任何处理");
                 }
                 log.info("工业库报警的时候,发现存在{}异常升高的报警,后续同指标报警不再处理", category);
@@ -4175,7 +4178,6 @@ public class AsyncTask {
             log.error("处理生化报警时,获取最近的8条工业库数据失败~~~~~~~");
             return ;
         }
-        TXinyiIndustry tXinyiIndustry1 = tXinyiIndustries.get(INDEX_1);//前一个小时
 
         //拼接决策的最近8小时的值
         String last8Str = this.getJsNh3StrByList(tXinyiIndustries);
@@ -4516,7 +4518,9 @@ public class AsyncTask {
                 }else{
                     log.info("工业库报警的时候,发现存在异常升高的报警,并且已经有该类型报警了,不做任何处理");
                     //2025年04月16日15:56:47 这种的继续报警,所以决策还需要再次调用一次
-                    addChatRecordByYCSGNew(warningRecordYCSG, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
+                    //2025年05月08日13:34:23bug修改 这里不能用new的对象 要获取历史报警的值
+//                    addChatRecordByYCSGNew(warningRecordYCSG, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
+                    addChatRecordByYCSGNew(tXinyiNoChangeYCSGRecords.get(0), tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
                 }
                 //后续的报警不再进行
                 log.info("工业库报警的时候,发现存在{}异常升高的报警,后续报警不再处理", category);
@@ -4575,7 +4579,9 @@ public class AsyncTask {
                 }else{
                     log.info("工业库报警的时候,发现存在异常升高的报警,并且已经有该类型报警了,不做任何处理");
                     //2025年04月16日15:56:47 这种的继续报警,所以决策还需要再次调用一次
-                    addChatRecordByYCSGNew(warningRecordYCSG, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
+                    //2025年05月08日13:34:23bug修改 这里不能用new的对象 要获取历史报警的值
+//                    addChatRecordByYCSGNew(warningRecordYCSG, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
+                    addChatRecordByYCSGNew(tXinyiNoChangeYCSGRecords.get(0), tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
                 }
                 //后续的报警不再进行
                 log.info("工业库报警的时候,发现存在{}异常升高的报警,后续报警不再处理", category);
@@ -4634,7 +4640,9 @@ public class AsyncTask {
                 }else{
                     log.info("工业库报警的时候,发现存在高低值的报警,并且已经有该类型报警了,不做任何处理");
                     //2025年04月16日15:56:47 这种的继续报警,所以决策还需要再次调用一次
-                    addChatRecordByGDZ(warningRecordGDZ, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
+                    //2025年05月08日13:34:23bug修改 这里不能用new的对象 要获取历史报警的值
+//                    addChatRecordByGDZ(warningRecordGDZ, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
+                    addChatRecordByGDZ(tXinyiNoChangeGDZRecords.get(0), tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
                 }
                 //后续的报警不再进行
                 log.info("工业库报警的时候,发现存在{}高低值的报警,后续报警不再处理", category);
@@ -4693,7 +4701,9 @@ public class AsyncTask {
                 }else{
                     log.info("工业库报警的时候,发现存在高低值的报警,并且已经有该类型报警了,不做任何处理");
                     //2025年04月16日15:56:47 这种的继续报警,所以决策还需要再次调用一次
-                    addChatRecordByGDZ(warningRecordGDZ, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
+                    //2025年05月08日13:34:23bug修改 这里不能用new的对象 要获取历史报警的值
+//                    addChatRecordByGDZ(warningRecordGDZ, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
+                    addChatRecordByGDZ(tXinyiNoChangeGDZRecords.get(0), tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL), last8Str);
                 }
                 //后续的报警不再进行
                 log.info("工业库报警的时候,发现存在{}高低值的报警,后续报警不再处理", category);
@@ -7962,7 +7972,9 @@ public class AsyncTask {
             }else{
                 log.info("化验室报警的时候,发现存在异常升高的报警,并且已经有该类型报警了,不做任何处理");
                 //同时处理决策 不用调用大模型,本地处理问答
-                addChatRecordByYCSG(warningRecordYCSG, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL));
+                //2025年05月08日13:34:23bug修改 这里不能用new的对象 要获取历史报警的值
+//                addChatRecordByYCSG(warningRecordYCSG, tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL));
+                addChatRecordByYCSG(tXinyiNoChangeYCSGRecords.get(0), tXinyiIndustry, normConfig, category, exceedVal, resultMap.get(LASTVAL));
             }
             log.info("化验室报警的时候,发现存在异常升高的报警,后续同指标报警不再处理");
             return true;