From 9d1d9aff69924dfaaa45ae961d0acf9306f7b421 Mon Sep 17 00:00:00 2001 From: Moon Date: Thu, 18 Dec 2025 10:42:50 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A4=91=EB=B3=B5=ED=8C=8C=EC=9D=BC=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kamcoback/common/utils/FIleChecker.java | 11 +++++++--- .../mapsheet/MapSheetMngApiController.java | 21 +++++++++++++++++++ .../MapSheetMngFileCheckerApiController.java | 6 ++++++ .../mapsheet/service/MapSheetMngService.java | 11 ++++++++++ .../postgres/core/MapSheetMngCoreService.java | 6 ++++++ .../mapsheet/MapSheetMngRepositoryCustom.java | 2 ++ .../mapsheet/MapSheetMngRepositoryImpl.java | 9 ++++++++ 7 files changed, 63 insertions(+), 3 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 34f34152..9c150907 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 @@ -178,9 +178,14 @@ public class FIleChecker { if (isWindows) { // 윈도우용 - command.add("cmd.exe"); - command.add("/c"); - command.add(gdalinfoPath + " \"" + filePath + "\" | findstr /i Geo"); + command.add("cmd.exe"); // 윈도우 명령 프롬프트 실행 + command.add("/c"); // 명령어를 수행하고 종료한다는 옵션 + command.add("gdalinfo"); + command.add(filePath); + command.add("|"); + command.add("findstr"); + command.add("/i"); + command.add("Geo"); } else if (isMac || isUnix) { // 리눅스, 맥용 command.add("sh"); 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 36976c52..50fad7ed 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java @@ -161,5 +161,26 @@ public class MapSheetMngApiController { return ApiResponseDto.ok(mapSheetMngService.findHstUidToMapSheetFileList(hstUid)); } + @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("/del-mng-files") + public ApiResponseDto deleteByFileUidMngFile(@RequestParam @Valid List fileUids) { + return ApiResponseDto.ok(mapSheetMngService.deleteByFileUidMngFile(fileUids)); + } + + + } 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 239bf383..b57fa57e 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngFileCheckerApiController.java @@ -71,6 +71,7 @@ public class MapSheetMngFileCheckerApiController { return ApiResponseDto.createOK(mapSheetMngFileCheckerService.getFilesAll(srchDto)); } + /* @Operation(summary = "파일 업로드", description = "파일 업로드 및 TIF 검증") @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public ApiResponseDto uploadFile( @@ -83,6 +84,9 @@ public class MapSheetMngFileCheckerApiController { mapSheetMngFileCheckerService.uploadFile(file, targetPath, overwrite, hstUid)); } + */ + + /* @Operation(summary = "파일 삭제", description = "중복 파일 등 파일 삭제") @PostMapping("/delete") public ApiResponseDto deleteFile(@RequestBody SrchFoldersDto dto) { @@ -97,6 +101,8 @@ public class MapSheetMngFileCheckerApiController { mapSheetMngFileCheckerService.deleteDuplicate(filePath, fileName)); } + */ + /* @Operation(summary = "지정폴더(하위폴더포함) 파일목록 조회", description = "지정폴더(하위폴더포함) 파일목록 조회") @ApiResponses( 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 b2475702..d9090def 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 @@ -324,4 +324,15 @@ public class MapSheetMngService { return mapSheetMngCoreService.findHstUidToMapSheetFileList(hstUid); } + + @Transactional + public MapSheetMngDto.DmlReturn deleteByFileUidMngFile(List fileUids) { + + for (Long uid : fileUids) { + MapSheetMngDto.DmlReturn dmlReturn = mapSheetMngCoreService.deleteByFileUidMngFile(uid); + } + + return new MapSheetMngDto.DmlReturn("success", fileUids.size() + "개 파일이 삭제되었습니다."); + } + } 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 d593a93e..986dfc94 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 @@ -212,4 +212,10 @@ public class MapSheetMngCoreService { return mapSheetMngRepository.findHstUidToMapSheetFileList(hstUid); } + public MapSheetMngDto.DmlReturn deleteByFileUidMngFile(Long fileUid) { + mapSheetMngRepository.deleteByFileUidMngFile(fileUid); + + return new MapSheetMngDto.DmlReturn("success", fileUid + " : 삭제되었습니다."); + } + } 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 bf3d6b4d..6626d575 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 @@ -21,6 +21,8 @@ public interface MapSheetMngRepositoryCustom { List findHstUidToMapSheetFileList(Long hstUid); + void deleteByFileUidMngFile(Long fileUid); + MapSheetMngDto.MngFilesDto findYyyyToMapSheetFilePath(int mngYyyy); void deleteByMngYyyyMngAll(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 e64e4c87..0c5f5483 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 @@ -556,6 +556,15 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport .execute(); } + @Override + public void deleteByFileUidMngFile(Long fileUid){ + long deletedFileCount = + queryFactory + .delete(mapSheetMngFileEntity) + .where(mapSheetMngFileEntity.fileUid.eq(fileUid)) + .execute(); + } + @Override public int insertMapSheetOrgDataToMapSheetMngHst(int mngYyyy) {