package com.sunxung.factoring.entity.underlying.sop;

import com.alibaba.fastjson.annotation.JSONField;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.sys.Dictionary;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description:收放款执行(保理融资款)金额分配实体--对应sop
 */
public class PayCollPlanFactoringAmountAllocation extends BaseEntity {

    private static final long serialVersionUID = 1L;

    private Long payCollPlanFactoringId;
    private Long factoringBusinessAccountId;
    private Long factoringAmountAllocationId;
    private BigDecimal actualAmount;
    private Dictionary currencyType;
    @JSONField(format = "yyyy-MM-dd")
    private Date actualDate;

    /**
     * 还款形式
     **/
    @NotNull(message = "还款形式不能为空")
    private Dictionary payBackForm;

    /**
     * 逾期利息金额
     **/
    private BigDecimal interestAmount;// 仅本金收款的金额分配实收日期在约定日期之后，逾期利息金额不为空。

    public Long getPayCollPlanFactoringId() {
        return payCollPlanFactoringId;
    }

    public void setPayCollPlanFactoringId(Long payCollPlanFactoringId) {
        this.payCollPlanFactoringId = payCollPlanFactoringId;
    }

    public Long getFactoringBusinessAccountId() {
        return factoringBusinessAccountId;
    }

    public void setFactoringBusinessAccountId(Long factoringBusinessAccountId) {
        this.factoringBusinessAccountId = factoringBusinessAccountId;
    }

    public Long getFactoringAmountAllocationId() {
        return factoringAmountAllocationId;
    }

    public void setFactoringAmountAllocationId(Long factoringAmountAllocationId) {
        this.factoringAmountAllocationId = factoringAmountAllocationId;
    }

    public BigDecimal getActualAmount() {
        return actualAmount;
    }

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

    public Dictionary getCurrencyType() {
        return currencyType;
    }

    public void setCurrencyType(Dictionary currencyType) {
        this.currencyType = currencyType;
    }

    public Date getActualDate() {
        return actualDate;
    }

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

    public BigDecimal getInterestAmount() {
        return interestAmount;
    }

    public void setInterestAmount(BigDecimal interestAmount) {
        this.interestAmount = interestAmount;
    }

    public Dictionary getPayBackForm() {
        return payBackForm;
    }

    public void setPayBackForm(Dictionary payBackForm) {
        this.payBackForm = payBackForm;
    }
}
