package com.sundot.airport.exam.dto;

import java.io.Serializable;

/**
 * <b>功能名：</b>DashboardRoleStatsDTO<br>
 * <b>说明：</b> 角色维度统计数据DTO <br>
 * <b>著作权：</b> Copyright (C) 2025 SUNDOT CORPORATION<br>
 * <b>修改履历：
 *
 * @author 2025-01-19
 */
public class DashboardRoleStatsDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 角色名称
     */
    private String roleName;

    /**
     * 总任务数
     */
    private Long totalTasks;

    /**
     * 已完成任务数
     */
    private Long completedTasks;

    /**
     * 完成率(%)
     */
    private Double completionRate;

    /**
     * 平均得分
     */
    private Double avgScore;

    /**
     * 正确率(%)
     */
    private Double accuracyRate;

    /**
     * 逾期任务数
     */
    private Long expiredTasks;

    /**
     * 该角色的人数
     */
    private Long userCount;

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public Long getTotalTasks() {
        return totalTasks;
    }

    public void setTotalTasks(Long totalTasks) {
        this.totalTasks = totalTasks;
    }

    public Long getCompletedTasks() {
        return completedTasks;
    }

    public void setCompletedTasks(Long completedTasks) {
        this.completedTasks = completedTasks;
    }

    public Double getCompletionRate() {
        return completionRate;
    }

    public void setCompletionRate(Double completionRate) {
        this.completionRate = completionRate;
    }

    public Double getAvgScore() {
        return avgScore;
    }

    public void setAvgScore(Double avgScore) {
        this.avgScore = avgScore;
    }

    public Double getAccuracyRate() {
        return accuracyRate;
    }

    public void setAccuracyRate(Double accuracyRate) {
        this.accuracyRate = accuracyRate;
    }

    public Long getExpiredTasks() {
        return expiredTasks;
    }

    public void setExpiredTasks(Long expiredTasks) {
        this.expiredTasks = expiredTasks;
    }

    public Long getUserCount() {
        return userCount;
    }

    public void setUserCount(Long userCount) {
        this.userCount = userCount;
    }

    @Override
    public String toString() {
        return "DashboardRoleStatsDTO{" +
                "roleName='" + roleName + '\'' +
                ", totalTasks=" + totalTasks +
                ", completedTasks=" + completedTasks +
                ", completionRate=" + completionRate +
                ", avgScore=" + avgScore +
                ", accuracyRate=" + accuracyRate +
                ", expiredTasks=" + expiredTasks +
                ", userCount=" + userCount +
                '}';
    }
}
