package com.sundot.airport.item.domain.home;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class SeizureReportDTO {

    // 用于表示排名信息的内部类
    @Data
    public static class RankingInfo {
        @ApiModelProperty("当前排名")
        private Integer currentRank;
        @ApiModelProperty("总共多少项")
        private Integer totalItems;
        @ApiModelProperty("排名文本(例如: \"3/10\", 表示第3名/共10个)")
        private String rankingText;
    }

    // 用于表示大队排名项的内部类
    @Data
    public static class BrigadeRankingItem {
        @ApiModelProperty("大队名称")
        private String brigadeName;
        @ApiModelProperty("查获数量")
        private BigDecimal seizureCount;
        @ApiModelProperty("当前排名")
        private Integer currentRank;
        @ApiModelProperty("当前占比")
        private BigDecimal currentRatio;
    }

    // 用于表示科室排名项的内部类
    @Data
    public static class DepartmentRankingItem {
        @ApiModelProperty("科室名称")
        private String departmentName;
        @ApiModelProperty("查获数量")
        private BigDecimal seizureCount;
        @ApiModelProperty("当前排名")
        private Integer currentRank;
        @ApiModelProperty("当前占比")
        private BigDecimal currentRatio;
    }

    // 用于表示班组排名项的内部类
    @Data
    public static class TeamRankingItem {
        @ApiModelProperty("班组名称(格式: 科室名称+班组名称)")
        private String teamName;
        @ApiModelProperty("查获数量")
        private BigDecimal seizureCount;
    }

    // 用于表示排名前三班组的内部类
    @Data
    public static class TopThreeTeamItem {
        @ApiModelProperty("班组名称")
        private String teamName;
        @ApiModelProperty("查获数量")
        private BigDecimal seizureCount;
        @ApiModelProperty("排名 (1, 2, 3)")
        private Integer rank;
    }

    // 用于表示排名前三科室的内部类
    @Data
    public static class TopThreeDepartmentItem {
        @ApiModelProperty("班组名称")
        private String departmentName;
        @ApiModelProperty("查获数量")
        private BigDecimal seizureCount;
        @ApiModelProperty("排名 (1, 2, 3)")
        private Integer rank;
    }

    // 用于表示用户排名项的内部类
    @Data
    public static class UserRankingItem {
        @ApiModelProperty("用户姓名")
        private String userName;
        @ApiModelProperty("查获数量")
        private BigDecimal seizureCount;
        @ApiModelProperty("当前排名")
        private Integer currentRank;
        @ApiModelProperty("当前占比")
        private BigDecimal currentRatio;
    }

}