diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/trainingdata/TrainingDataReviewRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/trainingdata/TrainingDataReviewRepositoryImpl.java index 89a60b5d..6f222462 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/trainingdata/TrainingDataReviewRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/trainingdata/TrainingDataReviewRepositoryImpl.java @@ -5,6 +5,7 @@ import static com.kamco.cd.kamcoback.postgres.entity.QLabelingAssignmentEntity.l import static com.kamco.cd.kamcoback.postgres.entity.QMapInkx5kEntity.mapInkx5kEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalDataInferenceGeomEntity.mapSheetAnalDataInferenceGeomEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnDataGeomEntity.mapSheetLearnDataGeomEntity; +import static com.kamco.cd.kamcoback.postgres.entity.QMemberEntity.memberEntity; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -442,6 +443,24 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport // COG URL 조회 실패 시 빈 문자열 유지 } + // 4-1. 라벨러 성명 조회 (worker_uid로 tb_member의 name 조회) + String workerName = ""; + try { + if (assignment.toDto().getWorkerUid() != null && !assignment.toDto().getWorkerUid().isEmpty()) { + workerName = queryFactory + .select(memberEntity.name) + .from(memberEntity) + .where(memberEntity.userId.eq(assignment.toDto().getWorkerUid())) + .fetchFirst(); + if (workerName == null) { + workerName = ""; + } + } + } catch (Exception e) { + System.err.println("Worker name retrieval error: " + e.getMessage()); + // 라벨러 성명 조회 실패 시 빈 문자열 유지 + } + // 5. DTO 생성 var changeDetectionInfo = ChangeDetectionInfo.builder() @@ -492,6 +511,7 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport mapSheetAnalDataInferenceGeomEntityEntity.getMapSheetNum() != null ? mapSheetAnalDataInferenceGeomEntityEntity.getMapSheetNum() : 0L) + .workerName(workerName) .build(); var inspectionResultInfo = diff --git a/src/main/java/com/kamco/cd/kamcoback/trainingdata/dto/TrainingDataReviewDto.java b/src/main/java/com/kamco/cd/kamcoback/trainingdata/dto/TrainingDataReviewDto.java index 35176897..9eb914c4 100644 --- a/src/main/java/com/kamco/cd/kamcoback/trainingdata/dto/TrainingDataReviewDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/trainingdata/dto/TrainingDataReviewDto.java @@ -340,6 +340,9 @@ public class TrainingDataReviewDto { @Schema(description = "도엽번호 (map_sheet_num)", example = "34602057") private Long mapSheetNum; + + @Schema(description = "라벨러 성명 (기존 작업자)", example = "홍길동") + private String workerName; } @Schema(name = "ClassificationInfo", description = "분류정보")