package com.sunxung.factoring.entity.salescontractmanagement;

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;

/**
 * <p>
 * 销售合同-结算信息表
 * </p>
 *
 * @author liutao
 * @since 2022-06-13
 */
@TableName("sales_contract_settle_info_history")
public class SalesContractSettleInfoHistory extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 结算周期方式（自然月、固定天数）
     */
    @TableField("settle_cycle_method")
    private Long settleCycleMethod;

    /**
     * 结算周期
     */
    @TableField("settle_cycle")
    private Integer settleCycle;

    /**
     * 约定回款时间
     */
    @TableField("plan_payback_days")
    private Integer planPaybackDays;

    /**
     * 预估回款时间
     */
    @TableField("estimate_payback_days")
    private Integer estimatePaybackDays;

    /**
     * 销售合同基本信息表Id
     */
    @TableField("sales_contract_basic_info_id")
    private Long salesContractBasicInfoId;

    /** 应收账款种类 **/
    @TableField("receivable_type")
    private Long receivableType;

    /** 应收账款种类字典 **/
    @TableField(exist = false)
    private Dictionary receivableTypeDic;

    public Long getSettleCycleMethod() {
        return settleCycleMethod;
    }

    public void setSettleCycleMethod(Long 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 Integer getEstimatePaybackDays() {
        return estimatePaybackDays;
    }

    public void setEstimatePaybackDays(Integer estimatePaybackDays) {
        this.estimatePaybackDays = estimatePaybackDays;
    }
    public Long getSalesContractBasicInfoId() {
        return salesContractBasicInfoId;
    }

    public void setSalesContractBasicInfoId(Long salesContractBasicInfoId) {
        this.salesContractBasicInfoId = salesContractBasicInfoId;
    }

    public Long getReceivableType() {
        return receivableType;
    }

    public void setReceivableType(Long receivableType) {
        this.receivableType = receivableType;
    }

    public Dictionary getReceivableTypeDic() {
        return receivableTypeDic;
    }

    public void setReceivableTypeDic(Dictionary receivableTypeDic) {
        this.receivableTypeDic = receivableTypeDic;
    }

    @Override
    public String toString() {
        return "SalesContractSettleInfoHistory{" +
            "settleCycleMethod=" + settleCycleMethod +
            "receivableType=" + receivableType +
            ", settleCycle=" + settleCycle +
            ", planPaybackDays=" + planPaybackDays +
            ", estimatePaybackDays=" + estimatePaybackDays +
            ", salesContractBasicInfoId=" + salesContractBasicInfoId +
        "}";
    }
}
