package com.designhub.vo; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.util.List; /** * 设计师绩效数据VO */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class DesignerPerformanceVO { /** * 设计师绩效列表 */ private List designerStats; /** * 设计师工作负载列表 */ private List workloadStats; /** * 汇总数据 */ private Summary summary; /** * 设计师绩效统计 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class DesignerStat { private Long userId; private String userName; private String realName; private String deptName; private Long deptId; private Integer receivedCount; // 接单量 private Integer completedCount; // 完成量 private Integer inProgressCount; // 进行中数量 private Double completionRate; // 完成率 private Double onTimeRate; // 准时率 private Integer onTimeCount; // 按时完成数 private Integer overdueCount; // 超时完成数 private Double avgProcessTime; // 平均处理时长(小时) private Double avgRating; // 平均评分 private Integer fiveStarCount; // 5星评价数 private Double satisfactionRate; // 好评率 private BigDecimal totalScore; // 获得总积分 private BigDecimal deductionScore; // 延误扣分 private BigDecimal netScore; // 净积分(总积分-扣分) private BigDecimal targetScore; // 当月目标积分 private Double targetCompletionRate;// 目标完成率 private Integer weekCompletedCount; // 本周完成数 private Integer monthCompletedCount;// 本月完成数 } /** * 工作负载统计 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class WorkloadStat { private Long userId; private String userName; private String realName; private String deptName; private Integer currentLoad; // 当前进行中任务数 private String loadLevel; // 负载级别:low/normal/high/overload private String earliestDeadline; // 最早截止时间 private Double avgDailyTasks; // 平均每日处理任务数 } /** * 汇总数据 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Summary { private Integer totalDesigners; // 设计师总数 private Integer totalReceived; // 总接单量 private Integer totalCompleted; // 总完成量 private Double avgCompletionRate; // 平均完成率 private Double avgOnTimeRate; // 平均准时率 private Double avgProcessTime; // 平均处理时长 private Double avgSatisfaction; // 平均满意度 private Integer overloadCount; // 过载设计师数 } }