package com.sunxung.factoring.entity.purchcontractmanagement;

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

import java.math.BigDecimal;

/**
 * @Description : 采购合同价格规则
 * @Author : JiaYf
 * @Date: 2021-09-15 14:00
 */
@TableName("c_purch_contract_price_rule")
public class PurchContractPriceRule extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 利差计算方式（0固定利率、1固定金额）
     */
    @TableField("accrual_margin_calc_method")
    private Integer accrualMarginCalcMethod;

    /**
     * 贸易平台报价/年
     */
    @TableField("trade_platform_offer")
    private BigDecimal tradePlatformOffer;

    /**
     * 保理报价/年
     */
    @TableField("factoring_offer")
    private BigDecimal factoringOffer;

    /**
     * 预估保理融资期限
     */
    @TableField("factoring_finance_deadline")
    private Integer factoringFinanceDeadline;

    /**
     * 差额
     */
    @TableField("differ_amount")
    private BigDecimal differAmount;

    /**
     * 月利率
     */
    @TableField("monthly_interest_rate")
    private BigDecimal monthlyInterestRate;

    /**
     * 采购合同基本信息表Id
     */
    @TableField("c_purch_contract_basic_info_id")
    private Long purchContractBasicInfoId;

    public Integer getAccrualMarginCalcMethod() {
        return accrualMarginCalcMethod;
    }

    public void setAccrualMarginCalcMethod(Integer accrualMarginCalcMethod) {
        this.accrualMarginCalcMethod = accrualMarginCalcMethod;
    }

    public BigDecimal getTradePlatformOffer() {
        return tradePlatformOffer;
    }

    public void setTradePlatformOffer(BigDecimal tradePlatformOffer) {
        this.tradePlatformOffer = tradePlatformOffer;
    }
    public BigDecimal getFactoringOffer() {
        return factoringOffer;
    }

    public void setFactoringOffer(BigDecimal factoringOffer) {
        this.factoringOffer = factoringOffer;
    }
    public Integer getFactoringFinanceDeadline() {
        return factoringFinanceDeadline;
    }

    public void setFactoringFinanceDeadline(Integer factoringFinanceDeadline) {
        this.factoringFinanceDeadline = factoringFinanceDeadline;
    }
    public BigDecimal getDifferAmount() {
        return differAmount;
    }

    public void setDifferAmount(BigDecimal differAmount) {
        this.differAmount = differAmount;
    }
    public BigDecimal getMonthlyInterestRate() {
        return monthlyInterestRate;
    }

    public void setMonthlyInterestRate(BigDecimal monthlyInterestRate) {
        this.monthlyInterestRate = monthlyInterestRate;
    }

    public Long getPurchContractBasicInfoId() {
        return purchContractBasicInfoId;
    }

    public void setPurchContractBasicInfoId(Long purchContractBasicInfoId) {
        this.purchContractBasicInfoId = purchContractBasicInfoId;
    }

    @Override
    public String toString() {
        return "CPurchContractPriceRule{" +
                ", accrualMarginCalcMethod=" + accrualMarginCalcMethod +
                ", tradePlatformOffer=" + tradePlatformOffer +
                ", factoringOffer=" + factoringOffer +
                ", factoringFinanceDeadline=" + factoringFinanceDeadline +
                ", differAmount=" + differAmount +
                ", monthlyInterestRate=" + monthlyInterestRate +
                "}";
    }
}
