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 6c1fbcd2..3aacb6d8 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 @@ -422,30 +422,40 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport queryFactory .select( Projections.constructor( - MapSheetMngDto.ErrorDataDto.class, - mapSheetMngHstEntity.hstUid, - mapSheetMngHstEntity.mngYyyy, - mapSheetMngHstEntity.mapSheetNum, - mapSheetMngHstEntity.refMapSheetNum, - Expressions.stringTemplate( - "concat({0},substring({1}, 0, 6))", - mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum) - .as("map50kName"), - Expressions.stringTemplate( - "({0},{1})", 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.syncTfwFileName, - mapSheetMngHstEntity.syncTifFileName, - mapSheetMngHstEntity.syncCheckState, - mapSheetMngHstEntity.syncCheckTfwFileName, - mapSheetMngHstEntity.syncCheckTifFileName)) + MapSheetMngDto.ErrorDataDto.class, + mapSheetMngHstEntity.hstUid, + mapSheetMngHstEntity.mngYyyy, + mapSheetMngHstEntity.mapSheetNum, + mapSheetMngHstEntity.refMapSheetNum, + + Expressions.stringTemplate( + "concat({0}, substring({1}, 1, 5))", + mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum + ), + + // ✅ 튜플 방지: concat으로 문자열 생성 + Expressions.stringTemplate( + "concat('(', {0}, ',', {1}, ')')", + mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum + ), + + Expressions.stringTemplate( + "concat({0}, substring({1}, 6, 3))", + mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum + ), + + // fid 타입 주의 (Long이면 DTO도 Long으로 맞추는 걸 추천) + mapInkx5kEntity.fid, // 또는 mapInkx5kEntity.fid.intValue() + + // ✅ createdDate 말고 ZonedDateTime으로 매핑된 필드로 + mapSheetMngHstEntity.createdDate, // (예시) + + mapSheetMngHstEntity.syncState, + mapSheetMngHstEntity.syncTfwFileName, + mapSheetMngHstEntity.syncTifFileName, + mapSheetMngHstEntity.syncCheckState, + mapSheetMngHstEntity.syncCheckTfwFileName, + mapSheetMngHstEntity.syncCheckTifFileName)) .from(mapSheetMngHstEntity) .innerJoin(mapInkx5kEntity) .on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo))