package cn.iocoder.yudao.module.system.controller.admin.biz.vo.material;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Schema(description = "管理后台 - 物资信息新增/修改 Request VO")
@Data
public class MaterialInfoSaveReqVO {

    @Schema(description = "id（修改时必传）", example = "1")
    private Long id;

    @Schema(description = "物资编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "M001")
    @NotBlank(message = "物资编号不能为空")
    private String materialNumber;

    @Schema(description = "物资名称", example = "一次性手套")
    private String materialName;

    @Schema(description = "类别id", example = "10")
    private Long categoryId;

    @Schema(description = "仓库id", example = "1")
    private Long storeId;

    @Schema(description = "物资单位", example = "盒")
    private String materialUnit;

    @Schema(description = "供应商id", example = "100")
    private Long supplierId;

    @Schema(description = "规格", example = "L")
    private String specification;

    @Schema(description = "当前库存量", example = "100")
    private BigDecimal materialCount;

    @Schema(description = "最高库存量", example = "1000")
    private BigDecimal maxNum;

    @Schema(description = "最低库存量", example = "10")
    private BigDecimal minNum;

    @Schema(description = "保质期(月)", example = "24")
    private Integer shelfLife;

    @Schema(description = "状态，0：禁用，1：启用", example = "1")
    private Integer status;

    @Schema(description = "机构/租户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "tenantId不能为空")
    private Long tenantId;
}

