package cn.iocoder.yudao.module.mes.controller.admin.safety.vo.material; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.*; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDate; /** * 安全生产 - 物资出入库登记 Request VO * * @author 超级管理员 */ @Schema(description = "管理后台 - 物资出入库登记 Request VO") @Data public class SafetyMaterialStockSaveReqVO { @Schema(description = "物资编号", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "物资不能为空") private Long materialId; @Schema(description = "业务类型:IN-入库,OUT-出库", requiredMode = Schema.RequiredMode.REQUIRED) @NotBlank(message = "业务类型不能为空") @Pattern(regexp = "IN|OUT", message = "业务类型只能为入库或出库") private String bizType; @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") @NotNull(message = "数量不能为空") @DecimalMin(value = "0", inclusive = false, message = "数量必须大于零") @Digits(integer = 15, fraction = 3) private BigDecimal quantity; @Schema(description = "业务日期") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) private LocalDate bizDate; @Schema(description = "经办人", requiredMode = Schema.RequiredMode.REQUIRED) @NotBlank(message = "经办人不能为空") @Size(max = 50) private String operator; @Schema(description = "领用人(出库填写)") @Size(max = 50) private String receiver; @Schema(description = "用途/去向") @Size(max = 200) private String purpose; @Schema(description = "备注") @Size(max = 500) private String remark; }