[KC-108] 분석도엽 ai api호출 테스트중, 모델타입 조회 컬럼 추가
This commit is contained in:
@@ -17,8 +17,6 @@ import com.kamco.cd.kamcoback.postgres.repository.Inference.MapSheetAnalDataInfe
|
||||
import com.kamco.cd.kamcoback.postgres.repository.Inference.MapSheetLearn5kRepository;
|
||||
import com.kamco.cd.kamcoback.postgres.repository.Inference.MapSheetLearnRepository;
|
||||
import com.kamco.cd.kamcoback.postgres.repository.scene.MapInkx5kRepository;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto.Search5kReq;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityNotFoundException;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@@ -218,8 +216,4 @@ public class InferenceResultCoreService {
|
||||
.map(MapInkx5kEntity::toEntity)
|
||||
.toList();
|
||||
}
|
||||
|
||||
public List<MapInkxMngDto.MapInkList> findByMapidList(Search5kReq req) {
|
||||
return mapInkx5kRepository.findByMapidList(req);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.kamco.cd.kamcoback.postgres.core;
|
||||
import com.kamco.cd.kamcoback.common.geometry.GeoJsonFileWriter;
|
||||
import com.kamco.cd.kamcoback.common.geometry.GeoJsonFileWriter.ImageFeature;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngListCompareDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngListDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.YearSearchReq;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity;
|
||||
@@ -235,4 +237,12 @@ public class MapSheetMngCoreService {
|
||||
|
||||
return outputPath;
|
||||
}
|
||||
|
||||
public List<MngListDto> getHstMapSheetList(int mngYyyy) {
|
||||
return mapSheetMngRepository.findByHstMapSheetTargetList(mngYyyy);
|
||||
}
|
||||
|
||||
public List<MngListCompareDto> getByHstMapSheetCompareList(int mngYyyy, List<String> mapId) {
|
||||
return mapSheetMngRepository.findByHstMapSheetCompareList(mngYyyy, mapId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.kamco.cd.kamcoback.postgres.entity;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "tb_map_sheet_years_map")
|
||||
public class MapSheetYearsMapEntity {
|
||||
|
||||
@Id
|
||||
@Size(max = 30)
|
||||
@Column(name = "map_sheet_num", nullable = false, length = 30)
|
||||
private String mapSheetNum;
|
||||
|
||||
@Size(max = 20)
|
||||
@Column(name = "ref_map_sheet_num", length = 20)
|
||||
private String refMapSheetNum;
|
||||
|
||||
@Column(name = "map_years", length = Integer.MAX_VALUE)
|
||||
private String mapYears;
|
||||
|
||||
@Column(name = "lvl")
|
||||
private Integer lvl;
|
||||
|
||||
@Column(name = "max_year")
|
||||
private Integer maxYear;
|
||||
|
||||
@Column(name = "min_year")
|
||||
private Integer minYear;
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package com.kamco.cd.kamcoback.postgres.repository.mapsheet;
|
||||
|
||||
import com.kamco.cd.kamcoback.common.geometry.GeoJsonFileWriter.ImageFeature;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngListCompareDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngListDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.YearSearchReq;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.YearEntity;
|
||||
@@ -59,6 +61,10 @@ public interface MapSheetMngRepositoryCustom {
|
||||
|
||||
List<MapSheetMngDto.MngFilesDto> findByHstUidMapSheetFileList(Long hstUid);
|
||||
|
||||
List<MngListDto> findByHstMapSheetTargetList(int mngYyyy);
|
||||
|
||||
List<MngListCompareDto> findByHstMapSheetCompareList(int mngYyyy, List<String> mapId);
|
||||
|
||||
MapSheetMngDto.MngFilesDto findByFileUidMapSheetFile(Long fileUid);
|
||||
|
||||
void updateHstFileSizes(Long hstUid, long tifSizeBytes, long tfwSizeBytes, long totalSizeBytes);
|
||||
|
||||
@@ -8,6 +8,8 @@ import static com.kamco.cd.kamcoback.postgres.entity.QYearEntity.yearEntity;
|
||||
|
||||
import com.kamco.cd.kamcoback.common.geometry.GeoJsonFileWriter.ImageFeature;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngListCompareDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngListDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.YearSearchReq;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.QYearEntity;
|
||||
@@ -476,6 +478,64 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport
|
||||
return foundContent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MngListDto> findByHstMapSheetTargetList(int mngYyyy) {
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
MngListDto.class,
|
||||
mapSheetMngHstEntity.mngYyyy,
|
||||
mapSheetMngHstEntity.mapSheetNum,
|
||||
mapSheetMngHstEntity.mapSheetName))
|
||||
.from(mapSheetMngHstEntity)
|
||||
.where(
|
||||
mapSheetMngHstEntity
|
||||
.mngYyyy
|
||||
.eq(mngYyyy)
|
||||
.and(mapSheetMngHstEntity.dataState.eq("DONE"))
|
||||
.and(mapSheetMngHstEntity.syncState.eq("DONE"))
|
||||
.and(mapSheetMngHstEntity.useInference.eq("USE")))
|
||||
.fetch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MngListCompareDto> findByHstMapSheetCompareList(int mngYyyy, List<String> mapIds) {
|
||||
|
||||
String sql =
|
||||
"""
|
||||
SELECT
|
||||
t.map_sheet_num,
|
||||
t.map_years,
|
||||
COALESCE(s.target_year, 0) AS before_year
|
||||
FROM public.tb_map_sheet_years_map t
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT x::int AS target_year
|
||||
FROM unnest(string_to_array(t.map_years, '>')) AS x
|
||||
WHERE x::int <= :mngYyyy
|
||||
ORDER BY x::int DESC
|
||||
LIMIT 1
|
||||
) s ON true
|
||||
WHERE t.map_sheet_num = ANY(:mapIds)
|
||||
""";
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Object[]> rows =
|
||||
em.createNativeQuery(sql)
|
||||
.setParameter("mngYyyy", mngYyyy)
|
||||
.setParameter("mapIds", mapIds.toArray(new String[0]))
|
||||
.getResultList();
|
||||
|
||||
return rows.stream()
|
||||
.map(
|
||||
r ->
|
||||
new MngListCompareDto(
|
||||
(String) r[1], // map_years
|
||||
(String) r[0], // map_sheet_num
|
||||
((Number) r[2]).intValue() // before_year
|
||||
))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MapSheetMngDto.MngFilesDto> findHstUidToMapSheetFileList(Long hstUid) {
|
||||
BooleanBuilder whereBuilder = new BooleanBuilder();
|
||||
|
||||
@@ -4,7 +4,6 @@ import com.kamco.cd.kamcoback.common.enums.CommonUseStatus;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapInkx5kEntity;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto.MapList;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto.Search5kReq;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto.searchReq;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -26,6 +25,4 @@ public interface MapInkx5kRepositoryCustom {
|
||||
|
||||
List<MapInkx5kEntity> findByMapSheetNumInAndUseInference(
|
||||
List<String> mapSheetNums, CommonUseStatus use);
|
||||
|
||||
List<MapInkxMngDto.MapInkList> findByMapidList(Search5kReq search5kReq);
|
||||
}
|
||||
|
||||
@@ -8,9 +8,7 @@ import com.kamco.cd.kamcoback.postgres.entity.MapInkx5kEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.QMapInkx5kEntity;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto.MapList;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto.Search5kReq;
|
||||
import com.kamco.cd.kamcoback.scene.dto.MapInkxMngDto.searchReq;
|
||||
import com.querydsl.core.BooleanBuilder;
|
||||
import com.querydsl.core.types.Projections;
|
||||
import com.querydsl.core.types.dsl.BooleanExpression;
|
||||
import com.querydsl.core.types.dsl.Expressions;
|
||||
@@ -18,7 +16,6 @@ import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -145,35 +142,6 @@ public class MapInkx5kRepositoryImpl extends QuerydslRepositorySupport
|
||||
.fetch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MapInkxMngDto.MapInkList> findByMapidList(Search5kReq search5kReq) {
|
||||
BooleanBuilder builder = new BooleanBuilder();
|
||||
|
||||
if (StringUtils.isNotBlank(search5kReq.getMapidcdNo())) {
|
||||
builder.and(mapInkx5kEntity.mapidcdNo.eq(search5kReq.getMapidcdNo()));
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(search5kReq.getUseInference())) {
|
||||
builder.and(
|
||||
mapInkx5kEntity.useInference.eq(
|
||||
CommonUseStatus.getEnumById(search5kReq.getUseInference())));
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
MapInkxMngDto.MapInkList.class,
|
||||
mapInkx5kEntity.fid,
|
||||
mapInkx5kEntity.mapidcdNo,
|
||||
mapInkx5kEntity.mapidNm,
|
||||
mapInkx5kEntity.useInference))
|
||||
.from(mapInkx5kEntity)
|
||||
.where(builder)
|
||||
// TODO limit 제거 필요
|
||||
.limit(100)
|
||||
.fetch();
|
||||
}
|
||||
|
||||
private BooleanExpression searchUseInference(CommonUseStatus useInference) {
|
||||
if (Objects.isNull(useInference)) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user