diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/DetectionClassification.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/DetectionClassification.java index 42d231bd..427f6b9e 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/DetectionClassification.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/DetectionClassification.java @@ -20,6 +20,10 @@ public enum DetectionClassification { TUMULUS("tumulus", "토분(무덤)", 120), WASTE("waste", "폐기물", 130), WATER("water", "물", 140), + CONSTRUCTION("construction", "건설", 150), + NDC("NDC", "미분류", 160), + RICE("rice", "논", 170), + WOOD("wood", "산림", 180), ETC("ETC", "기타", 200); // For 'etc' (miscellaneous/other) private final String id; diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearnRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearnRepositoryImpl.java index 2b108692..a28a2c14 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearnRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearnRepositoryImpl.java @@ -339,7 +339,7 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto .select( Projections.constructor( Dashboard.class, - mapSheetAnalSttcEntity.id.classAfterCd, + mapSheetAnalSttcEntity.id.classAfterCd.toUpperCase(), mapSheetAnalSttcEntity.classAfterCnt.sum())) .from(mapSheetAnalInferenceEntity) .innerJoin(mapSheetAnalSttcEntity) 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..94358faf 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,26 @@ 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 +513,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 = "분류정보")