Browse Source

细节优化

wangmiaomiao 10 months ago
parent
commit
3e54701d40

+ 46 - 40
slibra-quartz/src/main/java/com/slibra/quartz/task/RyTask.java

@@ -12,7 +12,7 @@ import com.slibra.business.mapper.*;
 import com.slibra.business.req.ChatReq;
 import com.slibra.business.req.ChatReq;
 import com.slibra.business.req.DecisionReq;
 import com.slibra.business.req.DecisionReq;
 import com.slibra.business.res.ChartBasic;
 import com.slibra.business.res.ChartBasic;
-import com.slibra.business.res.ShowValueBasic;
+import com.slibra.business.res.ShowValueChartBasic;
 import com.slibra.common.constant.MyConstants;
 import com.slibra.common.constant.MyConstants;
 import com.slibra.common.enums.BusinessEnum;
 import com.slibra.common.enums.BusinessEnum;
 import com.slibra.common.enums.DataSourceType;
 import com.slibra.common.enums.DataSourceType;
@@ -839,44 +839,46 @@ public class RyTask
 
 
     /**
     /**
      * 带图形的构建展示数据
      * 带图形的构建展示数据
+     *
      * @param tXinyiWarningRecord
      * @param tXinyiWarningRecord
      * @param tXinyiIndustry
      * @param tXinyiIndustry
      * @param normConfig
      * @param normConfig
+     * @param date
+     * @param yjHour
      * @return
      * @return
      */
      */
-    private String buildShowValueWithCharts(TXinyiWarningRecord tXinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, List<ChartBasic> chartsDataList) {
+    private String buildShowValueWithCharts(TXinyiWarningRecord tXinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, List<ChartBasic> chartsDataList, String date, String yjHour) {
         JSONObject result = new JSONObject();
         JSONObject result = new JSONObject();
 //        JSONObject basic = new JSONObject();
 //        JSONObject basic = new JSONObject();
         Integer status = tXinyiWarningRecord.getStatus();
         Integer status = tXinyiWarningRecord.getStatus();
         Date warningTime = tXinyiWarningRecord.getTime();
         Date warningTime = tXinyiWarningRecord.getTime();
         String remark = tXinyiWarningRecord.getRemark();
         String remark = tXinyiWarningRecord.getRemark();
         int count = DateUtils.differentHoursByMillisecond(warningTime, DateUtils.getNowDate()) + 1;
         int count = DateUtils.differentHoursByMillisecond(warningTime, DateUtils.getNowDate()) + 1;
-        ShowValueBasic showValueBasic = new ShowValueBasic();
+        ShowValueChartBasic showValueChartBasic = new ShowValueChartBasic();
         if("0".equals(remark)){//水质报警
         if("0".equals(remark)){//水质报警
-            showValueBasic.setH("在线仪表");
-            showValueBasic.setF(tXinyiWarningRecord.getLevel());
+            showValueChartBasic.setH("在线仪表");
         }else if("1".equals(remark)){//生化报警
         }else if("1".equals(remark)){//生化报警
-            showValueBasic.setH("在线仪表");
+            showValueChartBasic.setH("在线仪表");
         }else if("2".equals(remark)){//预测报错
         }else if("2".equals(remark)){//预测报错
-            showValueBasic.setH("预测");
-            showValueBasic.setF(tXinyiWarningRecord.getLevel());
+            showValueChartBasic.setH("预测");
         }else {//机器人化验室报警
         }else {//机器人化验室报警
-            showValueBasic.setH("化验室");
-            showValueBasic.setF(tXinyiWarningRecord.getLevel());
+            showValueChartBasic.setH("化验室");
         }
         }
         //通用的
         //通用的
         //        showValueBasic.setA(tXinyiWarningRecord.getReason());
         //        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));
+        showValueChartBasic.setB(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM ,warningTime));
+        showValueChartBasic.setC(date + " " + yjHour);//预计超标时间
+        showValueChartBasic.setD(tXinyiWarningRecord.getWarningVal());
+        showValueChartBasic.setE(tXinyiWarningRecord.getForecastVal());
+        showValueChartBasic.setF(tXinyiWarningRecord.getControlVal());
+        showValueChartBasic.setG(tXinyiWarningRecord.getDesignVal());
+//        showValueChartBasic.setH(Math.min(count, MAX_COUNT));
         if(tXinyiWarningRecord.getType() != 2)
         if(tXinyiWarningRecord.getType() != 2)
-            showValueBasic.setI(status == 0 ? "报警中" : status == 1 ? "用户关闭" : status == 2 ? "系统关闭" : "应急处理中");
+            showValueChartBasic.setI(status == 0 ? "报警中" : status == 1 ? "用户关闭" : status == 2 ? "系统关闭" : "应急处理中");
         else
         else
-            showValueBasic.setI(status == 0 ? "预警中" : "已完成");
+            showValueChartBasic.setI(status == 0 ? "预警中" : "已完成");
 
 
-        result.put("basic", showValueBasic);
+        result.put("basic", showValueChartBasic);
         JSONObject jsData = getJsonObject(tXinyiIndustry, normConfig);//进水数据
         JSONObject jsData = getJsonObject(tXinyiIndustry, normConfig);//进水数据
         result.put("jsData", jsData);
         result.put("jsData", jsData);
         JSONObject csData = getCsonObject(tXinyiIndustry, normConfig);//出水数据
         JSONObject csData = getCsonObject(tXinyiIndustry, normConfig);//出水数据
@@ -1249,6 +1251,7 @@ public class RyTask
             String task = jsonObject.getString("task");
             String task = jsonObject.getString("task");
             String hour = jsonObject.getString("hour");
             String hour = jsonObject.getString("hour");
             String pred = jsonObject.getString("pred");
             String pred = jsonObject.getString("pred");
+            String date = jsonObject.getString("date");
             if(StringUtils.isNotBlank(pred) && pred.contains(",")){
             if(StringUtils.isNotBlank(pred) && pred.contains(",")){
                 String[] split = pred.split(",");
                 String[] split = pred.split(",");
                 if(split.length != 3){
                 if(split.length != 3){
@@ -1258,14 +1261,14 @@ public class RyTask
                     return;
                     return;
                 }
                 }
                 //解析数据 处理报警 调研prompt 保存等
                 //解析数据 处理报警 调研prompt 保存等
-                this.handlePredictorWarning(split, hour, task, tXinyiIndustries6, tXinyiRobots6);
+                this.handlePredictorWarning(split, hour, task, tXinyiIndustries6, tXinyiRobots6, date);
             }else {
             }else {
                 log.error("预测数据返回结果为{},无法正常解析", result);
                 log.error("预测数据返回结果为{},无法正常解析", result);
             }
             }
         }
         }
     }
     }
 
 
-    private void handlePredictorWarning(String[] split, String hour, String task, List<TXinyiIndustry> tXinyiIndustries6, List<TXinyiRobot> tXinyiRobots6) {
+    private void handlePredictorWarning(String[] split, String hour, String task, List<TXinyiIndustry> tXinyiIndustries6, List<TXinyiRobot> tXinyiRobots6, String date) {
         //获取配置表
         //获取配置表
         List<TXinyiNormConfig> tXinyiNormConfigs = this.xinyiNormConfigMapper.selectTXinyiNormConfigList(null);
         List<TXinyiNormConfig> tXinyiNormConfigs = this.xinyiNormConfigMapper.selectTXinyiNormConfigList(null);
         if(CollectionUtils.isEmpty(tXinyiNormConfigs)) {
         if(CollectionUtils.isEmpty(tXinyiNormConfigs)) {
@@ -1295,7 +1298,7 @@ public class RyTask
                 chartBasic.setVal(new BigDecimal(val));
                 chartBasic.setVal(new BigDecimal(val));
                 chartsDataList.add(chartBasic);
                 chartsDataList.add(chartBasic);
             }
             }
-            handleXinYiWarningsYC(cscodBzz, split, cscodGkz, BusinessEnum.WarningCategoryEnum.CS_COD_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList);
+            handleXinYiWarningsYC(cscodBzz, split, cscodGkz, BusinessEnum.WarningCategoryEnum.CS_COD_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
         }else if("ss".equals(task)){
         }else if("ss".equals(task)){
             BigDecimal csSSBzz = normConfig.getCsssBzz();
             BigDecimal csSSBzz = normConfig.getCsssBzz();
             BigDecimal csssGkz = normConfig.getCsssGkz();
             BigDecimal csssGkz = normConfig.getCsssGkz();
@@ -1315,7 +1318,7 @@ public class RyTask
                 chartBasic.setVal(new BigDecimal(val));
                 chartBasic.setVal(new BigDecimal(val));
                 chartsDataList.add(chartBasic);
                 chartsDataList.add(chartBasic);
             }
             }
-            handleXinYiWarningsYC(csSSBzz, split, csssGkz, BusinessEnum.WarningCategoryEnum.CS_SS_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList);
+            handleXinYiWarningsYC(csSSBzz, split, csssGkz, BusinessEnum.WarningCategoryEnum.CS_SS_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
         }else if("tn".equals(task)){
         }else if("tn".equals(task)){
             BigDecimal cszzBzz = normConfig.getCszzBzz();
             BigDecimal cszzBzz = normConfig.getCszzBzz();
             BigDecimal cszzGkz = normConfig.getCszzGkz();
             BigDecimal cszzGkz = normConfig.getCszzGkz();
@@ -1335,7 +1338,7 @@ public class RyTask
                 chartBasic.setVal(new BigDecimal(val));
                 chartBasic.setVal(new BigDecimal(val));
                 chartsDataList.add(chartBasic);
                 chartsDataList.add(chartBasic);
             }
             }
-            handleXinYiWarningsYC(cszzBzz, split, cszzGkz, BusinessEnum.WarningCategoryEnum.CS_TN_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList);
+            handleXinYiWarningsYC(cszzBzz, split, cszzGkz, BusinessEnum.WarningCategoryEnum.CS_TN_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
         }else if("tp".equals(task)){
         }else if("tp".equals(task)){
             BigDecimal cszlBzz = normConfig.getCszlBzz();
             BigDecimal cszlBzz = normConfig.getCszlBzz();
             BigDecimal cszlGkz = normConfig.getCszlGkz();
             BigDecimal cszlGkz = normConfig.getCszlGkz();
@@ -1355,7 +1358,7 @@ public class RyTask
                 chartBasic.setVal(new BigDecimal(val));
                 chartBasic.setVal(new BigDecimal(val));
                 chartsDataList.add(chartBasic);
                 chartsDataList.add(chartBasic);
             }
             }
-            handleXinYiWarningsYC(cszlBzz, split, cszlGkz, BusinessEnum.WarningCategoryEnum.CS_TP_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList);
+            handleXinYiWarningsYC(cszlBzz, split, cszlGkz, BusinessEnum.WarningCategoryEnum.CS_TP_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
         }else if("nh3".equals(task)){
         }else if("nh3".equals(task)){
             BigDecimal csadBzz = normConfig.getCsadBzz();
             BigDecimal csadBzz = normConfig.getCsadBzz();
             BigDecimal csadGkz = normConfig.getCsadGkz();
             BigDecimal csadGkz = normConfig.getCsadGkz();
@@ -1375,7 +1378,7 @@ public class RyTask
                 chartBasic.setVal(new BigDecimal(val));
                 chartBasic.setVal(new BigDecimal(val));
                 chartsDataList.add(chartBasic);
                 chartsDataList.add(chartBasic);
             }
             }
-            handleXinYiWarningsYC(csadBzz, split, csadGkz, BusinessEnum.WarningCategoryEnum.CS_AD_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList);
+            handleXinYiWarningsYC(csadBzz, split, csadGkz, BusinessEnum.WarningCategoryEnum.CS_AD_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
         }else if("xsy1".equals(task)){
         }else if("xsy1".equals(task)){
             BigDecimal cscodBzz = new BigDecimal(XIAOSUANYAN_BZK);
             BigDecimal cscodBzz = new BigDecimal(XIAOSUANYAN_BZK);
             BigDecimal cscodGkz = new BigDecimal(XIAOSUANYAN_GKZ);
             BigDecimal cscodGkz = new BigDecimal(XIAOSUANYAN_GKZ);
@@ -1395,7 +1398,7 @@ public class RyTask
                 chartBasic.setVal(new BigDecimal(val));
                 chartBasic.setVal(new BigDecimal(val));
                 chartsDataList.add(chartBasic);
                 chartsDataList.add(chartBasic);
             }
             }
-            handleXinYiWarningsYC(cscodBzz, split, cscodGkz, BusinessEnum.WarningCategoryEnum.CS_XSY_1_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList);
+            handleXinYiWarningsYC(cscodBzz, split, cscodGkz, BusinessEnum.WarningCategoryEnum.CS_XSY_1_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
         }else if("xsy2".equals(task)){
         }else if("xsy2".equals(task)){
             BigDecimal cscodBzz = new BigDecimal(XIAOSUANYAN_BZK);
             BigDecimal cscodBzz = new BigDecimal(XIAOSUANYAN_BZK);
             BigDecimal cscodGkz = new BigDecimal(XIAOSUANYAN_GKZ);
             BigDecimal cscodGkz = new BigDecimal(XIAOSUANYAN_GKZ);
@@ -1415,17 +1418,19 @@ public class RyTask
                 chartBasic.setVal(new BigDecimal(val));
                 chartBasic.setVal(new BigDecimal(val));
                 chartsDataList.add(chartBasic);
                 chartsDataList.add(chartBasic);
             }
             }
-            handleXinYiWarningsYC(cscodBzz, split, cscodGkz, BusinessEnum.WarningCategoryEnum.CS_XSY_2_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList);
+            handleXinYiWarningsYC(cscodBzz, split, cscodGkz, BusinessEnum.WarningCategoryEnum.CS_XSY_2_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
         }else {
         }else {
             log.error("暂未支持的类型{}", task);
             log.error("暂未支持的类型{}", task);
         }
         }
 
 
     }
     }
 
 
-    private void handleXinYiWarningsYC(BigDecimal csBzz, String[] split, BigDecimal csGkz, String category, String hour, TXinyiNormConfig normConfig, BigDecimal currentVal, TXinyiIndustry tXinyiIndustry, List<ChartBasic> chartsDataList) {
+    private void handleXinYiWarningsYC(BigDecimal csBzz, String[] split, BigDecimal csGkz, String category, String hour, TXinyiNormConfig normConfig, BigDecimal currentVal, TXinyiIndustry tXinyiIndustry, List<ChartBasic> chartsDataList, String date) {
         BigDecimal multiply = csBzz.multiply(new BigDecimal(MyConstants.SCALE_VALUE));
         BigDecimal multiply = csBzz.multiply(new BigDecimal(MyConstants.SCALE_VALUE));
         TXinyiWarningRecord tXinyiWarningRecord = null;
         TXinyiWarningRecord tXinyiWarningRecord = null;
-        for (String forecast : split) {
+        String yjHour = null;
+        for (int i = 0, splitLength = split.length; i < splitLength; i++) {
+            String forecast = split[i];
             BigDecimal forecastVal = new BigDecimal(forecast);
             BigDecimal forecastVal = new BigDecimal(forecast);
             tXinyiWarningRecord = new TXinyiWarningRecord();
             tXinyiWarningRecord = new TXinyiWarningRecord();
             /*String category = BusinessEnum.WarningCategoryEnum.CS_AD.getCode();*/
             /*String category = BusinessEnum.WarningCategoryEnum.CS_AD.getCode();*/
@@ -1439,26 +1444,27 @@ public class RyTask
             tXinyiWarningRecord.setControlVal(csGkz);
             tXinyiWarningRecord.setControlVal(csGkz);
             tXinyiWarningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
             tXinyiWarningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
             tXinyiWarningRecord.setCreateTime(DateUtils.getNowDate());
             tXinyiWarningRecord.setCreateTime(DateUtils.getNowDate());
-            tXinyiWarningRecord.setRemark("0");
+            tXinyiWarningRecord.setRemark("2");
 
 
             //2024年5月25日17:52:33  如果工业库获取不到数据,也触发报警,但是不调用决策接口
             //2024年5月25日17:52:33  如果工业库获取不到数据,也触发报警,但是不调用决策接口
-            if(Objects.isNull(forecastVal)){
+            if (Objects.isNull(forecastVal)) {
                 tXinyiWarningRecord.setReason(category + EXCEPTION_WARNING_YC);
                 tXinyiWarningRecord.setReason(category + EXCEPTION_WARNING_YC);
                 tXinyiWarningRecord.setLevel(WARNING_LEVEL_NO_DATE);
                 tXinyiWarningRecord.setLevel(WARNING_LEVEL_NO_DATE);
-            }else if(forecastVal.compareTo(multiply) > 0){//一级
+            } else if (forecastVal.compareTo(multiply) > 0) {//一级
                 tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING_YC);
                 tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING_YC);
                 tXinyiWarningRecord.setLevel(WARNING_LEVEL_ONE);
                 tXinyiWarningRecord.setLevel(WARNING_LEVEL_ONE);
-            }else if(forecastVal.compareTo(csBzz) >= 0 && forecastVal.compareTo(multiply) <= 0){//二级
+            } else if (forecastVal.compareTo(csBzz) >= 0 && forecastVal.compareTo(multiply) <= 0) {//二级
                 tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING_YC);
                 tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING_YC);
                 tXinyiWarningRecord.setLevel(WARNING_LEVEL_TWO);
                 tXinyiWarningRecord.setLevel(WARNING_LEVEL_TWO);
-            }else if(!Objects.isNull(csGkz) && forecastVal.compareTo(csGkz) > 0){
+            } else if (!Objects.isNull(csGkz) && forecastVal.compareTo(csGkz) > 0) {
                 tXinyiWarningRecord.setReason(category + CHAOGUANKONG_WARNING_YC);
                 tXinyiWarningRecord.setReason(category + CHAOGUANKONG_WARNING_YC);
                 tXinyiWarningRecord.setLevel(WARNING_LEVEL_THREE);
                 tXinyiWarningRecord.setLevel(WARNING_LEVEL_THREE);
-            }else{
+            } else {
                 tXinyiWarningRecord = null;//这种的无需处理
                 tXinyiWarningRecord = null;//这种的无需处理
             }
             }
-            if(!Objects.isNull(tXinyiWarningRecord)){
+            if (!Objects.isNull(tXinyiWarningRecord)) {
                 log.info("预测报警中出现了超标的情况,循环可以退出了");
                 log.info("预测报警中出现了超标的情况,循环可以退出了");
+                yjHour = hour.split(",")[i];
                 break;
                 break;
             }
             }
         }
         }
@@ -1485,7 +1491,7 @@ public class RyTask
                     this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
                     this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
                 }else {
                 }else {
                     //继续调用大模型prompt
                     //继续调用大模型prompt
-                    this.askBigModelForYC(tXinyiWarningRecord, tXinyiIndustry, normConfig, chartsDataList);
+                    this.askBigModelForYC(tXinyiWarningRecord, tXinyiIndustry, normConfig, chartsDataList, date, yjHour);
                 }
                 }
             }else{
             }else{
                 log.info("{}:之前已经有过告警记录了,且还是继续报警,无需重复添加报警,但是决策仍然要调用", category);
                 log.info("{}:之前已经有过告警记录了,且还是继续报警,无需重复添加报警,但是决策仍然要调用", category);
@@ -1495,14 +1501,14 @@ public class RyTask
                         this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
                         this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
                     }else {
                     }else {
                         //继续调用决策
                         //继续调用决策
-                        this.askBigModelForYC(xinyiWarningRecord, tXinyiIndustry, normConfig, chartsDataList);
+                        this.askBigModelForYC(xinyiWarningRecord, tXinyiIndustry, normConfig, chartsDataList, date, yjHour);
                     }
                     }
                 }
                 }
             }
             }
         }
         }
     }
     }
 
 
-    private void askBigModelForYC(TXinyiWarningRecord xinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, List<ChartBasic> chartsDataList) {
+    private void askBigModelForYC(TXinyiWarningRecord xinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, List<ChartBasic> chartsDataList, String date, String yjHour) {
         log.info("预测进入了后台接口调⽤⼤模型获取问答结果处理(预测)");
         log.info("预测进入了后台接口调⽤⼤模型获取问答结果处理(预测)");
         StringBuilder sb = new StringBuilder();
         StringBuilder sb = new StringBuilder();
         String sessionId = IdUtils.simpleUUID();
         String sessionId = IdUtils.simpleUUID();
@@ -1549,7 +1555,7 @@ public class RyTask
             chatReq.setSessionId(sessionId);
             chatReq.setSessionId(sessionId);
             chatReq.setType(3);//0问答 1决策 2本地 3仿真预测
             chatReq.setType(3);//0问答 1决策 2本地 3仿真预测
             chatReq.setModule(3);//0专家问答 1智能工单 2智能体助手 3告警 4简报
             chatReq.setModule(3);//0专家问答 1智能工单 2智能体助手 3告警 4简报
-            String showVal = this.buildShowValueWithCharts(xinyiWarningRecord, tXinyiIndustry, normConfig, chartsDataList);
+            String showVal = this.buildShowValueWithCharts(xinyiWarningRecord, tXinyiIndustry, normConfig, chartsDataList, date, yjHour);
             chatReq.setShowVal(showVal);
             chatReq.setShowVal(showVal);
             chatReq.setQuestion(shWarningPrompt);
             chatReq.setQuestion(shWarningPrompt);
             chatReq.setAnswer(sb.toString());
             chatReq.setAnswer(sb.toString());

+ 47 - 0
slibra-system/src/main/java/com/slibra/business/res/ShowValueChartBasic.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 ShowValueChartBasic {
+
+
+    @JSONField(ordinal = 1, name = "title")
+    private String a;
+
+    @JSONField(ordinal = 2, name = "预警时间")
+    private String b;
+
+    @JSONField(ordinal = 3, name = "预计超标时间")
+    private String c;
+
+    @JSONField(ordinal = 4, name = "现在值")
+    private BigDecimal d;
+
+    @JSONField(ordinal = 5, name = "预测值")
+    private BigDecimal e;
+
+    @JSONField(ordinal = 6, name = "管控制")
+    private BigDecimal f;
+
+    @JSONField(ordinal = 7, name = "标准值")
+    private BigDecimal g;
+
+    @JSONField(ordinal = 8, name = "数据来源")
+    private String h;
+
+    @JSONField(ordinal = 9, name = "状态")
+    private String i;
+
+
+}