라벨링 툴 라벨 저장 로직 수정

This commit is contained in:
2026-01-14 17:25:54 +09:00
parent 3bb85b4130
commit adcf8f0a8d
6 changed files with 187 additions and 169 deletions

View File

@@ -4,7 +4,7 @@ import com.kamco.cd.kamcoback.postgres.repository.trainingdata.TrainingDataLabel
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.DefaultPaging;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.DetailRes;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.GeoFeatureRequest.Properties;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelFeatureRequest.LabelProperties;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelingGeometryInfo;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelingListDto;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.SummaryRes;
@@ -42,7 +42,7 @@ public class TrainingDataLabelCoreService {
}
public void updateLabelingPolygonClass(
Long inferenceGeomUid, Geometry geometry, Properties properties, String status) {
Long inferenceGeomUid, Geometry geometry, LabelProperties properties, String status) {
trainingDataLabelRepository.updateLabelingPolygonClass(
inferenceGeomUid, geometry, properties, status);
}

View File

@@ -3,7 +3,7 @@ package com.kamco.cd.kamcoback.postgres.repository.trainingdata;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.DefaultPaging;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.DetailRes;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.GeoFeatureRequest.Properties;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelFeatureRequest.LabelProperties;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelingGeometryInfo;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelingListDto;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.SummaryRes;
@@ -25,7 +25,7 @@ public interface TrainingDataLabelRepositoryCustom {
void updateLabelingSkipState(Long inferenceGeomUid, String status);
void updateLabelingPolygonClass(
Long inferenceGeomUid, Geometry geometry, Properties properties, String status);
Long inferenceGeomUid, Geometry geometry, LabelProperties properties, String status);
SummaryRes getSummary(String userId);

View File

@@ -11,15 +11,16 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelState;
import com.kamco.cd.kamcoback.postgres.entity.LabelingAssignmentEntity;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnDataGeomEntity;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.ChangeDetectionInfo;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.ClassificationInfo;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.DefaultPaging;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.DetailRes;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.GeoFeatureRequest.Properties;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.InferenceDataGeometry;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.InferenceDataGeometry.InferenceProperties;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.InspectionResultInfo;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelFeatureRequest.LabelProperties;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelingGeometryInfo;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LabelingListDto;
import com.kamco.cd.kamcoback.trainingdata.dto.TrainingDataLabelDto.LearnDataGeometry;
@@ -204,7 +205,7 @@ public class TrainingDataLabelRepositoryImpl extends QuerydslRepositorySupport
@Override
public void updateLabelingPolygonClass(
Long inferenceGeomUid, Geometry geometry, Properties properties, String status) {
Long inferenceGeomUid, Geometry geometry, LabelProperties properties, String status) {
// inference_geom 테이블에 상태 업데이트
queryFactory
.update(mapSheetAnalDataInferenceGeomEntity)
@@ -225,28 +226,45 @@ public class TrainingDataLabelRepositoryImpl extends QuerydslRepositorySupport
"MapSheetAnalDataInferenceGeomEntity not found for analUid: ");
}
// learn_data_geom 에 insert
queryFactory
.insert(mapSheetLearnDataGeomEntity)
.columns(
mapSheetLearnDataGeomEntity.geoUid,
mapSheetLearnDataGeomEntity.afterYyyy,
mapSheetLearnDataGeomEntity.beforeYyyy,
mapSheetLearnDataGeomEntity.classAfterCd,
mapSheetLearnDataGeomEntity.classBeforeCd,
mapSheetLearnDataGeomEntity.geom,
mapSheetLearnDataGeomEntity.createdDate,
mapSheetLearnDataGeomEntity.modifiedDate)
.values(
inferenceGeomUid,
entity.getTargetYyyy(),
entity.getCompareYyyy(),
properties.getAfterClass().toLowerCase(),
properties.getBeforeClass().toLowerCase(),
geometry,
ZonedDateTime.now(),
ZonedDateTime.now())
.execute();
MapSheetLearnDataGeomEntity learnEntity =
queryFactory
.selectFrom(mapSheetLearnDataGeomEntity)
.where(mapSheetLearnDataGeomEntity.geoUid.eq(inferenceGeomUid))
.fetchOne();
if (Objects.isNull(learnEntity)) {
// learn_data_geom 에 insert
queryFactory
.insert(mapSheetLearnDataGeomEntity)
.columns(
mapSheetLearnDataGeomEntity.geoUid,
mapSheetLearnDataGeomEntity.afterYyyy,
mapSheetLearnDataGeomEntity.beforeYyyy,
mapSheetLearnDataGeomEntity.classAfterCd,
mapSheetLearnDataGeomEntity.classBeforeCd,
mapSheetLearnDataGeomEntity.geom,
mapSheetLearnDataGeomEntity.createdDate,
mapSheetLearnDataGeomEntity.modifiedDate)
.values(
inferenceGeomUid,
entity.getTargetYyyy(),
entity.getCompareYyyy(),
properties.getAfterClass().toLowerCase(),
properties.getBeforeClass().toLowerCase(),
geometry,
ZonedDateTime.now(),
ZonedDateTime.now())
.execute();
} else {
queryFactory
.update(mapSheetLearnDataGeomEntity)
.set(mapSheetLearnDataGeomEntity.geom, geometry)
.set(mapSheetLearnDataGeomEntity.classAfterCd, properties.getAfterClass().toLowerCase())
.set(mapSheetLearnDataGeomEntity.classBeforeCd, properties.getBeforeClass().toLowerCase())
.set(mapSheetLearnDataGeomEntity.modifiedDate, ZonedDateTime.now())
.where(mapSheetLearnDataGeomEntity.geoUid.eq(inferenceGeomUid))
.execute();
}
}
@Override