From 65bac54db5bf5751e85fea54e652bd532e7e5061 Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 13 Jan 2026 15:12:26 +0900 Subject: [PATCH] =?UTF-8?q?[KC-103]=20=EC=B6=94=EB=A1=A0=20=EC=8B=A4?= =?UTF-8?q?=ED=96=89=20=EB=B0=B0=EC=B9=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/InferenceResultCoreService.java | 72 ++++++++++--------- .../service/MapSheetInferenceJobService.java | 32 +++++---- 2 files changed, 55 insertions(+), 49 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 5b1745e4..f4515641 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 @@ -233,44 +233,52 @@ public class InferenceResultCoreService { .getInferenceResultByUuid(request.getUuid()) .orElseThrow(() -> new EntityNotFoundException()); - if (request.getType().equals("M1")) { - if (request.getBatchId() != null) { - entity.setM1ModelBatchId(request.getBatchId()); - } + if (request.getType() != null) { + switch (request.getType()) { + case "M1" -> { + if (request.getBatchId() != null) { + entity.setM1ModelBatchId(request.getBatchId()); + } - if (request.getModelStartDttm() != null) { - entity.setM1ModelStartDttm(request.getModelStartDttm()); - } + if (request.getModelStartDttm() != null) { + entity.setM1ModelStartDttm(request.getModelStartDttm()); + } - if (request.getModelEndDttm() != null) { - entity.setM1ModelEndDttm(request.getModelEndDttm()); - } + if (request.getModelEndDttm() != null) { + entity.setM1ModelEndDttm(request.getModelEndDttm()); + } + } + case "M2" -> { + if (request.getBatchId() != null) { + entity.setM2ModelBatchId(request.getBatchId()); + } - } else if (request.getType().equals("M2")) { - if (request.getBatchId() != null) { - entity.setM2ModelBatchId(request.getBatchId()); - } + if (request.getModelStartDttm() != null) { + entity.setM2ModelStartDttm(request.getModelStartDttm()); + } - if (request.getModelStartDttm() != null) { - entity.setM2ModelStartDttm(request.getModelStartDttm()); - } + if (request.getModelEndDttm() != null) { + entity.setM2ModelEndDttm(request.getModelEndDttm()); + } + } + case "M3" -> { + if (request.getBatchId() != null) { + entity.setM3ModelBatchId(request.getBatchId()); + } - if (request.getModelEndDttm() != null) { - entity.setM2ModelEndDttm(request.getModelEndDttm()); - } + if (request.getModelStartDttm() != null) { + entity.setM3ModelStartDttm(request.getModelStartDttm()); + } - } else if (request.getType().equals("M3")) { - if (request.getBatchId() != null) { - entity.setM3ModelBatchId(request.getBatchId()); + if (request.getModelEndDttm() != null) { + entity.setM3ModelEndDttm(request.getModelEndDttm()); + } + } } + } - if (request.getModelStartDttm() != null) { - entity.setM3ModelStartDttm(request.getModelStartDttm()); - } - - if (request.getModelEndDttm() != null) { - entity.setM3ModelEndDttm(request.getModelEndDttm()); - } + if (request.getRunningModelType() != null) { + entity.setRunningModelType(request.getRunningModelType()); } if (request.getInferStartDttm() != null) { @@ -293,10 +301,6 @@ public class InferenceResultCoreService { entity.setDetectEndCnt(request.getDetectEndCnt()); } - if (request.getType() != null) { - entity.setRunningModelType(request.getType()); - } - if (request.getStatus() != null) { entity.setStatus(request.getStatus()); } 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 db8d41f1..93a119d4 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 @@ -48,7 +48,9 @@ public class MapSheetInferenceJobService { @Value("${inference.url}") private String inferenceUrl; - /** 추론 진행 배치 1분 */ + /** + * 추론 진행 배치 1분 + */ @Scheduled(fixedDelay = 60_000) @Transactional public void runBatch() { @@ -59,7 +61,7 @@ public class MapSheetInferenceJobService { try { InferenceBatchSheet batchSheet = - inferenceResultCoreService.getInferenceResultByStatus(Status.IN_PROGRESS.getId()); + inferenceResultCoreService.getInferenceResultByStatus(Status.IN_PROGRESS.getId()); if (batchSheet == null) { return; @@ -86,7 +88,7 @@ public class MapSheetInferenceJobService { String url = batchUrl + "/" + batchId; ExternalCallResult result = - externalHttpClient.call(url, HttpMethod.GET, null, headers, String.class); + externalHttpClient.call(url, HttpMethod.GET, null, headers, String.class); int status = result.statusCode(); if (status < 200 || status >= 300) { @@ -109,13 +111,13 @@ public class MapSheetInferenceJobService { if (type.equals("M1")) { // M1 완료되었으면 M2 실행 this.startInference( - batchSheet.getId(), batchSheet.getUuid(), "M2", batchSheet.getM2ModelUuid()); + batchSheet.getId(), batchSheet.getUuid(), "M2", batchSheet.getM2ModelUuid()); // 종료시간 this.updateProcessingEndTimeByModel(batchSheet.getUuid(), ZonedDateTime.now(), "M1"); } else if (type.equals("M2")) { // M2 완료되었으면 M3 실행 this.startInference( - batchSheet.getId(), batchSheet.getUuid(), "M3", batchSheet.getM3ModelUuid()); + batchSheet.getId(), batchSheet.getUuid(), "M3", batchSheet.getM3ModelUuid()); // 종료시간 this.updateProcessingEndTimeByModel(batchSheet.getUuid(), ZonedDateTime.now(), "M2"); } else if (type.equals("M3")) { @@ -134,7 +136,6 @@ public class MapSheetInferenceJobService { saveInferenceAiDto.setUuid(batchSheet.getUuid()); saveInferenceAiDto.setStatus(Status.IN_PROGRESS.getId()); saveInferenceAiDto.setDetectEndCnt((long) (completedJobs + failedJobs)); - saveInferenceAiDto.setType(batchSheet.getRunningModelType()); inferenceResultCoreService.update(saveInferenceAiDto); } @@ -147,7 +148,7 @@ public class MapSheetInferenceJobService { private void startInference(Long id, UUID uuid, String type, UUID modelUuid) { InferenceProgressDto progressDto = - inferenceResultCoreService.getInferenceAiResultById(id, type, modelUuid); + inferenceResultCoreService.getInferenceAiResultById(id, type, modelUuid); String inferenceType = ""; @@ -163,20 +164,20 @@ public class MapSheetInferenceJobService { predRequestsAreas.setInput1_year(progressDto.getPred_requests_areas().getInput1_year()); predRequestsAreas.setInput2_year(progressDto.getPred_requests_areas().getInput2_year()); predRequestsAreas.setInput1_scene_path( - progressDto.getPred_requests_areas().getInput1_scene_path()); + progressDto.getPred_requests_areas().getInput1_scene_path()); predRequestsAreas.setInput2_scene_path( - progressDto.getPred_requests_areas().getInput2_scene_path()); + progressDto.getPred_requests_areas().getInput2_scene_path()); InferenceSendDto m = new InferenceSendDto(); m.setPred_requests_areas(predRequestsAreas); m.setModel_version(progressDto.getModelVersion()); m.setCd_model_path(progressDto.getCdModelPath() + "/" + progressDto.getCdModelFileName()); m.setCd_model_config( - progressDto.getCdModelConfigPath() + "/" + progressDto.getCdModelConfigFileName()); + progressDto.getCdModelConfigPath() + "/" + progressDto.getCdModelConfigFileName()); m.setCls_model_path( - progressDto.getCdModelClsPath() + "/" + progressDto.getCdModelClsFileName()); + progressDto.getCdModelClsPath() + "/" + progressDto.getCdModelClsFileName()); m.setCls_model_version(progressDto.getClsModelVersion()); - m.setCd_model_type(type); + m.setCd_model_type(inferenceType); m.setPriority(progressDto.getPriority()); // 추론 다음모델 실행 @@ -188,7 +189,7 @@ public class MapSheetInferenceJobService { saveInferenceAiDto.setStatus(Status.IN_PROGRESS.getId()); saveInferenceAiDto.setType(type); saveInferenceAiDto.setModelStartDttm(ZonedDateTime.now()); - saveInferenceAiDto.setRunningModelType(inferenceType); + saveInferenceAiDto.setRunningModelType(type); inferenceResultCoreService.update(saveInferenceAiDto); } @@ -216,7 +217,7 @@ public class MapSheetInferenceJobService { } ExternalCallResult result = - externalHttpClient.call(inferenceUrl, HttpMethod.POST, dto, headers, String.class); + externalHttpClient.call(inferenceUrl, HttpMethod.POST, dto, headers, String.class); int status = result.statusCode(); String body = result.body(); @@ -229,7 +230,8 @@ public class MapSheetInferenceJobService { try { List> list = - om.readValue(body, new TypeReference>>() {}); + om.readValue(body, new TypeReference>>() { + }); Integer batchIdInt = (Integer) list.get(0).get("batch_id"); batchId = batchIdInt.longValue();