package cn.iocoder.yudao.module.mes.controller.admin.em.statistics.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; import java.util.List; @Schema(description = "管理后台 - MES 能耗报表 Response VO") @Data public class MesEmReportRespVO { @Schema(description = "报表月份", example = "2026-10") private String period; @Schema(description = "开始日期") private LocalDate beginDate; @Schema(description = "结束日期") private LocalDate endDate; @Schema(description = "综合能耗(吨标煤)") private BigDecimal totalTce; @Schema(description = "总费用") private BigDecimal totalCost; @Schema(description = "上月综合能耗") private BigDecimal lastMonthTce; @Schema(description = "环比(%)") private BigDecimal momRate; @Schema(description = "去年同月综合能耗") private BigDecimal lastYearTce; @Schema(description = "同比(%)") private BigDecimal yoyRate; @Schema(description = "按能源类型统计") private List typeRows; @Schema(description = "按车间统计") private List workshopRows; @Data public static class TypeRow { @Schema(description = "能源类型") private Integer energyType; @Schema(description = "能源类型名称") private String energyTypeName; @Schema(description = "本月用量") private BigDecimal usage; @Schema(description = "计量单位") private String unit; @Schema(description = "本月费用") private BigDecimal cost; @Schema(description = "本月折标煤(吨)") private BigDecimal tce; @Schema(description = "上月用量") private BigDecimal lastMonthUsage; @Schema(description = "环比(%)") private BigDecimal momRate; @Schema(description = "去年同月用量") private BigDecimal lastYearUsage; @Schema(description = "同比(%)") private BigDecimal yoyRate; } @Data public static class WorkshopRow { @Schema(description = "车间编号") private Long workshopId; @Schema(description = "车间名称") private String workshopName; @Schema(description = "本月费用") private BigDecimal cost; @Schema(description = "本月折标煤(吨)") private BigDecimal tce; @Schema(description = "上月折标煤(吨)") private BigDecimal lastMonthTce; @Schema(description = "环比(%)") private BigDecimal momRate; @Schema(description = "去年同月折标煤(吨)") private BigDecimal lastYearTce; @Schema(description = "同比(%)") private BigDecimal yoyRate; } }