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.util.List; @Schema(description = "管理后台 - MES 能耗总览 Response VO") @Data public class MesEmOverviewRespVO { @Schema(description = "综合能耗(吨标煤)", example = "12.34") private BigDecimal totalTce; @Schema(description = "总费用(元)", example = "123456.78") private BigDecimal totalCost; @Schema(description = "计量点数量", example = "20") private Integer meterCount; @Schema(description = "未处理预警数量", example = "3") private Integer pendingAlertCount; @Schema(description = "能源类型统计") private List typeStats; @Schema(description = "车间能耗统计") private List workshopStats; @Schema(description = "能耗趋势") private List trend; @Schema(description = "重点用能设备排行") private List topMeters; @Schema(description = "最近预警") private List recentAlerts; @Data public static class TypeStat { @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; } @Data public static class WorkshopStat { @Schema(description = "车间编号") private Long workshopId; @Schema(description = "车间名称") private String workshopName; @Schema(description = "折标煤(吨)") private BigDecimal tce; @Schema(description = "费用") private BigDecimal cost; } @Data public static class TrendPoint { @Schema(description = "日期") private String date; @Schema(description = "综合能耗(吨标煤)") private BigDecimal tce; @Schema(description = "费用") private BigDecimal cost; @Schema(description = "用电量") private BigDecimal electricity; @Schema(description = "用水量") private BigDecimal water; @Schema(description = "燃油用量") private BigDecimal fuel; @Schema(description = "天然气用量") private BigDecimal gas; } @Data public static class MeterStat { @Schema(description = "计量点编号") private Long meterId; @Schema(description = "计量点名称") private String meterName; @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; } @Data public static class RecentAlert { @Schema(description = "预警编号") private Long id; @Schema(description = "预警内容") private String content; @Schema(description = "预警级别") private Integer alertLevel; @Schema(description = "预警级别名称") private String alertLevelName; @Schema(description = "预警日期") private String alertDate; @Schema(description = "处理状态") private Integer status; @Schema(description = "处理状态名称") private String statusName; } }