From 45810e9fc9a17d69db872d49a7b320deb184c771 Mon Sep 17 00:00:00 2001 From: teddy Date: Wed, 17 Dec 2025 14:14:58 +0900 Subject: [PATCH 1/9] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EC=A0=95=EB=B3=B4=20coun?= =?UTF-8?q?t=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../postgres/repository/members/MembersRepositoryImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/members/MembersRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/members/MembersRepositoryImpl.java index 0cf06001..9f53091f 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/members/MembersRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/members/MembersRepositoryImpl.java @@ -134,7 +134,7 @@ public class MembersRepositoryImpl implements MembersRepositoryCustom { .orderBy(memberEntity.createdDttm.desc()) .fetch(); - long total = queryFactory.select(memberEntity).from(memberEntity).fetchCount(); + long total = queryFactory.select(memberEntity).from(memberEntity).where(builder).fetchCount(); return new PageImpl<>(content, pageable, total); } From 3d9e599878c0f940fa3dd4f2a0dcfc2eee5b3c3b Mon Sep 17 00:00:00 2001 From: teddy Date: Wed, 17 Dec 2025 14:27:36 +0900 Subject: [PATCH 2/9] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EC=A0=95=EB=B3=B4=20coun?= =?UTF-8?q?t=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/members/MembersRepositoryImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/members/MembersRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/members/MembersRepositoryImpl.java index 9f53091f..2dd342cb 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/members/MembersRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/members/MembersRepositoryImpl.java @@ -134,8 +134,14 @@ public class MembersRepositoryImpl implements MembersRepositoryCustom { .orderBy(memberEntity.createdDttm.desc()) .fetch(); - long total = queryFactory.select(memberEntity).from(memberEntity).where(builder).fetchCount(); - + long total = + Optional.ofNullable( + queryFactory + .select(memberEntity.count()) + .from(memberEntity) + .where(builder) + .fetchOne()) + .orElse(0L); return new PageImpl<>(content, pageable, total); } From 413315dce5cd374cb59d6e9e214aa58e75032e4c Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Wed, 17 Dec 2025 14:31:39 +0900 Subject: [PATCH 3/9] =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EA=B4=80=EB=A6=AC=20Gene?= =?UTF-8?q?rationType.IDENTITY=EB=A1=9C=20=EB=8B=A4=EC=8B=9C=20=EC=9B=90?= =?UTF-8?q?=EB=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cd/kamcoback/postgres/entity/AuditLogEntity.java | 8 +------- .../cd/kamcoback/postgres/entity/ErrorLogEntity.java | 11 +++-------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/AuditLogEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/AuditLogEntity.java index 298f7d58..7fb389f6 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/AuditLogEntity.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/AuditLogEntity.java @@ -15,13 +15,7 @@ import lombok.NoArgsConstructor; @Table(name = "tb_audit_log") public class AuditLogEntity extends CommonCreateEntity { @Id - @GeneratedValue( - strategy = GenerationType.SEQUENCE, - generator = "tb_audit_log_audit_log_uid_seq_gen") - @SequenceGenerator( - name = "tb_audit_log_audit_log_uid_seq_gen", - sequenceName = "tb_audit_log_audit_log_uid_seq", - allocationSize = 1) + @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "audit_log_uid", nullable = false) private Long id; diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ErrorLogEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ErrorLogEntity.java index bc66111b..498f3dc3 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ErrorLogEntity.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ErrorLogEntity.java @@ -5,24 +5,19 @@ import com.kamco.cd.kamcoback.log.dto.EventType; import com.kamco.cd.kamcoback.postgres.CommonCreateEntity; import jakarta.persistence.*; import jakarta.validation.constraints.Size; -import java.time.ZonedDateTime; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; +import java.time.ZonedDateTime; + @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name = "tb_error_log") public class ErrorLogEntity extends CommonCreateEntity { @Id - @GeneratedValue( - strategy = GenerationType.SEQUENCE, - generator = "tb_error_log_error_log_uid_seq_gen") - @SequenceGenerator( - name = "tb_error_log_error_log_uid_seq_gen", - sequenceName = "tb_error_log_error_log_uid_seq", - allocationSize = 1) + @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "error_log_uid", nullable = false) private Long id; From d2b3ba27cc223a9949f2dfd687a10c30aa796770 Mon Sep 17 00:00:00 2001 From: Moon Date: Wed, 17 Dec 2025 15:03:02 +0900 Subject: [PATCH 4/9] =?UTF-8?q?mngState=EB=AA=85=20enum=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kamcoback/common/enums/MngStateType.java | 27 +++++++++++++++++ .../mapsheet/dto/MapSheetMngDto.java | 29 ++++++------------- 2 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java new file mode 100644 index 00000000..ba727d44 --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java @@ -0,0 +1,27 @@ +package com.kamco.cd.kamcoback.common.enums; + +import com.kamco.cd.kamcoback.config.enums.EnumType; +import lombok.AllArgsConstructor; +import lombok.Getter; + + +@Getter +@AllArgsConstructor +public enum MngStateType implements EnumType { + NOTYET("미처리"), + PROCESSING("진행중"), + DONE ("완료"); + + private final String desc; + + @Override + public String getId() { + return name(); + } + + @Override + public String getText() { + return desc; + } +} + 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 7acb6639..7b7ef1ef 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 @@ -1,5 +1,6 @@ package com.kamco.cd.kamcoback.mapsheet.dto; +import com.kamco.cd.kamcoback.common.enums.MngStateType; import com.kamco.cd.kamcoback.common.enums.RoleType; import com.kamco.cd.kamcoback.common.enums.SyncStateType; import com.kamco.cd.kamcoback.common.utils.Enums; @@ -107,6 +108,14 @@ public class MapSheetMngDto { public long getSyncErrorExecTotCnt() { return this.syncNotPaireExecCnt + this.syncDuplicateExecCnt + this.syncFaultExecCnt; } + + public String getMngStateName() { + String enumId = this.mngState; + if( enumId == null || enumId.isEmpty())enumId = "NOTYET"; + + MngStateType type = Enums.fromId(MngStateType.class, enumId); + return type.getText(); + } } @Schema(name = "ErrorSearchReq", description = "영상관리 오류데이터 검색 요청") @@ -234,26 +243,6 @@ public class MapSheetMngDto { private String message; } - @Getter - @AllArgsConstructor - public enum MngState implements EnumType { - COMPLETE("업로드 완료"), - IN_PROGRESS("진행중"), - FAILED("오류"); - - private final String desc; - - @Override - public String getId() { - return name(); - } - - @Override - public String getText() { - return desc; - } - } - @Getter From b5fddd5c4b14243b57d0ee37fda0901e0e2c03ac Mon Sep 17 00:00:00 2001 From: Moon Date: Wed, 17 Dec 2025 15:06:43 +0900 Subject: [PATCH 5/9] =?UTF-8?q?=EC=98=81=EC=83=81=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EC=83=81=ED=83=9C=20enum=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/kamco/cd/kamcoback/common/enums/MngStateType.java | 2 -- .../com/kamco/cd/kamcoback/common/enums/SyncStateType.java | 3 +++ .../com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java | 2 -- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java index ba727d44..93da7946 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java @@ -4,7 +4,6 @@ import com.kamco.cd.kamcoback.config.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; - @Getter @AllArgsConstructor public enum MngStateType implements EnumType { @@ -24,4 +23,3 @@ public enum MngStateType implements EnumType { return desc; } } - diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java index 2acba320..0bf0629d 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java @@ -4,6 +4,7 @@ import com.kamco.cd.kamcoback.config.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; + @Getter @AllArgsConstructor public enum SyncStateType implements EnumType { @@ -27,3 +28,5 @@ public enum SyncStateType implements EnumType { return desc; } } + + 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 7b7ef1ef..c48e8711 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 @@ -1,14 +1,12 @@ package com.kamco.cd.kamcoback.mapsheet.dto; import com.kamco.cd.kamcoback.common.enums.MngStateType; -import com.kamco.cd.kamcoback.common.enums.RoleType; import com.kamco.cd.kamcoback.common.enums.SyncStateType; import com.kamco.cd.kamcoback.common.utils.Enums; import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm; import com.kamco.cd.kamcoback.config.enums.EnumType; import io.swagger.v3.oas.annotations.media.Schema; import java.time.ZonedDateTime; -import java.util.List; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; From b02b6c0388f50620183448707b28adf932df9f06 Mon Sep 17 00:00:00 2001 From: Moon Date: Wed, 17 Dec 2025 15:09:03 +0900 Subject: [PATCH 6/9] =?UTF-8?q?DTO=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java | 1 + 1 file changed, 1 insertion(+) 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 c48e8711..079ae777 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 @@ -107,6 +107,7 @@ public class MapSheetMngDto { return this.syncNotPaireExecCnt + this.syncDuplicateExecCnt + this.syncFaultExecCnt; } + public String getMngStateName() { String enumId = this.mngState; if( enumId == null || enumId.isEmpty())enumId = "NOTYET"; From b5068ff9bd16bf49103adfb46b82c1de3aa82b2d Mon Sep 17 00:00:00 2001 From: Moon Date: Wed, 17 Dec 2025 15:27:38 +0900 Subject: [PATCH 7/9] =?UTF-8?q?=EC=98=81=EC=83=81=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EC=83=81=ED=83=9C=EC=A0=95=EC=9D=98=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EB=B0=8F=20=EC=9E=91=EC=97=85=EC=99=84=EB=A3=8C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kamcoback/common/enums/MngStateType.java | 4 +- .../mapsheet/MapSheetMngApiController.java | 40 ++++++++++++-- .../MapSheetMngFileCheckerApiController.java | 13 +---- .../mapsheet/service/MapSheetMngService.java | 52 +++++++++++++++++++ .../postgres/core/MapSheetMngCoreService.java | 21 ++++++-- .../mapsheet/MapSheetMngRepositoryCustom.java | 4 ++ .../mapsheet/MapSheetMngRepositoryImpl.java | 50 ++++++++++++++++++ 7 files changed, 162 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java index 93da7946..29e561e0 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java @@ -9,7 +9,9 @@ import lombok.Getter; public enum MngStateType implements EnumType { NOTYET("미처리"), PROCESSING("진행중"), - DONE ("완료"); + DONE ("싱크완료"), + COMPLETE("작업완료"); + private final String desc; 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 471ac327..a0ff578a 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java @@ -15,7 +15,9 @@ import jakarta.validation.Valid; import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; @Tag(name = "영상 관리", description = "영상 관리 API") @RestController @@ -84,6 +86,26 @@ public class MapSheetMngApiController { return ApiResponseDto.ok(mapSheetMngService.mngDataSave(AddReq)); } + @Operation(summary = "영상관리 > 작업완료", description = "영상관리 > 작업완료") + @ApiResponses( + value = { + @ApiResponse( + responseCode = "201", + description = "작업완료 처리 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Long.class))), + @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) + @PutMapping("/mng-complete") + public ApiResponseDto mngComplete( + @RequestParam @Valid int mngYyyy) { + return ApiResponseDto.ok(mapSheetMngService.mngComplete(mngYyyy)); + } + /** * 오류데이터 목록 조회 * @@ -96,10 +118,7 @@ public class MapSheetMngApiController { return ApiResponseDto.ok(mapSheetMngService.findMapSheetErrorList(searchReq)); } - /** - * @param hstUidList - * @return - */ + @Operation(summary = "오류데이터 팝업 > 업로드 처리", description = "오류데이터 팝업 > 업로드 처리") @ApiResponses( value = { @@ -130,4 +149,17 @@ public class MapSheetMngApiController { @RequestBody @Valid List hstUidList) { return ApiResponseDto.ok(mapSheetMngService.updateExceptUseInference(hstUidList)); } + + + + + @Operation(summary = "페어 파일 업로드", description = "TFW/TIF 두 파일을 쌍으로 업로드 및 검증") + @PostMapping(value = "/upload-pair", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public ApiResponseDto uploadPair( + @RequestPart("tfw") MultipartFile tfwFile, + @RequestPart("tif") MultipartFile tifFile, + @RequestParam(value = "hstUid", required = false) Long hstUid) { + return ApiResponseDto.createOK( + mapSheetMngService.uploadPair(tfwFile, tifFile, hstUid)); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java index 854f7a04..6ba95edd 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java @@ -83,18 +83,7 @@ public class MapSheetMngFileCheckerApiController { mapSheetMngFileCheckerService.uploadFile(file, targetPath, overwrite, hstUid)); } - @Operation(summary = "페어 파일 업로드", description = "TFW/TIF 두 파일을 쌍으로 업로드 및 검증") - @PostMapping(value = "/upload-pair", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public ApiResponseDto uploadPair( - @RequestPart("tfw") MultipartFile tfwFile, - @RequestPart("tif") MultipartFile tifFile, - @RequestParam("targetPath") String targetPath, - @RequestParam(value = "overwrite", required = false, defaultValue = "false") - boolean overwrite, - @RequestParam(value = "hstUid", required = false) Long hstUid) { - return ApiResponseDto.createOK( - mapSheetMngFileCheckerService.uploadPair(tfwFile, tifFile, targetPath, overwrite, hstUid)); - } + @Operation(summary = "파일 삭제", description = "중복 파일 등 파일 삭제") @PostMapping("/delete") 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 8c43732d..b75b572a 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 @@ -2,6 +2,9 @@ package com.kamco.cd.kamcoback.mapsheet.service; import static java.lang.String.CASE_INSENSITIVE_ORDER; +import com.kamco.cd.kamcoback.common.exception.DuplicateFileException; +import com.kamco.cd.kamcoback.common.exception.ValidationException; +import com.kamco.cd.kamcoback.common.utils.FIleChecker; import com.kamco.cd.kamcoback.mapsheet.dto.FileDto; import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.FilesDto; import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.SrchFilesDepthDto; @@ -29,6 +32,7 @@ import org.apache.commons.io.FilenameUtils; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; @Service @RequiredArgsConstructor @@ -220,11 +224,24 @@ public class MapSheetMngService { return mapSheetMngCoreService.findMapSheetMng(mngYyyy); } + + @Transactional + public MapSheetMngDto.DmlReturn mngComplete(int mngYyyy) { + + mapSheetMngCoreService.MapSheetMngComplete(mngYyyy); + + return new MapSheetMngDto.DmlReturn("success", "작업완료 처리되었습니다."); + } + public Page findMapSheetErrorList( MapSheetMngDto.@Valid ErrorSearchReq searchReq) { return mapSheetMngCoreService.findMapSheetErrorList(searchReq); } + public MapSheetMngDto.ErrorDataDto findMapSheetError(Long hstUid) { + return mapSheetMngCoreService.findMapSheetError(hstUid); + } + @Transactional public MapSheetMngDto.DmlReturn mngDataSave(MapSheetMngDto.AddReq AddReq) { return mapSheetMngCoreService.mngDataSave(AddReq); @@ -248,4 +265,39 @@ public class MapSheetMngService { public MapSheetMngDto.DmlReturn updateExceptUseInference(@Valid List hstUidList) { return mapSheetMngCoreService.updateExceptUseInference(hstUidList); } + + @Transactional + public MapSheetMngDto.DmlReturn uploadPair( + MultipartFile tfwFile, + MultipartFile tifFile, + //String targetPath, + Long hstUid) { + + // 파일 유효성 검증 + if (tfwFile == null || tfwFile.isEmpty() || tfwFile.getSize() == 0) { + return new MapSheetMngDto.DmlReturn("fail", "TFW 파일이(0Byte) 비어있습니다."); + }else if (tifFile == null || tifFile.isEmpty() || tifFile.getSize() == 0) { + return new MapSheetMngDto.DmlReturn("fail", "TIF 파일이(0Byte) 비어있습니다."); + } + + if( ! tfwFile.getOriginalFilename() + .substring(tfwFile.getOriginalFilename().lastIndexOf('.') + 1) + .toLowerCase() + .equals("tfw") ) + { + return new MapSheetMngDto.DmlReturn("fail", "파일명이 TFW형식이 아닙니다."); + }else if( ! tifFile.getOriginalFilename() + .substring(tifFile.getOriginalFilename().lastIndexOf('.') + 1) + .toLowerCase() + .equals("tif") ) + { + return new MapSheetMngDto.DmlReturn("fail", "파일명이 TIF형식이 아닙니다."); + } + + + return new MapSheetMngDto.DmlReturn("success", "파일 업로드 완료되었습니다."); + + } + + } 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 84802c85..74bfd2b3 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 @@ -32,11 +32,6 @@ public class MapSheetMngCoreService { @Value("{spring.profiles.active}") private String activeEnv; - public Page findMapSheetErrorList( - MapSheetMngDto.@Valid ErrorSearchReq searchReq) { - return mapSheetMngRepository.findMapSheetErrorList(searchReq); - } - public List findMapSheetMngList() { return mapSheetMngRepository.findMapSheetMngList(); } @@ -45,6 +40,22 @@ public class MapSheetMngCoreService { return mapSheetMngRepository.findMapSheetMng(mngYyyy); } + public void MapSheetMngComplete(@Valid int mngYyyy) { + mapSheetMngRepository.MapSheetMngComplete(mngYyyy); + } + + + public Page findMapSheetErrorList( + MapSheetMngDto.@Valid ErrorSearchReq searchReq) { + return mapSheetMngRepository.findMapSheetErrorList(searchReq); + } + + public MapSheetMngDto.ErrorDataDto findMapSheetError(Long hstUid){ + return mapSheetMngRepository.findMapSheetError(hstUid); + } + + + public MapSheetMngDto.DmlReturn uploadProcess(@Valid List hstUidList) { int count = 0; if (!Objects.isNull(hstUidList) && !hstUidList.isEmpty()) { 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 185f3ab6..db933de3 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 @@ -13,6 +13,8 @@ public interface MapSheetMngRepositoryCustom { MapSheetMngDto.MngDto findMapSheetMng(int mngYyyy); + void MapSheetMngComplete(int mngYyyy); + Optional findMapSheetMngHstInfo(Long hstUid); int insertMapSheetOrgDataToMapSheetMngHst(int mngYyyy); @@ -28,5 +30,7 @@ public interface MapSheetMngRepositoryCustom { Page findMapSheetErrorList( MapSheetMngDto.@Valid ErrorSearchReq searchReq); + MapSheetMngDto.ErrorDataDto findMapSheetError(Long hstUid); + void updateHstFileSizes(Long hstUid, long tifSizeBytes, long tfwSizeBytes, long totalSizeBytes); } 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 375cd240..8edc9eb9 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 @@ -367,6 +367,56 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport return new PageImpl<>(foundContent, pageable, countQuery); } + + @Override + public MapSheetMngDto.ErrorDataDto findMapSheetError(Long hstUid){ + + BooleanBuilder whereBuilder = new BooleanBuilder(); + whereBuilder.and( mapSheetMngHstEntity.hstUid.eq(hstUid)); + + MapSheetMngDto.ErrorDataDto 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.syncTfwFileName, + mapSheetMngHstEntity.syncTifFileName, + mapSheetMngHstEntity.syncCheckState, + mapSheetMngHstEntity.syncCheckTfwFileName, + mapSheetMngHstEntity.syncCheckTifFileName + ) + ) + .from(mapSheetMngHstEntity) + .innerJoin(mapInkx5kEntity).on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo)) + .where(whereBuilder) + .fetchOne(); + + return foundContent; + } + + + public void MapSheetMngComplete(int mngYyyy) { + long execCount = + queryFactory + .update(mapSheetMngEntity) + .set(mapSheetMngEntity.mngState, "COMPLETE") + .where(mapSheetMngEntity.mngYyyy.eq(mngYyyy)) + .execute(); + } + @Override public void deleteByMngYyyyMngAll(int mngYyyy) { From d6b6e77a88da569447cc255f1d6577a584b44f47 Mon Sep 17 00:00:00 2001 From: Moon Date: Wed, 17 Dec 2025 15:34:02 +0900 Subject: [PATCH 8/9] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EC=84=A4=EC=A0=95=20root?= =?UTF-8?q?=20=EA=B2=BD=EB=A1=9C=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java b/src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java index d401940d..aa657896 100644 --- a/src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java +++ b/src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; @Setter public class FileConfig { - private String rootSyncDir = "D:\\app\\original-images"; - // private String rootSyncDir = "/app/original-images"; + //private String rootSyncDir = "D:\\app\\original-images"; + private String rootSyncDir = "/app/original-images"; } From 3213b1e9a7685c796601638c415e7f8705d77596 Mon Sep 17 00:00:00 2001 From: teddy Date: Wed, 17 Dec 2025 15:35:14 +0900 Subject: [PATCH 9/9] spotlessApply --- .../kamcoback/common/enums/MngStateType.java | 3 +- .../kamcoback/common/enums/SyncStateType.java | 3 - .../kamco/cd/kamcoback/config/FileConfig.java | 3 +- .../mapsheet/MapSheetMngApiController.java | 40 +++++----- .../MapSheetMngFileCheckerApiController.java | 2 - .../mapsheet/dto/MapSheetMngDto.java | 10 +-- .../mapsheet/service/MapSheetMngService.java | 50 ++++++------- .../postgres/core/MapSheetMngCoreService.java | 5 +- .../postgres/entity/ErrorLogEntity.java | 3 +- .../mapsheet/MapSheetMngRepositoryImpl.java | 74 +++++++++---------- 10 files changed, 82 insertions(+), 111 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java index 29e561e0..342064d6 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java @@ -9,10 +9,9 @@ import lombok.Getter; public enum MngStateType implements EnumType { NOTYET("미처리"), PROCESSING("진행중"), - DONE ("싱크완료"), + DONE("싱크완료"), COMPLETE("작업완료"); - private final String desc; @Override diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java index 0bf0629d..2acba320 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java @@ -4,7 +4,6 @@ import com.kamco.cd.kamcoback.config.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; - @Getter @AllArgsConstructor public enum SyncStateType implements EnumType { @@ -28,5 +27,3 @@ public enum SyncStateType implements EnumType { return desc; } } - - diff --git a/src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java b/src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java index aa657896..fb0ae08c 100644 --- a/src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java +++ b/src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java @@ -12,7 +12,6 @@ import org.springframework.stereotype.Component; @Setter public class FileConfig { - //private String rootSyncDir = "D:\\app\\original-images"; + // private String rootSyncDir = "D:\\app\\original-images"; private String rootSyncDir = "/app/original-images"; - } 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 a0ff578a..1bedf2fc 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java @@ -88,21 +88,20 @@ public class MapSheetMngApiController { @Operation(summary = "영상관리 > 작업완료", description = "영상관리 > 작업완료") @ApiResponses( - value = { - @ApiResponse( - responseCode = "201", - description = "작업완료 처리 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Long.class))), - @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "201", + description = "작업완료 처리 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Long.class))), + @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PutMapping("/mng-complete") - public ApiResponseDto mngComplete( - @RequestParam @Valid int mngYyyy) { + public ApiResponseDto mngComplete(@RequestParam @Valid int mngYyyy) { return ApiResponseDto.ok(mapSheetMngService.mngComplete(mngYyyy)); } @@ -118,7 +117,6 @@ public class MapSheetMngApiController { return ApiResponseDto.ok(mapSheetMngService.findMapSheetErrorList(searchReq)); } - @Operation(summary = "오류데이터 팝업 > 업로드 처리", description = "오류데이터 팝업 > 업로드 처리") @ApiResponses( value = { @@ -150,16 +148,12 @@ public class MapSheetMngApiController { return ApiResponseDto.ok(mapSheetMngService.updateExceptUseInference(hstUidList)); } - - - @Operation(summary = "페어 파일 업로드", description = "TFW/TIF 두 파일을 쌍으로 업로드 및 검증") @PostMapping(value = "/upload-pair", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public ApiResponseDto uploadPair( - @RequestPart("tfw") MultipartFile tfwFile, - @RequestPart("tif") MultipartFile tifFile, - @RequestParam(value = "hstUid", required = false) Long hstUid) { - return ApiResponseDto.createOK( - mapSheetMngService.uploadPair(tfwFile, tifFile, hstUid)); + @RequestPart("tfw") MultipartFile tfwFile, + @RequestPart("tif") MultipartFile tifFile, + @RequestParam(value = "hstUid", required = false) Long hstUid) { + return ApiResponseDto.createOK(mapSheetMngService.uploadPair(tfwFile, tifFile, hstUid)); } } diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java index 6ba95edd..239bf383 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java @@ -83,8 +83,6 @@ public class MapSheetMngFileCheckerApiController { mapSheetMngFileCheckerService.uploadFile(file, targetPath, overwrite, hstUid)); } - - @Operation(summary = "파일 삭제", description = "중복 파일 등 파일 삭제") @PostMapping("/delete") public ApiResponseDto deleteFile(@RequestBody SrchFoldersDto dto) { 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 079ae777..6b80ba50 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 @@ -107,10 +107,9 @@ public class MapSheetMngDto { return this.syncNotPaireExecCnt + this.syncDuplicateExecCnt + this.syncFaultExecCnt; } - public String getMngStateName() { String enumId = this.mngState; - if( enumId == null || enumId.isEmpty())enumId = "NOTYET"; + if (enumId == null || enumId.isEmpty()) enumId = "NOTYET"; MngStateType type = Enums.fromId(MngStateType.class, enumId); return type.getText(); @@ -180,8 +179,7 @@ public class MapSheetMngDto { private String errorCheckTfwFileName; private String errorCheckTifFileName; - //private List fileArray; - + // private List fileArray; public ErrorDataDto( Long hstUid, @@ -213,7 +211,7 @@ public class MapSheetMngDto { } private String getSyncStateName(String enumId) { - if( enumId == null || enumId.isEmpty())enumId = "NOTYET"; + if (enumId == null || enumId.isEmpty()) enumId = "NOTYET"; SyncStateType type = Enums.fromId(SyncStateType.class, enumId); return type.getText(); @@ -242,8 +240,6 @@ public class MapSheetMngDto { private String message; } - - @Getter @AllArgsConstructor public enum DataState implements EnumType { 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 b75b572a..f9bf629d 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 @@ -2,9 +2,6 @@ package com.kamco.cd.kamcoback.mapsheet.service; import static java.lang.String.CASE_INSENSITIVE_ORDER; -import com.kamco.cd.kamcoback.common.exception.DuplicateFileException; -import com.kamco.cd.kamcoback.common.exception.ValidationException; -import com.kamco.cd.kamcoback.common.utils.FIleChecker; import com.kamco.cd.kamcoback.mapsheet.dto.FileDto; import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.FilesDto; import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.SrchFilesDepthDto; @@ -224,7 +221,6 @@ public class MapSheetMngService { return mapSheetMngCoreService.findMapSheetMng(mngYyyy); } - @Transactional public MapSheetMngDto.DmlReturn mngComplete(int mngYyyy) { @@ -268,36 +264,32 @@ public class MapSheetMngService { @Transactional public MapSheetMngDto.DmlReturn uploadPair( - MultipartFile tfwFile, - MultipartFile tifFile, - //String targetPath, - Long hstUid) { + MultipartFile tfwFile, + MultipartFile tifFile, + // String targetPath, + Long hstUid) { - // 파일 유효성 검증 - if (tfwFile == null || tfwFile.isEmpty() || tfwFile.getSize() == 0) { - return new MapSheetMngDto.DmlReturn("fail", "TFW 파일이(0Byte) 비어있습니다."); - }else if (tifFile == null || tifFile.isEmpty() || tifFile.getSize() == 0) { - return new MapSheetMngDto.DmlReturn("fail", "TIF 파일이(0Byte) 비어있습니다."); - } + // 파일 유효성 검증 + if (tfwFile == null || tfwFile.isEmpty() || tfwFile.getSize() == 0) { + return new MapSheetMngDto.DmlReturn("fail", "TFW 파일이(0Byte) 비어있습니다."); + } else if (tifFile == null || tifFile.isEmpty() || tifFile.getSize() == 0) { + return new MapSheetMngDto.DmlReturn("fail", "TIF 파일이(0Byte) 비어있습니다."); + } - if( ! tfwFile.getOriginalFilename() - .substring(tfwFile.getOriginalFilename().lastIndexOf('.') + 1) - .toLowerCase() - .equals("tfw") ) - { - return new MapSheetMngDto.DmlReturn("fail", "파일명이 TFW형식이 아닙니다."); - }else if( ! tifFile.getOriginalFilename() + if (!tfwFile + .getOriginalFilename() + .substring(tfwFile.getOriginalFilename().lastIndexOf('.') + 1) + .toLowerCase() + .equals("tfw")) { + return new MapSheetMngDto.DmlReturn("fail", "파일명이 TFW형식이 아닙니다."); + } else if (!tifFile + .getOriginalFilename() .substring(tifFile.getOriginalFilename().lastIndexOf('.') + 1) .toLowerCase() - .equals("tif") ) - { - return new MapSheetMngDto.DmlReturn("fail", "파일명이 TIF형식이 아닙니다."); - } - + .equals("tif")) { + return new MapSheetMngDto.DmlReturn("fail", "파일명이 TIF형식이 아닙니다."); + } return new MapSheetMngDto.DmlReturn("success", "파일 업로드 완료되었습니다."); - } - - } 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 74bfd2b3..cf91ae0e 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 @@ -44,18 +44,15 @@ public class MapSheetMngCoreService { mapSheetMngRepository.MapSheetMngComplete(mngYyyy); } - public Page findMapSheetErrorList( MapSheetMngDto.@Valid ErrorSearchReq searchReq) { return mapSheetMngRepository.findMapSheetErrorList(searchReq); } - public MapSheetMngDto.ErrorDataDto findMapSheetError(Long hstUid){ + public MapSheetMngDto.ErrorDataDto findMapSheetError(Long hstUid) { return mapSheetMngRepository.findMapSheetError(hstUid); } - - public MapSheetMngDto.DmlReturn uploadProcess(@Valid List hstUidList) { int count = 0; if (!Objects.isNull(hstUidList) && !hstUidList.isEmpty()) { diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ErrorLogEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ErrorLogEntity.java index 498f3dc3..629cb6c2 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ErrorLogEntity.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ErrorLogEntity.java @@ -5,12 +5,11 @@ import com.kamco.cd.kamcoback.log.dto.EventType; import com.kamco.cd.kamcoback.postgres.CommonCreateEntity; import jakarta.persistence.*; import jakarta.validation.constraints.Size; +import java.time.ZonedDateTime; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; -import java.time.ZonedDateTime; - @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) 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 8edc9eb9..a94f8612 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 @@ -367,54 +367,54 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport return new PageImpl<>(foundContent, pageable, countQuery); } - @Override - public MapSheetMngDto.ErrorDataDto findMapSheetError(Long hstUid){ + public MapSheetMngDto.ErrorDataDto findMapSheetError(Long hstUid) { BooleanBuilder whereBuilder = new BooleanBuilder(); - whereBuilder.and( mapSheetMngHstEntity.hstUid.eq(hstUid)); + whereBuilder.and(mapSheetMngHstEntity.hstUid.eq(hstUid)); MapSheetMngDto.ErrorDataDto 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.syncTfwFileName, - mapSheetMngHstEntity.syncTifFileName, - mapSheetMngHstEntity.syncCheckState, - mapSheetMngHstEntity.syncCheckTfwFileName, - mapSheetMngHstEntity.syncCheckTifFileName - ) - ) - .from(mapSheetMngHstEntity) - .innerJoin(mapInkx5kEntity).on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo)) - .where(whereBuilder) - .fetchOne(); + 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.syncTfwFileName, + mapSheetMngHstEntity.syncTifFileName, + mapSheetMngHstEntity.syncCheckState, + mapSheetMngHstEntity.syncCheckTfwFileName, + mapSheetMngHstEntity.syncCheckTifFileName)) + .from(mapSheetMngHstEntity) + .innerJoin(mapInkx5kEntity) + .on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo)) + .where(whereBuilder) + .fetchOne(); return foundContent; } - public void MapSheetMngComplete(int mngYyyy) { long execCount = - queryFactory - .update(mapSheetMngEntity) - .set(mapSheetMngEntity.mngState, "COMPLETE") - .where(mapSheetMngEntity.mngYyyy.eq(mngYyyy)) - .execute(); + queryFactory + .update(mapSheetMngEntity) + .set(mapSheetMngEntity.mngState, "COMPLETE") + .where(mapSheetMngEntity.mngYyyy.eq(mngYyyy)) + .execute(); } @Override