package com.sunxung.factoring.entity.underlying;

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

import java.math.BigDecimal;
import java.util.Date;

/**
 * 底层管理-历史信息实体类
 *
 * @author LiuJia
 * @date 2022.3.1
 */
@TableName("underlying_his_info")
public class UnderlyingHisInfo extends BaseEntity {

    /**
     * 底层管理基础信息Id
     */
    @TableField("underlying_basic_info_id")
    private Long underlyingBasicInfoId;

    /**
     * 底层编号
     */
    @TableField("receivables_number")
    private String receivablesNumber;

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

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

    /**
     * 供应商名称
     */
    @TableField(exist = false)
    private String supplierName;

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

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

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

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

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

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

    /**
     * 合同金额
     */
    @TableField("contract_amount")
    private BigDecimal contractAmount;

    /**
     * 应收账款起始日
     */
    @TableField("accounts_receivable_start_date")
    private Date accountsReceivableStartDate;

    /**
     * 应收账款结束日
     */
    @TableField("accounts_receivable_end_date")
    private Date accountsReceivableEndDate;

    /**
     * 应收账款期限
     */
    @TableField("account_receivable_period")
    private Long accountReceivablePeriod;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 对应sop国内保理应收账款表的Id
     */
    @TableField("sop_accounts_receivable_id")
    private Long sopAccountsReceivableId;

    /**
     * 业务名称
     */
    @TableField("business_name")
    private String businessName;

    public UnderlyingHisInfo() {
    }

    public String getReceivablesNumber() {
        return receivablesNumber;
    }

    public void setReceivablesNumber(String receivablesNumber) {
        this.receivablesNumber = receivablesNumber;
    }

    public String getBusinessNumber() {
        return businessNumber;
    }

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

    public Long getSupplierId() {
        return supplierId;
    }

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

    public Long getEnterpriseCustomerInfoId() {
        return enterpriseCustomerInfoId;
    }

    public void setEnterpriseCustomerInfoId(Long enterpriseCustomerInfoId) {
        this.enterpriseCustomerInfoId = enterpriseCustomerInfoId;
    }

    public Long getTradingPlatformId() {
        return tradingPlatformId;
    }

    public void setTradingPlatformId(Long tradingPlatformId) {
        this.tradingPlatformId = tradingPlatformId;
    }

    public String getContractName() {
        return contractName;
    }

    public void setContractName(String contractName) {
        this.contractName = contractName;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public void setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
    }

    public BigDecimal getContractAmount() {
        return contractAmount;
    }

    public void setContractAmount(BigDecimal contractAmount) {
        this.contractAmount = contractAmount;
    }

    public Date getAccountsReceivableStartDate() {
        return accountsReceivableStartDate;
    }

    public void setAccountsReceivableStartDate(Date accountsReceivableStartDate) {
        this.accountsReceivableStartDate = accountsReceivableStartDate;
    }

    public Date getAccountsReceivableEndDate() {
        return accountsReceivableEndDate;
    }

    public void setAccountsReceivableEndDate(Date accountsReceivableEndDate) {
        this.accountsReceivableEndDate = accountsReceivableEndDate;
    }

    public Long getAccountReceivablePeriod() {
        return accountReceivablePeriod;
    }

    public void setAccountReceivablePeriod(Long accountReceivablePeriod) {
        this.accountReceivablePeriod = accountReceivablePeriod;
    }

    public String getRemark() {
        return remark;
    }

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

    public Long getSopAccountsReceivableId() {
        return sopAccountsReceivableId;
    }

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

    public Long getUnderlyingBasicInfoId() {
        return underlyingBasicInfoId;
    }

    public void setUnderlyingBasicInfoId(Long underlyingBasicInfoId) {
        this.underlyingBasicInfoId = underlyingBasicInfoId;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getTradingPlatformName() {
        return tradingPlatformName;
    }

    public void setTradingPlatformName(String tradingPlatformName) {
        this.tradingPlatformName = tradingPlatformName;
    }

    public String getBusinessName() {
        return businessName;
    }

    public void setBusinessName(String businessName) {
        this.businessName = businessName;
    }
}
