package com.sunxung.factoring.entity.salescontractmanagement.vo;

import com.sunxung.factoring.entity.ValidatorEntity;
import com.sunxung.factoring.entity.project.ProjectInformation;
import com.sunxung.factoring.entity.salescontractmanagement.*;
import com.sunxung.factoring.entity.sys.FileStorage;

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

/**
 * @Description : 销售合同详情信息vo类
 * @Author : L.Jia
 * @Date: 2021-09-14 09:36
 */
public class SalesContractVo extends ValidatorEntity {

    /**
     * 业务key(对应销售合同管理主键Id)
     */
    @NotNull(message = "businessKey不能为空")
    private Long businessKey;

    /**
     * 业务信息
     **/
    private ProjectInformation projectInformation;

    /**
     * 销售合同原文件
     **/
    private List<FileStorage> salesContractFileList;

    /**
     * 销售合同变更时提交的文件Id集合
     */
    private List<Long> fileIdList;

    /**
     * 合同信息
     **/
    @NotNull(message = "合同信息不能为空")
    private CSalesContractBasicInfo salesContractBasicInfo;

    /**
     * 付款条件信息
     **/
    private List<SalesContractPaymentCondition> paymentConditionList;

    /**
     * 货物信息
     **/
    private List<CSalesContractGoodsInfo> goodsInfoList;

    /**
     * 人员信息
     */
    private List<CSalesContractPersonInfo> salesContractPersonInfos;

    /**
     * 人员历史信息
     */
    private List<SalesContractPersonInfoHistory> salesContractPersonInfoHistories;

    public List<SalesContractPersonInfoHistory> getSalesContractPersonInfoHistories() {
        return salesContractPersonInfoHistories;
    }

    public void setSalesContractPersonInfoHistories(List<SalesContractPersonInfoHistory> salesContractPersonInfoHistories) {
        this.salesContractPersonInfoHistories = salesContractPersonInfoHistories;
    }

    public List<CSalesContractPersonInfo> getSalesContractPersonInfos() {
        return salesContractPersonInfos;
    }

    public void setSalesContractPersonInfos(List<CSalesContractPersonInfo> salesContractPersonInfos) {
        this.salesContractPersonInfos = salesContractPersonInfos;
    }

    public Long getBusinessKey() {
        return businessKey;
    }

    public void setBusinessKey(Long businessKey) {
        this.businessKey = businessKey;
    }

    public ProjectInformation getProjectInformation() {
        return projectInformation;
    }

    public void setProjectInformation(ProjectInformation projectInformation) {
        this.projectInformation = projectInformation;
    }

    public List<FileStorage> getSalesContractFileList() {
        return salesContractFileList;
    }

    public void setSalesContractFileList(List<FileStorage> salesContractFileList) {
        this.salesContractFileList = salesContractFileList;
    }

    public CSalesContractBasicInfo getSalesContractBasicInfo() {
        return salesContractBasicInfo;
    }

    public void setSalesContractBasicInfo(CSalesContractBasicInfo salesContractBasicInfo) {
        this.salesContractBasicInfo = salesContractBasicInfo;
    }

    public List<SalesContractPaymentCondition> getPaymentConditionList() {
        return paymentConditionList;
    }

    public void setPaymentConditionList(List<SalesContractPaymentCondition> paymentConditionList) {
        this.paymentConditionList = paymentConditionList;
    }

    public List<CSalesContractGoodsInfo> getGoodsInfoList() {
        return goodsInfoList;
    }

    public void setGoodsInfoList(List<CSalesContractGoodsInfo> goodsInfoList) {
        this.goodsInfoList = goodsInfoList;
    }

    public List<Long> getFileIdList() {
        return fileIdList;
    }

    public void setFileIdList(List<Long> fileIdList) {
        this.fileIdList = fileIdList;
    }

}
