From e95bea7d29528d738373dc7720c2ee7f28066705 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Tue, 24 Feb 2026 18:21:00 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=81=EC=83=81=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EC=9E=90=EB=8F=99=EC=B6=94=EB=A1=A0=EC=A0=9C=EC=99=B8=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/MapSheetMngFileJobCoreService.java | 8 +++++++ .../MapSheetMngFileJobRepositoryCustom.java | 4 ++++ .../MapSheetMngFileJobRepositoryImpl.java | 22 +++++++++++++++++++ .../service/MapSheetMngFileJobService.java | 13 +++++++++-- 4 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.java index 6f0287e3..0685a03c 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.java @@ -85,4 +85,12 @@ public class MapSheetMngFileJobCoreService { public YearMinMax findYearMinMaxInfo() { return mapSheetMngYearRepository.findYearMinMaxInfo(); } + + public Long findMngYyyyCnt(Integer mngYyyy) { + return mapSheetMngFileJobRepository.findMngYyyyCnt(mngYyyy); + } + + public Long findMapSheetUseExceptCnt(String mapSheetNum) { + return mapSheetMngFileJobRepository.findMapSheetUseExceptCnt(mapSheetNum); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/MapSheetMngFileJobRepositoryCustom.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/MapSheetMngFileJobRepositoryCustom.java index ed5dc9fc..98958a0f 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/MapSheetMngFileJobRepositoryCustom.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/MapSheetMngFileJobRepositoryCustom.java @@ -24,4 +24,8 @@ public interface MapSheetMngFileJobRepositoryCustom { int mngYyyy, int strtYyyy, int endYyyy, String mapSheetNum); public void updateException5kMapSheet(String mapSheetNum, CommonUseStatus commonUseStatus); + + Long findMngYyyyCnt(Integer mngYyyy); + + Long findMapSheetUseExceptCnt(String mapSheetNum); } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/MapSheetMngFileJobRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/MapSheetMngFileJobRepositoryImpl.java index fe640620..00987dee 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/MapSheetMngFileJobRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/scheduler/MapSheetMngFileJobRepositoryImpl.java @@ -267,4 +267,26 @@ public class MapSheetMngFileJobRepositoryImpl extends QuerydslRepositorySupport .where(mapInkx5kEntity.mapidcdNo.eq(mapSheetNum)) .execute(); } + + @Override + public Long findMngYyyyCnt(Integer mngYyyy) { + return queryFactory + .select(mapSheetMngEntity.mngYyyy.count()) + .from(mapSheetMngEntity) + .where(mapSheetMngEntity.mngYyyy.ne(mngYyyy)) + .fetchOne(); + } + + @Override + public Long findMapSheetUseExceptCnt(String mapSheetNum) { + return queryFactory + .select( + new CaseBuilder() + .when(mapInkx5kEntity.useInference.eq(CommonUseStatus.USE)) + .then(1L) + .otherwise(0L)) + .from(mapInkx5kEntity) + .where(mapInkx5kEntity.mapidcdNo.eq(mapSheetNum)) + .fetchOne(); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetMngFileJobService.java b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetMngFileJobService.java index 6d504b38..ddc99684 100644 --- a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetMngFileJobService.java +++ b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetMngFileJobService.java @@ -64,9 +64,18 @@ public class MapSheetMngFileJobService { for (MngHstDto item : mapSheetFileNotYetList) { + // mng_yyyy 가 완전 최초로 등록되는 것인지 확인 + Long mngCnt = mapSheetMngFileJobCoreService.findMngYyyyCnt(item.getMngYyyy()); + // 5K도엽 자동추론제외 - Long exceptCheckCnt = - this.mapSheetAutoExceptionUpdate(item.getMngYyyy(), item.getMapSheetNum()); + Long exceptCheckCnt = 0L; + + if (mngCnt == 0) { // 최초 등록이면 도엽의 추론제외여부를 확인 + exceptCheckCnt = + mapSheetMngFileJobCoreService.findMapSheetUseExceptCnt(item.getMapSheetNum()); + } else { // 등록된 영상 년도가 있으면 자동추론제외 확인 + exceptCheckCnt = this.mapSheetAutoExceptionUpdate(item.getMngYyyy(), item.getMapSheetNum()); + } // 도엽별 파일 체크 진행중으로 변경 item.setDataState("PROCESSING");