package com.inkasso.factoring.financingmanagement.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.inkasso.adapter.bean.BaseBean;

import java.math.BigDecimal;

/**
 * <p>
 * 融资申请-基础信息表
 * </p>
 *
 * @author liutao
 * @since 2023-12-19
 */
@TableName("c_financing_basic_info")
public class CFinancingBasicInfo extends BaseBean {

    private static final long serialVersionUID = 1L;

    /**
     * 项目名称
     */
    @TableField("project_name")
    private String projectName;

    /**
     * 用户Id
     */
    @TableField("sys_user_id")
    private Long sysUserId;

    /**
     * 业务编号
     */
    @TableField("business_number")
    private String businessNumber;

    /**
     * 供应商Id
     */
    @TableField("supplier_id")
    private Long mainEnterpriseId;

    /**
     * 核心企业Id
     */
    @TableField("enterprise_customer_info_id")
    private Long coreEnterpriseId;

    /**
     * 贸易平台Id
     */
    @TableField("trading_platform_id")
    private Long platformId;

    /**
     * 合同名称（采购）
     */
    @TableField("contract_name")
    private String purchContractName;

    /**
     * 合同编号（采购）
     */
    @TableField("contract_number")
    private String purchContractNumber;

    /**
     * 融资金额
     */
    @TableField("financing_amount")
    private BigDecimal financingAmount;

    /**
     * 融资状态: 处理中、放款执行中、还款中、已完成、已终止、已逾期
     */
    @TableField("financing_status")
    private String financingStatus;

    /**
     * 当前阶段
     */
    @TableField("current_stage")
    private String currentStage;

    /**
     * sop底层应收账款Id
     */
    @TableField("sop_accounts_receivable_id")
    private Long sopAccountsReceivableId;

    /**
     * 是否提交
     */
    @TableField("visible")
    private Boolean visible;

    /**
     * 核心企业名称
     */
    @TableField(exist = false)
    private String coreEnterpriseName;

    /**
     * 主企业（供应商）名称
     **/
    @TableField(exist = false)
    private String mainEnterpriseName;

    /**
     * 贸易平台名称
     **/
    @TableField(exist = false)
    private String platformName;

    /**
     * 供应商Id
     */
    @TableField(exist = false)
    private Long supplierId;

    /**
     * 当前客户对应的项目经理
     */
    @TableField(exist = false)
    private Long projectManagerId;

    /**
     * 当前客户对应的风控经理
     */
    @TableField(exist = false)
    private Long riskManagerId;

    /**
     * 融资历史信息Id
     */
    @TableField(exist = false)
    private Long financingHisInfoId;

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public Long getSysUserId() {
        return sysUserId;
    }

    public void setSysUserId(Long sysUserId) {
        this.sysUserId = sysUserId;
    }

    public String getBusinessNumber() {
        return businessNumber;
    }

    public void setBusinessNumber(String businessNumber) {
        this.businessNumber = businessNumber;
    }

    public Long getMainEnterpriseId() {
        return mainEnterpriseId;
    }

    public void setMainEnterpriseId(Long mainEnterpriseId) {
        this.mainEnterpriseId = mainEnterpriseId;
    }

    public Long getCoreEnterpriseId() {
        return coreEnterpriseId;
    }

    public void setCoreEnterpriseId(Long coreEnterpriseId) {
        this.coreEnterpriseId = coreEnterpriseId;
    }

    public Long getPlatformId() {
        return platformId;
    }

    public void setPlatformId(Long platformId) {
        this.platformId = platformId;
    }

    public String getPurchContractName() {
        return purchContractName;
    }

    public void setPurchContractName(String purchContractName) {
        this.purchContractName = purchContractName;
    }

    public String getPurchContractNumber() {
        return purchContractNumber;
    }

    public void setPurchContractNumber(String purchContractNumber) {
        this.purchContractNumber = purchContractNumber;
    }

    public BigDecimal getFinancingAmount() {
        return financingAmount;
    }

    public void setFinancingAmount(BigDecimal financingAmount) {
        this.financingAmount = financingAmount;
    }

    public String getFinancingStatus() {
        return financingStatus;
    }

    public void setFinancingStatus(String financingStatus) {
        this.financingStatus = financingStatus;
    }

    public String getCurrentStage() {
        return currentStage;
    }

    public void setCurrentStage(String currentStage) {
        this.currentStage = currentStage;
    }

    public Long getProjectManagerId() {
        return projectManagerId;
    }

    public void setProjectManagerId(Long projectManagerId) {
        this.projectManagerId = projectManagerId;
    }

    public Long getRiskManagerId() {
        return riskManagerId;
    }

    public void setRiskManagerId(Long riskManagerId) {
        this.riskManagerId = riskManagerId;
    }

    public Long getFinancingHisInfoId() {
        return financingHisInfoId;
    }

    public void setFinancingHisInfoId(Long financingHisInfoId) {
        this.financingHisInfoId = financingHisInfoId;
    }

    public Boolean getVisible() {
        return visible;
    }

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

    public Long getSopAccountsReceivableId() {
        return sopAccountsReceivableId;
    }

    public void setSopAccountsReceivableId(Long sopAccountsReceivableId) {
        this.sopAccountsReceivableId = sopAccountsReceivableId;
    }

    public String getCoreEnterpriseName() {
        return coreEnterpriseName;
    }

    public void setCoreEnterpriseName(String coreEnterpriseName) {
        this.coreEnterpriseName = coreEnterpriseName;
    }

    public String getMainEnterpriseName() {
        return mainEnterpriseName;
    }

    public void setMainEnterpriseName(String mainEnterpriseName) {
        this.mainEnterpriseName = mainEnterpriseName;
    }

    public String getPlatformName() {
        return platformName;
    }

    public void setPlatformName(String platformName) {
        this.platformName = platformName;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }
}
