From cc6270c5f434f93bf51f4c454e3de512be70b584 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期三, 02 四月 2025 13:10:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 40 insertions(+), 18 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
index 999d93c..50f8413 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
@@ -28,7 +28,6 @@
 import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigSaveReqVO;
 import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageSaveReqVO;
 import com.iailab.module.model.mcs.pre.vo.MmPredictItemRespVO;
-import com.iailab.module.model.mcs.sche.entity.StAdjustConfigDetEntity;
 import com.iailab.module.model.mcs.sche.entity.StScheduleModelEntity;
 import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity;
 import com.iailab.module.model.mcs.sche.service.*;
@@ -216,7 +215,7 @@
             viewDto.setOutId(outId);
             viewDto.setResultstr(output.getResultstr());
             viewDto.setResultName(output.getResultName());
-            viewDto.setRealData(getHisData(output.getPointid(), startTime, endTime));
+            viewDto.setRealData(getHisData(output.getPointid(), startTime, endTime, reqVO.getPrec()));
             viewDto.setPreDataN(mmItemResultService.getData(output.getId(), startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
             viewDto.setPreDataL(mmItemResultLastPointService.getData(output.getId(), startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
             viewDto.setCurData(mmItemResultJsonService.getData(output.getId(), predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
@@ -272,7 +271,7 @@
             //处理预测累计
             if (output.getIscumulant() == 1) {
                 if (StringUtils.isNotBlank(output.getCumulpoint())) {
-                    viewDto.setCumulantRealData(getHisData(output.getCumulpoint(), startTime, endTime));
+                    viewDto.setCumulantRealData(getHisData(output.getCumulpoint(), startTime, endTime, reqVO.getPrec()));
                 }
                 viewDto.setCumulantPreData(mmItemResultService.getData(output.getId() + CommonDict.CUMULANT_SUFFIX, startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
             }
@@ -331,13 +330,13 @@
             legend.add(out.getResultName());
             PreDataSampleViewRespDTO viewDto = new PreDataSampleViewRespDTO();
             if (StringUtils.isNotBlank(out.getPointid())) {
-                viewDto.setRealData(getHisData(out.getPointid(), startTime, endTime));
+                viewDto.setRealData(getHisData(out.getPointid(), startTime, endTime, reqVO.getPrec()));
             }
             viewDto.setPreDataN(mmItemResultService.getData(out.getId(), startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
             //处理预测累计
             if (out.getIscumulant() == 1) {
                 if (StringUtils.isNotBlank(out.getCumulpoint())) {
-                    viewDto.setCumulantRealData(getHisData(out.getCumulpoint(), startTime, endTime));
+                    viewDto.setCumulantRealData(getHisData(out.getCumulpoint(), startTime, endTime, reqVO.getPrec()));
                 }
                 viewDto.setCumulantPreData(mmItemResultService.getData(out.getId() + CommonDict.CUMULANT_SUFFIX, startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
             }
@@ -353,6 +352,7 @@
         result.setViewMap(viewMap);
         return result;
     }
+
 
     @Override
     public PreDataSingleChartRespVO getPreDataSingleChart(PreDataSingleChartReqVO reqVO) {
@@ -421,6 +421,19 @@
             default:
                 break;
         }
+
+        //处理预测累计
+        if (outPut.getIscumulant() != null && outPut.getIscumulant() == 1) {
+            /*if (StringUtils.isNotBlank(outPut.getCumulpoint())) {
+                dataView.setCumulantRealData(getHisData(outPut.getCumulpoint(), startTime, endTime));
+            }*/
+            List<Object[]> cumulantPreList = mmItemResultService.getData(outPut.getId() + CommonDict.CUMULANT_SUFFIX, startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
+            dataView.setCumulantPreData(cumulantPreList);
+            if (!CollectionUtils.isEmpty(cumulantPreList)) {
+                dataView.setCumulantPreLast(new BigDecimal(cumulantPreList.get(cumulantPreList.size() - 1)[1].toString()).setScale(2, BigDecimal.ROUND_HALF_UP));
+            }
+        }
+
         if (!CollectionUtils.isEmpty(dataView.getRealData())) {
             Object[] rdo = dataView.getRealData().get(dataView.getRealData().size() - 1);
             dataView.setCurrValue(new BigDecimal(rdo[1].toString()));
@@ -438,7 +451,8 @@
 
         String alarmObj = chartParams.get(CommonConstant.ALARM_OBJ);
         if (StringUtils.isNotBlank(alarmObj)) {
-            List<AlarmMessageRespDTO> alarmList = ConvertUtils.sourceToTarget(mmPredictAlarmMessageService.getList(alarmObj, predictTime), AlarmMessageRespDTO.class);
+            String alarmTitle = chartParams.get(CommonConstant.ALARM_TITLE);
+            List<AlarmMessageRespDTO> alarmList = ConvertUtils.sourceToTarget(mmPredictAlarmMessageService.getList(alarmObj, predictTime, alarmTitle), AlarmMessageRespDTO.class);
             dataView.setAlarmList(alarmList);
             if (CollectionUtils.isEmpty(alarmList)) {
                 dataView.setAlarmMessage("暂无预警信息");
@@ -547,9 +561,10 @@
      * @param pointId
      * @param startTime
      * @param endTime
+     * @param prec
      * @return
      */
-    private List<Object[]> getHisData(String pointId, Date startTime, Date endTime) {
+    private List<Object[]> getHisData(String pointId, Date startTime, Date endTime, Integer prec) {
         List<Object[]> result = new ArrayList<>();
         if (StringUtils.isBlank(pointId)) {
             return result;
@@ -563,10 +578,17 @@
         if (CollectionUtils.isEmpty(valueDTOS)) {
             return result;
         }
+        int defaultPrec = 3;
         valueDTOS.forEach(item -> {
             Object[] values = new Object[2];
             values[0] = DateUtils.format(item.getT(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
-            values[1] = new BigDecimal(item.getV()).setScale(3, BigDecimal.ROUND_HALF_UP);
+            if (prec != null && prec < 0) {
+                values[1] = item.getV();
+            } else if (prec != null && prec > 0) {
+                values[1] = new BigDecimal(item.getV()).setScale(prec, BigDecimal.ROUND_HALF_UP);
+            } else {
+                values[1] = new BigDecimal(item.getV()).setScale(defaultPrec, BigDecimal.ROUND_HALF_UP);
+            }
             result.add(values);
         });
         return result;
@@ -822,12 +844,6 @@
     }
 
     @Override
-    public List<StAdjustConfigDetDTO> getAdjustConfigListByModelId(String modelId) {
-        List<StAdjustConfigDetEntity> list = stAdjustConfigService.getDetByModelId(modelId);
-        return ConvertUtils.sourceToTarget(list, StAdjustConfigDetDTO.class);
-    }
-
-    @Override
     public Boolean updateAlarmConfig(String alarmObj,String upperLimit,String lowerLimit) {
         MmPredictAlarmConfigSaveReqVO reqVO = new MmPredictAlarmConfigSaveReqVO();
         reqVO.setAlarmObj(alarmObj);
@@ -854,8 +870,9 @@
     }
 
     @Override
-    public List<Object[]> getItemResult(String outputid, Date startTime, Date endTime, String timeFormat) {
-        return mmItemResultService.getData(outputid,startTime,endTime,timeFormat);
+    public List<Object[]> getItemResult(PreItemResultReqVO reqVO) {
+
+        return mmItemResultService.getData(reqVO.getOutputid(),reqVO.getStartTime(),reqVO.getEndTime(),reqVO.getTimeFormat());
     }
 
     @Override
@@ -864,8 +881,13 @@
     }
 
     @Override
-    public List<Object[]> getItemResultLastPoint(String outputid, Date startTime, Date endTime, String timeFormat) {
-        return mmItemResultLastPointService.getData(outputid,startTime,endTime,timeFormat);
+    public List<Object[]> getItemResultLastPoint(PreItemResultReqVO reqVO) {
+        return mmItemResultLastPointService.getData(reqVO.getOutputid(),reqVO.getStartTime(),reqVO.getEndTime(),reqVO.getTimeFormat());
+    }
+
+    @Override
+    public Boolean updateSuggestStatus(StAlarmAndSuggestReqVO reqVO) {
+        return stScheduleSuggestService.updateSuggestStatus(reqVO);
     }
 
     private Date[] calResultTime(ItemVO predictItem, Date startTimeReq, Date endTimeReq, int lengthLeft, int lengthRight) {

--
Gitblit v1.9.3