diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/controller/MapSheetMngFileJobController.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/controller/MapSheetMngFileJobController.class
index 6abca85..ab89184 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/controller/MapSheetMngFileJobController.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/controller/MapSheetMngFileJobController.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$DmlReturn.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$DmlReturn.class
index 0025380..de6d180 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$DmlReturn.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$DmlReturn.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngDto.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngDto.class
index e544186..20bb824 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngDto.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngDto.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngFileAddReq.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngFileAddReq.class
index 955c826..1672d3e 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngFileAddReq.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngFileAddReq.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngFilesDto.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngFilesDto.class
index a5c90fe..3a974e8 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngFilesDto.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngFilesDto.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngHstDto.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngHstDto.class
index c0c5f5d..09f2813 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngHstDto.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngHstDto.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngListCompareDto.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngListCompareDto.class
index 733366a..a456dfa 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngListCompareDto.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto$MngListCompareDto.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto.class
index a65577d..eb80c35 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/dto/MapSheetMngDto.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.class
index 7315a4c..95d5d83 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryCustom.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryCustom.class
index 9401aa6..cdc3b48 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryCustom.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryCustom.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryImpl.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryImpl.class
index 7e47ebb..153de18 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryImpl.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryImpl.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryCustom.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryCustom.class
index 3bff8c5..b9c44c6 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryCustom.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryCustom.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryImpl.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryImpl.class
index df4075a..5666d79 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryImpl.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryImpl.class differ
diff --git a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/service/MapSheetMngFileJobService.class b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/service/MapSheetMngFileJobService.class
index 47accce..9e41cd1 100644
Binary files a/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/service/MapSheetMngFileJobService.class and b/imagery-make-dataset/build/classes/java/main/com/kamco/cd/kamcoback/service/MapSheetMngFileJobService.class differ
diff --git a/imagery-make-dataset/build/reports/problems/problems-report.html b/imagery-make-dataset/build/reports/problems/problems-report.html
index 064af8d..c0a0bc1 100644
--- a/imagery-make-dataset/build/reports/problems/problems-report.html
+++ b/imagery-make-dataset/build/reports/problems/problems-report.html
@@ -650,7 +650,7 @@ code + .copy-button {
diff --git a/imagery-make-dataset/build/tmp/compileJava/previous-compilation-data.bin b/imagery-make-dataset/build/tmp/compileJava/previous-compilation-data.bin
index 91521b9..6686389 100644
Binary files a/imagery-make-dataset/build/tmp/compileJava/previous-compilation-data.bin and b/imagery-make-dataset/build/tmp/compileJava/previous-compilation-data.bin differ
diff --git a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/dto/MapSheetMngDto.java b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/dto/MapSheetMngDto.java
index 57185c7..b3ae808 100755
--- a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/dto/MapSheetMngDto.java
+++ b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/dto/MapSheetMngDto.java
@@ -40,6 +40,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class MngDto {
+
private int rowNum;
private int mngYyyy;
private String mngState;
@@ -61,6 +62,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class MngHstDto {
+
private long hstUid;
private int mngYyyy;
private String mapSheetNum;
@@ -86,6 +88,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class MngFileAddReq {
+
private int mngYyyy;
private String mapSheetNum;
private String refMapSheetNum;
@@ -103,6 +106,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class MngFilesDto {
+
private long fileUid;
private int mngYyyy;
private String mapSheetNum;
@@ -132,7 +136,19 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class DmlReturn {
+
private String flag;
private String message;
}
+
+ @Schema(name = "MngYyyyDto", description = "년도 값")
+ @Getter
+ @Setter
+ @NoArgsConstructor
+ @AllArgsConstructor
+ public static class YearMinMax {
+
+ private Integer minYyyy;
+ private Integer maxYyyy;
+ }
}
diff --git a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.java b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.java
index 6026655..73b3dbb 100755
--- a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.java
+++ b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngFileJobCoreService.java
@@ -1,8 +1,8 @@
package com.kamco.cd.kamcoback.postgres.core;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto;
-import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngDto;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngHstDto;
+import com.kamco.cd.kamcoback.dto.MapSheetMngDto.YearMinMax;
import com.kamco.cd.kamcoback.enums.CommonUseStatus;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngFileEntity;
import com.kamco.cd.kamcoback.postgres.repository.MapSheetMngFileJobRepository;
@@ -20,7 +20,8 @@ public class MapSheetMngFileJobCoreService {
private final MapSheetMngFileJobRepository mapSheetMngFileJobRepository;
private final MapSheetMngYearRepository mapSheetMngYearRepository;
- public Page findMapSheetMngList(MapSheetMngDto.@Valid MngSearchReq searchReq) {
+ public Page findMapSheetMngList(
+ MapSheetMngDto.@Valid MngSearchReq searchReq) {
return mapSheetMngFileJobRepository.findMapSheetMngList(searchReq);
}
@@ -67,9 +68,10 @@ public class MapSheetMngFileJobCoreService {
return mapSheetMngFileJobRepository.findNotYetMapSheetMng();
}
- public Long findByHstMapSheetBeforeYyyyListCount(int strtYyyy, int endYyyy, String mapSheetNum) {
+ public Long findByHstMapSheetBeforeYyyyListCount(
+ int mngYyyy, int strtYyyy, int endYyyy, String mapSheetNum) {
return mapSheetMngFileJobRepository.findByHstMapSheetBeforeYyyyListCount(
- strtYyyy, endYyyy, mapSheetNum);
+ mngYyyy, strtYyyy, endYyyy, mapSheetNum);
}
public void updateException5kMapSheet(String mapSheetNum, CommonUseStatus commonUseStatus) {
@@ -79,4 +81,16 @@ public class MapSheetMngFileJobCoreService {
public void saveSheetMngYear() {
mapSheetMngYearRepository.saveFileInfo();
}
+
+ public YearMinMax findYearMinMaxInfo() {
+ return mapSheetMngYearRepository.findYearMinMaxInfo();
+ }
+
+ public Long findMngYyyyCnt(Integer mngYyyy) {
+ return mapSheetMngFileJobRepository.findMngYyyyCnt(mngYyyy);
+ }
+
+ public Long findMapSheetUseExceptCnt(String mapSheetNum) {
+ return mapSheetMngFileJobRepository.findMapSheetUseExceptCnt(mapSheetNum);
+ }
}
diff --git a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/entity/YearEntity.java b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/entity/YearEntity.java
new file mode 100644
index 0000000..4378e78
--- /dev/null
+++ b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/entity/YearEntity.java
@@ -0,0 +1,24 @@
+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_year")
+public class YearEntity {
+
+ @Id
+ @Column(name = "yyyy", nullable = false)
+ private Integer yyyy;
+
+ @Size(max = 20)
+ @Column(name = "status", length = 20)
+ private String status;
+}
diff --git a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryCustom.java b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryCustom.java
index bac0923..e82a179 100755
--- a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryCustom.java
+++ b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryCustom.java
@@ -1,7 +1,6 @@
package com.kamco.cd.kamcoback.postgres.repository;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto;
-import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngDto;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngHstDto;
import com.kamco.cd.kamcoback.enums.CommonUseStatus;
import java.util.List;
@@ -9,7 +8,7 @@ import org.springframework.data.domain.Page;
public interface MapSheetMngFileJobRepositoryCustom {
- Page findMapSheetMngList(MapSheetMngDto.MngSearchReq searchReq);
+ Page findMapSheetMngList(MapSheetMngDto.MngSearchReq searchReq);
void mngHstDataSyncStateUpdate(MapSheetMngDto.MngHstDto updateReq);
@@ -21,7 +20,12 @@ public interface MapSheetMngFileJobRepositoryCustom {
public Integer findNotYetMapSheetMng();
- public Long findByHstMapSheetBeforeYyyyListCount(int strtYyyy, int endYyyy, String mapSheetNum);
+ public Long findByHstMapSheetBeforeYyyyListCount(
+ int mngYyyy, int strtYyyy, int endYyyy, String mapSheetNum);
public void updateException5kMapSheet(String mapSheetNum, CommonUseStatus commonUseStatus);
+
+ Long findMngYyyyCnt(Integer mngYyyy);
+
+ Long findMapSheetUseExceptCnt(String mapSheetNum);
}
diff --git a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryImpl.java b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryImpl.java
index 3885632..708c16c 100755
--- a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryImpl.java
+++ b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngFileJobRepositoryImpl.java
@@ -7,6 +7,7 @@ import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngHstEntity.mapSh
import com.kamco.cd.kamcoback.dto.MapSheetMngDto;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngHstDto;
import com.kamco.cd.kamcoback.enums.CommonUseStatus;
+import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity;
import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.CaseBuilder;
@@ -17,21 +18,24 @@ import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import java.time.ZonedDateTime;
import java.util.List;
-import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
-import org.springframework.stereotype.Repository;
+import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport;
-@Repository
-@RequiredArgsConstructor
-public class MapSheetMngFileJobRepositoryImpl implements MapSheetMngFileJobRepositoryCustom {
+public class MapSheetMngFileJobRepositoryImpl extends QuerydslRepositorySupport
+ implements MapSheetMngFileJobRepositoryCustom {
private final JPAQueryFactory queryFactory;
private final StringExpression NULL_STRING = Expressions.stringTemplate("cast(null as text)");
@PersistenceContext private EntityManager em;
+ public MapSheetMngFileJobRepositoryImpl(JPAQueryFactory queryFactory) {
+ super(MapSheetMngHstEntity.class);
+ this.queryFactory = queryFactory;
+ }
+
@Override
public Integer findNotYetMapSheetMng() {
Integer countQuery =
@@ -49,33 +53,6 @@ public class MapSheetMngFileJobRepositoryImpl implements MapSheetMngFileJobRepos
return countQuery;
}
- @Override
- public Long findByMngYyyyTargetMapSheetNotYetCount(int mngYyyy) {
- Long countQuery =
- queryFactory
- .select(mapSheetMngHstEntity.mngYyyy.count())
- .from(mapSheetMngHstEntity)
- .where(
- mapSheetMngHstEntity
- .mngYyyy
- .eq(mngYyyy)
- .and(mapSheetMngHstEntity.syncState.eq("NOTYET")))
- .fetchOne();
-
- return countQuery;
- }
-
- public void mngDataState(int mngYyyy, String mngState) {
- long updateCount =
- queryFactory
- .update(mapSheetMngEntity)
- .set(mapSheetMngEntity.mngState, mngState)
- .set(mapSheetMngEntity.syncState, mngState)
- .set(mapSheetMngEntity.syncCheckState, mngState)
- .where(mapSheetMngEntity.mngYyyy.eq(mngYyyy))
- .execute();
- }
-
@Override
public Page findMapSheetMngList(MapSheetMngDto.MngSearchReq searchReq) {
@@ -148,6 +125,33 @@ public class MapSheetMngFileJobRepositoryImpl implements MapSheetMngFileJobRepos
return new PageImpl<>(foundContent, pageable, countQuery);
}
+ @Override
+ public Long findByMngYyyyTargetMapSheetNotYetCount(int mngYyyy) {
+ Long countQuery =
+ queryFactory
+ .select(mapSheetMngHstEntity.mngYyyy.count())
+ .from(mapSheetMngHstEntity)
+ .where(
+ mapSheetMngHstEntity
+ .mngYyyy
+ .eq(mngYyyy)
+ .and(mapSheetMngHstEntity.syncState.eq("NOTYET")))
+ .fetchOne();
+
+ return countQuery;
+ }
+
+ public void mngDataState(int mngYyyy, String mngState) {
+ long updateCount =
+ queryFactory
+ .update(mapSheetMngEntity)
+ .set(mapSheetMngEntity.mngState, mngState)
+ .set(mapSheetMngEntity.syncState, mngState)
+ .set(mapSheetMngEntity.syncCheckState, mngState)
+ .where(mapSheetMngEntity.mngYyyy.eq(mngYyyy))
+ .execute();
+ }
+
public void mngHstDataSyncStateUpdate(MapSheetMngDto.MngHstDto updateReq) {
ZonedDateTime now = ZonedDateTime.now();
@@ -229,7 +233,8 @@ public class MapSheetMngFileJobRepositoryImpl implements MapSheetMngFileJobRepos
}
@Override
- public Long findByHstMapSheetBeforeYyyyListCount(int strtYyyy, int endYyyy, String mapSheetNum) {
+ public Long findByHstMapSheetBeforeYyyyListCount(
+ int mngYyyy, int strtYyyy, int endYyyy, String mapSheetNum) {
Long countQuery =
queryFactory
@@ -240,8 +245,8 @@ public class MapSheetMngFileJobRepositoryImpl implements MapSheetMngFileJobRepos
.mngYyyy
.goe(strtYyyy)
.and(mapSheetMngHstEntity.mngYyyy.loe(endYyyy))
+ .and(mapSheetMngHstEntity.mngYyyy.ne(mngYyyy))
.and(mapSheetMngHstEntity.mapSheetNum.eq(mapSheetNum))
- .and(mapSheetMngHstEntity.useInference.eq("USE"))
.and(
mapSheetMngHstEntity
.syncState
@@ -262,4 +267,26 @@ public class MapSheetMngFileJobRepositoryImpl implements MapSheetMngFileJobRepos
.where(mapInkx5kEntity.mapidcdNo.eq(mapSheetNum))
.execute();
}
+
+ @Override
+ public Long findMngYyyyCnt(Integer mngYyyy) {
+ return queryFactory
+ .select(mapSheetMngEntity.mngYyyy.count())
+ .from(mapSheetMngEntity)
+ .where(mapSheetMngEntity.mngYyyy.ne(mngYyyy))
+ .fetchOne();
+ }
+
+ @Override
+ public Long findMapSheetUseExceptCnt(String mapSheetNum) {
+ return queryFactory
+ .select(
+ new CaseBuilder()
+ .when(mapInkx5kEntity.useInference.eq(CommonUseStatus.USE))
+ .then(1L)
+ .otherwise(0L))
+ .from(mapInkx5kEntity)
+ .where(mapInkx5kEntity.mapidcdNo.eq(mapSheetNum))
+ .fetchOne();
+ }
}
diff --git a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryCustom.java b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryCustom.java
index 6587bbc..59074d2 100644
--- a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryCustom.java
+++ b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryCustom.java
@@ -1,10 +1,14 @@
package com.kamco.cd.kamcoback.postgres.repository;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngListCompareDto;
+import com.kamco.cd.kamcoback.dto.MapSheetMngDto.YearMinMax;
import java.util.List;
public interface MapSheetMngYearRepositoryCustom {
+
void saveFileInfo();
List findByHstMapSheetCompareList(int mngYyyy, List mapIds);
+
+ YearMinMax findYearMinMaxInfo();
}
diff --git a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryImpl.java b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryImpl.java
index ad96c23..184d5d1 100644
--- a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryImpl.java
+++ b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/postgres/repository/MapSheetMngYearRepositoryImpl.java
@@ -1,6 +1,9 @@
package com.kamco.cd.kamcoback.postgres.repository;
+import static com.kamco.cd.kamcoback.postgres.entity.QYearEntity.yearEntity;
+
import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngListCompareDto;
+import com.kamco.cd.kamcoback.dto.MapSheetMngDto.YearMinMax;
import com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngYearYnEntity;
import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.Expressions;
@@ -26,52 +29,52 @@ public class MapSheetMngYearRepositoryImpl implements MapSheetMngYearRepositoryC
String sql =
"""
- WITH bounds AS (
+ WITH bounds AS (
+ SELECT
+ map_sheet_num,
+ MIN(mng_yyyy::int) AS min_y,
+ MAX(mng_yyyy::int) AS max_y
+ FROM tb_map_sheet_mng_files
+ GROUP BY map_sheet_num
+ ),
+ years AS (
+ SELECT
+ b.map_sheet_num,
+ gs.y AS mng_yyyy
+ FROM bounds b
+ CROSS JOIN LATERAL generate_series(b.min_y, b.max_y) AS gs(y)
+ ),
+ exist AS (
+ SELECT DISTINCT
+ map_sheet_num,
+ mng_yyyy::int AS mng_yyyy
+ FROM tb_map_sheet_mng_files
+ ),
+ src AS (
+ SELECT
+ y.map_sheet_num,
+ y.mng_yyyy,
+ CASE
+ WHEN e.map_sheet_num IS NULL THEN 'N'
+ ELSE 'Y'
+ END AS yn
+ FROM years y
+ LEFT JOIN exist e
+ ON e.map_sheet_num = y.map_sheet_num
+ AND e.mng_yyyy = y.mng_yyyy
+ )
+ INSERT INTO tb_map_sheet_mng_year_yn
+ (map_sheet_num, mng_yyyy, yn)
SELECT
map_sheet_num,
- MIN(mng_yyyy::int) AS min_y,
- MAX(mng_yyyy::int) AS max_y
- FROM tb_map_sheet_mng_files
- GROUP BY map_sheet_num
- ),
- years AS (
- SELECT
- b.map_sheet_num,
- gs.y AS mng_yyyy
- FROM bounds b
- CROSS JOIN LATERAL generate_series(b.min_y, b.max_y) AS gs(y)
- ),
- exist AS (
- SELECT DISTINCT
- map_sheet_num,
- mng_yyyy::int AS mng_yyyy
- FROM tb_map_sheet_mng_files
- ),
- src AS (
- SELECT
- y.map_sheet_num,
- y.mng_yyyy,
- CASE
- WHEN e.map_sheet_num IS NULL THEN 'N'
- ELSE 'Y'
- END AS yn
- FROM years y
- LEFT JOIN exist e
- ON e.map_sheet_num = y.map_sheet_num
- AND e.mng_yyyy = y.mng_yyyy
- )
- INSERT INTO tb_map_sheet_mng_year_yn
- (map_sheet_num, mng_yyyy, yn)
- SELECT
- map_sheet_num,
- mng_yyyy,
- yn
- FROM src
- ON CONFLICT (map_sheet_num, mng_yyyy)
- DO UPDATE SET
- yn = EXCLUDED.yn,
- updated_dttm = now()
- """;
+ mng_yyyy,
+ yn
+ FROM src
+ ON CONFLICT (map_sheet_num, mng_yyyy)
+ DO UPDATE SET
+ yn = EXCLUDED.yn,
+ updated_dttm = now()
+ """;
em.createNativeQuery(sql).executeUpdate();
}
@@ -98,4 +101,13 @@ public class MapSheetMngYearRepositoryImpl implements MapSheetMngYearRepositoryC
.groupBy(y.id.mapSheetNum)
.fetch();
}
+
+ @Override
+ public YearMinMax findYearMinMaxInfo() {
+ return queryFactory
+ .select(
+ Projections.constructor(YearMinMax.class, yearEntity.yyyy.min(), yearEntity.yyyy.max()))
+ .from(yearEntity)
+ .fetchOne();
+ }
}
diff --git a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/service/MapSheetMngFileJobService.java b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/service/MapSheetMngFileJobService.java
old mode 100755
new mode 100644
index a9ffc37..dcc412f
--- a/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/service/MapSheetMngFileJobService.java
+++ b/imagery-make-dataset/src/main/java/com/kamco/cd/kamcoback/service/MapSheetMngFileJobService.java
@@ -7,6 +7,7 @@ import com.kamco.cd.kamcoback.dto.FileDto.SrchFilesDepthDto;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto.DmlReturn;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngFileAddReq;
import com.kamco.cd.kamcoback.dto.MapSheetMngDto.MngHstDto;
+import com.kamco.cd.kamcoback.dto.MapSheetMngDto.YearMinMax;
import com.kamco.cd.kamcoback.enums.CommonUseStatus;
import com.kamco.cd.kamcoback.postgres.core.MapSheetMngFileJobCoreService;
import com.kamco.cd.kamcoback.utils.FIleChecker;
@@ -63,9 +64,18 @@ public class MapSheetMngFileJobService {
for (MngHstDto item : mapSheetFileNotYetList) {
+ // mng_yyyy 가 완전 최초로 등록되는 것인지 확인
+ Long mngCnt = mapSheetMngFileJobCoreService.findMngYyyyCnt(item.getMngYyyy());
+
// 5K도엽 자동추론제외
- Long exceptCheckCnt =
- this.mapSheetAutoExceptionUpdate(item.getMngYyyy(), item.getMapSheetNum());
+ Long exceptCheckCnt = 0L;
+
+ if (mngCnt == 0) { // 최초 등록이면 도엽의 추론제외여부를 확인
+ exceptCheckCnt =
+ mapSheetMngFileJobCoreService.findMapSheetUseExceptCnt(item.getMapSheetNum());
+ } else { // 등록된 영상 년도가 있으면 자동추론제외 확인
+ exceptCheckCnt = this.mapSheetAutoExceptionUpdate(item.getMngYyyy(), item.getMapSheetNum());
+ }
// 도엽별 파일 체크 진행중으로 변경
item.setDataState("PROCESSING");
@@ -105,11 +115,11 @@ public class MapSheetMngFileJobService {
int tfwCnt =
(int)
- basicList.stream().filter(dto -> dto.getExtension().toString().equals("tfw")).count();
+ basicList.stream().filter(dto -> dto.getExtension().equalsIgnoreCase("tfw")).count();
int tifCnt =
(int)
- basicList.stream().filter(dto -> dto.getExtension().toString().equals("tif")).count();
+ basicList.stream().filter(dto -> dto.getExtension().equalsIgnoreCase("tif")).count();
syncState = "";
syncCheckState = "";
@@ -212,28 +222,26 @@ public class MapSheetMngFileJobService {
return notyetCnt;
}
- public Long mapSheetAutoExceptionUpdate(int mngYyyy, String mapSheetNum) {
+ public Long mapSheetAutoExceptionUpdate(Integer mngYyyy, String mapSheetNum) {
- // 2025년 이전 파일싱크는 무조건 이전3년이 존재하지 않으므로 자동추론제외를 진행하지 않는다.(전년도 파일이 무조건 존재하는 것으로 리턴)
- // if (syncAutoExceptionStartYear > mngYyyy) {
- // return 1L;
- // }
+ // tb_year 에 있는 년도 min,max 가져오기
+ YearMinMax yearInfo = mapSheetMngFileJobCoreService.findYearMinMaxInfo();
+ int strtYyyy = yearInfo.getMinYyyy();
+ int endYyyy = yearInfo.getMaxYyyy();
- // int strtYyyy = mngYyyy - syncAutoExceptionBeforeYearCnt + 1;
- int strtYyyy = 2020;
- int endYyyy = mngYyyy;
-
- // 본년도+이전년도가 3개년인 도엽 확인 -> 2020년도부터 현재까지
+ // tb_map_sheet_mng_hst 에 도엽 정보가 하나라도 DONE 인 게 있는지 count 가져오기
Long beforeCnt =
mapSheetMngFileJobCoreService.findByHstMapSheetBeforeYyyyListCount(
- strtYyyy, endYyyy, mapSheetNum);
+ mngYyyy, strtYyyy, endYyyy, mapSheetNum);
if (beforeCnt == 0) {
- System.out.println("mapSheetAutoExceptionUpdate inference == 자동추론제외");
+ System.out.println("beforeCnt: 0, mapSheetAutoExceptionUpdate inference == 자동추론제외");
mapSheetMngFileJobCoreService.updateException5kMapSheet(
mapSheetNum, CommonUseStatus.AUTO_EXCEPT);
} else {
// 하나라도 있으면 USE
+ System.out.println(
+ "beforeCnt: " + beforeCnt + ", mapSheetAutoExceptionUpdate inference == 자동추론제외 해제");
mapSheetMngFileJobCoreService.updateException5kMapSheet(mapSheetNum, CommonUseStatus.USE);
}