From b9f7e36175ba862cb030cd35c4ccc4c613d9d7a5 Mon Sep 17 00:00:00 2001 From: teddy Date: Fri, 6 Mar 2026 12:43:36 +0900 Subject: [PATCH] =?UTF-8?q?inference=5Fresults=20=EA=B2=B0=EA=B3=BC=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5=20=EC=A4=91=EB=B3=B5=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../postgres/core/InferenceResultShpCoreService.java | 9 +++++++++ .../Inference/InferenceResultRepositoryCustom.java | 9 +++++++++ .../Inference/InferenceResultRepositoryImpl.java | 12 ++++++++++++ 3 files changed, 30 insertions(+) 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 ef6f8541..fc48c58e 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 @@ -1,9 +1,12 @@ package com.kamco.cd.kamcoback.postgres.core; +import com.kamco.cd.kamcoback.common.exception.CustomApiException; import com.kamco.cd.kamcoback.inference.dto.InferenceResultShpDto; +import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalInferenceEntity; import com.kamco.cd.kamcoback.postgres.repository.Inference.InferenceResultRepository; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +27,12 @@ public class InferenceResultShpCoreService { @Transactional public InferenceResultShpDto.InferenceCntDto buildInferenceData(Long id) { + MapSheetAnalInferenceEntity analInferenceEntity = + repo.getAnalInferenceDataByLearnId(id).orElse(null); + if (analInferenceEntity != null) { + throw new CustomApiException("CONFLICT", HttpStatus.CONFLICT); + } + Long analId = repo.upsertGroupsFromMapSheetAnal(id); int analDataCnt = repo.upsertGroupsFromInferenceResults(analId); int geomCnt = repo.upsertGeomsFromInferenceResults(analId); 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 37f83d61..b559a630 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 @@ -1,5 +1,6 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference; +import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalInferenceEntity; import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnEntity; import java.util.Optional; import java.util.UUID; @@ -53,4 +54,12 @@ public interface InferenceResultRepositoryCustom { * @return 추론 정보 */ Optional getInferenceUid(UUID uuid); + + /** + * learn id 로 analInference 값 조회 + * + * @param id 추론 id + * @return + */ + Optional getAnalInferenceDataByLearnId(Long id); } 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 d4948c5d..bbe1a0a5 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 @@ -1,8 +1,10 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference; +import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalInferenceEntity.mapSheetAnalInferenceEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity.mapSheetLearnEntity; import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelMngState; +import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalInferenceEntity; import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnEntity; import com.querydsl.jpa.impl.JPAQueryFactory; import jakarta.persistence.EntityManager; @@ -334,4 +336,14 @@ public class InferenceResultRepositoryImpl implements InferenceResultRepositoryC .where(mapSheetLearnEntity.uuid.eq(uuid)) .fetchOne()); } + + @Override + public Optional getAnalInferenceDataByLearnId(Long id) { + return Optional.ofNullable( + queryFactory + .select(mapSheetAnalInferenceEntity) + .from(mapSheetAnalInferenceEntity) + .where(mapSheetAnalInferenceEntity.learnId.eq(id)) + .fetchOne()); + } }