From cc69f877cb51f4014c664d8002050fa0f9314a81 Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期三, 28 五月 2025 15:35:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java index 0b9271a..83fd193 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java @@ -8,9 +8,13 @@ import com.iailab.module.data.ind.item.service.IndItemService; import com.iailab.module.data.ind.item.vo.IndItemValueVO; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -51,11 +55,13 @@ result = derItemHandler.queryValue(indItem.getId()); break; case CAL: - result = calItemHandler.queryValue(itemNo); + result = calItemHandler.queryValue(indItem.getId()); break; default: break; } + // 考虑指标精度和转换系数 + handleResult(result,indItem); return result; } @@ -71,14 +77,37 @@ result = atomItemHandler.queryValue(indItem.getId()); break; case DER: - result = derItemHandler.queryValue(itemNo, startTime, endTime); + result = derItemHandler.queryValue(indItem.getId(), startTime, endTime); break; case CAL: - result = calItemHandler.queryValue(itemNo, startTime, endTime); + result = calItemHandler.queryValue(indItem.getId(), startTime, endTime); break; default: break; } + // 考虑指标精度和转换系数 + handleResult(result,indItem); return result; } + + private void handleResult(List<IndItemValueVO> result, IndItemEntity indItem) { + if (!CollectionUtils.isEmpty(result)) { + result.forEach(e -> { + if (e != null) { + Object dataValue = e.getDataValue(); + if (dataValue != null && dataValue instanceof Number) { + BigDecimal value = new BigDecimal(dataValue.toString()); + if (StringUtils.isNotBlank(indItem.getCoefficient())) { + value = value.multiply(new BigDecimal(indItem.getCoefficient())); + } + if (indItem.getPrecision() != null) { + value = value.setScale(indItem.getPrecision(), BigDecimal.ROUND_HALF_UP); + } + e.setDataValue(value.doubleValue()); + } + } + + }); + } + } } \ No newline at end of file -- Gitblit v1.9.3