net
2025-02-14 06d3d15a5a08637041cc601101c063b11b07a346
zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/StatisticalAnalysisController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,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, "水综合能耗耗环比信息");
    }
}