潘志宝
昨天 e5589d2671ecb4ad0a21fba18059c70469203672
累计值 动态长度
已修改3个文件
16 ■■■■■ 文件已修改
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CumulateHandle.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/PointCumulateUnitEnum.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java
@@ -86,6 +86,7 @@
        }
        selectSql.append(indItem.getUsingField());
        selectSql.append(") data_value");
        //selectSql.append(") \"data_value\"");
        result.setSelectSql(selectSql.toString());
        result.setViewSql(dataSet.getQuerySql());
        return result;
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CumulateHandle.java
@@ -1,5 +1,6 @@
package com.iailab.module.data.point.collection.handler;
import com.alibaba.fastjson.JSONObject;
import com.iailab.module.data.api.point.DataPointApi;
import com.iailab.module.data.api.point.dto.ApiPointDTO;
import com.iailab.module.data.api.point.dto.ApiPointValueDTO;
@@ -102,28 +103,30 @@
            }
            return CommonConstant.BAD_VALUE;
        }
        log.info("累计值:" + dto.getPointNo());
        // 动态长度
        ApiPointDTO momentPoint = dataPointApi.getInfoByNo(dto.getMomentPoint());
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(collectTime);
        calendar.add(Calendar.SECOND, -1 * DataPointFreqEnum.getEumByCode(dto.getMinfreqid()).getValue());
        calendar.add(Calendar.SECOND, -1 * DataPointFreqEnum.getEumByCode(momentPoint.getMinfreqid()).getValue());
        Date endTime = calendar.getTime();
        Date startTime = PointCumulateUnitEnum.getStartTime(calendar,dto.getLength(),dto.getCumulateUnit());
        Date startTime = PointCumulateUnitEnum.getStartTime(calendar, dto.getLength(), dto.getCumulateUnit());
        ApiPointValueQueryDTO queryDto = new ApiPointValueQueryDTO();
        queryDto.setStart(startTime);
        queryDto.setEnd(endTime);
        queryDto.setPointNo(dto.getMomentPoint());
        log.info("queryDto=" + JSONObject.toJSONString(queryDto));
        List<ApiPointValueDTO> dataList = dataPointApi.queryPointHistoryValue(queryDto);
        if (CollectionUtils.isEmpty(dataList)) {
            log.info("dataList is empty");
            if (listGood != null) {
                listGood.add(dto.getPointNo());
            }
            return BigDecimal.ZERO;
        } else if (dataList.size() < dto.getLength()) {
            // 补全数据
            log.info("补全数据,dataList.size()=" + dataList.size());
            dataList = completionData(dto.getLength(), dataList, startTime, endTime, pointDTO);
        }
        double total = dataList.stream().mapToDouble(ApiPointValueDTO::getV).sum();
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/PointCumulateUnitEnum.java
@@ -61,7 +61,7 @@
        if (unit == null) {
            return endTime.getTime();
        }else if (unit != THIS_MONTH) {
        } else if (unit != THIS_MONTH) {
            if (length == null || length <= 0) {
                return endTime.getTime();
            }