미사용 소스 삭제
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
package com.kamco.cd.kamcoback.postgres.core;
|
||||
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultShpDto;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.repository.Inference.InferenceResultRepository;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -28,46 +26,4 @@ public class InferenceResultShpCoreService {
|
||||
|
||||
return cntDto;
|
||||
}
|
||||
|
||||
/** 파일 생성이 완료되지 않은 분석 데이터(data_uid) 목록을 조회한다. */
|
||||
@Transactional(readOnly = true)
|
||||
public List<Long> findPendingDataUids(int limit, Long learnId) {
|
||||
return repo.findPendingDataUids(limit, learnId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 분석 데이터 재생성을 위해 기존 파일 생성 상태를 초기화한다.
|
||||
*
|
||||
* <p>- 분석 데이터(file_created_yn)를 미생성 상태로 변경 - 해당 분석 데이터에 속한 모든 도형의 생성 상태를 미생성으로 변경
|
||||
*/
|
||||
@Transactional
|
||||
public void resetForRegenerate(Long dataUid) {
|
||||
repo.resetInferenceCreated(dataUid);
|
||||
repo.resetGeomCreatedByDataUid(dataUid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 지정된 분석 데이터에 속한 도형 정보를 조회한다.
|
||||
*
|
||||
* <p>- 파일 미생성 상태의 도형만 대상 - geometry가 존재하는 도형만 조회
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
public List<InferenceResultShpDto.Basic> loadGeomDtos(Long dataUid, int limit) {
|
||||
List<MapSheetAnalDataInferenceGeomEntity> entities =
|
||||
repo.findGeomEntitiesByDataUid(dataUid, limit);
|
||||
|
||||
return entities.stream().map(InferenceResultShpDto.Basic::from).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 파일 생성이 성공한 도형 및 분석 데이터에 대해 생성 완료 상태로 갱신한다.
|
||||
*
|
||||
* @param dataUid 분석 데이터 UID
|
||||
* @param geoUids 파일 생성이 완료된 도형 UID 목록
|
||||
*/
|
||||
@Transactional
|
||||
public void markSuccess(Long dataUid, List<Long> geoUids) {
|
||||
repo.markGeomCreatedByGeoUids(geoUids);
|
||||
repo.markInferenceCreated(dataUid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package com.kamco.cd.kamcoback.postgres.repository.Inference;
|
||||
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnEntity;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -16,18 +14,6 @@ public interface InferenceResultRepositoryCustom {
|
||||
|
||||
void upsertSttcFromInferenceResults(Long analId);
|
||||
|
||||
List<Long> findPendingDataUids(int limit, Long learnId);
|
||||
|
||||
int resetInferenceCreated(Long dataUid);
|
||||
|
||||
int markInferenceCreated(Long dataUid);
|
||||
|
||||
int resetGeomCreatedByDataUid(Long dataUid);
|
||||
|
||||
int markGeomCreatedByGeoUids(List<Long> geoUids);
|
||||
|
||||
List<MapSheetAnalDataInferenceGeomEntity> findGeomEntitiesByDataUid(Long dataUid, int limit);
|
||||
|
||||
Long getInferenceLearnIdByUuid(UUID uuid);
|
||||
|
||||
public Optional<MapSheetLearnEntity> getInferenceUid(UUID uuid);
|
||||
|
||||
@@ -3,15 +3,12 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference;
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity.mapSheetLearnEntity;
|
||||
|
||||
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelMngState;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalDataInferenceEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalDataInferenceGeomEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalInferenceEntity;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -328,151 +325,10 @@ public class InferenceResultRepositoryImpl implements InferenceResultRepositoryC
|
||||
em.createNativeQuery(sql).setParameter("analUid", analUid).executeUpdate();
|
||||
}
|
||||
|
||||
// ===============================
|
||||
// Jobs
|
||||
// ===============================
|
||||
|
||||
/**
|
||||
* 파일 생성이 완료되지 않은 분석 데이터(data_uid) 목록을 조회한다.
|
||||
*
|
||||
* @param limit 최대 조회 건수
|
||||
* @return data_uid 목록
|
||||
*/
|
||||
@Override
|
||||
public List<Long> findPendingDataUids(int limit, Long learnId) {
|
||||
|
||||
return queryFactory
|
||||
.select(inferenceDataEntity.id)
|
||||
.from(inferenceEntity)
|
||||
.innerJoin(inferenceDataEntity)
|
||||
.on(inferenceEntity.id.eq(inferenceDataEntity.analUid))
|
||||
.where(
|
||||
inferenceEntity
|
||||
.learnId
|
||||
.eq(learnId)
|
||||
.and(
|
||||
inferenceDataEntity
|
||||
.fileCreatedYn
|
||||
.isFalse()
|
||||
.or(inferenceDataEntity.fileCreatedYn.isNull())))
|
||||
.orderBy(inferenceDataEntity.id.asc())
|
||||
.limit(limit)
|
||||
.fetch();
|
||||
}
|
||||
|
||||
// ===============================
|
||||
// Reset / Mark
|
||||
// ===============================
|
||||
|
||||
/**
|
||||
* 분석 데이터의 파일 생성 상태를 재생성 가능 상태로 초기화한다.
|
||||
*
|
||||
* <p>- file_created_yn = false - file_created_dttm = null
|
||||
*
|
||||
* @return 갱신된 행 수
|
||||
*/
|
||||
@Override
|
||||
public int resetInferenceCreated(Long dataUid) {
|
||||
ZonedDateTime now = ZonedDateTime.now();
|
||||
|
||||
return (int)
|
||||
queryFactory
|
||||
.update(inferenceDataEntity)
|
||||
.set(inferenceDataEntity.fileCreatedYn, false)
|
||||
.set(inferenceDataEntity.fileCreatedDttm, (ZonedDateTime) null)
|
||||
.set(inferenceDataEntity.updatedDttm, now)
|
||||
.where(inferenceDataEntity.id.eq(dataUid))
|
||||
.execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* 분석 데이터의 파일 생성 완료 상태를 반영한다.
|
||||
*
|
||||
* @return 갱신된 행 수
|
||||
*/
|
||||
@Override
|
||||
public int markInferenceCreated(Long dataUid) {
|
||||
ZonedDateTime now = ZonedDateTime.now();
|
||||
|
||||
return (int)
|
||||
queryFactory
|
||||
.update(inferenceDataEntity)
|
||||
.set(inferenceDataEntity.fileCreatedYn, true)
|
||||
.set(inferenceDataEntity.fileCreatedDttm, now)
|
||||
.set(inferenceDataEntity.updatedDttm, now)
|
||||
.where(inferenceDataEntity.id.eq(dataUid))
|
||||
.execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* 분석 데이터에 속한 모든 도형의 파일 생성 상태를 초기화한다.
|
||||
*
|
||||
* @return 갱신된 행 수
|
||||
*/
|
||||
@Override
|
||||
public int resetGeomCreatedByDataUid(Long dataUid) {
|
||||
ZonedDateTime now = ZonedDateTime.now();
|
||||
|
||||
return (int)
|
||||
queryFactory
|
||||
.update(inferenceGeomEntity)
|
||||
.set(inferenceGeomEntity.fileCreatedYn, false)
|
||||
.set(inferenceGeomEntity.fileCreatedDttm, (ZonedDateTime) null)
|
||||
.set(inferenceGeomEntity.updatedDttm, now)
|
||||
.where(inferenceGeomEntity.dataUid.eq(dataUid))
|
||||
.execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* 파일 생성이 완료된 도형(geo_uid)을 생성 완료 상태로 반영한다.
|
||||
*
|
||||
* @param geoUids 생성 완료된 도형 UID 목록
|
||||
* @return 갱신된 행 수
|
||||
*/
|
||||
@Override
|
||||
public int markGeomCreatedByGeoUids(List<Long> geoUids) {
|
||||
if (geoUids == null || geoUids.isEmpty()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
ZonedDateTime now = ZonedDateTime.now();
|
||||
|
||||
return (int)
|
||||
queryFactory
|
||||
.update(inferenceGeomEntity)
|
||||
.set(inferenceGeomEntity.fileCreatedYn, true)
|
||||
.set(inferenceGeomEntity.fileCreatedDttm, now)
|
||||
.set(inferenceGeomEntity.updatedDttm, now)
|
||||
.where(inferenceGeomEntity.geoUid.in(geoUids))
|
||||
.execute();
|
||||
}
|
||||
|
||||
// ===============================
|
||||
// Export source (Entity only)
|
||||
// ===============================
|
||||
|
||||
/**
|
||||
* SHP / GeoJSON 파일 생성을 위한 도형 데이터 조회
|
||||
*
|
||||
* <p>- 특정 분석 데이터(data_uid)에 속한 도형 - geometry 존재 - 파일 미생성 상태만 대상
|
||||
*/
|
||||
@Override
|
||||
public List<MapSheetAnalDataInferenceGeomEntity> findGeomEntitiesByDataUid(
|
||||
Long dataUid, int limit) {
|
||||
return queryFactory
|
||||
.selectFrom(inferenceGeomEntity)
|
||||
.where(
|
||||
inferenceGeomEntity.dataUid.eq(dataUid),
|
||||
inferenceGeomEntity.geom.isNotNull(),
|
||||
inferenceGeomEntity
|
||||
.fileCreatedYn
|
||||
.isFalse()
|
||||
.or(inferenceGeomEntity.fileCreatedYn.isNull()))
|
||||
.orderBy(inferenceGeomEntity.geoUid.asc())
|
||||
.limit(limit)
|
||||
.fetch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getInferenceLearnIdByUuid(UUID uuid) {
|
||||
return queryFactory
|
||||
|
||||
Reference in New Issue
Block a user