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 a1ed7e9a..268694f0 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 @@ -33,12 +33,14 @@ import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngListCompareDto; import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngListDto; import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.TotalListDto; import com.kamco.cd.kamcoback.model.dto.ModelMngDto.Basic; +import com.kamco.cd.kamcoback.model.dto.ModelMngDto.ModelType; import com.kamco.cd.kamcoback.postgres.core.AuditLogCoreService; import com.kamco.cd.kamcoback.postgres.core.InferenceResultCoreService; import com.kamco.cd.kamcoback.postgres.core.MapSheetMngCoreService; import com.kamco.cd.kamcoback.postgres.core.ModelMngCoreService; import jakarta.validation.constraints.NotNull; import java.nio.file.Path; +import java.nio.file.Paths; import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.Comparator; @@ -396,22 +398,25 @@ public class InferenceResultService { String cdClsModelPath = ""; if (modelInfo.getCdModelPath() != null && modelInfo.getCdModelFileName() != null) { - cdModelPath = modelInfo.getCdModelPath() + "/" + modelInfo.getCdModelFileName(); + cdModelPath = + Paths.get(modelInfo.getCdModelPath(), modelInfo.getCdModelFileName()).toString(); } if (modelInfo.getCdModelConfig() != null && modelInfo.getCdModelConfigFileName() != null) { - cdModelConfigPath = modelInfo.getCdModelConfig() + "/" + modelInfo.getCdModelConfigFileName(); + cdModelConfigPath = + Paths.get(modelInfo.getCdModelConfig(), modelInfo.getCdModelConfigFileName()).toString(); } if (modelInfo.getClsModelPath() != null && modelInfo.getClsModelFileName() != null) { - cdClsModelPath = modelInfo.getClsModelPath() + "/" + modelInfo.getClsModelFileName(); + cdClsModelPath = + Paths.get(modelInfo.getClsModelPath(), modelInfo.getClsModelFileName()).toString(); } String modelType = ""; - if (modelInfo.getModelType().equals("M1")) { + if (modelInfo.getModelType().equals(ModelType.M1.getId())) { modelType = "G1"; - } else if (modelInfo.getModelType().equals("M2")) { + } else if (modelInfo.getModelType().equals(ModelType.M2.getId())) { modelType = "G2"; } else { modelType = "G3"; diff --git a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java index 59cdebec..4a68cfd8 100644 --- a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java +++ b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java @@ -14,14 +14,17 @@ import com.kamco.cd.kamcoback.inference.dto.InferenceSendDto; import com.kamco.cd.kamcoback.postgres.core.InferenceResultCoreService; import com.kamco.cd.kamcoback.scheduler.dto.BatchStatusDto; import com.kamco.cd.kamcoback.scheduler.dto.JobStatusDto; +import java.nio.file.Paths; import java.time.ZonedDateTime; -import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.UUID; +import java.util.stream.Collectors; +import java.util.stream.Stream; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Value; @@ -244,15 +247,16 @@ public class MapSheetInferenceJobService { inferenceResultCoreService.upsertGeomData(sheet.getId()); // 추론 종료일때 shp 파일 생성 - List batchIds = new ArrayList<>(); - batchIds.add(sheet.getM1BatchId()); - batchIds.add(sheet.getM2BatchId()); - batchIds.add(sheet.getM3BatchId()); + List batchIds = + Stream.of(sheet.getM1BatchId(), sheet.getM2BatchId(), sheet.getM3BatchId()) + .filter(Objects::nonNull) + .distinct() + .toList(); - String batchId = sheet.getM1BatchId() + "," + sheet.getM2BatchId() + "," + sheet.getM3BatchId(); + String batchIdStr = batchIds.stream().map(String::valueOf).collect(Collectors.joining(",")); // shp 파일 비동기 생성 - shpPipelineService.runPipeline(jarPath, datasetDir, batchId, sheet.getUid()); + shpPipelineService.runPipeline(jarPath, datasetDir, batchIdStr, sheet.getUid()); } /** @@ -343,11 +347,13 @@ public class MapSheetInferenceJobService { InferenceSendDto m = new InferenceSendDto(); m.setPred_requests_areas(predRequestsAreas); m.setModel_version(progressDto.getModelVersion()); - m.setCd_model_path(progressDto.getCdModelPath() + "/" + progressDto.getCdModelFileName()); + m.setCd_model_path( + Paths.get(progressDto.getCdModelPath(), progressDto.getCdModelFileName()).toString()); m.setCd_model_config( - progressDto.getCdModelConfigPath() + "/" + progressDto.getCdModelConfigFileName()); + Paths.get(progressDto.getCdModelConfigPath(), progressDto.getCdModelConfigFileName()) + .toString()); m.setCls_model_path( - progressDto.getCdModelClsPath() + "/" + progressDto.getCdModelClsFileName()); + Paths.get(progressDto.getCdModelClsPath(), progressDto.getCdModelClsFileName()).toString()); m.setCls_model_version(progressDto.getClsModelVersion()); m.setCd_model_type(inferenceType); m.setPriority(progressDto.getPriority());