package com.inkasso.factoring.creditmanagement.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.inkasso.adapter.bean.BaseBean;

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

/**
 * <p>
 * 供应商企业信息
 * </p>
 *
 * @author liutao
 * @since 2023-11-25
 */
@TableName("c_supplier_info")
public class SupplierInfo extends BaseBean {

    private static final long serialVersionUID = 1L;

    /**
     * 企业信息id
     */
    @TableField("c_enterprise_id")
    private Long cEnterpriseId;

    /**
     * 本次合作品类是否为建工行业 0否 1是
     */
     @NotNull(message = "请选择本次合作品类是否为建工行业")
    private Integer constructionIndustry;

    /**
     * c端用户表id
     */
    @TableField("sys_user_id")
    private Long sysUserId;

    /**
     * 企业准入状态
     */
    @TableField("status")
    private String status;

    /**
     * 担保企业 企业信息id
     */
    @TableField("guarantee_enterprise_id")
    private Long guaranteeEnterpriseId;

    /**
     * 收入评级
     */
    @TableField("revenue_rating")
    private String revenueRating;

    /**
     * 是否准入
     */
    @TableField("admitted")
    private String admitted;

    /**
     * 供应商红否原因
     */
    @TableField("supplier_errors")
    private String supplierErrors;

    /**
     * 核心企业红否原因
     */
    @TableField("guarantee_enterprise_errors")
    private String guaranteeEnterpriseErrors;

    /**
     * 得分
     */
    @TableField("score")
    private BigDecimal score;

    /**
     * 授信额度
     */
    @TableField("credit_limit")
    private BigDecimal creditLimit;

    /**
     * 供应商信息
     */
    @TableField(exist = false)
    private Enterprise enterprise;

    /**
     * 担保企业信息
     */
    @TableField(exist = false)
    private Enterprise guaranteeEnterprise;

    /**
     * 供应商联系人信息
     */
    @TableField(exist = false)
    private SupplierContact supplierContact;

    @TableField(exist = false)
    private Boolean visible;

    @TableField(exist = false)
    private String statusStr;

    @TableField(exist = false)
    private Boolean hasGuaranteeEnterprise;

    @TableField(exist = false)
    private Long historyId;

    @TableField(exist = false)
    private List<String> errors;

    /**
     * 退回原因
     */
    @TableField(exist = false)
    private String reason;

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getSupplierErrors() {
        return supplierErrors;
    }

    public void setSupplierErrors(String supplierErrors) {
        this.supplierErrors = supplierErrors;
    }

    public String getGuaranteeEnterpriseErrors() {
        return guaranteeEnterpriseErrors;
    }

    public void setGuaranteeEnterpriseErrors(String guaranteeEnterpriseErrors) {
        this.guaranteeEnterpriseErrors = guaranteeEnterpriseErrors;
    }

    public List<String> getErrors() {
        return errors;
    }

    public void setErrors(List<String> errors) {
        this.errors = errors;
    }

    public String getRevenueRating() {
        return revenueRating;
    }

    public void setRevenueRating(String revenueRating) {
        this.revenueRating = revenueRating;
    }

    public String getAdmitted() {
        return admitted;
    }

    public void setAdmitted(String admitted) {
        this.admitted = admitted;
    }

    public BigDecimal getScore() {
        return score;
    }

    public void setScore(BigDecimal score) {
        this.score = score;
    }

    public BigDecimal getCreditLimit() {
        return creditLimit;
    }

    public void setCreditLimit(BigDecimal creditLimit) {
        this.creditLimit = creditLimit;
    }

    public Long getHistoryId() {
        return historyId;
    }

    public void setHistoryId(Long historyId) {
        this.historyId = historyId;
    }

    public Boolean getHasGuaranteeEnterprise() {
        return hasGuaranteeEnterprise;
    }

    public void setHasGuaranteeEnterprise(Boolean hasGuaranteeEnterprise) {
        this.hasGuaranteeEnterprise = hasGuaranteeEnterprise;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatusStr() {
        return statusStr;
    }

    public void setStatusStr(String statusStr) {
        this.statusStr = statusStr;
    }

    public Boolean getVisible() {
        return visible;
    }

    public void setVisible(Boolean visible) {
        this.visible = visible;
    }

    public Enterprise getGuaranteeEnterprise() {
        return guaranteeEnterprise;
    }

    public void setGuaranteeEnterprise(Enterprise guaranteeEnterprise) {
        this.guaranteeEnterprise = guaranteeEnterprise;
    }

    public SupplierContact getSupplierContact() {
        return supplierContact;
    }

    public void setSupplierContact(SupplierContact supplierContact) {
        this.supplierContact = supplierContact;
    }

    public Enterprise getEnterprise() {
        return enterprise;
    }

    public void setEnterprise(Enterprise enterprise) {
        this.enterprise = enterprise;
    }

    public Long getcEnterpriseId() {
        return cEnterpriseId;
    }

    public void setcEnterpriseId(Long cEnterpriseId) {
        this.cEnterpriseId = cEnterpriseId;
    }
    public Integer getConstructionIndustry() {
        return constructionIndustry;
    }

    public void setConstructionIndustry(Integer constructionIndustry) {
        this.constructionIndustry = constructionIndustry;
    }
    public Long getSysUserId() {
        return sysUserId;
    }

    public void setSysUserId(Long sysUserId) {
        this.sysUserId = sysUserId;
    }

    public Long getGuaranteeEnterpriseId() {
        return guaranteeEnterpriseId;
    }

    public void setGuaranteeEnterpriseId(Long guaranteeEnterpriseId) {
        this.guaranteeEnterpriseId = guaranteeEnterpriseId;
    }

}
