From 280954a78df4879ecf431ee9819b4f878e1a21b4 Mon Sep 17 00:00:00 2001 From: Moon Date: Tue, 16 Dec 2025 18:38:56 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=81=EC=83=81=EA=B4=80=EB=A6=AC=20>=20=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kamcoback/common/utils/FIleChecker.java | 4 +- .../mapsheet/dto/MapSheetMngDto.java | 20 +- .../mapsheet/MapSheetMngRepositoryImpl.java | 275 +++++++++--------- 3 files changed, 154 insertions(+), 145 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/FIleChecker.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/FIleChecker.java index f7e76691..f6d53588 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/utils/FIleChecker.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/FIleChecker.java @@ -253,8 +253,8 @@ public class FIleChecker { List fileList = new ArrayList<>(); SimpleDateFormat dttmFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //int fileTotCnt = 0; - //long fileTotSize = 0; + // int fileTotCnt = 0; + // long fileTotSize = 0; try (Stream stream = Files.walk(startPath, maxDepth)) { diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java index 9423ba07..6bcaa361 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java @@ -2,7 +2,6 @@ package com.kamco.cd.kamcoback.mapsheet.dto; import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm; import com.kamco.cd.kamcoback.config.enums.EnumType; -import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.FolderDto; import io.swagger.v3.oas.annotations.media.Schema; import java.time.ZonedDateTime; import java.util.List; @@ -154,7 +153,7 @@ public class MapSheetMngDto { @NoArgsConstructor @AllArgsConstructor public static class ErrorDataDto { - //private Integer rowNum; + // private Integer rowNum; private Long hstUid; private String map50kName; private String map5kName; @@ -170,14 +169,14 @@ public class MapSheetMngDto { private List fileArray; public ErrorDataDto( - Long hstUid, - String map50kName, - String map5kName, - String mapSrcName, - Integer mapCodeSrc, - ZonedDateTime createdDttm, - String syncState, - String syncCheckState) { + Long hstUid, + String map50kName, + String map5kName, + String mapSrcName, + Integer mapCodeSrc, + ZonedDateTime createdDttm, + String syncState, + String syncCheckState) { this.hstUid = hstUid; this.map50kName = map50kName; this.map5kName = map5kName; @@ -187,7 +186,6 @@ public class MapSheetMngDto { this.syncState = syncState; this.syncCheckState = syncCheckState; } - } @Schema(name = "MngFIleDto", description = "관리파일정보") diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java index 3ed71f4f..c447594a 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryImpl.java @@ -7,8 +7,6 @@ import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngFileEntity.mapS import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngHstEntity.mapSheetMngHstEntity; import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto; -import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngFIleDto; -import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngFileEntity; import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity; import com.querydsl.core.BooleanBuilder; import com.querydsl.core.Tuple; @@ -23,13 +21,11 @@ import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import jakarta.validation.Valid; import java.util.ArrayList; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; -import java.util.stream.Collectors; import org.hibernate.query.Query; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; @@ -62,12 +58,13 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport NumberExpression totalCount = mapSheetMngHstEntity.count().as("syncTotCnt"); - NumberExpression doneCount = new CaseBuilder() - .when(mapSheetMngHstEntity.dataState.eq("DONE")) - .then(1L) - .otherwise(0L) - .sum() - .as("syncStateDoneCnt"); + NumberExpression doneCount = + new CaseBuilder() + .when(mapSheetMngHstEntity.dataState.eq("DONE")) + .then(1L) + .otherwise(0L) + .sum() + .as("syncStateDoneCnt"); List foundContent = queryFactory @@ -95,46 +92,63 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport .otherwise(0L) .sum(), new CaseBuilder() - .when(mapSheetMngHstEntity.syncState.eq("NOFILE") - .or( mapSheetMngHstEntity.syncState.eq("NOTPAIR"))) + .when( + mapSheetMngHstEntity + .syncState + .eq("NOFILE") + .or(mapSheetMngHstEntity.syncState.eq("NOTPAIR"))) .then(1L) .otherwise(0L) .sum(), new CaseBuilder() - .when(mapSheetMngHstEntity.syncCheckState.eq("DONE") - .and( mapSheetMngHstEntity.syncState.eq("NOFILE") - .or(mapSheetMngHstEntity.syncState.eq("NOTPAIR")) ) - ) - .then(1L) - .otherwise(0L) - .sum(), - + .when( + mapSheetMngHstEntity + .syncCheckState + .eq("DONE") + .and( + mapSheetMngHstEntity + .syncState + .eq("NOFILE") + .or(mapSheetMngHstEntity.syncState.eq("NOTPAIR")))) + .then(1L) + .otherwise(0L) + .sum(), new CaseBuilder() - .when(mapSheetMngHstEntity.syncState.eq("DUPLICATE")) - .then(1L) - .otherwise(0L) - .sum(), + .when(mapSheetMngHstEntity.syncState.eq("DUPLICATE")) + .then(1L) + .otherwise(0L) + .sum(), new CaseBuilder() - .when(mapSheetMngHstEntity.syncCheckState.eq("DONE") - .and(mapSheetMngHstEntity.syncState.eq("DUPLICATE")) ) - .then(1L) - .otherwise(0L) - .sum(), - + .when( + mapSheetMngHstEntity + .syncCheckState + .eq("DONE") + .and(mapSheetMngHstEntity.syncState.eq("DUPLICATE"))) + .then(1L) + .otherwise(0L) + .sum(), new CaseBuilder() - .when(mapSheetMngHstEntity.syncState.eq("TYPEERROR") - .or( mapSheetMngHstEntity.syncState.eq("SIZEERROR"))) - .then(1L) - .otherwise(0L) - .sum(), + .when( + mapSheetMngHstEntity + .syncState + .eq("TYPEERROR") + .or(mapSheetMngHstEntity.syncState.eq("SIZEERROR"))) + .then(1L) + .otherwise(0L) + .sum(), new CaseBuilder() - .when(mapSheetMngHstEntity.syncCheckState.eq("DONE") - .and(mapSheetMngHstEntity.syncState.eq("TYPEERROR") - .or( mapSheetMngHstEntity.syncState.eq("SIZEERROR"))) ) - .then(1L) - .otherwise(0L) - .sum(), - + .when( + mapSheetMngHstEntity + .syncCheckState + .eq("DONE") + .and( + mapSheetMngHstEntity + .syncState + .eq("TYPEERROR") + .or(mapSheetMngHstEntity.syncState.eq("SIZEERROR")))) + .then(1L) + .otherwise(0L) + .sum(), mapSheetMngEntity.createdDttm, mapSheetMngHstEntity.syncEndDttm.max())) .from(mapSheetMngEntity) @@ -165,74 +179,75 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport BooleanBuilder whereBuilder = new BooleanBuilder(); whereBuilder.and(mapSheetMngHstEntity.mngYyyy.eq(searchReq.getMngYyyy())); - whereBuilder.and(mapSheetMngHstEntity.syncState.ne("DONE").and(mapSheetMngHstEntity.syncState.ne("NOTYET"))); + whereBuilder.and( + mapSheetMngHstEntity.syncState.ne("DONE").and(mapSheetMngHstEntity.syncState.ne("NOTYET"))); - if (searchReq.getSyncState() != null && ! searchReq.getSyncState().isEmpty()) { - if( searchReq.getSyncState().equals("NOTPAIR") ) - { - whereBuilder.and(mapSheetMngHstEntity.syncState.eq("NOTPAIR") - .or(mapSheetMngHstEntity.syncState.eq("NOFILE"))); - } - else if( searchReq.getSyncState().equals("FAULT") ) - { - whereBuilder.and(mapSheetMngHstEntity.syncState.eq("SIZEERROR") - .or(mapSheetMngHstEntity.syncState.eq("TYPEERROR"))); - } - else - { - whereBuilder.and(mapSheetMngHstEntity.syncState.eq(searchReq.getSyncState())); - } - } + if (searchReq.getSyncState() != null && !searchReq.getSyncState().isEmpty()) { + if (searchReq.getSyncState().equals("NOTPAIR")) { + whereBuilder.and( + mapSheetMngHstEntity + .syncState + .eq("NOTPAIR") + .or(mapSheetMngHstEntity.syncState.eq("NOFILE"))); + } else if (searchReq.getSyncState().equals("FAULT")) { + whereBuilder.and( + mapSheetMngHstEntity + .syncState + .eq("SIZEERROR") + .or(mapSheetMngHstEntity.syncState.eq("TYPEERROR"))); + } else { + whereBuilder.and(mapSheetMngHstEntity.syncState.eq(searchReq.getSyncState())); + } + } - if (searchReq.getSyncCheckState() != null && ! searchReq.getSyncCheckState().isEmpty()) { + if (searchReq.getSyncCheckState() != null && !searchReq.getSyncCheckState().isEmpty()) { whereBuilder.and(mapSheetMngHstEntity.syncCheckState.eq(searchReq.getSyncCheckState())); } - if (searchReq.getSearchValue() != null && ! searchReq.getSearchValue().isEmpty()) { - whereBuilder.and(mapSheetMngHstEntity.mapSheetNum.eq(searchReq.getSearchValue()) - .or(mapSheetMngHstEntity.refMapSheetNum.eq(searchReq.getSearchValue())) - .or(Expressions.stringTemplate( - "concat({0},substring({1}, 0, 6))", - mapInkx5kEntity.mapidNm, - mapSheetMngHstEntity.mapSheetNum - ).likeIgnoreCase(searchReq.getSearchValue())) - .or(Expressions.stringTemplate( - "concat({0},substring({1}, 6, 8))", - mapInkx5kEntity.mapidNm, - mapSheetMngHstEntity.mapSheetNum - ).likeIgnoreCase(searchReq.getSearchValue())) - ); + if (searchReq.getSearchValue() != null && !searchReq.getSearchValue().isEmpty()) { + whereBuilder.and( + mapSheetMngHstEntity + .mapSheetNum + .eq(searchReq.getSearchValue()) + .or(mapSheetMngHstEntity.refMapSheetNum.eq(searchReq.getSearchValue())) + .or( + Expressions.stringTemplate( + "concat({0},substring({1}, 0, 6))", + mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum) + .likeIgnoreCase(searchReq.getSearchValue())) + .or( + Expressions.stringTemplate( + "concat({0},substring({1}, 6, 8))", + mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum) + .likeIgnoreCase(searchReq.getSearchValue()))); } - - - List tuples = queryFactory - .select( - mapSheetMngHstEntity.hstUid, - mapSheetMngHstEntity.mapSheetName, - mapInkx5kEntity.mapidNm, - mapSheetMngHstEntity.mapSheetNum, - mapSheetMngHstEntity.mapSheetCodeSrc, - mapSheetMngHstEntity.createdDate, - mapSheetMngHstEntity.syncState, - mapSheetMngHstEntity.syncCheckState, - mapSheetMngFileEntity.fileUid, - mapSheetMngFileEntity.filePath, - mapSheetMngFileEntity.fileName, - mapSheetMngFileEntity.fileSize, - mapSheetMngFileEntity.fileState - ) - .from(mapSheetMngHstEntity) - .innerJoin(mapInkx5kEntity) - .on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo)) - .leftJoin(mapSheetMngFileEntity) - .on(mapSheetMngFileEntity.hstUid.eq(mapSheetMngHstEntity.hstUid)) - .where(whereBuilder) - .orderBy(mapSheetMngHstEntity.createdDate.desc()) - .offset(pageable.getOffset()) - .limit(pageable.getPageSize()) - .fetch(); - + List tuples = + queryFactory + .select( + mapSheetMngHstEntity.hstUid, + mapSheetMngHstEntity.mapSheetName, + mapInkx5kEntity.mapidNm, + mapSheetMngHstEntity.mapSheetNum, + mapSheetMngHstEntity.mapSheetCodeSrc, + mapSheetMngHstEntity.createdDate, + mapSheetMngHstEntity.syncState, + mapSheetMngHstEntity.syncCheckState, + mapSheetMngFileEntity.fileUid, + mapSheetMngFileEntity.filePath, + mapSheetMngFileEntity.fileName, + mapSheetMngFileEntity.fileSize, + mapSheetMngFileEntity.fileState) + .from(mapSheetMngHstEntity) + .innerJoin(mapInkx5kEntity) + .on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo)) + .leftJoin(mapSheetMngFileEntity) + .on(mapSheetMngFileEntity.hstUid.eq(mapSheetMngHstEntity.hstUid)) + .where(whereBuilder) + .orderBy(mapSheetMngHstEntity.createdDate.desc()) + .offset(pageable.getOffset()) + .limit(pageable.getPageSize()) + .fetch(); Map resultMap = new LinkedHashMap<>(); @@ -241,38 +256,35 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport Long hstUid = t.get(mapSheetMngHstEntity.hstUid); MapSheetMngDto.ErrorDataDto dto = - resultMap.computeIfAbsent(hstUid, id -> { + resultMap.computeIfAbsent( + hstUid, + id -> { + String map50kName = + t.get(mapSheetMngHstEntity.mapSheetName) + + t.get(mapSheetMngHstEntity.mapSheetNum).substring(0, 5); + String map5kName = + t.get(mapSheetMngHstEntity.mapSheetName) + + t.get(mapSheetMngHstEntity.mapSheetNum).substring(5, 8); - String map50kName = - t.get(mapSheetMngHstEntity.mapSheetName) - + t.get(mapSheetMngHstEntity.mapSheetNum).substring(0, 5); + String mapSrcName = + t.get(mapSheetMngHstEntity.mapSheetName) + + t.get(mapSheetMngHstEntity.mapSheetNum).substring(5, 8); - String map5kName = - t.get(mapSheetMngHstEntity.mapSheetName) - + t.get(mapSheetMngHstEntity.mapSheetNum).substring(5, 8); + MapSheetMngDto.ErrorDataDto newDto = + new MapSheetMngDto.ErrorDataDto( + id, + map50kName, + map5kName, + mapSrcName, + t.get(mapSheetMngHstEntity.mapSheetCodeSrc), + t.get(mapSheetMngHstEntity.createdDate), + t.get(mapSheetMngHstEntity.syncState), + t.get(mapSheetMngHstEntity.syncCheckState)); - String mapSrcName = - t.get(mapSheetMngHstEntity.mapSheetName) - + t.get(mapSheetMngHstEntity.mapSheetNum).substring(5, 8); - - - - MapSheetMngDto.ErrorDataDto newDto = - new MapSheetMngDto.ErrorDataDto( - id, - map50kName, - map5kName, - mapSrcName, - t.get(mapSheetMngHstEntity.mapSheetCodeSrc), - t.get(mapSheetMngHstEntity.createdDate), - t.get(mapSheetMngHstEntity.syncState), - t.get(mapSheetMngHstEntity.syncCheckState) - ); - - newDto.setFileArray(new ArrayList<>()); - return newDto; - }); + newDto.setFileArray(new ArrayList<>()); + return newDto; + }); // 파일 정보가 있는 경우만 추가 Long fileUid = t.get(mapSheetMngFileEntity.fileUid); @@ -291,7 +303,6 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport List foundContent = new ArrayList<>(resultMap.values()); - Long countQuery = queryFactory .select(mapSheetMngHstEntity.hstUid.count())