From a88b001a986abcc7fefc1d32db92dfccb6f6b092 Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 13 Jan 2026 09:16:13 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[KC-108]=20=EC=B6=94=EB=A1=A0=EC=8B=A4?= =?UTF-8?q?=ED=96=89=20=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kamcoback/inference/service/InferenceResultService.java | 5 +++++ .../kamcoback/postgres/core/InferenceResultCoreService.java | 6 +++++- .../scheduler/service/MapSheetInferenceJobService.java | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java b/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java index 7e21b5dc..770adb70 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java @@ -26,6 +26,7 @@ import com.kamco.cd.kamcoback.model.dto.ModelMngDto.Basic; import com.kamco.cd.kamcoback.postgres.core.InferenceResultCoreService; import com.kamco.cd.kamcoback.postgres.core.MapSheetMngCoreService; import com.kamco.cd.kamcoback.postgres.core.ModelMngCoreService; +import jakarta.persistence.EntityNotFoundException; import jakarta.validation.constraints.NotNull; import java.time.ZonedDateTime; import java.util.ArrayList; @@ -100,6 +101,10 @@ public class InferenceResultService { req.setMapSheetNum(this.createdMngDto(req, targetList)); } + if (req.getMapSheetNum().isEmpty()) { + throw new EntityNotFoundException("분석 대상 정보가 부족합니다."); + } + // 추론 테이블 저장 UUID uuid = inferenceResultCoreService.saveInferenceInfo(req); this.startInference(req, uuid); diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java index 4b017b63..7232e378 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java @@ -64,8 +64,12 @@ public class InferenceResultCoreService { * @param req */ public UUID saveInferenceInfo(InferenceResultDto.RegReq req) { + String mapSheetName = - req.getMapSheetNum().get(0).getMapSheetName() + " 외 " + req.getMapSheetNum().size() + "건"; + req.getMapSheetNum().get(0).getMapSheetName() + + " 외 " + + (req.getMapSheetNum().size() - 1) + + "건"; if (req.getMapSheetNum().size() == 1) { mapSheetName = diff --git a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java index 56f4dfa9..c59e1703 100644 --- a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java +++ b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java @@ -102,7 +102,7 @@ public class MapSheetInferenceJobService { // 종료시간 this.updateProcessingEndTimeByModel(batchSheet.getUuid(), ZonedDateTime.now(), "M1"); } else if (type.equals("M2")) { - // M1 완료되었으면 M3 실행 + // M2 완료되었으면 M3 실행 this.startInference( batchSheet.getId(), batchSheet.getUuid(), "M3", batchSheet.getM3ModelUuid()); // 종료시간 From 136543e113c5ff72e7b88fd4e0d4cc868b41a7b2 Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 13 Jan 2026 09:41:17 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[KC-108]=20=EC=B6=94=EB=A1=A0=EC=8B=A4?= =?UTF-8?q?=ED=96=89=20=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/mapsheet/MapSheetMngRepositoryImpl.java | 2 +- .../scheduler/service/MapSheetInferenceJobService.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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 74873c8b..3405e344 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 @@ -504,7 +504,7 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport whereBuilder.and(mapSheetMngHstEntity.mngYyyy.eq(mngYyyy)); whereBuilder.and(mapSheetMngHstEntity.mapSheetNum.in(mapIds)); whereBuilder.and(mapSheetMngHstEntity.dataState.eq("DONE")); - whereBuilder.and(mapSheetMngHstEntity.syncState.eq("DONE")); + whereBuilder.and(mapSheetMngHstEntity.syncState.eq("DONE")); // TODO 싱크체크 or조건 추가 whereBuilder.and(mapSheetMngHstEntity.useInference.eq("USE")); return queryFactory diff --git a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java index c59e1703..824ab33c 100644 --- a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java +++ b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java @@ -113,10 +113,18 @@ public class MapSheetInferenceJobService { saveInferenceAiDto.setUuid(batchSheet.getUuid()); saveInferenceAiDto.setStatus(Status.END.getId()); saveInferenceAiDto.setInferEndDttm(ZonedDateTime.now()); + saveInferenceAiDto.setType(type); inferenceResultCoreService.update(saveInferenceAiDto); // 종료시간 this.updateProcessingEndTimeByModel(batchSheet.getUuid(), ZonedDateTime.now(), "M3"); } + } else if ("COMPLETED_WITH_FAILURES".equals(dto.getStatus())) { + SaveInferenceAiDto saveInferenceAiDto = new SaveInferenceAiDto(); + saveInferenceAiDto.setUuid(batchSheet.getUuid()); + saveInferenceAiDto.setStatus(Status.END.getId()); + saveInferenceAiDto.setInferEndDttm(ZonedDateTime.now()); + saveInferenceAiDto.setType(batchSheet.getRunningModelType()); + inferenceResultCoreService.update(saveInferenceAiDto); } else { SaveInferenceAiDto saveInferenceAiDto = new SaveInferenceAiDto(); saveInferenceAiDto.setUuid(batchSheet.getUuid()); From 9570e4cbd9978ae7381035898f9ff3bfe4449d4b Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 13 Jan 2026 09:47:31 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[KC-108]=20=EC=B6=94=EB=A1=A0=EC=8B=A4?= =?UTF-8?q?=ED=96=89=20=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../postgres/core/InferenceResultCoreService.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java index 7232e378..24f89f4b 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java @@ -234,7 +234,9 @@ public class InferenceResultCoreService { .orElseThrow(() -> new EntityNotFoundException()); if (request.getType().equals("M1")) { - entity.setM1ModelBatchId(request.getBatchId()); + if (request.getBatchId() != null) { + entity.setM1ModelBatchId(request.getBatchId()); + } if (request.getModelStartDttm() != null) { entity.setM1ModelStartDttm(request.getModelStartDttm()); @@ -245,7 +247,9 @@ public class InferenceResultCoreService { } } else if (request.getType().equals("M2")) { - entity.setM2ModelBatchId(request.getBatchId()); + if (request.getBatchId() != null) { + entity.setM2ModelBatchId(request.getBatchId()); + } if (request.getModelStartDttm() != null) { entity.setM2ModelStartDttm(request.getModelStartDttm()); @@ -256,7 +260,9 @@ public class InferenceResultCoreService { } } else if (request.getType().equals("M3")) { - entity.setM3ModelBatchId(request.getBatchId()); + if (request.getBatchId() != null) { + entity.setM3ModelBatchId(request.getBatchId()); + } if (request.getModelStartDttm() != null) { entity.setM3ModelStartDttm(request.getModelStartDttm()); From ec5861eb4e5888098a3c277104f38542d4b90eee Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 13 Jan 2026 10:16:37 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[KC-108]=20=EB=B0=B0=EC=B9=98=20local?= =?UTF-8?q?=EC=9D=80=20=EC=8B=A4=ED=96=89=EC=95=88=EB=90=98=EA=B2=8C=20?= =?UTF-8?q?=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scheduler/service/MapSheetInferenceJobService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java index 824ab33c..cf4a5db0 100644 --- a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java +++ b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java @@ -53,6 +53,10 @@ public class MapSheetInferenceJobService { @Transactional public void runBatch() { + if ("local".equalsIgnoreCase(profile)) { + return; + } + try { InferenceBatchSheet batchSheet = inferenceResultCoreService.getInferenceResultByStatus(Status.IN_PROGRESS.getId());