package cn.iocoder.yudao.module.mes.controller.admin.energy.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.*; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; @Data @Schema(description = "管理后台 - 能耗记录新增/修改") public class EnergyRecordSaveReqVO { @Positive private Long id; @NotNull(message = "统计日期不能为空") @PastOrPresent(message = "统计日期不能晚于今天") private LocalDate recordDate; @NotBlank @Pattern(regexp = "WATER|ELECTRICITY|STEAM", message = "能源类型只能为水、电、蒸汽") private String energyType; @NotBlank(message = "使用区域不能为空") @Size(max = 100) private String usageArea; @NotBlank(message = "产品类别不能为空") @Size(max = 50) private String productCategory; @NotBlank(message = "用途不能为空") @Size(max = 100) private String usagePurpose; @NotNull @DecimalMin(value = "0", inclusive = false, message = "用量必须大于零") @Digits(integer = 15, fraction = 3, message = "用量最多15位整数、3位小数") private BigDecimal quantity; @NotNull @DecimalMin(value = "0", message = "单价不能为负数") @Digits(integer = 8, fraction = 4, message = "单价最多8位整数、4位小数") private BigDecimal unitPrice; @NotBlank(message = "录入人不能为空") @Size(max = 50) private String recorder; @Size(max = 500) private String remark; }