추론관리 api 수정, 분석된 도엽 목록 추가

This commit is contained in:
2025-11-28 16:33:20 +09:00
parent 4cb41c92cd
commit 4333350012
15 changed files with 285 additions and 301 deletions

View File

@@ -62,17 +62,19 @@ public class GeometryConversionService {
try {
// 기존 geometry 데이터 확인 - 데이터가 이미 존재하고 유효한 경우 재처리 건너뛰기
List<MapSheetLearnDataGeomEntity> existingGeoms = mapSheetLearnDataGeomRepository.findByDataUid(learnData.getId());
List<MapSheetLearnDataGeomEntity> existingGeoms =
mapSheetLearnDataGeomRepository.findByDataUid(learnData.getId());
if (!existingGeoms.isEmpty() && isValidGeometryData(existingGeoms)) {
log.debug("유효한 geometry 데이터가 이미 존재합니다. 재처리를 건너뜁니다: {}", learnData.getId());
return existingGeoms.stream().map(MapSheetLearnDataGeomEntity::getId).toList();
}
// 유효하지 않은 데이터만 조건부 삭제 (null geometry 또는 잘못된 형식)
if (!existingGeoms.isEmpty()) {
List<MapSheetLearnDataGeomEntity> invalidGeoms = existingGeoms.stream()
.filter(g -> g.getGeom() == null || g.getGeom().isEmpty())
.toList();
List<MapSheetLearnDataGeomEntity> invalidGeoms =
existingGeoms.stream()
.filter(g -> g.getGeom() == null || g.getGeom().isEmpty())
.toList();
if (!invalidGeoms.isEmpty()) {
mapSheetLearnDataGeomRepository.deleteAll(invalidGeoms);
log.debug("유효하지 않은 geometry 데이터만 삭제했습니다: {}개", invalidGeoms.size());
@@ -454,7 +456,7 @@ public class GeometryConversionService {
if (geometryEntities == null || geometryEntities.isEmpty()) {
return false;
}
// 모든 geometry가 null이 아니고 유효한지 확인
return geometryEntities.stream()
.allMatch(entity -> entity.getGeom() != null && !entity.getGeom().isEmpty());