package com.zt.plat.module.base.controller.admin.materialhasproperties.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 物料持有属性新增/修改 Request VO")
@Data
public class MaterialHasPropertiesSaveReqVO {

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

    @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2614")
    @NotNull(message = "物料信息ID不能为空")
    private Long infomationId;

    @Schema(description = "属性ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8607")
    @NotNull(message = "属性ID不能为空")
    private Long propertiesId;

    @Schema(description = "计量单位ID-默认计量单位", example = "23731")
    private Long unitId;

    @Schema(description = "属性值", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "属性值不能为空")
    private String value;

    @Schema(description = "是否关键属性-关键属性表示物料唯一性")
    private Integer isKey;

    @Schema(description = "是否计量定价")
    private Integer isMetering;

    @Schema(description = "排序号")
    private Long sort;

}