From e0c78854c013d28e8778f8b130068ea1c2e3f15a Mon Sep 17 00:00:00 2001 From: Moon Date: Mon, 29 Dec 2025 15:39:13 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=B2=98=EB=A6=AC,?= =?UTF-8?q?=EB=AF=B8=EC=B2=98=EB=A6=AC=20enum=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/SyncCheckStateType.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/com/kamco/cd/kamcoback/common/enums/SyncCheckStateType.java diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncCheckStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncCheckStateType.java new file mode 100644 index 00000000..2b4f1e81 --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncCheckStateType.java @@ -0,0 +1,26 @@ +package com.kamco.cd.kamcoback.common.enums; + +import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@CodeExpose +@Getter +@AllArgsConstructor +public enum SyncCheckStateType implements EnumType { + NOTYET("미처리"), + DONE("완료"); + + private final String desc; + + @Override + public String getId() { + return name(); + } + + @Override + public String getText() { + return desc; + } +} From 756d148f4cf03cb6fcbcf612bcfa49729fc70d66 Mon Sep 17 00:00:00 2001 From: Moon Date: Mon, 29 Dec 2025 15:48:38 +0900 Subject: [PATCH 2/4] =?UTF-8?q?enum=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java index fc06e79b..b80b670e 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java @@ -27,4 +27,5 @@ public enum SyncStateType implements EnumType { public String getText() { return desc; } + } From 33b13eb593374bdb76a59a548c11775f4ff4cddb Mon Sep 17 00:00:00 2001 From: Moon Date: Wed, 31 Dec 2025 09:42:44 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EC=98=81=EC=83=81=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java | 3 ++- .../mapsheet/MapSheetMngFileCheckerRepositoryImpl.java | 3 +++ .../repository/mapsheet/MapSheetMngRepositoryImpl.java | 5 ++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java index 2cf1f359..ac77ab8f 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java @@ -69,10 +69,11 @@ public class MapSheetMngHstEntity extends CommonDateEntity { private Integer mngYyyy; // 년도 // JPA 연관관계: MapInkx5k 참조 (PK 기반) 소속도엽번호 1:5k + /* @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "map_sheet_code", referencedColumnName = "fid") private MapInkx5kEntity mapInkx5kByCode; - + */ // TODO 1:5k 관련 정보 추후 제거 필요 @Column(name = "map_sheet_num") private String mapSheetNum; // 도엽번호 diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngFileCheckerRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngFileCheckerRepositoryImpl.java index b23d9f47..aaabf2a9 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngFileCheckerRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngFileCheckerRepositoryImpl.java @@ -76,8 +76,11 @@ public class MapSheetMngFileCheckerRepositoryImpl extends QuerydslRepositorySupp return new PageImpl<>(foundContent, pageable, countQuery); } + /* private NumberExpression rowNum() { return Expressions.numberTemplate( Integer.class, "row_number() over(order by {0} desc)", mapSheetMngHstEntity.createdDate); } + + */ } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java index 8fc981c8..2f93a04b 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java @@ -393,9 +393,8 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport queryFactory .select(mapSheetMngHstEntity.hstUid.count()) .from(mapSheetMngHstEntity) - .innerJoin(mapInkx5kEntity, mapSheetMngHstEntity.mapInkx5kByCode) - .fetchJoin() - .leftJoin(mapInkx5kEntity.mapInkx50k, mapInkx50kEntity) + .innerJoin(mapInkx5kEntity) + .on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo)) .where(whereBuilder) .fetchOne(); From 1d3e4f22cba8be050b0c2c52c2caa7decff61814 Mon Sep 17 00:00:00 2001 From: teddy Date: Wed, 31 Dec 2025 09:45:25 +0900 Subject: [PATCH 4/4] =?UTF-8?q?spotless=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kamcoback/Innopam/dto/DetectMastDto.java | 28 +++------ .../Innopam/service/DetectMastService.java | 57 ++++++++++++++----- .../kamcoback/common/enums/SyncStateType.java | 1 - .../postgres/entity/MapSheetMngHstEntity.java | 3 - .../MapSheetMngFileCheckerRepositoryImpl.java | 1 - .../mapsheet/MapSheetMngRepositoryImpl.java | 1 - 6 files changed, 52 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/Innopam/dto/DetectMastDto.java b/src/main/java/com/kamco/cd/kamcoback/Innopam/dto/DetectMastDto.java index 77ef145e..3ec944e7 100644 --- a/src/main/java/com/kamco/cd/kamcoback/Innopam/dto/DetectMastDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/Innopam/dto/DetectMastDto.java @@ -7,10 +7,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor public class DetectMastDto { @Getter @@ -71,21 +67,13 @@ public class DetectMastDto { private String featureId; } - /** before 연도 */ - private String cprsBfYr; + @Getter + @Setter + @NoArgsConstructor + @AllArgsConstructor + public static class FeaturePnuDto { - /** after 연도 */ - private String cprsAdYr; - - /** 차수 */ - private Integer dtctSno; - - /** shp 파일경로 */ - private String pathNm; - - /** 등록한 사람 사번 */ - private String crtEpno; - - /** 등록한 사람 ip */ - private String crtIp; + private String featureId; // polygon_id + private String pnu; // 랜덤 생성 + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/Innopam/service/DetectMastService.java b/src/main/java/com/kamco/cd/kamcoback/Innopam/service/DetectMastService.java index 9b1c9d08..6924fa90 100644 --- a/src/main/java/com/kamco/cd/kamcoback/Innopam/service/DetectMastService.java +++ b/src/main/java/com/kamco/cd/kamcoback/Innopam/service/DetectMastService.java @@ -1,10 +1,15 @@ package com.kamco.cd.kamcoback.Innopam.service; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto.Basic; import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto.DetectMastReq; import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto.DetectMastSearch; +import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto.FeaturePnuDto; import com.kamco.cd.kamcoback.Innopam.postgres.core.DetectMastCoreService; import java.io.File; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.ThreadLocalRandom; import lombok.RequiredArgsConstructor; @@ -32,21 +37,13 @@ public class DetectMastService { } public void findPnuData(DetectMastSearch detectMast) { - String pathNm = detectMastCoreService.findPnuData(detectMast); - - File dir = new File(pathNm); - if (dir.exists() && dir.isDirectory()) { - File[] files = dir.listFiles(); - - if (files != null) { - for (File file : files) { - System.out.println(file.getName()); - } - } - } + // String pathNm = detectMastCoreService.findPnuData(detectMast); + String pathNm = "/Users/bokmin/detect/result/2023_2024/4"; + File geoJson = new File(pathNm); + List list = this.extractFeaturePnus(geoJson); } - public static String randomPnu() { + private String randomPnu() { ThreadLocalRandom r = ThreadLocalRandom.current(); String lawCode = String.valueOf(r.nextLong(1000000000L, 9999999999L)); // 10자리 @@ -56,4 +53,38 @@ public class DetectMastService { return lawCode + sanFlag + bon + bu; } + + private List extractFeaturePnus(File geoJsonFile) { + + ObjectMapper mapper = new ObjectMapper(); + JsonNode root = null; + try { + mapper.readTree(geoJsonFile); + } catch (IOException e) { + throw new RuntimeException(e); + } + + JsonNode features = root.get("features"); + List result = new ArrayList<>(); + + if (features != null && features.isArray()) { + for (JsonNode feature : features) { + JsonNode properties = feature.get("properties"); + if (properties == null) { + continue; + } + + String polygonId = properties.path("polygon_id").asText(null); + if (polygonId == null) { + continue; + } + + String pnu = this.randomPnu(); + + result.add(new FeaturePnuDto(polygonId, pnu)); + } + } + + return result; + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java index 6a9aff6a..f5c9d08f 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java @@ -30,5 +30,4 @@ public enum SyncStateType implements EnumType { public String getText() { return desc; } - } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java index ac77ab8f..c5482e28 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetMngHstEntity.java @@ -3,12 +3,9 @@ package com.kamco.cd.kamcoback.postgres.entity; import com.kamco.cd.kamcoback.postgres.CommonDateEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.validation.constraints.Size; import java.time.ZonedDateTime; diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngFileCheckerRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngFileCheckerRepositoryImpl.java index aaabf2a9..28a7f9dc 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngFileCheckerRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngFileCheckerRepositoryImpl.java @@ -8,7 +8,6 @@ import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity; import com.querydsl.core.BooleanBuilder; import com.querydsl.core.types.Projections; import com.querydsl.core.types.dsl.Expressions; -import com.querydsl.core.types.dsl.NumberExpression; import com.querydsl.core.types.dsl.StringExpression; import com.querydsl.jpa.impl.JPAQueryFactory; import jakarta.validation.Valid; diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java index 2f93a04b..59c86dce 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java @@ -1,6 +1,5 @@ package com.kamco.cd.kamcoback.postgres.repository.mapsheet; -import static com.kamco.cd.kamcoback.postgres.entity.QMapInkx50kEntity.mapInkx50kEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapInkx5kEntity.mapInkx5kEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngEntity.mapSheetMngEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngFileEntity.mapSheetMngFileEntity;