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 DimensionAnalysisVO { /** * 类目维度分析 */ private List categoryAnalysis; /** * 品牌维度分析 */ private List brandAnalysis; /** * 接单部门维度分析 */ private List receivingDeptAnalysis; /** * 需求部门维度分析 */ private List demandDeptAnalysis; /** * 平台维度分析 */ private List platformAnalysis; /** * 任务类型维度分析(一级分类) */ private List taskTypeAnalysis; /** * 任务类型维度分析(二级分类) */ private List taskTypeLevel2Analysis; /** * 任务类型维度分析(三级分类) */ private List taskTypeLevel3Analysis; /** * 类目分析数据 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class CategoryAnalysis { private Long categoryId; private String categoryName; private Integer totalTasks; // 总任务数 private Integer completedTasks; // 已完成任务数 private Integer inProgressTasks; // 进行中任务数 private Integer pendingTasks; // 待接单任务数 private Integer totalQuantity; // 总数量 private BigDecimal totalScore; // 总积分 private BigDecimal avgScore; // 平均积分 private BigDecimal completionRate; // 完成率 private Double onTimeRate; // 准时率 private Double avgCompletionHours; // 平均完成时长(小时) private Integer designerCount; // 参与设计师数量 } /** * 品牌分析数据 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class BrandAnalysis { private Long brandId; private String brandName; private Integer totalTasks; // 总任务数 private Integer completedTasks; // 已完成任务数 private Integer inProgressTasks; // 进行中任务数 private Integer pendingTasks; // 待接单任务数 private Integer totalQuantity; // 总数量 private BigDecimal totalScore; // 总积分 private BigDecimal avgScore; // 平均积分 private BigDecimal completionRate; // 完成率 private Double onTimeRate; // 准时率 private Double avgCompletionHours; // 平均完成时长(小时) private Integer categoryCount; // 涉及类目数量 } /** * 接单部门维度分析 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class ReceivingDeptAnalysis { private Long deptId; private String deptName; private Integer memberCount; // 部门总人数 private Integer totalTasks; // 总接单数(主任务+子任务) private BigDecimal avgTasksPerMember; // 人均任务数 private Integer completedTasks; // 已完成任务数 private Integer inProgressTasks; // 进行中任务数 private Integer pendingTasks; // 待接单任务数 private Integer totalQuantity; // 总数量 private Integer designerCount; // 设计师数量 private Integer activeDesignerCount; // 活跃设计师数量(有接单的设计师) private BigDecimal totalScore; // 获得总积分 private BigDecimal avgScore; // 平均积分 private BigDecimal completionRate; // 完成率 private Double onTimeRate; // 准时率 private BigDecimal avgCompletionHours; // 平均完成时长(小时) private BigDecimal totalDeductionScore; // 总扣分 private BigDecimal netScore; // 净积分 private Double workloadRate; // 工作量占比 } /** * 需求部门维度分析 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class DemandDeptAnalysis { private Long deptId; private String deptName; private Integer totalTasks; // 总发布任务数 private Integer completedTasks; // 已完成任务数 private Integer inProgressTasks; // 进行中任务数 private Integer pendingTasks; // 待接单任务数 private Integer totalQuantity; // 总数量 private Integer memberCount; // 部门总人数 private Integer publisherCount; // 发布人数量(有发布任务的人) private Integer activePublisherCount; // 活跃发布人数量 private BigDecimal avgTasksPerMember; // 人均任务数 private BigDecimal totalScore; // 消耗总积分 private BigDecimal avgScore; // 平均积分 private BigDecimal completionRate; // 完成率 private Double onTimeRate; // 准时率 private BigDecimal avgCompletionHours; // 平均完成时长(小时) private Integer brandCount; // 涉及品牌数量 private Integer categoryCount; // 涉及类目数量 } /** * 平台维度分析 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class PlatformAnalysis { private Long platformId; private String platformName; private Integer totalTasks; // 总任务数 private Integer completedTasks; // 已完成任务数 private Integer inProgressTasks; // 进行中任务数 private Integer pendingTasks; // 待接单任务数 private Integer totalQuantity; // 总数量 private BigDecimal totalScore; // 总积分 private BigDecimal avgScore; // 平均积分 private BigDecimal completionRate; // 完成率 private Double onTimeRate; // 准时率 private Double avgCompletionHours; // 平均完成时长(小时) private Integer brandCount; // 涉及品牌数量 private Integer categoryCount; // 涉及类目数量 private Integer demandDeptCount; // 需求部门数量 private Integer receivingDeptCount; // 接单部门数量 } /** * 任务类型分析数据 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class TaskTypeAnalysis { private Long typeId; // 类型ID private String typeName; // 类型名称 private Long parentId; // 父级ID private String parentName; // 父级名称 private Integer level; // 层级(1=一级,2=二级,3=三级) private Integer totalTasks; // 总任务数 private Integer completedTasks; // 已完成任务数 private Integer inProgressTasks; // 进行中任务数 private Integer pendingTasks; // 待接单任务数 private Integer totalQuantity; // 总数量 private BigDecimal totalScore; // 总积分 private BigDecimal avgScore; // 平均积分 private BigDecimal completionRate; // 完成率 private Double onTimeRate; // 准时率 private Double avgCompletionHours; // 平均完成时长(小时) private BigDecimal unitScore; // 单价分值 private BigDecimal estimatedHours; // 预估工时 } }