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

import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

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

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

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

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

    @Schema(description = "供应商名称", example = "张三")
    private String supplierName;

    @Schema(description = "结算方式(字典值)")
    private Integer settlementMethod;

    @Schema(description = "公司账号", example = "13404")
    private String companyAccount;

    @Schema(description = "银行开户行")
    private String bankAccountOpeningBank;

    @Schema(description = "结算日")
    private String settlementDate;

    @Schema(description = "申请结果", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer result;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "是否已分配到资产中 0否 1是", example = "5984")
    private Integer assignedFlag;

    @Schema(description = "流程实例的编号", example = "5984")
    private String processInstanceId;

    @Schema(description = "子列表", example = "5984")
    private List<BpmOASupplierProcurementPlanItemSaveReqVO> items;

    @Schema(description = "采购凭证", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<UploadUserFile> purchaseFileItems;

    @Schema(description = "到货凭证", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<UploadUserFile> theArrivalFileItems;

    @Schema(description = "是否结算 0待结算 1已结算（未付款）")
    private Integer settlementFlag;
}
