package cn.iocoder.yudao.module.mes.controller.admin.energy; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.energy.vo.*; import cn.iocoder.yudao.module.mes.service.energy.EnergyRecordService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 独立能耗管理") @RestController @RequestMapping("/energy/record") @Validated public class EnergyRecordController { @Resource(name = "energyRecordService") private EnergyRecordService energyRecordService; @PostMapping("/create") @Operation(summary = "手动新增能耗记录") @PreAuthorize("@ss.hasPermission('energy:record:create')") public CommonResult create(@Valid @RequestBody EnergyRecordSaveReqVO req) { return success(energyRecordService.create(req)); } @PutMapping("/update") @Operation(summary = "修改能耗记录") @PreAuthorize("@ss.hasPermission('energy:record:update')") public CommonResult update(@Valid @RequestBody EnergyRecordSaveReqVO req) { energyRecordService.update(req); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除能耗记录") @PreAuthorize("@ss.hasPermission('energy:record:delete')") public CommonResult delete(@RequestParam("id") Long id) { energyRecordService.delete(id); return success(true); } @GetMapping("/get") @Operation(summary = "查看能耗记录") @PreAuthorize("@ss.hasPermission('energy:record:query')") public CommonResult get(@RequestParam("id") Long id) { return success(BeanUtils.toBean(energyRecordService.get(id), EnergyRecordRespVO.class)); } @GetMapping("/page") @Operation(summary = "分页查询能耗记录") @PreAuthorize("@ss.hasPermission('energy:record:query')") public CommonResult> page(@Valid EnergyRecordPageReqVO req) { return success(BeanUtils.toBean(energyRecordService.page(req), EnergyRecordRespVO.class)); } @GetMapping("/analysis") @Operation(summary = "能耗数据分析(按能源分别汇总用量)") @PreAuthorize("@ss.hasPermission('energy:analysis:query')") public CommonResult analysis(@Valid EnergyAnalysisReqVO req) { return success(energyRecordService.analysis(req)); } }