Detail 다중조회, ploygon 다중저장 수정
This commit is contained in:
@@ -638,6 +638,16 @@ public class TrainingDataLabelRepositoryImpl extends QuerydslRepositorySupport
|
||||
+ " new polygon(s) for mapSheetNum: "
|
||||
+ request.getMapSheetNum());
|
||||
|
||||
// mapSheetNum을 Long으로 변환
|
||||
Long mapSheetNumLong = null;
|
||||
try {
|
||||
if (request.getMapSheetNum() != null && !request.getMapSheetNum().isEmpty()) {
|
||||
mapSheetNumLong = Long.parseLong(request.getMapSheetNum());
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
System.err.println("Invalid mapSheetNum format: " + request.getMapSheetNum());
|
||||
}
|
||||
|
||||
int savedCount = 0;
|
||||
for (TrainingDataLabelDto.NewPolygonRequest.PolygonFeature feature : request.getFeatures()) {
|
||||
try {
|
||||
@@ -650,6 +660,8 @@ public class TrainingDataLabelRepositoryImpl extends QuerydslRepositorySupport
|
||||
mapSheetAnalDataInferenceGeomEntity.targetYyyy,
|
||||
mapSheetAnalDataInferenceGeomEntity.classBeforeCd,
|
||||
mapSheetAnalDataInferenceGeomEntity.classAfterCd,
|
||||
mapSheetAnalDataInferenceGeomEntity.dataUid,
|
||||
mapSheetAnalDataInferenceGeomEntity.mapSheetNum,
|
||||
mapSheetAnalDataInferenceGeomEntity.createdDttm,
|
||||
mapSheetAnalDataInferenceGeomEntity.updatedDttm,
|
||||
mapSheetAnalDataInferenceGeomEntity.labelState)
|
||||
@@ -659,20 +671,25 @@ public class TrainingDataLabelRepositoryImpl extends QuerydslRepositorySupport
|
||||
request.getTargetYyyy(),
|
||||
feature.getProperties().getBeforeClass().toLowerCase(),
|
||||
feature.getProperties().getAfterClass().toLowerCase(),
|
||||
request.getAnalUid(),
|
||||
mapSheetNumLong,
|
||||
ZonedDateTime.now(),
|
||||
ZonedDateTime.now(),
|
||||
"DONE")
|
||||
.execute();
|
||||
|
||||
// 2. 생성된 geoUid 조회
|
||||
// 2. 생성된 geoUid 조회 (가장 최근에 삽입된 레코드)
|
||||
Long geoUid =
|
||||
queryFactory
|
||||
.select(mapSheetAnalDataInferenceGeomEntity.geoUid)
|
||||
.from(mapSheetAnalDataInferenceGeomEntity)
|
||||
.where(
|
||||
mapSheetAnalDataInferenceGeomEntity.geom.eq(feature.getGeometry()),
|
||||
mapSheetAnalDataInferenceGeomEntity.compareYyyy.eq(request.getCompareYyyy()),
|
||||
mapSheetAnalDataInferenceGeomEntity.targetYyyy.eq(request.getTargetYyyy()))
|
||||
mapSheetAnalDataInferenceGeomEntity.targetYyyy.eq(request.getTargetYyyy()),
|
||||
mapSheetAnalDataInferenceGeomEntity.classBeforeCd.eq(
|
||||
feature.getProperties().getBeforeClass().toLowerCase()),
|
||||
mapSheetAnalDataInferenceGeomEntity.classAfterCd.eq(
|
||||
feature.getProperties().getAfterClass().toLowerCase()))
|
||||
.orderBy(mapSheetAnalDataInferenceGeomEntity.geoUid.desc())
|
||||
.fetchFirst();
|
||||
|
||||
@@ -710,6 +727,7 @@ public class TrainingDataLabelRepositoryImpl extends QuerydslRepositorySupport
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Error saving polygon #" + (savedCount + 1) + ": " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
// 개별 polygon 저장 실패해도 계속 진행
|
||||
}
|
||||
}
|
||||
|
||||
@@ -660,6 +660,16 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport
|
||||
+ " new polygon(s) for mapSheetNum: "
|
||||
+ request.getMapSheetNum());
|
||||
|
||||
// mapSheetNum을 Long으로 변환
|
||||
Long mapSheetNumLong = null;
|
||||
try {
|
||||
if (request.getMapSheetNum() != null && !request.getMapSheetNum().isEmpty()) {
|
||||
mapSheetNumLong = Long.parseLong(request.getMapSheetNum());
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
System.err.println("Invalid mapSheetNum format: " + request.getMapSheetNum());
|
||||
}
|
||||
|
||||
int savedCount = 0;
|
||||
for (TrainingDataReviewDto.NewPolygonRequest.PolygonFeature feature : request.getFeatures()) {
|
||||
try {
|
||||
@@ -672,6 +682,8 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport
|
||||
mapSheetAnalDataInferenceGeomEntity.targetYyyy,
|
||||
mapSheetAnalDataInferenceGeomEntity.classBeforeCd,
|
||||
mapSheetAnalDataInferenceGeomEntity.classAfterCd,
|
||||
mapSheetAnalDataInferenceGeomEntity.dataUid,
|
||||
mapSheetAnalDataInferenceGeomEntity.mapSheetNum,
|
||||
mapSheetAnalDataInferenceGeomEntity.createdDttm,
|
||||
mapSheetAnalDataInferenceGeomEntity.updatedDttm,
|
||||
mapSheetAnalDataInferenceGeomEntity.labelState)
|
||||
@@ -681,20 +693,25 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport
|
||||
request.getTargetYyyy(),
|
||||
feature.getProperties().getBeforeClass().toLowerCase(),
|
||||
feature.getProperties().getAfterClass().toLowerCase(),
|
||||
request.getAnalUid(),
|
||||
mapSheetNumLong,
|
||||
ZonedDateTime.now(),
|
||||
ZonedDateTime.now(),
|
||||
"DONE")
|
||||
.execute();
|
||||
|
||||
// 2. 생성된 geoUid 조회
|
||||
// 2. 생성된 geoUid 조회 (가장 최근에 삽입된 레코드)
|
||||
Long geoUid =
|
||||
queryFactory
|
||||
.select(mapSheetAnalDataInferenceGeomEntity.geoUid)
|
||||
.from(mapSheetAnalDataInferenceGeomEntity)
|
||||
.where(
|
||||
mapSheetAnalDataInferenceGeomEntity.geom.eq(feature.getGeometry()),
|
||||
mapSheetAnalDataInferenceGeomEntity.compareYyyy.eq(request.getCompareYyyy()),
|
||||
mapSheetAnalDataInferenceGeomEntity.targetYyyy.eq(request.getTargetYyyy()))
|
||||
mapSheetAnalDataInferenceGeomEntity.targetYyyy.eq(request.getTargetYyyy()),
|
||||
mapSheetAnalDataInferenceGeomEntity.classBeforeCd.eq(
|
||||
feature.getProperties().getBeforeClass().toLowerCase()),
|
||||
mapSheetAnalDataInferenceGeomEntity.classAfterCd.eq(
|
||||
feature.getProperties().getAfterClass().toLowerCase()))
|
||||
.orderBy(mapSheetAnalDataInferenceGeomEntity.geoUid.desc())
|
||||
.fetchFirst();
|
||||
|
||||
@@ -732,6 +749,7 @@ public class TrainingDataReviewRepositoryImpl extends QuerydslRepositorySupport
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Error saving polygon #" + (savedCount + 1) + ": " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
// 개별 polygon 저장 실패해도 계속 진행
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user