projectinfo uuid조회 추가

This commit is contained in:
DanielLee
2026-01-09 11:01:46 +09:00
parent 095fb9221f
commit 40b91b7dea
6 changed files with 253 additions and 4 deletions

View File

@@ -55,7 +55,9 @@ public class LabelAllocateApiController {
return ApiResponseDto.ok(labelAllocateService.availUserList(role));
}
@Operation(summary = "작업현황 관리 > 프로젝트 및 진행 상황 정보", description = "작업현황 관리 > 프로젝트 및 진행 상황 정보")
@Operation(
summary = "작업현황 관리 > 프로젝트 및 진행 상황 정보",
description = "작업현황 관리 > 프로젝트 및 진행 상황 정보. UUID를 입력하면 해당 프로젝트 정보를 조회하고, 미입력 시 최신 프로젝트를 조회합니다.")
@ApiResponses(
value = {
@ApiResponse(responseCode = "200", description = "조회 성공"),
@@ -64,8 +66,11 @@ public class LabelAllocateApiController {
})
@GetMapping("/projectinfo")
public ApiResponseDto<WorkerListResponse> getWorkerStatistics(
// @Parameter(description = "분석 ID (선택)", example = "3") @RequestParam(required = false)
// Long analUid,
@Parameter(
description = "프로젝트 UUID (선택) - 미입력 시 최신 프로젝트 조회",
example = "f97dc186-e6d3-4645-9737-3173dde8dc64")
@RequestParam(required = false)
String uuid,
@Parameter(
description = "작업자 유형 (선택) - 미입력 시 LABELER로 조회",
example = "LABELER",
@@ -99,7 +104,7 @@ public class LabelAllocateApiController {
String workerType = (type == null || type.isEmpty()) ? RoleType.LABELER.name() : type;
return ApiResponseDto.ok(
labelAllocateService.getWorkerStatistics(null, workerType, search, sort));
labelAllocateService.getWorkerStatisticsByUuid(uuid, workerType, search, sort));
}
@Operation(summary = "라벨링작업 관리 > 작업 배정", description = "라벨링작업 관리 > 작업 배정")

View File

@@ -10,6 +10,8 @@ import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelingStatDto;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.MoveInfo;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.TargetUser;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.UserList;
import com.kamco.cd.kamcoback.label.dto.WorkerStatsDto.ProjectInfo;
import com.kamco.cd.kamcoback.label.dto.WorkerStatsDto.WorkProgressInfo;
import com.kamco.cd.kamcoback.label.dto.WorkerStatsDto.WorkerListResponse;
import com.kamco.cd.kamcoback.postgres.core.LabelAllocateCoreService;
import java.util.List;
@@ -114,6 +116,36 @@ public class LabelAllocateService {
return WorkerListResponse.builder().projectInfo(projectInfo).progressInfo(progressInfo).build();
}
/**
* 작업자 통계 조회 (UUID 기반)
*
* @param uuid 프로젝트 UUID (선택, 미입력 시 최신 프로젝트 조회)
* @param workerType 작업자 유형 (LABELER/INSPECTOR)
* @param search 검색어 (이름 또는 사번)
* @param sortType 정렬 조건
* @return 작업자 목록 및 통계
*/
public WorkerListResponse getWorkerStatisticsByUuid(
String uuid, String workerType, String search, String sortType) {
ProjectInfo projectInfo;
WorkProgressInfo progressInfo;
if (uuid != null && !uuid.isBlank()) {
// UUID로 프로젝트 정보 조회
projectInfo = labelAllocateCoreService.findProjectInfoByUuid(uuid);
// UUID로 작업 진행 현황 조회
progressInfo = labelAllocateCoreService.findWorkProgressInfoByUuid(uuid);
} else {
// 최신 프로젝트 정보 조회
projectInfo = labelAllocateCoreService.findLatestProjectInfo();
// 최신 프로젝트 작업 진행 현황 조회
progressInfo = labelAllocateCoreService.findWorkProgressInfo(null);
}
return WorkerListResponse.builder().projectInfo(projectInfo).progressInfo(progressInfo).build();
}
public InferenceDetail findInferenceDetail(String uuid) {
return labelAllocateCoreService.findInferenceDetail(uuid);
}