dengzedong
8 天以前 3e15efd83d12f5e24bc56a3d66ddbe3633270f7f
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CumulateHandle.java
@@ -23,6 +23,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
 * 累计点处理
@@ -91,6 +92,9 @@
                Object rawValue = singleCompute(item, calendar.getTime());
                BigDecimal coefficient = item.getUnittransfactor() == null ? BigDecimal.ONE : item.getUnittransfactor();
                value = new BigDecimal(rawValue.toString()).multiply(coefficient);
                // 写入缓存
                redisTemplate.opsForValue().set(PointCollector.PV + item.getPointNo(),
                        new BigDecimal(value.toString()).doubleValue(), PointCollector.offset, TimeUnit.SECONDS);
            }
            data.put(item.getPointNo(), value);
        });
@@ -126,11 +130,22 @@
        log.info("queryDto=" + JSONObject.toJSONString(queryDto));
        List<ApiPointValueDTO> dataList = new ArrayList<>();
        List<ApiPointValueDTO> dataListTemp = dataPointApi.queryPointHistoryValue(queryDto);
        if (dto.getIsCumuNeg() != null && dto.getIsCumuNeg().equals(0)) {
            for(ApiPointValueDTO item : dataListTemp) {
                if (item.getV() > 0) {
        if (dto.getIsCumuNeg() != null) {
            if (dto.getIsCumuNeg().equals(0)) {
                // 不累计负值
                for (ApiPointValueDTO item : dataListTemp) {
                    if (item.getV() > 0) {
                        dataList.add(item);
                    }
                }
            }else if (dto.getIsCumuNeg().equals(2)) {
                // 绝对值累计
                for (ApiPointValueDTO item : dataListTemp) {
                    item.setV(Math.abs(item.getV()));
                    dataList.add(item);
                }
            }else {
                dataList = dataListTemp;
            }
        } else {
            dataList = dataListTemp;