Merge pull request 'feat/infer_dev_260107' (#269) from feat/infer_dev_260107 into develop

Reviewed-on: https://kamco.gitea.gs.dabeeo.com/dabeeo/kamco-dabeeo-backoffice/pulls/269
This commit is contained in:
2026-01-19 12:09:28 +09:00
4 changed files with 30 additions and 1 deletions

View File

@@ -20,6 +20,10 @@ public enum DetectionClassification {
TUMULUS("tumulus", "토분(무덤)", 120), TUMULUS("tumulus", "토분(무덤)", 120),
WASTE("waste", "폐기물", 130), WASTE("waste", "폐기물", 130),
WATER("water", "", 140), WATER("water", "", 140),
CONSTRUCTION("construction", "건설", 150),
NDC("NDC", "미분류", 160),
RICE("rice", "", 170),
WOOD("wood", "산림", 180),
ETC("ETC", "기타", 200); // For 'etc' (miscellaneous/other) ETC("ETC", "기타", 200); // For 'etc' (miscellaneous/other)
private final String id; private final String id;

View File

@@ -339,7 +339,7 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
.select( .select(
Projections.constructor( Projections.constructor(
Dashboard.class, Dashboard.class,
mapSheetAnalSttcEntity.id.classAfterCd, mapSheetAnalSttcEntity.id.classAfterCd.toUpperCase(),
mapSheetAnalSttcEntity.classAfterCnt.sum())) mapSheetAnalSttcEntity.classAfterCnt.sum()))
.from(mapSheetAnalInferenceEntity) .from(mapSheetAnalInferenceEntity)
.innerJoin(mapSheetAnalSttcEntity) .innerJoin(mapSheetAnalSttcEntity)

View File

@@ -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.QMapInkx5kEntity.mapInkx5kEntity;
import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalDataInferenceGeomEntity.mapSheetAnalDataInferenceGeomEntity; 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.QMapSheetLearnDataGeomEntity.mapSheetLearnDataGeomEntity;
import static com.kamco.cd.kamcoback.postgres.entity.QMemberEntity.memberEntity;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
@@ -442,6 +443,26 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport
// COG URL 조회 실패 시 빈 문자열 유지 // 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 생성 // 5. DTO 생성
var changeDetectionInfo = var changeDetectionInfo =
ChangeDetectionInfo.builder() ChangeDetectionInfo.builder()
@@ -492,6 +513,7 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport
mapSheetAnalDataInferenceGeomEntityEntity.getMapSheetNum() != null mapSheetAnalDataInferenceGeomEntityEntity.getMapSheetNum() != null
? mapSheetAnalDataInferenceGeomEntityEntity.getMapSheetNum() ? mapSheetAnalDataInferenceGeomEntityEntity.getMapSheetNum()
: 0L) : 0L)
.workerName(workerName)
.build(); .build();
var inspectionResultInfo = var inspectionResultInfo =

View File

@@ -340,6 +340,9 @@ public class TrainingDataReviewDto {
@Schema(description = "도엽번호 (map_sheet_num)", example = "34602057") @Schema(description = "도엽번호 (map_sheet_num)", example = "34602057")
private Long mapSheetNum; private Long mapSheetNum;
@Schema(description = "라벨러 성명 (기존 작업자)", example = "홍길동")
private String workerName;
} }
@Schema(name = "ClassificationInfo", description = "분류정보") @Schema(name = "ClassificationInfo", description = "분류정보")