package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan;

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

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

@Schema(description = "管理后台 - 供应商采购计划子新增/修改 Request VO")
@Data
public class BpmOASupplierProcurementPlanItemSaveReqVO {

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

    @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29804")
    @NotNull(message = "申请人的用户编号不能为空")
    private Long userId;

    @Schema(description = "供应商采购计划id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127")
    @NotNull(message = "供应商采购计划id不能为空")
    private Long procurementPlanId;

    @Schema(description = "供应商商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127")
    private String supplierProductName;

    @Schema(description = "资产类型id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127")
    private Long typeId;

    @Schema(description = "工厂编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31764")
    @NotNull(message = "工厂编号不能为空")
    private Long factoryId;

    @Schema(description = "供应商商品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31243")
    @NotNull(message = "供应商商品id不能为空")
    private Long supplierProductId;

    @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "数量不能为空")
    private Integer num;

    @Schema(description = "供应商价格", example = "30063")
    private BigDecimal supplierPrice;

    @Schema(description = "实际价格", example = "21988")
    private BigDecimal actualPrice;

    @Schema(description = "收货地址")
    private String shippingAddress;

    @Schema(description = "备注", example = "你说的对")
    private String remark;

}
