| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- package com.emoon.okr.dto;
- import jakarta.validation.constraints.NotEmpty;
- import jakarta.validation.constraints.NotBlank;
- import jakarta.validation.constraints.NotNull;
- import jakarta.validation.constraints.Max;
- import jakarta.validation.constraints.Min;
- import jakarta.validation.constraints.Size;
- import lombok.Data;
- import java.util.ArrayList;
- import java.util.List;
- public final class PeerReviewDto {
- private PeerReviewDto() {
- }
- @Data
- public static class SubmitListRequest {
- @NotNull
- private Long periodId;
- @NotEmpty
- @Size(min = 3, max = 5)
- private List<Long> reviewerIds;
- }
- @Data
- public static class ReviewListRequest {
- @NotNull
- private Boolean approved;
- @Size(max = 300)
- private String reason;
- }
- @Data
- public static class DeclineRequest {
- @NotBlank
- @Size(max = 300)
- private String reason;
- }
- @Data
- public static class SupplementRequest {
- @NotNull
- private Long periodId;
- @NotNull
- private Long reviewerId;
- }
- @Data
- public static class SaveResponseRequest {
- @Min(1) @Max(5)
- private Integer goalContributionScore;
- @Min(1) @Max(5)
- private Integer collaborationScore;
- @Min(1) @Max(5)
- private Integer accountabilityScore;
- @Size(max = 300)
- private String strengths;
- @Size(max = 300)
- private String improvementSuggestion;
- }
- @Data
- public static class ReviewerWorkspace {
- private Long invitationId;
- private Long subjectUserId;
- private String subjectName;
- private String status;
- private List<ObjectiveSummary> objectives = new ArrayList<>();
- private List<WorkResultSummary> workResults = new ArrayList<>();
- private SaveResponseRequest response;
- }
- @Data
- public static class ObjectiveSummary {
- private String title;
- private Double progress;
- private List<KrSummary> keyResults = new ArrayList<>();
- }
- @Data
- public static class KrSummary {
- private String title;
- private Double currentValue;
- private Double targetValue;
- private String status;
- }
- @Data
- public static class WorkResultSummary {
- private String name;
- private String description;
- }
- @Data
- public static class Candidate {
- private Long userId;
- private String realName;
- private Long departmentId;
- private String relationType;
- }
- @Data
- public static class EmployeeProgress {
- private Long requestId;
- private String status;
- private String rejectionReason;
- private int invitedCount;
- private int submittedCount;
- private List<InvitationSummary> invitations = new ArrayList<>();
- }
- @Data
- public static class InvitationSummary {
- private Long invitationId;
- private Long reviewerId;
- private String reviewerName;
- private String relationType;
- private String status;
- private String declineReason;
- }
- @Data
- public static class LeaderSummary {
- private Long requestId;
- private Long subjectUserId;
- private String status;
- private int invitedCount;
- private int submittedCount;
- private boolean canFinalize;
- private Double averageGoalContributionScore;
- private Double averageCollaborationScore;
- private Double averageAccountabilityScore;
- private List<InvitationSummary> invitations = new ArrayList<>();
- private List<LeaderResponse> responses = new ArrayList<>();
- }
- @Data
- public static class LeaderResponse {
- private Long reviewerId;
- private String reviewerName;
- private Integer goalContributionScore;
- private Integer collaborationScore;
- private Integer accountabilityScore;
- private String strengths;
- private String improvementSuggestion;
- }
- @Data
- public static class LeaderQueueItem {
- private Long requestId;
- private Long subjectUserId;
- private String status;
- private int submittedCount;
- private boolean canFinalize;
- }
- @Data
- public static class AdminStatistics {
- private int requestedEmployeeCount;
- private int submittedResponseCount;
- private int blockedEmployeeCount;
- private List<Long> blockedSubjectUserIds = new ArrayList<>();
- }
- }
|