Kaynağa Gözat

新的报警符号处理 小数处理 写死值改成配置

王苗苗 3 hafta önce
ebeveyn
işleme
afde28ea3e

+ 15 - 15
slibra-common/src/main/java/com/slibra/common/constant/MyConstants.java

@@ -428,22 +428,22 @@ public class MyConstants {
     public static final String SINGLE_BREAKPOINT_ANSWER_SUFFIX = "仪表出现了故障,或者仪表的数据输出模块可能存在问题。这些问题可能导致仪表无法正确传输数据,需要检查仪表及其连接部分,确保数据能够正常采集和传输。";
     public static final String SINGLE_BREAKPOINT_ANSWER_REPLACE = "## 解决方案 ##\n" +
             "## 一、数据表现 ##\n" +
-            "**@@@0浓度**:`0`mg/L\n" +
-            "**@@@0变化趋势**:连续发生数据断点/缺失;\n" +
+            "**@@@0浓度**`0`mg/L\n" +
+            "**@@@0变化趋势**连续发生数据断点/缺失;\n" +
             "## 二、原因分析 ##\n" +
             "@@@0在线仪表发生数据断点缺失问题,相关其他仪表数据均正常变化,排除数据传输和组态软件问题。定位为@@@0仪表可能存在故障。\n" +
-            "## 三、解决方案##\n" +
+            "## 三、解决方案 ##\n" +
             "建议检查@@@0仪表是否有故障情况,同时检查仪表的输出模块是否工作正常,确保数据的采集和传输。";
 
     public static final String MORE_BREAKPOINT_ANSWER = "数据发生断点问题,经排查可能是中控上位机系统出现了故障,或者数据传输网络和相关设备存在问题,也有可能是仪表站房发生了停电故障。这些因素都可能影响系统的正常运行,建议检查上位机系统、网络设备以及仪表站房的电力供应,确保各个环节都正常工作。";
 
     public static final String MORE_BREAKPOINT_ANSWER_REPLACE = "## 解决方案 ##\n" +
             "## 一、数据表现 ##\n" +
-            "**@@@0浓度**:`0`mg/L\n" +
-            "**@@@0变化趋势**:连续发生数据断点/缺失;\n" +
+            "**@@@0浓度**`0`mg/L\n" +
+            "**@@@0变化趋势**连续发生数据断点/缺失;\n" +
             "## 二、原因分析 ##\n" +
             "@@@0在线仪表发生数据断点缺失问题,相关其他仪表数据也发现问题。定位为数据传输网络或相关设备出现了问题,或者中控上位机系统本身存在故障。\n" +
-            "## 三、解决方案##\n" +
+            "## 三、解决方案 ##\n" +
             "建议检查网络连接、设备状态以及中控上位机系统,确保它们正常工作以避免数据丢失或系统故障。";
 
 
@@ -453,22 +453,22 @@ public class MyConstants {
 
     public static final String SINGLE_NO_CHANGE_ANSWER_REPLACE = "## 解决方案 ##\n" +
             "## 一、数据表现 ##\n" +
-            "**@@@0浓度**:`0.17`mg/L\n" +
-            "**@@@0变化趋势**:连续多个时段数据不变;\n" +
+            "**@@@0浓度**:`@@@1`mg/L\n" +
+            "**@@@0变化趋势**连续多个时段数据不变;\n" +
             "## 二、原因分析 ##\n" +
             "@@@0在线仪表连续数据不变,相关其他仪表数据均正常变化,排除数据传输和组态软件问题。定位为@@@0仪表可能存在堵塞或故障。\n" +
-            "## 三、解决方案##\n" +
+            "## 三、解决方案 ##\n" +
             "建议检查@@@0仪表是否有堵塞情况,同时检查仪表的输出模块是否工作正常,确保数据的准确采集和传输。";
 
     public static final String MORE_NO_CHANGE_ANSWER = "数据发生连续不变,经排查可能是数据传输网络或相关设备出现了问题,或者中控上位机系统本身存在故障。这些问题可能影响数据的正常传输和系统的稳定运行。建议检查网络连接、设备状态以及中控上位机系统,确保它们正常工作以避免数据丢失或系统故障。";
 
     public static final String MORE_NO_CHANGE_ANSWER_REPLACE = "## 解决方案 ##\n" +
             "## 一、数据表现 ##\n" +
-            "**@@@0浓度**:`@@@1`mg/L\n" +
-            "**@@@0变化趋势**:连续多个时段数据不变;\n" +
+            "**@@@0浓度**`@@@1`mg/L\n" +
+            "**@@@0变化趋势**连续多个时段数据不变;\n" +
             "## 二、原因分析 ##\n" +
             "@@@0在线仪表连续数据不变,相关其他仪表数据也发现问题。定位为数据传输网络或相关设备出现了问题,或者中控上位机系统本身存在故障。\n" +
-            "## 三、解决方案##\n" +
+            "## 三、解决方案 ##\n" +
             "建议检查网络连接、设备状态以及中控上位机系统,确保它们正常工作以避免数据丢失或系统故障。\n";
 
     public static final String YCSG_ANSWER_ONE = "水质数据发生突变,突变增幅";
@@ -476,11 +476,11 @@ public class MyConstants {
     public static final String YCSG_ANSWER_THREE = ",建议检查仪表状态或进行人工取样校核。如果问题已经得到解决,请标记为已解决状态,无需进一步处理。但仍建议继续观察,以确保问题不再复发。";
     public static final String YCSG_ANSWER_REPLACE = "## 解决方案 ##\n" +
             "## 一、数据表现 ##\n" +
-            "**@@@0浓度**:`@@@1`mg/L\n" +
-            "**@@@0变化趋势**:连续发生单点突变;\n" +
+            "**@@@0浓度**`@@@1`mg/L\n" +
+            "**@@@0变化趋势**连续发生单点突变;\n" +
             "## 二、原因分析 ##\n" +
             "@@@0在线仪表水质数据发生突变,突变增幅{@@@2};\n" +
-            "## 三、解决方案##\n" +
+            "## 三、解决方案 ##\n" +
             "建议检查仪表状态或进行人工取样校核。如果问题已经得到解决,请标记为已解决状态,无需进一步处理。但仍建议继续观察,以确保问题不再复发。";
 
     public static final double YCSG_VAL_CONF = 0.5D;

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

@@ -4175,7 +4175,7 @@ public class AsyncTask {
         chatReq.setShowVal(showVal);//前端展示的数据和提问的数据不一致
         chatReq.setQuestion(BusinessEnum.WarningSymbolEnum.SJYC_YCSG.getMsg());//本地问题
 //        chatReq.setAnswer(category + YCSG_ANSWER_ONE + exceedVal.multiply(BigDecimal_100) + "%" + YCSG_ANSWER_TWO + warningRecord.getWarningVal() + YCSG_ANSWER_THREE);
-        chatReq.setAnswer(YCSG_ANSWER_REPLACE.replaceAll("@@@0", category).replaceAll("@@@1", String.valueOf(warningRecord.getWarningVal())).replaceAll("@@@2", exceedVal.multiply(BigDecimal_100) + "%"));
+        chatReq.setAnswer(YCSG_ANSWER_REPLACE.replaceAll("@@@0", category).replaceAll("@@@1", String.valueOf(DecimalUtils.getAbsAndScale(warningRecord.getWarningVal(), INT_2))).replaceAll("@@@2", DecimalUtils.getAbsAndScale(exceedVal.multiply(BigDecimal_100), INT_1) + "%"));
         chatReq.setWarningId(String.valueOf(warningRecord.getId()));
         chatReq.setCounts(1);//问答次数
 
@@ -4198,7 +4198,7 @@ public class AsyncTask {
         chatReq.setShowVal(showVal);//前端展示的数据和提问的数据不一致
         chatReq.setQuestion(BusinessEnum.WarningSymbolEnum.YBGZ_LX_SINGLE.getMsg());//本地问题
 //        chatReq.setAnswer(SINGLE_NO_CHANGE_ANSWER_ONE + category + SINGLE_NO_CHANGE_ANSWER_TWO + category + SINGLE_NO_CHANGE_ANSWER_THREE);
-        chatReq.setAnswer(SINGLE_NO_CHANGE_ANSWER_REPLACE.replaceAll("@@@0", category));
+        chatReq.setAnswer(SINGLE_NO_CHANGE_ANSWER_REPLACE.replaceAll("@@@0", category).replaceAll("@@@1", String.valueOf(DecimalUtils.getAbsAndScale(warningRecord.getWarningVal(), INDEX_2))));
         chatReq.setWarningId(String.valueOf(warningRecord.getId()));
         chatReq.setCounts(1);//问答次数
 
@@ -4245,7 +4245,7 @@ public class AsyncTask {
         chatReq.setShowVal(showVal);//前端展示的数据和提问的数据不一致
         chatReq.setQuestion(BusinessEnum.WarningSymbolEnum.YBGZ_LX_MORE.getMsg());//本地问题
 //        chatReq.setAnswer(MORE_NO_CHANGE_ANSWER);
-        chatReq.setAnswer(MORE_NO_CHANGE_ANSWER_REPLACE.replaceAll("@@@0", tXinyiWarningRecord.getCategory()).replaceAll("@@@1", String.valueOf(tXinyiWarningRecord.getWarningVal())));
+        chatReq.setAnswer(MORE_NO_CHANGE_ANSWER_REPLACE.replaceAll("@@@0", tXinyiWarningRecord.getCategory()).replaceAll("@@@1", String.valueOf(DecimalUtils.getAbsAndScale(tXinyiWarningRecord.getWarningVal(), INT_2))));
         chatReq.setWarningId(String.valueOf(tXinyiWarningRecord.getId()));
         chatReq.setCounts(1);//问答次数