package com.jwipc.supplier.dto;

import com.jwipc.aggregation.annotation.RelationAggregationField;
import com.jwipc.sys.client.UserClient;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhangjie
 * @since 2024-03-19
 */
@Getter
@Setter
public class SupplierSqeScoreBaseDTO implements Serializable {


    @Serial
    private static final long serialVersionUID = -6066568688342242022L;
    private Long id;

    /**
     * 供应商id，关联供应商主数据
     */
    private Long supplierId;

    /**
     * 供应商等级
     */
    private String supplierLevel;

    /**
     * 供应商劣势
     */
    private String supplierWeakness;

    /**
     * 供应商优势
     */
    private String supplierStrength;

    /**
     * QPA评分
     */
    private BigDecimal qpaScore;

    /**
     * QSA评分
     */
    private BigDecimal qsaScore;

    /**
     * 采购价格评分
     */
    private BigDecimal purchasePriceScore;

    /**
     * 采购评分
     */
    private BigDecimal purchaseScore;

    /**
     * 非制造商采购评分
     */
    private BigDecimal nonManufacturerPurchaseScore;

    /**
     * 研发评分
     */
    private BigDecimal rdScore;

    /**
     * 总评分
     */
    private BigDecimal totalScore;

    /**
     * 创建人
     */
    private Long createId;

    @RelationAggregationField(
            masterIdField = "createId",
            relationIdField = "id",
            relationNameField = "username",
            relationClientClass = UserClient.class,
            relationMethod = "getByUserIds"
    )
    private String createName;

    private LocalDateTime createTime;
}
