From f48c444f6cace84c572e817a5d47cee4449a2400 Mon Sep 17 00:00:00 2001 From: teddy Date: Mon, 29 Dec 2025 14:10:22 +0900 Subject: [PATCH 1/2] =?UTF-8?q?shp=20=ED=8C=8C=EC=9D=BC=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inference/dto/InferenceResultShpDto.java | 3 +++ .../core/InferenceResultShpCoreService.java | 2 ++ .../InferenceResultRepositoryCustom.java | 2 ++ .../InferenceResultRepositoryImpl.java | 27 +++++++++++++++++++ 4 files changed, 34 insertions(+) diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultShpDto.java b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultShpDto.java index 96de4301..d0feb315 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultShpDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultShpDto.java @@ -71,6 +71,9 @@ public class InferenceResultShpDto { @NoArgsConstructor public static class InferenceCntDto { + @Schema(description = "추론 결과(inference_results)를 기준으로 신규 목록 저장 터이터 건수", example = "120") + int sheetAnalDataCnt; + @Schema(description = "추론 결과(inference_results)를 기준으로 신규 저장 데이터 건수", example = "120") int inferenceCnt; diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultShpCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultShpCoreService.java index d4982dcb..53f41d14 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultShpCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultShpCoreService.java @@ -20,10 +20,12 @@ public class InferenceResultShpCoreService { */ @Transactional public InferenceResultShpDto.InferenceCntDto buildInferenceData() { + int sheetAnalDataCnt = repo.upsertGroupsFromMapSheetAnal(); int inferenceCnt = repo.upsertGroupsFromInferenceResults(); int inferenceGeomCnt = repo.upsertGeomsFromInferenceResults(); InferenceResultShpDto.InferenceCntDto cntDto = new InferenceResultShpDto.InferenceCntDto(); + cntDto.setSheetAnalDataCnt(sheetAnalDataCnt); cntDto.setInferenceCnt(inferenceCnt); cntDto.setInferenceGeomCnt(inferenceGeomCnt); diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryCustom.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryCustom.java index 3808d7d9..41b72849 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryCustom.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryCustom.java @@ -5,6 +5,8 @@ import java.util.List; public interface InferenceResultRepositoryCustom { + int upsertGroupsFromMapSheetAnal(); + int upsertGroupsFromInferenceResults(); int upsertGeomsFromInferenceResults(); diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryImpl.java index ae083e77..a1d7afb6 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryImpl.java @@ -31,6 +31,33 @@ public class InferenceResultRepositoryImpl implements InferenceResultRepositoryC // Upsert (Native only) // =============================== + @Override + public int upsertGroupsFromMapSheetAnal() { + String sql = + """ + INSERT INTO tb_map_sheet_anal_inference ( + compare_yyyy, + target_yyyy, + anal_map_sheet, + stage, + anal_title + ) + SELECT + r.input1 AS compare_yyyy, + r.input2 AS target_yyyy, + r.map_id AS anal_map_sheet, + r.stage, + CONCAT(r.stage ,'_', r.input1 ,'_', r.input2 ,'_', r.map_id) as anal_title + FROM inference_results r + GROUP BY r.stage, r.input1, r.input2, r.map_id + ON CONFLICT (compare_yyyy, target_yyyy, anal_map_sheet, stage) + DO UPDATE SET + updated_dttm = now() + """; + + return em.createNativeQuery(sql).executeUpdate(); + } + /** * inference_results 테이블을 기준으로 분석 데이터 단위(stage, compare_yyyy, target_yyyy, map_sheet_num)를 * 생성/갱신한다. From 424e14f36ea2f3067a4a184127bfb33abcfa4a27 Mon Sep 17 00:00:00 2001 From: teddy Date: Mon, 29 Dec 2025 14:53:27 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=8A=A4=EC=9B=A8=EA=B1=B0=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cd/kamcoback/config/OpenApiConfig.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/config/OpenApiConfig.java b/src/main/java/com/kamco/cd/kamcoback/config/OpenApiConfig.java index 8e5051ac..f8b1653b 100644 --- a/src/main/java/com/kamco/cd/kamcoback/config/OpenApiConfig.java +++ b/src/main/java/com/kamco/cd/kamcoback/config/OpenApiConfig.java @@ -46,11 +46,18 @@ public class OpenApiConfig { // profile 별 server url 분기 List servers = new ArrayList<>(); - switch (profile) { - case "prod" -> servers.add(new Server().url(prodUrl).description("운영 서버")); - case "dev" -> servers.add(new Server().url(devUrl).description("개발 서버")); - default -> - servers.add(new Server().url("http://localhost:" + serverPort).description("로컬 개발 서버")); + if ("dev".equals(profile)) { + servers.add(new Server().url(devUrl).description("개발 서버")); + servers.add(new Server().url("http://localhost:" + serverPort).description("로컬 서버")); + // servers.add(new Server().url(prodUrl).description("운영 서버")); + } else if ("prod".equals(profile)) { + // servers.add(new Server().url(prodUrl).description("운영 서버")); + servers.add(new Server().url("http://localhost:" + serverPort).description("로컬 서버")); + servers.add(new Server().url(devUrl).description("개발 서버")); + } else { + servers.add(new Server().url("http://localhost:" + serverPort).description("로컬 서버")); + servers.add(new Server().url(devUrl).description("개발 서버")); + // servers.add(new Server().url(prodUrl).description("운영 서버")); } return new OpenAPI()