package com.njcn.rdms.module.project.controller.admin.performance.team.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Schema(description = "管理后台 - 团队绩效统计 Response VO")
@Data
public class TeamPerformanceSummaryRespVO {

    private String periodMonthStart;
    private String periodMonthEnd;
    private Integer expectedSheetCount;
    private Integer pendingSendCount;
    private Integer pendingConfirmCount;
    private BigDecimal confirmedRate;
    private List<PendingSendUser> pendingSendUsers;
    private List<PendingConfirmUser> pendingConfirmUsers;
    private List<DeptOrgAverage> deptOrgAverages;

    @Data
    public static class PendingSendUser {
        private Long userId;
        private String userNickname;
        private String periodMonth;
        private Long managerUserId;
        private String managerName;
        private Long sheetId;
        private String statusCode;
    }

    @Data
    public static class PendingConfirmUser {
        private Long userId;
        private String userNickname;
        private String periodMonth;
        private Long sheetId;
        private LocalDateTime sentTime;
    }

    @Data
    public static class DeptOrgAverage {
        private Long deptId;
        private String deptName;
        private String deptOrgType;
        private BigDecimal averageScore;
        private Integer confirmedCount;
    }
}
