Procházet zdrojové kódy

告警展示处理当时信息相关优化

wangmiaomiao před 10 měsíci
rodič
revize
c9311f5687

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

@@ -8,6 +8,7 @@ import com.slibra.business.domain.*;
 import com.slibra.business.mapper.*;
 import com.slibra.business.req.ChatReq;
 import com.slibra.business.req.DecisionReq;
+import com.slibra.business.res.ShowValueBasic;
 import com.slibra.common.constant.MyConstants;
 import com.slibra.common.enums.BusinessEnum;
 import com.slibra.common.utils.DateUtils;
@@ -279,6 +280,7 @@ public class AsyncTask {
         tXinyiWarningRecord.setControlVal(gkz);
         tXinyiWarningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
         tXinyiWarningRecord.setCreateTime(DateUtils.getNowDate());
+        tXinyiWarningRecord.setRemark("1");
 
         //2024年5月25日17:52:33  如果工业库获取不到数据,也触发报警,但是不调用决策接口
         if (Objects.isNull(currentVal)) {
@@ -603,11 +605,12 @@ public class AsyncTask {
 
     private String buildShowValue(TXinyiWarningRecord tXinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig) {
         JSONObject result = new JSONObject();
-        JSONObject basic = new JSONObject();
+//        JSONObject basic = new JSONObject();
         Integer status = tXinyiWarningRecord.getStatus();
         Date warningTime = tXinyiWarningRecord.getTime();
+        String remark = tXinyiWarningRecord.getRemark();
         int count = DateUtils.differentHoursByMillisecond(warningTime, DateUtils.getNowDate()) + 1;
-        basic.put("title", tXinyiWarningRecord.getReason());
+        /*basic.put("title", tXinyiWarningRecord.getReason());
         basic.put("报警时间", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM ,warningTime));
         basic.put("报警值", tXinyiWarningRecord.getWarningVal());
         basic.put("标准值", tXinyiWarningRecord.getDesignVal());
@@ -619,8 +622,33 @@ public class AsyncTask {
             basic.put("状态", status == 0 ? "预警中" : "已完成");
         //2024年5月27日14:04:22  额外返回2个字段 [管控值 和 告警级别]  返回的json没有数据是因为value没有值
 //        basic.put("管控值", tXinyiWarningRecord.getControlVal());
-        basic.put("告警级别", tXinyiWarningRecord.getLevel());
-        result.put("basic", basic);
+        basic.put("告警级别", tXinyiWarningRecord.getLevel());*/
+        ShowValueBasic showValueBasic = new ShowValueBasic();
+        if("0".equals(remark)){//水质报警
+            showValueBasic.setH("在线仪表");
+            showValueBasic.setF(tXinyiWarningRecord.getLevel());
+        }else if("1".equals(remark)){//生化报警
+            showValueBasic.setH("在线仪表");
+        }else if("2".equals(remark)){//预测报错
+            showValueBasic.setH("预测");
+            showValueBasic.setF(tXinyiWarningRecord.getLevel());
+        }else {//机器人化验室报警
+            showValueBasic.setH("化验室");
+            showValueBasic.setF(tXinyiWarningRecord.getLevel());
+        }
+        //通用的
+        //        showValueBasic.setA(tXinyiWarningRecord.getReason());
+        showValueBasic.setB(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM ,warningTime));
+        showValueBasic.setC(tXinyiWarningRecord.getWarningVal());
+        showValueBasic.setD(tXinyiWarningRecord.getControlVal());
+        showValueBasic.setE(tXinyiWarningRecord.getDesignVal());
+        showValueBasic.setG(Math.min(count, MAX_COUNT));
+        if(tXinyiWarningRecord.getType() != 2)
+            showValueBasic.setI(status == 0 ? "报警中" : status == 1 ? "用户关闭" : status == 2 ? "系统关闭" : "应急处理中");
+        else
+            showValueBasic.setI(status == 0 ? "预警中" : "已完成");
+
+        result.put("basic", showValueBasic);
         JSONObject jsData = getJsonObject(tXinyiIndustry, normConfig);//进水数据
         result.put("jsData", jsData);
         JSONObject csData = getCsonObject(tXinyiIndustry, normConfig);//出水数据
@@ -723,6 +751,7 @@ public class AsyncTask {
         tXinyiWarningRecord.setControlVal(csGkz);
         tXinyiWarningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
         tXinyiWarningRecord.setCreateTime(DateUtils.getNowDate());
+        tXinyiWarningRecord.setRemark("0");
 
         //2024年5月25日17:52:33  如果工业库获取不到数据,也触发报警,但是不调用决策接口
         if(Objects.isNull(currentVal)){
@@ -805,6 +834,7 @@ public class AsyncTask {
 //        tXinyiWarningRecord.setControlVal(csGkz);
         tXinyiWarningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
         tXinyiWarningRecord.setCreateTime(DateUtils.getNowDate());
+        tXinyiWarningRecord.setRemark("0");
 
         //2024年5月25日17:52:33  如果工业库获取不到数据,也触发报警,但是不调用决策接口
         if(Objects.isNull(currentVal)){

+ 47 - 0
slibra-system/src/main/java/com/slibra/business/res/ShowValueBasic.java

@@ -0,0 +1,47 @@
+package com.slibra.business.res;
+
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ShowValueBasic {
+
+
+    @JSONField(ordinal = 1, name = "title")
+    private String a;
+
+    @JSONField(ordinal = 2, name = "报警时间")
+    private String b;
+
+    @JSONField(ordinal = 3, name = "报警值")
+    private BigDecimal c;
+
+    @JSONField(ordinal = 4, name = "管控值")
+    private BigDecimal d;
+
+    @JSONField(ordinal = 5, name = "标准值")
+    private BigDecimal e;
+
+    @JSONField(ordinal = 6, name = "报警级别")
+    private String f;
+
+    @JSONField(ordinal = 7, name = "报警次数")
+    private int g;
+
+    @JSONField(ordinal = 8, name = "数据来源")
+    private String h;
+
+    @JSONField(ordinal = 9, name = "状态")
+    private String i;
+
+
+}