package cn.iocoder.yudao.module.mes.controller.admin.em.quota.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.DecimalMin; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; @Schema(description = "管理后台 - MES 能耗考核指标新增/修改 Request VO") @Data public class MesEmQuotaSaveReqVO { @Schema(description = "编号", example = "1024") private Long id; @Schema(description = "指标名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "变压器车间用电日定额") @NotEmpty(message = "指标名称不能为空") private String name; @Schema(description = "能源类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "能源类型不能为空") private Integer energyType; @Schema(description = "考核对象类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "考核对象类型不能为空") private Integer objectType; @Schema(description = "考核对象编号(全厂时为空)", example = "7") private Long objectId; @Schema(description = "考核周期", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "考核周期不能为空") private Integer periodType; @Schema(description = "定额值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000") @NotNull(message = "定额值不能为空") @DecimalMin(value = "0", message = "定额值不能小于 0") private BigDecimal quotaValue; @Schema(description = "计量单位", example = "kWh") private String unit; @Schema(description = "预警比例(%)", example = "10") private BigDecimal warnRatio; @Schema(description = "严重预警比例(%)", example = "20") private BigDecimal alarmRatio; @Schema(description = "环比异常阈值(%)", example = "30") private BigDecimal momWarnRatio; @Schema(description = "同比异常阈值(%)", example = "30") private BigDecimal yoyWarnRatio; @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "状态不能为空") private Integer status; @Schema(description = "备注") private String remark; }