From 9006e89fdd7dcbdd69d40325fffe471c1768b402 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期一, 12 五月 2025 13:13:31 +0800 Subject: [PATCH] 预测新增累计曲线 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java | 2 ++ ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PreDataViewDTO.java | 3 +++ ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java | 25 ++++++++++++++++++++----- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PreDataViewDTO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PreDataViewDTO.java index bb8c4d5..6639ccd 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PreDataViewDTO.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PreDataViewDTO.java @@ -80,4 +80,7 @@ @Schema(description = "历史预测值") private List<Object[]> preData; + @Schema(description = "累积值") + private List<Object[]> culData; + } \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java index 5eaadf4..600c80e 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java @@ -3,16 +3,17 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iailab.framework.common.util.date.DateUtils; import com.iailab.framework.common.util.object.ConvertUtils; -import com.iailab.module.ansteel.api.dao.*; +import com.iailab.module.ansteel.api.dao.MainProcessIndexDayDao; +import com.iailab.module.ansteel.api.dao.MainProcessIndexTeamDao; import com.iailab.module.ansteel.api.dto.*; +import com.iailab.module.ansteel.api.service.DataService; +import com.iailab.module.ansteel.common.constant.CommonConstant; import com.iailab.module.ansteel.common.enums.ProcessConfDataTypeEnum; import com.iailab.module.ansteel.power.dao.*; import com.iailab.module.ansteel.power.entity.PowerCapacitorStatusEntity; import com.iailab.module.ansteel.power.entity.PowerControlDetEntity; import com.iailab.module.ansteel.power.entity.PowerControlMainEntity; import com.iailab.module.ansteel.power.entity.PowerNetFactorEntity; -import com.iailab.module.ansteel.api.service.DataService; -import com.iailab.module.ansteel.common.constant.CommonConstant; import com.iailab.module.data.api.ind.IndItemApi; import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; @@ -32,9 +33,8 @@ import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; - -import static com.iailab.framework.common.pojo.CommonResult.success; @Slf4j @Service @@ -180,6 +180,7 @@ int lengthRight = tMap.get(CommonConstant.LENGTH_RIGHT) == null ? predictItem.getPredictLength() : new BigDecimal(tMap.get(CommonConstant.LENGTH_RIGHT)).intValue(); String trendsDataH = tMap.get(CommonConstant.TRENDSDATA_H) == null ? null : tMap.get(CommonConstant.TRENDSDATA_H); String trendsDataL = tMap.get(CommonConstant.TRENDSDATA_L) == null ? null : tMap.get(CommonConstant.TRENDSDATA_L); + String culIndex = tMap.get(CommonConstant.CUL_INDEX) == null ? null : tMap.get(CommonConstant.CUL_INDEX);//累计量 Date[] timeArray = calResultTime(predictItem, reqVO.getStartTime(), reqVO.getEndTime(), lengthLeft, lengthRight); Date startTime = timeArray[1]; @@ -221,6 +222,20 @@ preDataView.setTrendsDataL(newList); } + if (StringUtils.isNotBlank(culIndex)) { + if(!CollectionUtils.isEmpty(preDataView.getCurData())){ + AtomicReference<Double> culData = new AtomicReference<>(0d); + List<Object[]> newList = preDataView.getCurData().stream() + .map(item -> { + culData.updateAndGet(v -> v + Double.parseDouble(String.format("%.2f", Double.parseDouble(item[1].toString()) / 60))); + item[1] = culData; + return item; + }) + .collect(Collectors.toList()); + preDataView.setCulData(newList); + } + } + preDataView.setPreData(resultOld.getDataView().getPreDataL()); result.setPreDataView(preDataView); return result; diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java index c841e37..09d0f1c 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java @@ -48,6 +48,8 @@ String RESULT_INDEX = "RESULT_INDEX"; + String CUL_INDEX = "CUL_INDEX"; + String LENGTH_LEFT = "LENGTH_LEFT"; String LENGTH_RIGHT = "LENGTH_RIGHT"; -- Gitblit v1.9.3