feat(ems): 新增能耗统计与环比分析功能- 添加按日和按月汇总能耗数据的接口与实现

- 实现能耗环比概况的数据结构与基础查询逻辑
- 引入新的查询参数类和返回值对象以支持统计功能
- 配置MyBatis XML映射文件以支持能耗统计数据查询
- 控制器层增加获取能耗趋势和环比信息的新端点
This commit is contained in:
JR
2025-09-28 23:51:47 +08:00
parent ef8ba712df
commit 6c483ad6f5
9 changed files with 161 additions and 1 deletions

View File

@@ -3,9 +3,15 @@ package com.klp.ems.controller;
import java.util.List;
import java.util.Arrays;
import com.klp.ems.domain.bo.EmsEnergyConsumptionQueryBo;
import com.klp.ems.domain.vo.EnergyChainRatioVo;
import com.klp.ems.domain.vo.SummaryDailyVo;
import com.klp.ems.domain.vo.SummaryMonthlyVo;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import org.flywaydb.core.internal.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
@@ -36,6 +42,31 @@ public class EmsEnergyConsumptionController extends BaseController {
private final IEmsEnergyConsumptionService iEmsEnergyConsumptionService;
/**
* 近期能耗趋势(测过了)
*/
@GetMapping("/getEnergySummary")
public R getEnergySummary(EmsEnergyConsumptionQueryBo queryBo){
if (StringUtils.hasText(queryBo.getMonth())) {
List<SummaryDailyVo> data = iEmsEnergyConsumptionService.getEnergySummaryDaily(queryBo.getMonth());
return R.ok(data);
}else if (StringUtils.hasText(queryBo.getYear())) {
List<SummaryMonthlyVo> data = iEmsEnergyConsumptionService.getEnergySummaryMonthly(queryBo.getYear());
return R.ok(data);
} else {
return R.fail("year 或 month 必须提供一个");
}
}
/**
* 获取能耗环比概况(没写完)
*/
@GetMapping("/getEnergyChainRatio")
public R<EnergyChainRatioVo> getEnergyChainRatio() {
EnergyChainRatioVo energyChainRatioVo = iEmsEnergyConsumptionService.getEnergyChainRatio();
return R.ok(energyChainRatioVo);
}
/**
* 查询能耗记录列表
*/