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 d225b7cb..4d9681b1 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 @@ -1,6 +1,9 @@ package com.kamco.cd.kamcoback.changedetection.dto; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose; import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import io.swagger.v3.oas.annotations.media.Schema; @@ -143,6 +146,23 @@ public class ChangeDetectionDto { private String mapSheetNum; private String mapSheetName; private String alias; + @JsonIgnore private String bboxStr; + private JsonNode bbox; + + public MapSheetList(String mapSheetNum, String mapSheetName, String alias, String bboxStr) { + this.mapSheetNum = mapSheetNum; + this.mapSheetName = mapSheetName; + this.alias = alias; + + if (bboxStr != null) { + ObjectMapper mapper = new ObjectMapper(); + try { + this.bbox = mapper.readTree(bboxStr); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + } } @Schema(name = "PolygonFeatureList", description = "Geometry 리턴 객체") @@ -262,6 +282,7 @@ public class ChangeDetectionDto { @NoArgsConstructor @AllArgsConstructor public static class ChangeDetectionMapDto { + private Integer compareYyyy; private Integer targetYyyy; private String cdObjectId; 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 13a28716..4a73a3b2 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 @@ -341,7 +341,10 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport mapInkx5kEntity.mapidcdNo, mapInkx5kEntity.mapidNm, Expressions.stringTemplate( - "concat({0}, ' ', {1})", mapInkx5kEntity.mapidNm, mapInkx5kEntity.mapidcdNo))) + "concat({0}, ' ', {1})", mapInkx5kEntity.mapidNm, mapInkx5kEntity.mapidcdNo), + Expressions.stringTemplate( + "ST_AsGeoJSON(ST_Transform({0}, 5186))", mapInkx5kEntity.geom) + .as("bbox"))) .from(mapSheetAnalInferenceEntity) .innerJoin(mapSheetAnalDataInferenceEntity) .on(mapSheetAnalInferenceEntity.id.eq(mapSheetAnalDataInferenceEntity.analUid)) @@ -361,7 +364,10 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport mapInkx50kEntity.mapidcdNo, mapInkx50kEntity.mapidNm, Expressions.stringTemplate( - "concat({0}, ' ', {1})", mapInkx50kEntity.mapidNm, mapInkx50kEntity.mapidcdNo))) + "concat({0}, ' ', {1})", mapInkx50kEntity.mapidNm, mapInkx50kEntity.mapidcdNo), + Expressions.stringTemplate( + "ST_AsGeoJSON(ST_Transform({0}, 5186))", mapInkx50kEntity.geom) + .as("bbox"))) .from(mapSheetAnalInferenceEntity) .innerJoin(mapSheetAnalDataInferenceEntity) .on(mapSheetAnalInferenceEntity.id.eq(mapSheetAnalDataInferenceEntity.analUid)) @@ -369,7 +375,7 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport .on(mapSheetAnalDataInferenceEntity.mapSheetNum.stringValue().eq(mapInkx5kEntity.mapidcdNo)) .innerJoin(mapInkx5kEntity.mapInkx50k, mapInkx50kEntity) .where(mapSheetAnalInferenceEntity.uuid.eq(uuid)) - .groupBy(mapInkx50kEntity.mapidcdNo, mapInkx50kEntity.mapidNm) + .groupBy(mapInkx50kEntity.mapidcdNo, mapInkx50kEntity.mapidNm, mapInkx50kEntity.geom) .orderBy(mapInkx50kEntity.mapidcdNo.asc()) .fetch(); }