net
2025-02-14 06d3d15a5a08637041cc601101c063b11b07a346
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package com.zhitan.web.controller.statisticalAnalysis;
 
import com.zhitan.common.core.controller.BaseController;
import com.zhitan.common.core.domain.AjaxResult;
import com.zhitan.common.utils.poi.ExcelUtil;
import com.zhitan.statisticalAnalysis.domain.dto.DataAnalysisMoMDTO;
import com.zhitan.statisticalAnalysis.domain.vo.DataAnalysisMoMExcel;
import com.zhitan.statisticalAnalysis.domain.vo.DataAnalysisMoMVO;
import com.zhitan.statisticalAnalysis.domain.vo.DataAnalysisYoYExcel;
import com.zhitan.statisticalAnalysis.domain.vo.DataAnalysisYoYVO;
import com.zhitan.statisticalAnalysis.service.IStatisticalAnalysisService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.ArrayList;
import java.util.List;
 
 
/**
 * 统计分析 控制层
 */
@Api(tags = "统计分析")
@RestController
@RequestMapping("/statisticalAnalysis")
public class StatisticalAnalysisController extends BaseController {
 
    @Autowired
    private IStatisticalAnalysisService analysisService;
 
 
    @PostMapping("/getElectricDataComparisonYoY")
    @ApiOperation(value = "获取电能耗同比数据", notes = "获取电能耗同比数据")
    public AjaxResult listElectricDataComparisonYoY(@RequestBody @Validated DataAnalysisMoMDTO dto) {
        List<DataAnalysisYoYVO> yoyList = analysisService.listElectricDataComparisonYoY(dto);
        return AjaxResult.success(yoyList);
    }
 
    @PostMapping("/getElectricDataComparisonMoM")
    @ApiOperation(value = "获取电能耗环比数据", notes = "获取电能耗环比数据")
    public AjaxResult listElectricDataComparisonMoM(@RequestBody @Validated DataAnalysisMoMDTO dto) {
        List<DataAnalysisMoMVO> momList = analysisService.listElectricDataComparisonMoM(dto);
        return AjaxResult.success(momList);
    }
 
    @PostMapping("/getWaterDataComparisonYoY")
    @ApiOperation(value = "获取水能耗同比数据", notes = "获取水能耗同比数据")
    public AjaxResult listWaterDataComparisonYoY(@RequestBody @Validated DataAnalysisMoMDTO dto) {
        List<DataAnalysisYoYVO> yoyList = analysisService.listWaterDataComparisonYoY(dto);
        return AjaxResult.success(yoyList);
    }
 
    @PostMapping("/getWaterDataComparisonMoM")
    @ApiOperation(value = "获取水能耗环比数据", notes = "获取水能耗环比数据")
    public AjaxResult listWaterDataComparisonMoM(@RequestBody @Validated DataAnalysisMoMDTO dto) {
        List<DataAnalysisMoMVO> momList = analysisService.listWaterDataComparisonMoM(dto);
        return AjaxResult.success(momList);
    }
 
    @PostMapping("/exportElectricYoY")
    @ApiOperation(value = "导出电能耗同比数据", notes = "导出电能耗同比数据")
    public AjaxResult exportElectricComparisonYoY(@RequestBody @Validated DataAnalysisMoMDTO dto) {
        List<DataAnalysisYoYExcel> yoYExcelsList = new ArrayList<>();
        List<DataAnalysisYoYVO> yoYList = analysisService.listElectricDataComparisonYoY(dto);
        if (CollectionUtils.isNotEmpty(yoYList)) {
            for (DataAnalysisYoYVO vo : yoYList) {
                DataAnalysisYoYExcel excel = new DataAnalysisYoYExcel();
                BeanUtils.copyProperties(vo, excel);
                yoYExcelsList.add(excel);
            }
        }
        ExcelUtil<DataAnalysisYoYExcel> util = new ExcelUtil<>(DataAnalysisYoYExcel.class);
        return util.exportExcel(yoYExcelsList, "电综合能耗同比信息");
    }
 
//    @PostMapping("/exportElectricMoM")
//    @ApiOperation(value = "导出电能耗环比数据", notes = "导出电能耗环比数据")
//    public AjaxResult exportElectricComparisonMoM(@RequestBody @Validated DataAnalysisMoMDTO dto) {
//        List<DataAnalysisMoMExcel> moMExcelsList = new ArrayList<>();
//        List<DataAnalysisMoMVO> moMList = analysisService.listElectricDataComparisonMoM(dto);
//        if (CollectionUtils.isNotEmpty(moMList)) {
//            for (DataAnalysisMoMVO vo : moMList) {
//                DataAnalysisMoMExcel excel = new DataAnalysisMoMExcel();
//                BeanUtils.copyProperties(vo, excel);
//                moMExcelsList.add(excel);
//            }
//        }
//        ExcelUtil<DataAnalysisMoMExcel> util = new ExcelUtil<>(DataAnalysisMoMExcel.class);
//        return util.exportRealTimeDataExcel(moMExcelsList, "电综合能耗环比信息");
//    }
 
    @PostMapping("/exportWaterYoY")
    @ApiOperation(value = "导出水耗同比数据", notes = "导出水耗同比数据")
    public AjaxResult exportWaterComparisonYoY(@RequestBody @Validated DataAnalysisMoMDTO dto) {
        List<DataAnalysisYoYExcel> yoYExcelsList = new ArrayList<>();
        List<DataAnalysisYoYVO> yoYList = analysisService.listWaterDataComparisonYoY(dto);
        if (CollectionUtils.isNotEmpty(yoYList)) {
            for (DataAnalysisYoYVO vo : yoYList) {
                DataAnalysisYoYExcel excel = new DataAnalysisYoYExcel();
                BeanUtils.copyProperties(vo, excel);
                yoYExcelsList.add(excel);
            }
        }
        ExcelUtil<DataAnalysisYoYExcel> util = new ExcelUtil<>(DataAnalysisYoYExcel.class);
        return util.exportExcel(yoYExcelsList, "水综合能耗耗同比信息");
    }
 
    @PostMapping("/exportWaterMoM")
    @ApiOperation(value = "导出水耗环比数据", notes = "导出水耗环比数据")
    public AjaxResult exportWaterComparisonMoM(@RequestBody @Validated DataAnalysisMoMDTO dto) {
        List<DataAnalysisMoMExcel> moMExcelsList = new ArrayList<>();
        List<DataAnalysisMoMVO> moMList = analysisService.listWaterDataComparisonMoM(dto);
        if (CollectionUtils.isNotEmpty(moMList)) {
            for (DataAnalysisMoMVO vo : moMList) {
                DataAnalysisMoMExcel excel = new DataAnalysisMoMExcel();
                BeanUtils.copyProperties(vo, excel);
                moMExcelsList.add(excel);
            }
        }
        ExcelUtil<DataAnalysisMoMExcel> util = new ExcelUtil<>(DataAnalysisMoMExcel.class);
        return util.exportExcel(moMExcelsList, "水综合能耗耗环比信息");
    }
 
}