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

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

import javax.validation.constraints.*;
import java.math.BigDecimal;

/**
 * @Author: jinyd
 * @CreateTime: 2025/3/13  14:40
 * @Description:
 * @Version: 4.0
 */

@Schema(description = "管理后台 - 物质设置新增/修改 Request VO")
@Data
public class MaterialConfigSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18474")
    private Long id;

    @Schema(description = "物资名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "物资名称不能为空")
    private String name;

    @Schema(description = "拼音码")
    private String pinyinCode;

    @Schema(description = "物品类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "物品类型不能为空")
    private String type;

    @Schema(description = "单位")
    private String unit;

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

    @Schema(description = "是否销售标识，1-是，2-否")
    private Integer saleFlag;

    @Schema(description = "费用金额", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "费用金额不能为空")
    private BigDecimal itemAmount;

    @Schema(description = "安全库存量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "安全库存量不能为空")
    private Integer safetyStock;

    @Schema(description = "物资描述", example = "你猜")
    private String description;

    @Schema(description = "状态，0-启动，1-禁用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态，0-启动，1-禁用不能为空")
    private Integer status;

    @Schema(description = "系统类型，1：机构 2：居家(社区) 3：旅居", example = "1")
    private Integer orgType;

    private Long tenantId;

}
