From 3efb5302dfd24d91121657b50db62b9899fb3575 Mon Sep 17 00:00:00 2001 From: Moon Date: Wed, 17 Dec 2025 11:28:25 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=81=EC=83=81=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapsheet/MapSheetMngApiController.java | 5 +- .../mapsheet/dto/MapSheetMngDto.java | 15 +- .../mapsheet/service/MapSheetMngService.java | 4 +- .../postgres/core/MapSheetMngCoreService.java | 5 +- .../mapsheet/MapSheetMngRepositoryCustom.java | 4 +- .../mapsheet/MapSheetMngRepositoryImpl.java | 134 ++++++------------ 6 files changed, 66 insertions(+), 101 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java index 4663a6f0..01f17e3c 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java @@ -40,10 +40,9 @@ public class MapSheetMngApiController { @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) }) @PostMapping("/mng-list") - public ApiResponseDto> findMapSheetMngList( - @RequestBody MapSheetMngDto.MngSearchReq searchReq) { + public ApiResponseDto> findMapSheetMngList() { - return ApiResponseDto.ok(mapSheetMngService.findMapSheetMngList(searchReq)); + return ApiResponseDto.ok(mapSheetMngService.findMapSheetMngList()); } @Operation(summary = "영상데이터관리 상세", description = "영상데이터관리 상세") 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 6bcaa361..2ea190c6 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 @@ -151,7 +151,6 @@ public class MapSheetMngDto { @Getter @Setter @NoArgsConstructor - @AllArgsConstructor public static class ErrorDataDto { // private Integer rowNum; private Long hstUid; @@ -163,10 +162,12 @@ public class MapSheetMngDto { private String syncState; private String syncCheckState; - private Long fileUid; - private String fileName; + //private Long fileUid; + private String tfwFileName; + private String tifFileName; + + //private List fileArray; - private List fileArray; public ErrorDataDto( Long hstUid, @@ -176,7 +177,9 @@ public class MapSheetMngDto { Integer mapCodeSrc, ZonedDateTime createdDttm, String syncState, - String syncCheckState) { + String syncCheckState, + String tfwFileName, + String tifFileName) { this.hstUid = hstUid; this.map50kName = map50kName; this.map5kName = map5kName; @@ -185,6 +188,8 @@ public class MapSheetMngDto { this.createdDttm = createdDttm; this.syncState = syncState; this.syncCheckState = syncCheckState; + this.tfwFileName = tfwFileName; + this.tifFileName = tifFileName; } } diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java index b3288e60..57b0919e 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java @@ -213,8 +213,8 @@ public class MapSheetMngService { } - public Page findMapSheetMngList(MapSheetMngDto.MngSearchReq searchReq) { - return mapSheetMngCoreService.findMapSheetMngList(searchReq); + public List findMapSheetMngList() { + return mapSheetMngCoreService.findMapSheetMngList(); } public MapSheetMngDto.MngDto findMapSheetMng(int mngYyyy) { diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngCoreService.java index 962b8615..84802c85 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngCoreService.java @@ -37,9 +37,8 @@ public class MapSheetMngCoreService { return mapSheetMngRepository.findMapSheetErrorList(searchReq); } - public Page findMapSheetMngList( - MapSheetMngDto.@Valid MngSearchReq searchReq) { - return mapSheetMngRepository.findMapSheetMngList(searchReq); + public List findMapSheetMngList() { + return mapSheetMngRepository.findMapSheetMngList(); } public MapSheetMngDto.MngDto findMapSheetMng(int mngYyyy) { diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryCustom.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryCustom.java index f9a30ad6..c72589ce 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryCustom.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/mapsheet/MapSheetMngRepositoryCustom.java @@ -1,14 +1,16 @@ package com.kamco.cd.kamcoback.postgres.repository.mapsheet; import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto; +import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngDto; import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity; import jakarta.validation.Valid; +import java.util.List; import java.util.Optional; import org.springframework.data.domain.Page; public interface MapSheetMngRepositoryCustom { - Page findMapSheetMngList(MapSheetMngDto.MngSearchReq searchReq); + List findMapSheetMngList(); MapSheetMngDto.MngDto findMapSheetMng(int mngYyyy); 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 8680114d..f3b70cc1 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 @@ -47,14 +47,14 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport } @Override - public Page findMapSheetMngList(MapSheetMngDto.MngSearchReq searchReq) { + public List findMapSheetMngList() { - Pageable pageable = searchReq.toPageable(); + //Pageable pageable = searchReq.toPageable(); BooleanBuilder whereBuilder = new BooleanBuilder(); - if (searchReq.getMngYyyy() != null) { - whereBuilder.and(mapSheetMngEntity.mngYyyy.eq(searchReq.getMngYyyy())); - } + //if (searchReq.getMngYyyy() != null) { + //whereBuilder.and(mapSheetMngEntity.mngYyyy.eq(searchReq.getMngYyyy())); + //} NumberExpression totalCount = mapSheetMngHstEntity.count().as("syncTotCnt"); @@ -155,9 +155,9 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport .leftJoin(mapSheetMngHstEntity) .on(mapSheetMngEntity.mngYyyy.eq(mapSheetMngHstEntity.mngYyyy)) .where(whereBuilder) - .offset(pageable.getOffset()) - .limit(pageable.getPageSize()) - .orderBy(mapSheetMngEntity.createdDttm.desc()) + //.offset(pageable.getOffset()) + //.limit(pageable.getPageSize()) + .orderBy(mapSheetMngEntity.mngYyyy.desc()) .groupBy(mapSheetMngEntity.mngYyyy) .fetch(); @@ -168,7 +168,7 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport .where(whereBuilder) .fetchOne(); - return new PageImpl<>(foundContent, pageable, countQuery); + return foundContent; } public MapSheetMngDto.MngDto findMapSheetMng(int mngYyyy){ @@ -322,86 +322,46 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport .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 foundContent = + queryFactory + .select( + Projections.constructor( + MapSheetMngDto.ErrorDataDto.class, + mapSheetMngHstEntity.hstUid, + Expressions.stringTemplate( + "concat({0},substring({1}, 0, 6))", + mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum).as("map50kName"), + Expressions.stringTemplate( + "concat({0},substring({1}, 6, 8))", + mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum).as("map5kName"), + Expressions.stringTemplate( + "concat({0},substring({1}, 6, 8))", + mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum).as("mapSrcName"), + mapInkx5kEntity.fid, + mapSheetMngHstEntity.createdDate, + mapSheetMngHstEntity.syncState, + mapSheetMngHstEntity.syncCheckState, + Expressions.stringTemplate( + "MAX(CASE WHEN {0} = 'tfw' THEN {1} END)", + mapSheetMngFileEntity.fileExt, mapSheetMngFileEntity.fileName + ), + Expressions.stringTemplate( + "MAX(CASE WHEN {0} = 'tif' THEN {1} END)", + mapSheetMngFileEntity.fileExt, mapSheetMngFileEntity.fileName + ) + ) + ) + .from(mapSheetMngHstEntity) + .innerJoin(mapInkx5kEntity).on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo)) + .leftJoin(mapSheetMngFileEntity).on(mapSheetMngHstEntity.hstUid.eq(mapSheetMngFileEntity.hstUid)) + .where(whereBuilder) + .groupBy(mapSheetMngHstEntity.hstUid, mapInkx5kEntity.fid, mapInkx5kEntity.mapidNm) + .orderBy(mapSheetMngHstEntity.createdDate.desc()) + .offset(pageable.getOffset()) + .limit(pageable.getPageSize()) + .fetch(); - Map resultMap = new LinkedHashMap<>(); - for (Tuple t : tuples) { - - Long hstUid = t.get(mapSheetMngHstEntity.hstUid); - - MapSheetMngDto.ErrorDataDto dto = - 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 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; - }); - - // 파일 정보가 있는 경우만 추가 - Long fileUid = t.get(mapSheetMngFileEntity.fileUid); - if (fileUid != null) { - MapSheetMngDto.MngFIleDto fileDto = new MapSheetMngDto.MngFIleDto(); - fileDto.setFileUid(fileUid); - fileDto.setFilePath(t.get(mapSheetMngFileEntity.filePath)); - fileDto.setFileName(t.get(mapSheetMngFileEntity.fileName)); - fileDto.setFileSize(t.get(mapSheetMngFileEntity.fileSize)); - fileDto.setFileState(t.get(mapSheetMngFileEntity.fileState)); - fileDto.setHstUid(hstUid); - - dto.getFileArray().add(fileDto); - } - } - - List foundContent = new ArrayList<>(resultMap.values()); Long countQuery = queryFactory