package com.sunxung.factoring.entity.fundmanagement;

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

import java.math.BigDecimal;

/**
 * @Description : 客户支用-合同信息历史表
 * @Author : L.Jia
 * @Date: 2023-02-23 18:43
 */

@TableName("financial_customer_expenditure_contract_his_info")
public class FinancialCustomerExpenditureContractHisInfo extends BaseEntity {

    /**
     * 客户支用历史信息表ID
     */
    @TableField("financial_customer_expenditure_his_info_id")
    private Long financialCustomerExpenditureHisInfoId;

    /**
     * 上游合同编号
     */
    @TableField("upstream_contract_no")
    private String upstreamContractNo;

    /**
     * 上游合同金额
     */
    @TableField("upstream_contract_amount")
    private BigDecimal upstreamContractAmount;

    /**
     * 上游合同账期
     */
    @TableField("upstream_contract_payment_days")
    private String upstreamContractPaymentDays;

    /**
     * 上游应收账款金额
     */
    @TableField("upstream_accounts_receivable_amount")
    private BigDecimal upstreamAccountsReceivableAmount;

    /**
     * 下游合同编号
     */
    @TableField("downstream_contract_no")
    private String downstreamContractNo;

    /**
     * 下游合同金额
     */
    @TableField("downstream_contract_amount")
    private BigDecimal downstreamContractAmount;

    /**
     * 下游合同账期
     */
    @TableField("downstream_contract_payment_days")
    private String downstreamContractPaymentDays;

    /**
     * 下游应收账款金额
     */
    @TableField("downstream_accounts_receivable_amount")
    private BigDecimal downstreamAccountsReceivableAmount;

    public FinancialCustomerExpenditureContractHisInfo() {
    }

    public FinancialCustomerExpenditureContractHisInfo(FinancialCustomerExpenditureContractInfo contractInfo) {
        this.upstreamContractNo = contractInfo.getUpstreamContractNo();
        this.upstreamContractAmount = contractInfo.getUpstreamContractAmount();
        this.upstreamContractPaymentDays = contractInfo.getUpstreamContractPaymentDays();
        this.upstreamAccountsReceivableAmount = contractInfo.getUpstreamAccountsReceivableAmount();
        this.downstreamContractNo = contractInfo.getDownstreamContractNo();
        this.downstreamContractAmount = contractInfo.getDownstreamContractAmount();
        this.downstreamContractPaymentDays = contractInfo.getDownstreamContractPaymentDays();
        this.downstreamAccountsReceivableAmount = contractInfo.getDownstreamAccountsReceivableAmount();
    }

    public Long getFinancialCustomerExpenditureHisInfoId() {
        return financialCustomerExpenditureHisInfoId;
    }

    public void setFinancialCustomerExpenditureHisInfoId(Long financialCustomerExpenditureHisInfoId) {
        this.financialCustomerExpenditureHisInfoId = financialCustomerExpenditureHisInfoId;
    }

    public String getUpstreamContractNo() {
        return upstreamContractNo;
    }

    public void setUpstreamContractNo(String upstreamContractNo) {
        this.upstreamContractNo = upstreamContractNo;
    }

    public BigDecimal getUpstreamContractAmount() {
        return upstreamContractAmount;
    }

    public void setUpstreamContractAmount(BigDecimal upstreamContractAmount) {
        this.upstreamContractAmount = upstreamContractAmount;
    }

    public String getUpstreamContractPaymentDays() {
        return upstreamContractPaymentDays;
    }

    public void setUpstreamContractPaymentDays(String upstreamContractPaymentDays) {
        this.upstreamContractPaymentDays = upstreamContractPaymentDays;
    }

    public BigDecimal getUpstreamAccountsReceivableAmount() {
        return upstreamAccountsReceivableAmount;
    }

    public void setUpstreamAccountsReceivableAmount(BigDecimal upstreamAccountsReceivableAmount) {
        this.upstreamAccountsReceivableAmount = upstreamAccountsReceivableAmount;
    }

    public String getDownstreamContractNo() {
        return downstreamContractNo;
    }

    public void setDownstreamContractNo(String downstreamContractNo) {
        this.downstreamContractNo = downstreamContractNo;
    }

    public BigDecimal getDownstreamContractAmount() {
        return downstreamContractAmount;
    }

    public void setDownstreamContractAmount(BigDecimal downstreamContractAmount) {
        this.downstreamContractAmount = downstreamContractAmount;
    }

    public String getDownstreamContractPaymentDays() {
        return downstreamContractPaymentDays;
    }

    public void setDownstreamContractPaymentDays(String downstreamContractPaymentDays) {
        this.downstreamContractPaymentDays = downstreamContractPaymentDays;
    }

    public BigDecimal getDownstreamAccountsReceivableAmount() {
        return downstreamAccountsReceivableAmount;
    }

    public void setDownstreamAccountsReceivableAmount(BigDecimal downstreamAccountsReceivableAmount) {
        this.downstreamAccountsReceivableAmount = downstreamAccountsReceivableAmount;
    }
}
