작업현황관리 데이터 반환값 추가중

This commit is contained in:
DanielLee
2026-01-05 12:33:48 +09:00
parent 6f089decf9
commit 96f5a87b1a
3 changed files with 86 additions and 9 deletions

View File

@@ -85,6 +85,8 @@ public class LabelAllocateApiController {
allowableValues = { allowableValues = {
"REMAINING_DESC", "REMAINING_DESC",
"REMAINING_ASC", "REMAINING_ASC",
"COMPLETED_DESC",
"COMPLETED_ASC",
"NAME_ASC", "NAME_ASC",
"NAME_DESC" "NAME_DESC"
}, },

View File

@@ -10,6 +10,27 @@ import lombok.Setter;
public class WorkerStatsDto { public class WorkerStatsDto {
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "프로젝트 기본 정보 (상단 표시용)")
public static class ProjectInfo {
@Schema(description = "변화탐지년도 (예: 2026-2025)")
private String detectionYear;
@Schema(description = "회차 (예: 8)")
private String round;
@Schema(description = "국유인 반영일 (예: 2026-03-31)")
private String reflectionDate;
@Schema(description = "작업 시작일 (예: 2026-04-06)")
private String startDate;
}
@Getter @Getter
@Setter @Setter
@Builder @Builder
@@ -75,29 +96,74 @@ public class WorkerStatsDto {
@Schema(description = "작업 진행 현황 정보") @Schema(description = "작업 진행 현황 정보")
public static class WorkProgressInfo { public static class WorkProgressInfo {
// === 라벨링 관련 ===
@Schema(description = "라벨링 진행률 (완료건+스킵건)/배정건") @Schema(description = "라벨링 진행률 (완료건+스킵건)/배정건")
private Double labelingProgressRate; private Double labelingProgressRate;
@Schema(description = "작업 상태 (진행중/료)") @Schema(description = "라벨링 작업 상태 (진행중/료)")
private String workStatus; private String labelingStatus;
@Schema(description = "진행률 수치 (완료+스킵)") @Schema(description = "라벨링 전체 배정 건수")
private Long completedCount; private Long labelingTotalCount;
@Schema(description = "전체 배정 건수") @Schema(description = "라벨링 완료 건수 (LABEL_FIN + TEST_ING + DONE)")
private Long totalAssignedCount; private Long labelingCompletedCount;
@Schema(description = "라벨링 스킵 건수 (SKIP)")
private Long labelingSkipCount;
@Schema(description = "라벨링 남은 작업 건수")
private Long labelingRemainingCount;
@Schema(description = "투입된 라벨러 수") @Schema(description = "투입된 라벨러 수")
private Long labelerCount; private Long labelerCount;
@Schema(description = "남은 라벨링 작업 데이터 수") // === 검수(Inspection) 관련 (신규 추가) ===
private Long remainingLabelCount; @Schema(description = "검수 진행률 (완료건/대상건)")
private Double inspectionProgressRate;
@Schema(description = "검수 작업 상태 (진행중/완료)")
private String inspectionStatus;
@Schema(description = "검수 전체 대상 건수")
private Long inspectionTotalCount;
@Schema(description = "검수 완료 건수 (DONE)")
private Long inspectionCompletedCount;
@Schema(description = "검수 제외 건수 (라벨링 스킵과 동일)")
private Long inspectionSkipCount;
@Schema(description = "검수 남은 작업 건수")
private Long inspectionRemainingCount;
@Schema(description = "투입된 검수자 수") @Schema(description = "투입된 검수자 수")
private Long inspectorCount; private Long inspectorCount;
@Schema(description = "남은 검수 작업 데이터 수") // === 레거시 호환 필드 (Deprecated) ===
@Deprecated
@Schema(description = "[Deprecated] labelingProgressRate 사용 권장")
private Double progressRate;
@Deprecated
@Schema(description = "[Deprecated] labelingTotalCount 사용 권장")
private Long totalAssignedCount;
@Deprecated
@Schema(description = "[Deprecated] labelingCompletedCount 사용 권장")
private Long completedCount;
@Deprecated
@Schema(description = "[Deprecated] labelingRemainingCount 사용 권장")
private Long remainingLabelCount;
@Deprecated
@Schema(description = "[Deprecated] inspectionRemainingCount 사용 권장")
private Long remainingInspectCount; private Long remainingInspectCount;
@Deprecated
@Schema(description = "[Deprecated] labelingStatus/inspectionStatus 사용 권장")
private String workStatus;
} }
@Getter @Getter
@@ -108,6 +174,9 @@ public class WorkerStatsDto {
@Schema(description = "작업자 목록 응답 (작업 정보 포함)") @Schema(description = "작업자 목록 응답 (작업 정보 포함)")
public static class WorkerListResponse { public static class WorkerListResponse {
@Schema(description = "프로젝트 기본 정보 (상단 표시용)")
private ProjectInfo projectInfo;
@Schema(description = "작업 진행 현황 정보") @Schema(description = "작업 진행 현황 정보")
private WorkProgressInfo progressInfo; private WorkProgressInfo progressInfo;

View File

@@ -268,6 +268,12 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
case "REMAINING_ASC": case "REMAINING_ASC":
baseQuery.orderBy(remainingSum.asc()); baseQuery.orderBy(remainingSum.asc());
break; break;
case "COMPLETED_DESC":
baseQuery.orderBy(completedSum.desc());
break;
case "COMPLETED_ASC":
baseQuery.orderBy(completedSum.asc());
break;
case "NAME_ASC": case "NAME_ASC":
baseQuery.orderBy(memberEntity.name.asc()); baseQuery.orderBy(memberEntity.name.asc());
break; break;