package com.sunxung.factoring.entity.supplier;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.entprise.Enterprise;
import com.sunxung.factoring.entity.project.Project;
import com.sunxung.factoring.entity.sys.Dictionary;

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 Project {

    private static final long serialVersionUID = 1L;

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

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

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

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

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

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

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

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

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


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

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

    @TableField(exist = false)
    private String supplierName;

    @TableField(exist = false)
    private String statusName;

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

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

    /**
     * 尽调分配
     */
    @TableField(exist = false)
    private DueDiligenceAllocation dueDiligenceAllocation;

    /**
     * 供应商审核第一步 综合评估
     */
    @TableField(exist = false)
    private SupplierApprovalFirst supplierApprovalFirst;

    @TableField(exist = false)
    private Boolean visible;

    @TableField(exist = false)
    private String taskId;

    @TableField(exist = false)
    private Long historyId;

    @TableField(exist = false)
    SupplierContact supplierContact;

    @TableField(exist = false)
    private Boolean hasGuaranteeEnterprise;

    @TableField(exist = false)
    private String assigneeName;

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

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

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

    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 String getAssigneeName() {
        return assigneeName;
    }

    public void setAssigneeName(String assigneeName) {
        this.assigneeName = assigneeName;
    }

    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 Boolean getHasGuaranteeEnterprise() {
        return hasGuaranteeEnterprise;
    }

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

    public SupplierContact getSupplierContact() {
        return supplierContact;
    }

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

    @Override
    public String getSupplierName() {
        return supplierName;
    }

    @Override
    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public Long getHistoryId() {
        return historyId;
    }

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

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public SupplierApprovalFirst getSupplierApprovalFirst() {
        return supplierApprovalFirst;
    }

    public void setSupplierApprovalFirst(SupplierApprovalFirst supplierApprovalFirst) {
        this.supplierApprovalFirst = supplierApprovalFirst;
    }

    public Boolean getVisible() {
        return visible;
    }

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

    public DueDiligenceAllocation getDueDiligenceAllocation() {
        return dueDiligenceAllocation;
    }

    public void setDueDiligenceAllocation(DueDiligenceAllocation dueDiligenceAllocation) {
        this.dueDiligenceAllocation = dueDiligenceAllocation;
    }

    public Enterprise getEnterprise() {
        return enterprise;
    }

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

    public Enterprise getGuaranteeEnterprise() {
        return guaranteeEnterprise;
    }

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

    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 String getStatusStr() {
        return statusStr;
    }

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

    public Long getGuaranteeEnterpriseId() {
        return guaranteeEnterpriseId;
    }

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

}
