dengzedong
2025-02-13 94a5f0a2c84738d81844670c80f8de62a8223267
数据分析 添加预测累计
已修改2个文件
19 ■■■■■ 文件已修改
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataViewRespDTO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataViewRespDTO.java
@@ -125,4 +125,10 @@
    @Schema(description = "展示线类型")
    private String lineType;
    @Schema(description = "累计真实值")
    private List<Object[]> cumulantRealData;
    @Schema(description = "累计预测值")
    private List<Object[]> cumulantPreData;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
@@ -259,6 +259,14 @@
                viewDto.setMaxValue(new BigDecimal(values.stream().mapToDouble(Double::doubleValue).max().getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP));
                viewDto.setMinValue(new BigDecimal(values.stream().mapToDouble(Double::doubleValue).min().getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP));
            }
            //处理预测累计
            if (output.getIscumulant() == 1) {
                if (StringUtils.isNotBlank(output.getCumulpoint())) {
                    viewDto.setCumulantRealData(getHisData(output.getCumulpoint(), startTime, endTime));
                }
                viewDto.setCumulantPreData(mmItemResultService.getData(output.getId() + CommonDict.CUMULANT_SUFFIX, startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
            }
            dataViewList.add(viewDto);
        }
        result.setStartTime(startTime);
@@ -316,7 +324,7 @@
                viewDto.setRealData(getHisData(out.getPointid(), startTime, endTime));
            }
            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));
@@ -529,6 +537,9 @@
     */
    private List<Object[]> getHisData(String pointId, Date startTime, Date endTime) {
        List<Object[]> result = new ArrayList<>();
        if (StringUtils.isBlank(pointId)) {
            return result;
        }
        ApiPointDTO pointDTO = dataPointApi.getInfoById(pointId);
        ApiPointValueQueryDTO queryPointDto = new ApiPointValueQueryDTO();
        queryPointDto.setPointNo(pointDTO.getPointNo());