From 71de307ad7db240380fb8669b20e6e8dede6fd5b Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 20 Jan 2026 11:21:49 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B6=94=EB=A1=A0=EC=A7=84=ED=96=89=20?= =?UTF-8?q?=EB=8F=84=EC=97=BD=20=EB=AA=A9=EB=A1=9D=20api=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InferenceResultApiController.java | 20 ++++++++++++++++ .../service/InferenceResultService.java | 10 ++++++++ .../core/InferenceResultCoreService.java | 10 ++++++++ .../MapSheetLearn5kRepositoryCustom.java | 2 ++ .../MapSheetLearn5kRepositoryImpl.java | 23 +++++++++++++++++++ 5 files changed, 65 insertions(+) diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java index 5ffd1496..e607e403 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java @@ -490,4 +490,24 @@ public class InferenceResultApiController { return ApiResponseDto.ok(inferenceResultService.getDownloadAudit(searchReq, downloadReq)); } + + @Operation(summary = "추론 실행중인 도엽 목록", description = "추론관리 실행중인 도엽명 5k 목록") + @ApiResponses({ + @ApiResponse( + responseCode = "200", + description = "검색 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ApiResponseDto.class))), + @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) + @GetMapping(value = "/running-map/{uuid}") + public ApiResponseDto> getInferenceRunMapName( + @Parameter(description = "uuid", example = "9d213416-0e9e-429a-b037-070e6a29946e") + @PathVariable + UUID uuid) { + return ApiResponseDto.ok(inferenceResultService.getInferenceRunMapId(uuid)); + } } 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 356242aa..29807785 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 @@ -595,4 +595,14 @@ public class InferenceResultService { AuditLogDto.searchReq searchReq, DownloadReq downloadReq) { return auditLogCoreService.findLogByAccount(searchReq, downloadReq); } + + /** + * 실행중인 추론 도엽명 목록 + * + * @param uuid uuid + * @return + */ + public List getInferenceRunMapId(UUID uuid) { + return inferenceResultCoreService.getInferenceRunMapId(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 a788bea1..db1dbf79 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 @@ -476,4 +476,14 @@ public class InferenceResultCoreService { dto.setUid(entity.getUid()); return dto; } + + /** + * 실행중인 추론 도엽명 목록 + * + * @param uuid 추론 실행중인 uuid + * @return + */ + public List getInferenceRunMapId(UUID uuid) { + return mapSheetLearn5kRepository.getInferenceRunMapId(uuid); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearn5kRepositoryCustom.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearn5kRepositoryCustom.java index c3783621..2b17132a 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearn5kRepositoryCustom.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearn5kRepositoryCustom.java @@ -6,4 +6,6 @@ import java.util.UUID; public interface MapSheetLearn5kRepositoryCustom { void saveFail5k(UUID uuid, List failMapIds, String type); + + List getInferenceRunMapId(UUID uuid); } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearn5kRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearn5kRepositoryImpl.java index 437abf06..665a7979 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearn5kRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearn5kRepositoryImpl.java @@ -1,9 +1,11 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference; +import static com.kamco.cd.kamcoback.postgres.entity.QMapInkx5kEntity.mapInkx5kEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearn5kEntity.mapSheetLearn5kEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity.mapSheetLearnEntity; import com.querydsl.core.types.dsl.BooleanPath; +import com.querydsl.core.types.dsl.Expressions; import com.querydsl.jpa.impl.JPAQueryFactory; import java.util.List; import java.util.UUID; @@ -59,4 +61,25 @@ public class MapSheetLearn5kRepositoryImpl implements MapSheetLearn5kRepositoryC .and(mapSheetLearn5kEntity.mapSheetNum.in(failMapIds))) .execute(); } + + @Override + public List getInferenceRunMapId(UUID uuid) { + return queryFactory + .select(mapInkx5kEntity.mapidNm) + .from(mapSheetLearnEntity) + .innerJoin(mapSheetLearn5kEntity) + .on(mapSheetLearn5kEntity.learn.id.eq(mapSheetLearnEntity.id)) + .innerJoin(mapInkx5kEntity) + .on( + Expressions.booleanTemplate( + "function('regexp_match', {0}, '^[0-9]+$') is not null", + mapInkx5kEntity.mapidcdNo) + .and( + mapSheetLearn5kEntity.mapSheetNum.eq( + Expressions.numberTemplate( + Long.class, "cast({0} as long)", mapInkx5kEntity.mapidcdNo)))) + .where(mapSheetLearnEntity.uuid.eq(uuid)) + .groupBy(mapInkx5kEntity.mapidNm) + .fetch(); + } }