변화탐지 API 커밋, 에러로그 진행중
This commit is contained in:
@@ -4,6 +4,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.common.enums.DetectionClassification;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataGeomEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.repository.changedetection.ChangeDetectionRepository;
|
||||
import java.util.List;
|
||||
@@ -51,8 +52,20 @@ public class ChangeDetectionCoreService {
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<ChangeDetectionDto.CountDto> getChangeDetectionClassCount(Long id) {
|
||||
return changeDetectionRepository.getChangeDetectionClassCount(id);
|
||||
public List<ChangeDetectionDto.CountDto> getChangeDetectionClassCount(
|
||||
Long id, String mapSheetNum) {
|
||||
List<ChangeDetectionDto.CountDto> list =
|
||||
changeDetectionRepository.getChangeDetectionClassCount(id, mapSheetNum);
|
||||
|
||||
return list.stream()
|
||||
.map(
|
||||
s -> {
|
||||
String classCd = String.valueOf(s.getClassCd());
|
||||
s.setClassCd(DetectionClassification.fromString(classCd).name());
|
||||
s.setClassName(DetectionClassification.fromStrDesc(classCd));
|
||||
return s;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public ChangeDetectionDto.CogUrlDto getChangeDetectionCogUrl(ChangeDetectionDto.CogUrlReq req) {
|
||||
@@ -62,4 +75,27 @@ public class ChangeDetectionCoreService {
|
||||
public List<ChangeDetectionDto.AnalYearList> getChangeDetectionYearList() {
|
||||
return changeDetectionRepository.getChangeDetectionYearList();
|
||||
}
|
||||
|
||||
public List<ChangeDetectionDto.PolygonGeometry> getChangeDetectionPolygonList(
|
||||
Long analUid, String mapSheetNum) {
|
||||
return changeDetectionRepository.getChangeDetectionPolygonList(analUid, mapSheetNum);
|
||||
}
|
||||
|
||||
public List<ChangeDetectionDto.PointGeometry> getChangeDetectionPointList(
|
||||
Long analUid, String mapSheetNum) {
|
||||
return changeDetectionRepository.getChangeDetectionPointList(analUid, mapSheetNum);
|
||||
}
|
||||
|
||||
public List<ChangeDetectionDto.MapSheetList> getChangeDetectionMapSheetList(Long analUid) {
|
||||
List<ChangeDetectionDto.MapSheetList> list =
|
||||
changeDetectionRepository.getChangeDetectionMapSheetList(analUid);
|
||||
return list.stream()
|
||||
.map(
|
||||
s -> {
|
||||
String name = s.getMapSheetName();
|
||||
s.setAlias(name + s.getMapSheetNum().substring(5, 8));
|
||||
return s;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.kamco.cd.kamcoback.postgres.entity;
|
||||
|
||||
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
||||
import jakarta.persistence.*;
|
||||
import java.time.ZonedDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "demo_learning_analysis_scene_item")
|
||||
@Entity
|
||||
public class DemoLearningAnalysisSceneItemEntity {
|
||||
@Id
|
||||
@GeneratedValue(
|
||||
strategy = GenerationType.SEQUENCE,
|
||||
generator = "demo_learning_analysis_scene_item_group_item_id_gen")
|
||||
@SequenceGenerator(
|
||||
name = "demo_learning_analysis_scene_item_group_item_id_gen",
|
||||
sequenceName = "demo_learning_analysis_scene_item_group_item_id_seq",
|
||||
allocationSize = 1)
|
||||
@Column(name = "group_item_id", nullable = false)
|
||||
private Long id;
|
||||
|
||||
@Column(name = "group_id")
|
||||
private Long groupId;
|
||||
|
||||
@Column(name = "fid")
|
||||
private Long fid;
|
||||
|
||||
@JsonFormatDttm
|
||||
@Column(name = "created_dttm")
|
||||
private ZonedDateTime createdDttm;
|
||||
}
|
||||
@@ -9,9 +9,17 @@ public interface ChangeDetectionRepositoryCustom {
|
||||
|
||||
List<String> findPolygonJson();
|
||||
|
||||
List<ChangeDetectionDto.CountDto> getChangeDetectionClassCount(Long id);
|
||||
List<ChangeDetectionDto.CountDto> getChangeDetectionClassCount(Long id, String mapSheetNum);
|
||||
|
||||
ChangeDetectionDto.CogUrlDto getChangeDetectionCogUrl(ChangeDetectionDto.CogUrlReq req);
|
||||
|
||||
List<ChangeDetectionDto.AnalYearList> getChangeDetectionYearList();
|
||||
|
||||
List<ChangeDetectionDto.PolygonGeometry> getChangeDetectionPolygonList(
|
||||
Long analUid, String mapSheetNum);
|
||||
|
||||
List<ChangeDetectionDto.PointGeometry> getChangeDetectionPointList(
|
||||
Long analUid, String mapSheetNum);
|
||||
|
||||
List<ChangeDetectionDto.MapSheetList> getChangeDetectionMapSheetList(Long analUid);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.kamco.cd.kamcoback.postgres.repository.changedetection;
|
||||
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QDemoLearningAnalysisSceneItemEntity.demoLearningAnalysisSceneItemEntity;
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QImageryEntity.imageryEntity;
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QMapInkx5kEntity.mapInkx5kEntity;
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalDataEntity.mapSheetAnalDataEntity;
|
||||
@@ -13,6 +14,7 @@ import com.querydsl.core.types.Projections;
|
||||
import com.querydsl.core.types.dsl.CaseBuilder;
|
||||
import com.querydsl.core.types.dsl.Expressions;
|
||||
import com.querydsl.core.types.dsl.StringExpression;
|
||||
import com.querydsl.jpa.JPAExpressions;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import java.util.List;
|
||||
import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport;
|
||||
@@ -43,20 +45,23 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ChangeDetectionDto.CountDto> getChangeDetectionClassCount(Long id) {
|
||||
public List<ChangeDetectionDto.CountDto> getChangeDetectionClassCount(
|
||||
Long id, String mapSheetNum) {
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
ChangeDetectionDto.CountDto.class,
|
||||
mapSheetAnalSttcEntity.classAfterCd.toUpperCase(),
|
||||
null, // TOOD classAfterName 삭제해서 수정 필요
|
||||
mapSheetAnalSttcEntity.classAfterCd.as("classCd"),
|
||||
mapSheetAnalSttcEntity.classAfterCd.as("classNm"), // 앞단 CoreService 에서 한글명으로 변환
|
||||
mapSheetAnalSttcEntity.classAfterCnt.sum()))
|
||||
.from(mapSheetAnalEntity)
|
||||
.innerJoin(mapSheetAnalDataEntity)
|
||||
.on(mapSheetAnalDataEntity.analUid.eq(mapSheetAnalEntity.id))
|
||||
.innerJoin(mapSheetAnalSttcEntity)
|
||||
.on(mapSheetAnalSttcEntity.dataUid.eq(mapSheetAnalDataEntity.id))
|
||||
.where(mapSheetAnalEntity.id.eq(id))
|
||||
.where(
|
||||
mapSheetAnalEntity.id.eq(id),
|
||||
mapSheetAnalSttcEntity.id.mapSheetNum.eq(Long.valueOf(mapSheetNum)))
|
||||
.groupBy(mapSheetAnalSttcEntity.classAfterCd)
|
||||
.fetch();
|
||||
}
|
||||
@@ -99,6 +104,72 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport
|
||||
.fetch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ChangeDetectionDto.PolygonGeometry> getChangeDetectionPolygonList(
|
||||
Long analUid, String mapSheetNum) {
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
ChangeDetectionDto.PolygonGeometry.class,
|
||||
mapSheetAnalDataGeomEntity.id,
|
||||
mapSheetAnalDataGeomEntity.geom, // polygon
|
||||
Projections.constructor(
|
||||
ChangeDetectionDto.PolygonProperties.class,
|
||||
mapSheetAnalDataGeomEntity.area,
|
||||
mapSheetAnalDataGeomEntity.compareYyyy,
|
||||
mapSheetAnalDataGeomEntity.classBeforeProb,
|
||||
mapSheetAnalDataGeomEntity.classBeforeCd.toUpperCase(),
|
||||
mapSheetAnalDataGeomEntity.targetYyyy,
|
||||
mapSheetAnalDataGeomEntity.classAfterProb,
|
||||
mapSheetAnalDataGeomEntity.classAfterCd.toUpperCase())))
|
||||
.from(mapSheetAnalDataGeomEntity)
|
||||
.where(
|
||||
mapSheetAnalDataGeomEntity.dataUid.in(
|
||||
JPAExpressions.select(mapSheetAnalDataEntity.id)
|
||||
.from(mapSheetAnalDataEntity)
|
||||
.where(mapSheetAnalDataEntity.analUid.eq(analUid))),
|
||||
mapSheetAnalDataGeomEntity.mapSheetNum.eq(Long.valueOf(mapSheetNum)))
|
||||
.fetch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ChangeDetectionDto.PointGeometry> getChangeDetectionPointList(
|
||||
Long analUid, String mapSheetNum) {
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
ChangeDetectionDto.PointGeometry.class,
|
||||
mapSheetAnalDataGeomEntity.id,
|
||||
mapSheetAnalDataGeomEntity.geomCenter, // point
|
||||
mapSheetAnalDataGeomEntity.classAfterCd.toUpperCase()))
|
||||
.from(mapSheetAnalDataGeomEntity)
|
||||
.where(
|
||||
mapSheetAnalDataGeomEntity.dataUid.in(
|
||||
JPAExpressions.select(mapSheetAnalDataEntity.id)
|
||||
.from(mapSheetAnalDataEntity)
|
||||
.where(mapSheetAnalDataEntity.analUid.eq(analUid))),
|
||||
mapSheetAnalDataGeomEntity.mapSheetNum.eq(Long.valueOf(mapSheetNum)))
|
||||
.fetch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ChangeDetectionDto.MapSheetList> getChangeDetectionMapSheetList(Long analUid) {
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
ChangeDetectionDto.MapSheetList.class,
|
||||
mapInkx5kEntity.mapidcdNo,
|
||||
mapInkx5kEntity.mapidNm,
|
||||
mapInkx5kEntity.mapidNm // alias 앞단 core에서
|
||||
))
|
||||
.from(demoLearningAnalysisSceneItemEntity)
|
||||
.innerJoin(mapInkx5kEntity)
|
||||
.on(demoLearningAnalysisSceneItemEntity.fid.eq(mapInkx5kEntity.fid.longValue()))
|
||||
.where(demoLearningAnalysisSceneItemEntity.groupId.eq(analUid))
|
||||
.orderBy(mapInkx5kEntity.mapidNm.asc(), mapInkx5kEntity.mapidcdNo.asc())
|
||||
.fetch();
|
||||
}
|
||||
|
||||
private StringExpression makeCogUrl(Integer year) {
|
||||
return new CaseBuilder()
|
||||
.when(imageryEntity.year.eq(year))
|
||||
|
||||
@@ -43,7 +43,7 @@ public class ErrorLogRepositoryImpl extends QuerydslRepositorySupport
|
||||
Projections.constructor(
|
||||
ErrorLogDto.Basic.class,
|
||||
errorLogEntity.id.as("logId"),
|
||||
Expressions.constant("한국자산관리공사"), // serviceName
|
||||
Expressions.stringTemplate("{0}", "한국자산관리공사"), // serviceName
|
||||
menuEntity.menuNm.as("menuName"),
|
||||
userEntity.userId.as("loginId"),
|
||||
userEntity.userNm.as("userName"),
|
||||
@@ -54,7 +54,8 @@ public class ErrorLogRepositoryImpl extends QuerydslRepositorySupport
|
||||
errorLogEntity.errorCode.as("errorCode"),
|
||||
errorLogEntity.errorMessage.as("errorMessage"),
|
||||
errorLogEntity.stackTrace.as("errorDetail"),
|
||||
errorLogEntity.createdDate))
|
||||
Expressions.stringTemplate(
|
||||
"to_char({0}, 'YYYY-MM-DD')", errorLogEntity.createdDate)))
|
||||
.from(errorLogEntity)
|
||||
.leftJoin(auditLogEntity)
|
||||
.on(errorLogEntity.id.eq(auditLogEntity.errorLogUid))
|
||||
|
||||
Reference in New Issue
Block a user