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 java.math.BigDecimal;

/**
 * <p>
 * 采购合同-结算周期表
 * </p>
 *
 * @author yafan
 * @since 2024-01-08
 */
@TableName("purch_contract_approval_settle_cycle")
public class PurchContractApprovalSettleCycle extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 对账周期方式（固定天数、自然月）
     */
    private String settleCycleMethod;

    /**
     * 对账周期
     */
    private Integer settleCycle;


    /**
     * 付款节点
     */
    private String paymentNode;

    /**
     * 付款期限
     */
    private String paymentTerm;


    /**
     * 约定回款时间
     */
    private Integer planPaybackDays;

    /**
     * 结算最低差额
     */
    private BigDecimal settleMinAmount;

    /**
     * 结算规则
     */
    private String settleRule;

    /**
     * 采购合同审核表Id
     */
    private Long purchContractApprovalId;

    public String getSettleCycleMethod() {
        return settleCycleMethod;
    }

    public void setSettleCycleMethod(String settleCycleMethod) {
        this.settleCycleMethod = settleCycleMethod;
    }

    public Integer getSettleCycle() {
        return settleCycle;
    }

    public void setSettleCycle(Integer settleCycle) {
        this.settleCycle = settleCycle;
    }

    public Integer getPlanPaybackDays() {
        return planPaybackDays;
    }

    public void setPlanPaybackDays(Integer planPaybackDays) {
        this.planPaybackDays = planPaybackDays;
    }

    public BigDecimal getSettleMinAmount() {
        return settleMinAmount;
    }

    public void setSettleMinAmount(BigDecimal settleMinAmount) {
        this.settleMinAmount = settleMinAmount;
    }

    public Long getPurchContractApprovalId() {
        return purchContractApprovalId;
    }

    public void setPurchContractApprovalId(Long purchContractApprovalId) {
        this.purchContractApprovalId = purchContractApprovalId;
    }

    public String getSettleRule() {
        return settleRule;
    }

    public void setSettleRule(String settleRule) {
        this.settleRule = settleRule;
    }

    public String getPaymentNode() {
        return paymentNode;
    }

    public void setPaymentNode(String paymentNode) {
        this.paymentNode = paymentNode;
    }

    public String getPaymentTerm() {
        return paymentTerm;
    }

    public void setPaymentTerm(String paymentTerm) {
        this.paymentTerm = paymentTerm;
    }

    @Override
    public String toString() {
        return "PurchContractApprovalSettleCycle{" +
                ", settleCycleMethod=" + settleCycleMethod +
                ", settleCycle=" + settleCycle +
                ", planPaybackDays=" + planPaybackDays +
                ", settleMinAmount=" + settleMinAmount +
                ", purchContractApprovalId=" + purchContractApprovalId +
                "}";
    }
}
