From 8fb9f89c8fc1ebf5b3ae4445e58b87494213befc Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Fri, 27 Feb 2026 22:15:31 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B5=AD=EC=9C=A0=EC=9D=B8=20=EC=8B=A4?= =?UTF-8?q?=ED=83=9C=EC=A1=B0=EC=82=AC=20=EC=A0=81=ED=95=A9=EC=97=AC?= =?UTF-8?q?=EB=B6=80=20=EC=9E=84=EC=9D=98=EB=A1=9C=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gukyuin/service/GukYuinApiService.java | 4 ++ .../postgres/core/GukYuinCoreService.java | 4 ++ .../gukyuin/GukYuinRepositoryCustom.java | 2 + .../gukyuin/GukYuinRepositoryImpl.java | 38 +++++++++++++++++++ .../scheduler/SchedulerApiController.java | 7 ++++ 5 files changed, 55 insertions(+) diff --git a/src/main/java/com/kamco/cd/kamcoback/gukyuin/service/GukYuinApiService.java b/src/main/java/com/kamco/cd/kamcoback/gukyuin/service/GukYuinApiService.java index b86ba131..92c21076 100644 --- a/src/main/java/com/kamco/cd/kamcoback/gukyuin/service/GukYuinApiService.java +++ b/src/main/java/com/kamco/cd/kamcoback/gukyuin/service/GukYuinApiService.java @@ -638,4 +638,8 @@ public class GukYuinApiService { public List findStbltObjectIds(String uid, String mapSheetNum) { return gukyuinCoreService.findStbltObjectIds(uid, mapSheetNum); } + + public Integer updateStbltRandomData(String uid, int updateCnt) { + return gukyuinCoreService.updateStbltRandomData(uid, updateCnt); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/GukYuinCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/GukYuinCoreService.java index 508c13f1..31e535a4 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/GukYuinCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/GukYuinCoreService.java @@ -81,4 +81,8 @@ public class GukYuinCoreService { public List findStbltObjectIds(String uid, String mapSheetNum) { return gukYuinRepository.findStbltObjectIds(uid, mapSheetNum); } + + public Integer updateStbltRandomData(String uid, int updateCnt) { + return gukYuinRepository.updateStbltRandomData(uid, updateCnt); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinRepositoryCustom.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinRepositoryCustom.java index 6193af06..b7edba37 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinRepositoryCustom.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinRepositoryCustom.java @@ -47,4 +47,6 @@ public interface GukYuinRepositoryCustom { void updateMapSheetInferenceLabelEndStatus(Long learnId); List findStbltObjectIds(String uid, String mapSheetNum); + + Integer updateStbltRandomData(String uid, int updateCnt); } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinRepositoryImpl.java index cfb61563..7ce9adbe 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinRepositoryImpl.java @@ -336,6 +336,44 @@ public class GukYuinRepositoryImpl implements GukYuinRepositoryCustom { .fetch(); } + /** + * mapSheetAnalDataInferenceGeomEntity 데이터 에 실태조사 값 들어온 것으로 간주하고 update 랜덤으로 하기 + * + * @param uid + * @param updateCnt + * @return + */ + @Override + public Integer updateStbltRandomData(String uid, int updateCnt) { + List geoUids = + queryFactory + .select(mapSheetAnalDataInferenceGeomEntity.geoUid) + .from(mapSheetLearnEntity) + .innerJoin(mapSheetAnalInferenceEntity) + .on(mapSheetLearnEntity.id.eq(mapSheetAnalInferenceEntity.learnId)) + .innerJoin(mapSheetAnalDataInferenceEntity) + .on(mapSheetAnalInferenceEntity.id.eq(mapSheetAnalDataInferenceEntity.analUid)) + .innerJoin(mapSheetAnalDataInferenceGeomEntity) + .on( + mapSheetAnalDataInferenceEntity.id.eq(mapSheetAnalDataInferenceGeomEntity.dataUid), + mapSheetAnalDataInferenceGeomEntity.fitState.isNull()) + .where(mapSheetLearnEntity.uid.eq(uid)) + .orderBy(mapSheetAnalDataInferenceGeomEntity.geoUid.asc()) + .limit(updateCnt) + .fetch(); + + for (Long geoUid : geoUids) { + queryFactory + .update(mapSheetAnalDataInferenceGeomEntity) + .set(mapSheetAnalDataInferenceGeomEntity.pnu, 1L) + .set(mapSheetAnalDataInferenceGeomEntity.fitState, "Y") + .set(mapSheetAnalDataInferenceGeomEntity.fitStateDttm, ZonedDateTime.now()) + .where(mapSheetAnalDataInferenceGeomEntity.geoUid.eq(geoUid)) + .execute(); + } + return updateCnt; + } + @Override @Transactional public void updateGukYuinApplyStateComplete(Long id, GukYuinStatus status) { diff --git a/src/main/java/com/kamco/cd/kamcoback/scheduler/SchedulerApiController.java b/src/main/java/com/kamco/cd/kamcoback/scheduler/SchedulerApiController.java index 0e9515d3..2513413c 100644 --- a/src/main/java/com/kamco/cd/kamcoback/scheduler/SchedulerApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/scheduler/SchedulerApiController.java @@ -175,4 +175,11 @@ public class SchedulerApiController { inferenceResultShpService.createShp(uuid); return ApiResponseDto.createOK(null); } + + @Operation(summary = "국유인 실태조사 적합여부 랜덤 업데이트", description = "국유인 실태조사 적합여부 랜덤 업데이트") + @PutMapping("/gukyuin/random-stblt-update/{uid}/{updateCnt}") + public ApiResponseDto updateStbltRandomData( + @PathVariable String uid, @PathVariable int updateCnt) { + return ApiResponseDto.ok(gukYuinApiService.updateStbltRandomData(uid, updateCnt)); + } }