Merge pull request 'feat/infer_dev_260211' (#86) from feat/infer_dev_260211 into develop

Reviewed-on: #86
This commit was merged in pull request #86.
This commit is contained in:
2026-02-23 19:59:37 +09:00
6 changed files with 85 additions and 0 deletions

View File

@@ -4,9 +4,11 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.ChangeDetectionMapDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapScaleType;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapSheetList;
import com.kamco.cd.kamcoback.common.enums.DetectionClassification;
import com.kamco.cd.kamcoback.common.exception.CustomApiException;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity;
import com.kamco.cd.kamcoback.postgres.repository.changedetection.ChangeDetectionRepository;
import java.util.List;
@@ -15,6 +17,7 @@ import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.geom.Point;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@Service
@@ -96,4 +99,10 @@ public class ChangeDetectionCoreService {
public List<MapSheetList> getChangeDetectionMapSheet50kList(UUID uuid) {
return changeDetectionRepository.getChangeDetectionMapSheet50kList(uuid);
}
public UUID getChangeDetectionUuid(ChangeDetectionMapDto req) {
return changeDetectionRepository
.getChangeDetectionUuid(req)
.orElseThrow(() -> new CustomApiException("NOT_FOUND_DATA", HttpStatus.NOT_FOUND));
}
}

View File

@@ -1,9 +1,11 @@
package com.kamco.cd.kamcoback.postgres.repository.changedetection;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.ChangeDetectionMapDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapScaleType;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapSheetList;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
public interface ChangeDetectionRepositoryCustom {
@@ -28,4 +30,6 @@ public interface ChangeDetectionRepositoryCustom {
List<ChangeDetectionDto.MapSheetList> getChangeDetectionMapSheetList(UUID uuid);
List<MapSheetList> getChangeDetectionMapSheet50kList(UUID uuid);
Optional<UUID> getChangeDetectionUuid(ChangeDetectionMapDto req);
}

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.ChangeDetectionMapDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.DetectSearchType;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapScaleType;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapSheetList;
@@ -21,6 +22,7 @@ import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntit
import com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalDataInferenceEntity;
import com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalInferenceEntity;
import com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity;
import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.BooleanExpression;
import com.querydsl.core.types.dsl.CaseBuilder;
@@ -30,10 +32,13 @@ import com.querydsl.jpa.JPAExpressions;
import com.querydsl.jpa.impl.JPAQueryFactory;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.UUID;
import java.util.stream.Collectors;
import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport;
import org.springframework.stereotype.Repository;
@Repository
public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport
implements ChangeDetectionRepositoryCustom {
@@ -371,4 +376,24 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport
"{0} || {1}", imageryEntity.cogMiddlePath, imageryEntity.cogFilename))
.otherwise("");
}
@Override
public Optional<UUID> getChangeDetectionUuid(ChangeDetectionMapDto req) {
BooleanBuilder builder = new BooleanBuilder();
builder.and(mapSheetAnalInferenceEntity.stage.isNotNull());
builder.and(mapSheetAnalInferenceEntity.compareYyyy.eq(req.getCompareYyyy()));
builder.and(mapSheetAnalInferenceEntity.targetYyyy.eq(req.getTargetYyyy()));
return Optional.ofNullable(
queryFactory
.select(mapSheetAnalInferenceEntity.uuid)
.from(mapSheetAnalInferenceEntity)
.innerJoin(mapSheetAnalDataInferenceEntity)
.on(mapSheetAnalInferenceEntity.id.eq(mapSheetAnalDataInferenceEntity.analUid))
.where(builder)
.groupBy(mapSheetAnalInferenceEntity.uuid, mapSheetAnalInferenceEntity.stage)
.orderBy(mapSheetAnalInferenceEntity.stage.desc())
.limit(1)
.fetchOne());
}
}