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

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;

@Schema(description = "管理后台 - 物料回收率新增/修改 Request VO")
@Data
public class MaterialDestroySaveReqVO {

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

    @Schema(description = "原料物料编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "原料物料编码不能为空")
    private String upNumber;

    @Schema(description = "返产品物料编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "返产品物料编码不能为空")
    private String downNumber;

    @Schema(description = "原料物料名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "原料物料名称不能为空")
    private String upName;

    @Schema(description = "返产品物料名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "返产品物料名称不能为空")
    private String downName;

    @Schema(description = "回收率", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "回收率不能为空")
    private BigDecimal ratio;

    @Schema(description = "是否使用该物料核销")
    private String operation;

    @Schema(description = "供应商编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "供应商编码不能为空")
    private String supplierNumber;

    @Schema(description = "供应商名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "供应商名称不能为空")
    private String supplierName;

    @Schema(description = "是否启用")
    private String isEnable;
    @Schema(description = "收货单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    private String receiveUnit;
    @Schema(description = "发货单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    private String sendUnit;

}