From ade310b8e5c587b5eb39f8e3e45110c8f0893294 Mon Sep 17 00:00:00 2001 From: DanielLee <198891672+sanghyeonhd@users.noreply.github.com> Date: Mon, 19 Jan 2026 11:43:08 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Review=20Detail=20=EB=9D=BC=EB=B2=A8?= =?UTF-8?q?=EB=9F=AC=EC=9D=B4=EB=A6=84=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrainingDataReviewRepositoryImpl.java | 20 +++++++++++++++++++ .../dto/TrainingDataReviewDto.java | 3 +++ 2 files changed, 23 insertions(+) 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 = "분류정보") From c111a1e7e668dd1386de711550bdd66f49ba4e7c Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Mon, 19 Jan 2026 12:09:05 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=B6=94=EB=A1=A0=EA=B2=B0=EA=B3=BC=20>=20?= =?UTF-8?q?=EB=B6=84=EB=A5=98=EB=B3=84=20count=20API=20=EB=AA=85=EC=B9=AD?= =?UTF-8?q?=20upper,=20spotless?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/DetectionClassification.java | 4 ++++ .../Inference/MapSheetLearnRepositoryImpl.java | 2 +- .../TrainingDataReviewRepositoryImpl.java | 14 ++++++++------ 3 files changed, 13 insertions(+), 7 deletions(-) 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 6f222462..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 @@ -446,12 +446,14 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport // 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 (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 = ""; }