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 aea7bcbf..396cf83a 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 @@ -108,7 +108,7 @@ public class InferenceResultCoreService { mapSheetLearnEntity.setMapSheetCnt(mapSheetName); mapSheetLearnEntity.setDetectingCnt((long) detectingCnt); mapSheetLearnEntity.setStage( - mapSheetLearnRepository.getLearnStage(req.getCompareYyyy(), req.getTargetYyyy())); + mapSheetLearnRepository.getLearnStage(req.getCompareYyyy(), req.getTargetYyyy())); // learn 테이블 저장 MapSheetLearnEntity savedLearn = mapSheetLearnRepository.save(mapSheetLearnEntity); @@ -170,9 +170,9 @@ public class InferenceResultCoreService { */ public InferenceDetailDto.AnalResSummary getInferenceResultSummary(Long id) { InferenceDetailDto.AnalResSummary summary = - mapSheetAnalDataRepository - .getInferenceResultSummary(id) - .orElseThrow(() -> new EntityNotFoundException("요약정보를 찾을 수 없습니다. " + id)); + mapSheetAnalDataRepository + .getInferenceResultSummary(id) + .orElseThrow(() -> new EntityNotFoundException("요약정보를 찾을 수 없습니다. " + id)); return summary; } @@ -193,7 +193,7 @@ public class InferenceResultCoreService { * @return */ public Page getInferenceResultGeomList( - Long id, InferenceDetailDto.SearchGeoReq searchGeoReq) { + Long id, InferenceDetailDto.SearchGeoReq searchGeoReq) { return mapSheetAnalDataRepository.getInferenceGeomList(id, searchGeoReq); } @@ -205,16 +205,16 @@ public class InferenceResultCoreService { */ @Transactional(readOnly = true) public Page listInferenceResultWithGeom( - @NotNull Long analyId, InferenceDetailDto.SearchGeoReq searchReq) { + @NotNull Long analyId, InferenceDetailDto.SearchGeoReq searchReq) { // 분석 ID 에 해당하는 dataids를 가져온다. List dataIds = - mapSheetAnalDataRepository.listAnalyGeom(analyId).stream() - .mapToLong(MapSheetAnalDataInferenceEntity::getId) - .boxed() - .toList(); + mapSheetAnalDataRepository.listAnalyGeom(analyId).stream() + .mapToLong(MapSheetAnalDataInferenceEntity::getId) + .boxed() + .toList(); // 해당데이터의 폴리곤데이터를 가져온다 Page mapSheetAnalDataGeomEntities = - mapSheetAnalDataRepository.listInferenceResultWithGeom(dataIds, searchReq); + mapSheetAnalDataRepository.listInferenceResultWithGeom(dataIds, searchReq); return mapSheetAnalDataGeomEntities.map(MapSheetAnalDataInferenceGeomEntity::toEntity); } @@ -231,14 +231,14 @@ public class InferenceResultCoreService { @Transactional(readOnly = true) public List listGetScenes5k(Long analyId) { List sceneCodes = - mapSheetAnalDataRepository.listAnalyGeom(analyId).stream() - .mapToLong(MapSheetAnalDataInferenceEntity::getMapSheetNum) - .mapToObj(String::valueOf) - .toList(); + mapSheetAnalDataRepository.listAnalyGeom(analyId).stream() + .mapToLong(MapSheetAnalDataInferenceEntity::getMapSheetNum) + .mapToObj(String::valueOf) + .toList(); return mapInkx5kRepository.listGetScenes5k(sceneCodes).stream() - .map(MapInkx5kEntity::toEntity) - .toList(); + .map(MapInkx5kEntity::toEntity) + .toList(); } /** @@ -246,11 +246,12 @@ public class InferenceResultCoreService { * * @param request 추론 실행 정보 */ + @Transactional public void update(SaveInferenceAiDto request) { MapSheetLearnEntity entity = - mapSheetLearnRepository - .getInferenceResultByUuid(request.getUuid()) - .orElseThrow(EntityNotFoundException::new); + mapSheetLearnRepository + .getInferenceResultByUuid(request.getUuid()) + .orElseThrow(EntityNotFoundException::new); // M1/M2/M3 영역 업데이트 if (request.getType() != null) { @@ -272,49 +273,46 @@ public class InferenceResultCoreService { private void applyModelUpdate(MapSheetLearnEntity entity, SaveInferenceAiDto request) { switch (request.getType()) { - case "M1" -> - applyModelFields( - request, - entity::setM1ModelBatchId, - entity::setM1ModelStartDttm, - entity::setM1ModelEndDttm, - entity::setM1PendingJobs, - entity::setM1RunningJobs, - entity::setM1CompletedJobs, - entity::setM1FailedJobs); - case "M2" -> - applyModelFields( - request, - entity::setM2ModelBatchId, - entity::setM2ModelStartDttm, - entity::setM2ModelEndDttm, - entity::setM2PendingJobs, - entity::setM2RunningJobs, - entity::setM2CompletedJobs, - entity::setM2FailedJobs); - case "M3" -> - applyModelFields( - request, - entity::setM3ModelBatchId, - entity::setM3ModelStartDttm, - entity::setM3ModelEndDttm, - entity::setM3PendingJobs, - entity::setM3RunningJobs, - entity::setM3CompletedJobs, - entity::setM3FailedJobs); + case "M1" -> applyModelFields( + request, + entity::setM1ModelBatchId, + entity::setM1ModelStartDttm, + entity::setM1ModelEndDttm, + entity::setM1PendingJobs, + entity::setM1RunningJobs, + entity::setM1CompletedJobs, + entity::setM1FailedJobs); + case "M2" -> applyModelFields( + request, + entity::setM2ModelBatchId, + entity::setM2ModelStartDttm, + entity::setM2ModelEndDttm, + entity::setM2PendingJobs, + entity::setM2RunningJobs, + entity::setM2CompletedJobs, + entity::setM2FailedJobs); + case "M3" -> applyModelFields( + request, + entity::setM3ModelBatchId, + entity::setM3ModelStartDttm, + entity::setM3ModelEndDttm, + entity::setM3PendingJobs, + entity::setM3RunningJobs, + entity::setM3CompletedJobs, + entity::setM3FailedJobs); default -> throw new IllegalArgumentException("Unknown type: " + request.getType()); } } private void applyModelFields( - SaveInferenceAiDto request, - Consumer setBatchId, - Consumer setStart, - Consumer setEnd, - Consumer setPending, - Consumer setRunning, - Consumer setCompleted, - Consumer setFailed) { + SaveInferenceAiDto request, + Consumer setBatchId, + Consumer setStart, + Consumer setEnd, + Consumer setPending, + Consumer setRunning, + Consumer setCompleted, + Consumer setFailed) { applyIfNotNull(request.getBatchId(), setBatchId); applyIfNotNull(request.getModelStartDttm(), setStart); applyIfNotNull(request.getModelEndDttm(), setEnd); @@ -341,7 +339,7 @@ public class InferenceResultCoreService { public InferenceBatchSheet getInferenceResultByStatus(String status) { MapSheetLearnEntity entity = - mapSheetLearnRepository.getInferenceResultByStatus(status).orElse(null); + mapSheetLearnRepository.getInferenceResultByStatus(status).orElse(null); if (entity == null) { return null; @@ -420,6 +418,7 @@ public class InferenceResultCoreService { * * @param id learn 테이블 id */ + @Transactional public void upsertGeomData(Long id) { Long analId = inferenceResultRepository.upsertGroupsFromMapSheetAnal(id); inferenceResultRepository.upsertGroupsFromInferenceResults(analId); @@ -430,10 +429,11 @@ public class InferenceResultCoreService { /** * 모델별 도엽별 실패여부 저장 * - * @param uuid learn 테이블 uuid + * @param uuid learn 테이블 uuid * @param failMapIds 실패한 도엽 목록 - * @param type 모델타입 + * @param type 모델타입 */ + @Transactional public void saveFail5k(UUID uuid, List failMapIds, String type) { mapSheetLearn5kRepository.saveFail5k(uuid, failMapIds, type); }