From d4b4ffc5e99f1a6c2f70eebafa089e0eeffca726 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Tue, 20 Jan 2026 10:55:40 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EB=B3=80=ED=99=94=ED=83=90=EC=A7=80=20COG?= =?UTF-8?q?=20URL=20API=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChangeDetectionApiController.java | 7 +++++- .../dto/ChangeDetectionDto.java | 1 + .../ChangeDetectionRepositoryImpl.java | 24 ++++++++++++++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/changedetection/ChangeDetectionApiController.java b/src/main/java/com/kamco/cd/kamcoback/changedetection/ChangeDetectionApiController.java index be9cdeb0..e674655f 100644 --- a/src/main/java/com/kamco/cd/kamcoback/changedetection/ChangeDetectionApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/changedetection/ChangeDetectionApiController.java @@ -74,11 +74,16 @@ public class ChangeDetectionApiController { @Parameter(description = "5k/50k 구분(SCALE_5K/SCALE_50K))", required = true) @RequestParam(defaultValue = "SCALE_50K") MapScaleType scale, + @Parameter( + description = "변화탐지 년도(차수) /year-list 의 uuid", + example = "8584e8d4-53b3-4582-bde2-28a81495a626") + @RequestParam + UUID uuid, @Parameter(description = "이전 년도", example = "2023") @RequestParam Integer beforeYear, @Parameter(description = "이후 년도", example = "2024") @RequestParam Integer afterYear, @Parameter(description = "도엽번호(5k)", example = "35905086") @RequestParam String mapSheetNum) { ChangeDetectionDto.CogUrlReq req = - new ChangeDetectionDto.CogUrlReq(beforeYear, afterYear, mapSheetNum, type, scale); + new ChangeDetectionDto.CogUrlReq(uuid, beforeYear, afterYear, mapSheetNum, type, scale); return ApiResponseDto.ok(changeDetectionService.getChangeDetectionCogUrl(req)); } diff --git a/src/main/java/com/kamco/cd/kamcoback/changedetection/dto/ChangeDetectionDto.java b/src/main/java/com/kamco/cd/kamcoback/changedetection/dto/ChangeDetectionDto.java index fb5953f9..a82113bf 100644 --- a/src/main/java/com/kamco/cd/kamcoback/changedetection/dto/ChangeDetectionDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/changedetection/dto/ChangeDetectionDto.java @@ -86,6 +86,7 @@ public class ChangeDetectionDto { @AllArgsConstructor public static class CogUrlReq { + private UUID uuid; private Integer beforeYear; private Integer afterYear; private String mapSheetNum; diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/changedetection/ChangeDetectionRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/changedetection/ChangeDetectionRepositoryImpl.java index 4c8191a7..890a5c4d 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/changedetection/ChangeDetectionRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/changedetection/ChangeDetectionRepositoryImpl.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto; +import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.DetectSearchType; import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapScaleType; import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapSheetList; import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity; @@ -111,6 +112,26 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport @Override public ChangeDetectionDto.CogUrlDto getChangeDetectionCogUrl(ChangeDetectionDto.CogUrlReq req) { + String mapSheetNum = req.getMapSheetNum(); + + if (req.getType().equals(DetectSearchType.MAPSHEET) + && req.getScale().equals(MapScaleType.SCALE_50K)) { + mapSheetNum = + queryFactory + .select(mapSheetAnalDataInferenceEntity.mapSheetNum.stringValue()) + .from(mapSheetAnalInferenceEntity) + .innerJoin(mapSheetAnalDataInferenceEntity) + .on(mapSheetAnalInferenceEntity.id.eq(mapSheetAnalDataInferenceEntity.analUid)) + .where( + mapSheetAnalInferenceEntity.uuid.eq(req.getUuid()), + mapSheetAnalDataInferenceEntity + .mapSheetNum + .stringValue() + .like("%" + req.getMapSheetNum() + "%")) + .orderBy(mapSheetAnalDataInferenceEntity.mapSheetNum.asc()) + .fetchFirst(); + } + ChangeDetectionDto.CogUrlData data = queryFactory .select( @@ -128,7 +149,7 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport .year .eq(req.getBeforeYear()) .or(imageryEntity.year.eq(req.getAfterYear())), - imageryEntity.scene5k.eq(req.getMapSheetNum())) + imageryEntity.scene5k.eq(mapSheetNum)) .groupBy(mapInkx5kEntity.geom) .fetchOne(); @@ -191,6 +212,7 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport .where( mapSheetAnalInferenceEntity.uuid.eq(uuid), mapScaleTypeAnalDataSearchExpression(scale, mapSheetNum)) + .orderBy(mapSheetAnalDataInferenceGeomEntity.mapSheetNum.asc()) .fetch(); ObjectMapper mapper = new ObjectMapper(); From 3e8fd8e6a14848d8898297d1dae007d0526db60b Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Tue, 20 Jan 2026 11:00:59 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EA=B2=80=EC=88=98=ED=95=A0=EB=8B=B9=20?= =?UTF-8?q?=EC=8B=9C,=20updated=5Fdttm=20=EB=8F=84=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scheduler/TrainingDataReviewJobRepositoryImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/TrainingDataReviewJobRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/TrainingDataReviewJobRepositoryImpl.java index d7f22994..a4cf4f63 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/TrainingDataReviewJobRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/TrainingDataReviewJobRepositoryImpl.java @@ -99,6 +99,7 @@ public class TrainingDataReviewJobRepositoryImpl extends QuerydslRepositorySuppo .update(labelingAssignmentEntity) .set(labelingAssignmentEntity.inspectorUid, reviewerId) .set(labelingAssignmentEntity.inspectState, InspectState.UNCONFIRM.getId()) + .set(labelingAssignmentEntity.modifiedDate, ZonedDateTime.now()) .where(labelingAssignmentEntity.assignmentUid.eq(assignmentUid)) .execute(); } @@ -115,6 +116,7 @@ public class TrainingDataReviewJobRepositoryImpl extends QuerydslRepositorySuppo .update(labelingAssignmentEntity) .set(labelingAssignmentEntity.inspectorUid, reviewerId) .set(labelingAssignmentEntity.inspectState, InspectState.UNCONFIRM.getId()) + .set(labelingAssignmentEntity.modifiedDate, ZonedDateTime.now()) .where(labelingAssignmentEntity.assignmentUid.in(assignmentUids)) .execute(); } From 2343a154dcc5051879765e59ad90628f53dd07f6 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Tue, 20 Jan 2026 11:21:48 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EB=B3=80=ED=99=94=ED=83=90=EC=A7=80=20?= =?UTF-8?q?=EB=8F=84=EC=97=BD50k=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20groupBy?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../changedetection/ChangeDetectionRepositoryImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/changedetection/ChangeDetectionRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/changedetection/ChangeDetectionRepositoryImpl.java index 890a5c4d..7397864e 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/changedetection/ChangeDetectionRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/changedetection/ChangeDetectionRepositoryImpl.java @@ -335,7 +335,8 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport .on(mapSheetAnalDataInferenceEntity.mapSheetNum.stringValue().eq(mapInkx5kEntity.mapidcdNo)) .innerJoin(mapInkx5kEntity.mapInkx50k, mapInkx50kEntity) .where(mapSheetAnalInferenceEntity.uuid.eq(uuid)) - .orderBy(mapInkx5kEntity.mapidcdNo.asc()) + .groupBy(mapInkx50kEntity.mapidcdNo, mapInkx50kEntity.mapidNm) + .orderBy(mapInkx50kEntity.mapidcdNo.asc()) .fetch(); }