package com.sunxung.factoring.entity.financing.contract;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.financing.review.ReviewLoanCondition;

import java.util.List;

/**
 * <p>
 * 合同基础表
 * </p>
 *
 * @author liutao
 * @since 2024-01-23
 */
@TableName("contract_info")
public class ContractInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 额度支用ID
     */
    @TableField("review_quota_disburse_id")
    private Long reviewQuotaDisburseId;

    /**
     * 额度支用审批ID
     */
    @TableField("review_quota_disburse_approval_id")
    private Long reviewQuotaDisburseApprovalId;

    /**
     * 业务编号
     */
    @TableField("business_no")
    private String businessNo;

    /**
     * 合同编号
     */
    @TableField("contract_no")
    private String contractNo;

    /**
     * 额度支用批次
     */
    @TableField("quota_disburse_batch")
    private Integer quotaDisburseBatch;

    /**
     * 处理人
     **/
    @TableField("assignee_id")
    private Long assigneeId;

    /**
     * 结论
     **/
    @TableField("conclusion")
    private String conclusion;

    /**
     * 意见
     **/
    @TableField("suggestion")
    private String suggestion;

    /**
     * 合同签署方式 0.线下签 1.电子签
     */
    @TableField("contract_sign_method")
    private Integer contractSignMethod;

    /**
     * 是否上传文件合同
     */
    @TableField("do_upload")
    private Boolean doUpload;

    /**
     * 是否可见,false不可见即为暂存
     */
    @TableField("visible")
    private Boolean visible;

    /**
     * 电子签文件模板code
     */
    @TableField("electronic_sign_file_code")
    private String electronicSignFileCode;

    /**
     * 合同融资信息
     */
    @TableField(exist = false)
    private ContractFinancingInfo contractFinancingInfo;

    /**
     * 主合同信息
     */
    @TableField(exist = false)
    private ContractMasterContract contractMasterContract;

    /**
     * 放款条件
     */
    @TableField(exist = false)
    private List<ReviewLoanCondition> loanConditionList;

    /**
     * 放款条件设定
     */
    @TableField(exist = false)
    private List<ContractLoanConditionSetting> conditionSettingList;

    /**
     * 三方协议
     */
    @TableField(exist = false)
    private List<ContractBasicContract> contractBasicContractList;

    /**
     * 上传的合同
     */
    @TableField(exist = false)
    private List<UploadContractInfo> uploadContractInfoList;

    /**
     * 电子签的模板code集合
     */
    @TableField(exist = false)
    private List<String> electronicSign;

    /**
     * taskId
     */
    @TableField(exist = false)
    private String taskId;


    public Long getReviewQuotaDisburseId() {
        return reviewQuotaDisburseId;
    }

    public void setReviewQuotaDisburseId(Long reviewQuotaDisburseId) {
        this.reviewQuotaDisburseId = reviewQuotaDisburseId;
    }

    public Long getReviewQuotaDisburseApprovalId() {
        return reviewQuotaDisburseApprovalId;
    }

    public void setReviewQuotaDisburseApprovalId(Long reviewQuotaDisburseApprovalId) {
        this.reviewQuotaDisburseApprovalId = reviewQuotaDisburseApprovalId;
    }

    public String getBusinessNo() {
        return businessNo;
    }

    public void setBusinessNo(String businessNo) {
        this.businessNo = businessNo;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public Integer getQuotaDisburseBatch() {
        return quotaDisburseBatch;
    }

    public void setQuotaDisburseBatch(Integer quotaDisburseBatch) {
        this.quotaDisburseBatch = quotaDisburseBatch;
    }

    public Long getAssigneeId() {
        return assigneeId;
    }

    public void setAssigneeId(Long assigneeId) {
        this.assigneeId = assigneeId;
    }

    public List<ContractLoanConditionSetting> getConditionSettingList() {
        return conditionSettingList;
    }

    public void setConditionSettingList(List<ContractLoanConditionSetting> conditionSettingList) {
        this.conditionSettingList = conditionSettingList;
    }

    public List<ReviewLoanCondition> getLoanConditionList() {
        return loanConditionList;
    }

    public void setLoanConditionList(List<ReviewLoanCondition> loanConditionList) {
        this.loanConditionList = loanConditionList;
    }

    public ContractFinancingInfo getContractFinancingInfo() {
        return contractFinancingInfo;
    }

    public void setContractFinancingInfo(ContractFinancingInfo contractFinancingInfo) {
        this.contractFinancingInfo = contractFinancingInfo;
    }

    public ContractMasterContract getContractMasterContract() {
        return contractMasterContract;
    }

    public void setContractMasterContract(ContractMasterContract contractMasterContract) {
        this.contractMasterContract = contractMasterContract;
    }

    public List<ContractBasicContract> getContractBasicContractList() {
        return contractBasicContractList;
    }

    public void setContractBasicContractList(List<ContractBasicContract> contractBasicContractList) {
        this.contractBasicContractList = contractBasicContractList;
    }

    public List<UploadContractInfo> getUploadContractInfoList() {
        return uploadContractInfoList;
    }

    public void setUploadContractInfoList(List<UploadContractInfo> uploadContractInfoList) {
        this.uploadContractInfoList = uploadContractInfoList;
    }

    public List<String> getElectronicSign() {
        return electronicSign;
    }

    public void setElectronicSign(List<String> electronicSign) {
        this.electronicSign = electronicSign;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getConclusion() {
        return conclusion;
    }

    public void setConclusion(String conclusion) {
        this.conclusion = conclusion;
    }

    public String getSuggestion() {
        return suggestion;
    }

    public void setSuggestion(String suggestion) {
        this.suggestion = suggestion;
    }

    public Integer getContractSignMethod() {
        return contractSignMethod;
    }

    public void setContractSignMethod(Integer contractSignMethod) {
        this.contractSignMethod = contractSignMethod;
    }

    public Boolean getDoUpload() {
        return doUpload;
    }

    public void setDoUpload(Boolean doUpload) {
        this.doUpload = doUpload;
    }

    public Boolean getVisible() {
        return visible;
    }

    public void setVisible(Boolean visible) {
        this.visible = visible;
    }

    public String getElectronicSignFileCode() {
        return electronicSignFileCode;
    }

    public void setElectronicSignFileCode(String electronicSignFileCode) {
        this.electronicSignFileCode = electronicSignFileCode;
    }
}
