package com.sundot.airport.ledger.domain.vo;

import java.math.BigDecimal;
import java.util.List;

/**
 * 班组成员六维度评分 VO（用于雷达图大屏）
 */
public class MemberScoreVO {

    /** 姓名 */
    private String personName;

    /** 班组 */
    private String teamName;

    /** 综合得分（加权汇总） */
    private BigDecimal totalScore;

    /** 六维度得分明细 */
    private List<DimScore> dimensions;

    public String getPersonName() { return personName; }
    public void setPersonName(String personName) { this.personName = personName; }

    public String getTeamName() { return teamName; }
    public void setTeamName(String teamName) { this.teamName = teamName; }

    public BigDecimal getTotalScore() { return totalScore; }
    public void setTotalScore(BigDecimal totalScore) { this.totalScore = totalScore; }

    public List<DimScore> getDimensions() { return dimensions; }
    public void setDimensions(List<DimScore> dimensions) { this.dimensions = dimensions; }

    // ── 内部类 ──────────────────────────────────────
    public static class DimScore {
        private Long dimensionId;
        private String dimensionName;
        private BigDecimal weight;
        private BigDecimal baseScore;
        /** 事件加减分合计（可正可负） */
        private BigDecimal eventScore;
        /** 最终维度得分 = baseScore + eventScore */
        private BigDecimal score;
        /** 加权贡献值 = score * weight / 100，用于雷达图显示 */
        private BigDecimal contribution;

        public Long getDimensionId() { return dimensionId; }
        public void setDimensionId(Long dimensionId) { this.dimensionId = dimensionId; }

        public String getDimensionName() { return dimensionName; }
        public void setDimensionName(String dimensionName) { this.dimensionName = dimensionName; }

        public BigDecimal getWeight() { return weight; }
        public void setWeight(BigDecimal weight) { this.weight = weight; }

        public BigDecimal getBaseScore() { return baseScore; }
        public void setBaseScore(BigDecimal baseScore) { this.baseScore = baseScore; }

        public BigDecimal getEventScore() { return eventScore; }
        public void setEventScore(BigDecimal eventScore) { this.eventScore = eventScore; }

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

        public BigDecimal getContribution() { return contribution; }
        public void setContribution(BigDecimal contribution) { this.contribution = contribution; }
    }
}
