package com.sunxung.factoring.entity.ledger;

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;

/**
 * @Description : 分账管理-账后收放款计划分配表
 * @Author : L.Jia
 * @Date: 2021-12-10 14:39
 */
@TableName("ledger_plan_factoring_assign")
public class LedgerPlanFactoringAssign extends BaseEntity {

    /**
     * 对应分账管理基本信息表
     */
    @TableField("ledger_account_basic_info_id")
    private Long ledgerAccountBasicInfoId;

    /**
     * 对应分账管理货款分配表
     */
    @TableField("ledger_fund_goods_assign_id")
    private Long ledgerFundGoodsAssignId;

    /**
     * 对应SOP放款记录Id
     */
    @TableField("billing_factoring_business_loan_record_id")
    private Long billingFactoringBusinessLoanRecordId;

    /**
     * 对应SOP应收账款Id
     */
    @TableField("sop_accounts_receivable_id")
    private Long sopAccountsReceivableId;

    /**
     * 账后基础表Id
     */
    @TableField("pay_coll_basic_id")
    private Long payCollBasicId;

    /**
     * 对应sop账后收放款计划id
     */
    @TableField("plan_factoring_id")
    private Long planFactoringId;

    /**
     * 金额类型
     */
    @TableField("amount_type")
    private String amountType;


    /**
     * 计划分配日期
     */
    @TableField("plan_date")
    private Date planDate;

    /**
     * 计划金额
     */
    @TableField("plan_amount")
    private BigDecimal planAmount;

    /**
     * 实际分配日期
     */
    @TableField("actual_date")
    private Date actualDate;

    /**
     * 实分金额
     */
    @TableField("actual_amount")
    private BigDecimal actualAmount;

    /**
     * 还款金额类型是否为本金 0:否 1:是
     */
    @TableField("is_principal")
    private Integer principal;

    /**
     * 删除标识
     */
    @TableField("delete_flag")
    private Boolean deleteFlag;

    public Long getLedgerAccountBasicInfoId() {
        return ledgerAccountBasicInfoId;
    }

    public void setLedgerAccountBasicInfoId(Long ledgerAccountBasicInfoId) {
        this.ledgerAccountBasicInfoId = ledgerAccountBasicInfoId;
    }

    public Long getPlanFactoringId() {
        return planFactoringId;
    }

    public void setPlanFactoringId(Long planFactoringId) {
        this.planFactoringId = planFactoringId;
    }

    public Date getActualDate() {
        return actualDate;
    }

    public void setActualDate(Date actualDate) {
        this.actualDate = actualDate;
    }

    public BigDecimal getPlanAmount() {
        return planAmount;
    }

    public void setPlanAmount(BigDecimal planAmount) {
        this.planAmount = planAmount;
    }

    public BigDecimal getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(BigDecimal actualAmount) {
        this.actualAmount = actualAmount;
    }

    public Long getLedgerFundGoodsAssignId() {
        return ledgerFundGoodsAssignId;
    }

    public void setLedgerFundGoodsAssignId(Long ledgerFundGoodsAssignId) {
        this.ledgerFundGoodsAssignId = ledgerFundGoodsAssignId;
    }

    public Integer getPrincipal() {
        return principal;
    }

    public void setPrincipal(Integer principal) {
        this.principal = principal;
    }

    public String getAmountType() {
        return amountType;
    }

    public void setAmountType(String amountType) {
        this.amountType = amountType;
    }

    public Long getBillingFactoringBusinessLoanRecordId() {
        return billingFactoringBusinessLoanRecordId;
    }

    public void setBillingFactoringBusinessLoanRecordId(Long billingFactoringBusinessLoanRecordId) {
        this.billingFactoringBusinessLoanRecordId = billingFactoringBusinessLoanRecordId;
    }

    public Long getSopAccountsReceivableId() {
        return sopAccountsReceivableId;
    }

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

    public Long getPayCollBasicId() {
        return payCollBasicId;
    }

    public void setPayCollBasicId(Long payCollBasicId) {
        this.payCollBasicId = payCollBasicId;
    }

    public Boolean getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Boolean deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public Date getPlanDate() {
        return planDate;
    }

    public void setPlanDate(Date planDate) {
        this.planDate = planDate;
    }
}
