package com.inkasso.factoring.salesManagement.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.inkasso.factoring.common.entity.BaseEntity;
import com.inkasso.factoring.file.entity.FileStorageDO;
import com.inkasso.factoring.salesManagement.entity.vo.SalesContractBasicVo;

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

/**
 * <p>
 * 销售合同变更信息表
 * </p>
 *
 * @author yafan
 * @since 2023-11-28
 */
@TableName("c_sales_contract_supplement_info")
public class CSalesContractSupplementInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 销售合同管理Id
     */
    @TableField("c_sales_contract_management_id")
    private Long cSalesContractManagementId;

    /**
     * 变更类型 1:经办人变更,0:合同条款变更'
     */
    @TableField("change_type")
    @NotEmpty(message = "变更类型不能为空！")
    private Integer changeType;

    /**
     * 说明
     */
    @TableField("remark")
    private String remark;

    /**
     * 人员信息
     */
    @TableField(exist = false)
    private List<CSalesContractSupplementPersonInfo> supplementPersonInfos;

    @TableField(exist = false)
    private List<Long> fileIds;

    @TableField(exist = false)
    private List<FileStorageDO> files;

    /**
     * 基础信息
     */
    @TableField(exist = false)
    private SalesContractBasicVo salesContractBasicVo;

    public Long getcSalesContractManagementId() {
        return cSalesContractManagementId;
    }

    public void setcSalesContractManagementId(Long cSalesContractManagementId) {
        this.cSalesContractManagementId = cSalesContractManagementId;
    }

    public Integer getChangeType() {
        return changeType;
    }

    public void setChangeType(Integer changeType) {
        this.changeType = changeType;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public List<CSalesContractSupplementPersonInfo> getSupplementPersonInfos() {
        return supplementPersonInfos;
    }

    public void setSupplementPersonInfos(List<CSalesContractSupplementPersonInfo> supplementPersonInfos) {
        this.supplementPersonInfos = supplementPersonInfos;
    }

    public List<Long> getFileIds() {
        return fileIds;
    }

    public void setFileIds(List<Long> fileIds) {
        this.fileIds = fileIds;
    }

    public List<FileStorageDO> getFiles() {
        return files;
    }

    public void setFiles(List<FileStorageDO> files) {
        this.files = files;
    }

    public SalesContractBasicVo getSalesContractBasicVo() {
        return salesContractBasicVo;
    }

    public void setSalesContractBasicVo(SalesContractBasicVo salesContractBasicVo) {
        this.salesContractBasicVo = salesContractBasicVo;
    }

    @Override
    public String toString() {
        return "CSalesContractSupplementInfo{" +
                ", cSalesContractManagementId=" + cSalesContractManagementId +
                ", changeType=" + changeType +
                ", remark=" + remark +
                "}";
    }
}
