package com.ruoyi.energy.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.energy.dto.EnergyConsumptionDetailDto; import com.ruoyi.energy.pojo.EnergyConsumptionDetail; import com.ruoyi.energy.service.EnergyConsumptionDetailService; import com.ruoyi.energy.vo.EnergyStatisticsVo; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; /** *

* 能源类型-能耗抄表明细 前端控制器 *

* * @author 芯导软件(江苏)有限公司 * @since 2026-03-10 11:22:20 */ @RestController @RequestMapping("/energyConsumptionDetail") @Api(tags = "能耗管理-能耗抄表明细") public class EnergyConsumptionDetailController { @Autowired private EnergyConsumptionDetailService energyConsumptionDetailService; @GetMapping("page") @ApiOperation("分页查询") public R page(Page page, EnergyConsumptionDetailDto energyConsumptionDetailDto) { return R.ok(energyConsumptionDetailService.pageEnergyConsumptionDetail(page, energyConsumptionDetailDto)); } @ApiOperation("新增/修改能耗抄表") @PostMapping() public R add(@RequestBody EnergyConsumptionDetail energyConsumptionDetail) { return R.ok(energyConsumptionDetailService.saveOrUpdate(energyConsumptionDetail)); } @ApiOperation("删除能耗抄表") @DeleteMapping("/{ids}") public R delete(@PathVariable("ids") Long[] ids) { return R.ok(energyConsumptionDetailService.removeBatchByIds(Arrays.asList(ids))); } @Log(title = "能耗抄表明细-导入", businessType = BusinessType.IMPORT) @PostMapping("/importData") @ApiOperation("能耗抄表明细-导入") public R importData(MultipartFile file) throws Exception { return energyConsumptionDetailService.importData(file); } @PostMapping("/downloadTemplate") @ApiOperation("能耗抄表-下载模板") @Log(title = "能耗抄表-下载模板", businessType = BusinessType.EXPORT) public void downloadTemplate(HttpServletResponse response) { ExcelUtil util = new ExcelUtil(EnergyConsumptionDetailDto.class); util.importTemplateExcel(response, "能耗抄表模版"); } @PostMapping("/export") @ApiOperation("能耗抄表-导出") @Log(title = "能耗抄表-导出", businessType = BusinessType.EXPORT) public void export(HttpServletResponse response) { energyConsumptionDetailService.export(response); } /*******************************************汇总统计*****************************************************************************************************************************************************************************/ @GetMapping("/statistics") @ApiOperation("按日月年汇总统计") public R statistics(EnergyStatisticsVo energyStatisticsVo) { return R.ok(energyConsumptionDetailService.statistics(energyStatisticsVo)); } }