package com.inkasso.factoring.salesManagement.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.inkasso.factoring.common.entity.BaseEntity;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * <p>
 * 销售合同-审核表
 * </p>
 *
 * @author yafan
 * @since 2023-12-15
 */
@TableName("sales_contract_approval")
public class SalesContractApproval extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /**
     * 审批意见
     */
    @TableField("approval_comment")
    private String approvalComment;

    /**
     * 审批结论
     */
    @NotEmpty(message = "审批结论不能为空！")
    @TableField("approval_conclusion")
    private String approvalConclusion;

    /**
     * 审核人Id
     */
    @TableField("auditor_id")
    private Long auditorId;

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

    /**
     * 结算规则
     */
    @TableField("settle_rule")
    private String settleRule;

    /**
     * 履约保证金上限
     */
    @TableField("performance_bond_limit")
    private String performanceBondLimit;

    /**
     * 签署确认 0否 1是
     */
    @TableField("sign_confirm")
    private Integer signConfirm;

    public Long getcSalesContractBasicInfoId() {
        return cSalesContractBasicInfoId;
    }

    public void setcSalesContractBasicInfoId(Long cSalesContractBasicInfoId) {
        this.cSalesContractBasicInfoId = cSalesContractBasicInfoId;
    }

    public String getApprovalComment() {
        return approvalComment;
    }

    public void setApprovalComment(String approvalComment) {
        this.approvalComment = approvalComment;
    }

    public String getApprovalConclusion() {
        return approvalConclusion;
    }

    public void setApprovalConclusion(String approvalConclusion) {
        this.approvalConclusion = approvalConclusion;
    }

    public Long getAuditorId() {
        return auditorId;
    }

    public void setAuditorId(Long auditorId) {
        this.auditorId = auditorId;
    }

    public String getSettleCycleMethod() {
        return settleCycleMethod;
    }

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

    public String getSettleRule() {
        return settleRule;
    }

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

    public String getPerformanceBondLimit() {
        return performanceBondLimit;
    }

    public void setPerformanceBondLimit(String performanceBondLimit) {
        this.performanceBondLimit = performanceBondLimit;
    }

    public Integer getSignConfirm() {
        return signConfirm;
    }

    public void setSignConfirm(Integer signConfirm) {
        this.signConfirm = signConfirm;
    }

    @Override
    public String toString() {
        return "SalesContractApproval{" +
                ", cSalesContractBasicInfoId=" + cSalesContractBasicInfoId +
                ", approvalComment=" + approvalComment +
                ", approvalConclusion=" + approvalConclusion +
                ", auditorId=" + auditorId +
                ", settleCycleMethod=" + settleCycleMethod +
                ", settleRule=" + settleRule +
                ", performanceBondLimit=" + performanceBondLimit +
                ", signConfirm=" + signConfirm +
                "}";
    }
}
