영상관리 파일 업로드 추가

This commit is contained in:
2025-12-18 16:35:48 +09:00
parent f2ee64242d
commit 097b40ae8e
6 changed files with 144 additions and 172 deletions

View File

@@ -4,7 +4,6 @@ import static java.lang.String.CASE_INSENSITIVE_ORDER;
import com.kamco.cd.kamcoback.common.utils.FIleChecker;
import com.kamco.cd.kamcoback.config.FileConfig;
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto;
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.Basic;
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.FilesDto;
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.SrchFilesDepthDto;
@@ -16,7 +15,6 @@ import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.ErrorDataDto;
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.ErrorSearchReq;
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngDto;
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngFilesDto;
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.ReqUpdateErrorCheckStateDto;
import com.kamco.cd.kamcoback.postgres.core.MapSheetMngCoreService;
import jakarta.validation.Valid;
import java.io.File;
@@ -31,7 +29,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -234,8 +231,6 @@ public class MapSheetMngService {
return mapSheetMngCoreService.findMapSheetMngYyyyList();
}
public MngDto findMapSheetMng(int mngYyyy) {
return mapSheetMngCoreService.findMapSheetMng(mngYyyy);
}
@@ -248,8 +243,7 @@ public class MapSheetMngService {
return new DmlReturn("success", "작업완료 처리되었습니다.");
}
public Page<ErrorDataDto> findMapSheetErrorList(
@Valid ErrorSearchReq searchReq) {
public Page<ErrorDataDto> findMapSheetErrorList(@Valid ErrorSearchReq searchReq) {
return mapSheetMngCoreService.findMapSheetErrorList(searchReq);
}
@@ -313,44 +307,39 @@ public class MapSheetMngService {
}
ErrorDataDto errDto = mapSheetMngCoreService.findMapSheetError(hstUid);
if( errDto == null )
{
if (errDto == null) {
return new DmlReturn("fail", "NO hstUid Data");
}
MngDto mngDto = mapSheetMngCoreService.findMapSheetMng(errDto.getMngYyyy());
String targetYearDir = mngDto.getMngPath();
List<FIleChecker.Basic> basicTfwList = FIleChecker.getFilesFromAllDepth(targetYearDir,
tfwFile.getOriginalFilename(),
"tfw",
100,
"name",
0, 100);
List<FIleChecker.Basic> basicTfwList =
FIleChecker.getFilesFromAllDepth(
targetYearDir, tfwFile.getOriginalFilename(), "tfw", 100, "name", 0, 100);
List<FIleChecker.Basic> basicTifList = FIleChecker.getFilesFromAllDepth(targetYearDir,
tifFile.getOriginalFilename(),
"tif",
100,
"name",
0, 100);
List<FIleChecker.Basic> basicTifList =
FIleChecker.getFilesFromAllDepth(
targetYearDir, tifFile.getOriginalFilename(), "tif", 100, "name", 0, 100);
int tfwCnt =
(int)
basicTfwList.stream().filter(dto -> dto.getExtension().toString().equals("tfw")).count();
(int)
basicTfwList.stream()
.filter(dto -> dto.getExtension().toString().equals("tfw"))
.count();
int tifCnt =
(int)
basicTifList.stream().filter(dto -> dto.getExtension().toString().equals("tif")).count();
(int)
basicTifList.stream()
.filter(dto -> dto.getExtension().toString().equals("tif"))
.count();
if( tfwCnt > 0 || tifCnt > 0 )
{
if (tfwCnt > 0 || tifCnt > 0) {
String tfwMsg = "";
String tifMsg = "";
if( tfwCnt > 0 )tfwMsg = tfwFile.getOriginalFilename();
if( tifCnt > 0 )tifMsg = tifFile.getOriginalFilename();
return new DmlReturn("fail", tfwMsg+","+tifMsg+ " DUPLICATE ERROR");
if (tfwCnt > 0) tfwMsg = tfwFile.getOriginalFilename();
if (tifCnt > 0) tifMsg = tifFile.getOriginalFilename();
return new DmlReturn("fail", tfwMsg + "," + tifMsg + " DUPLICATE ERROR");
}
File directory = new File(tmpPath);
@@ -363,14 +352,12 @@ public class MapSheetMngService {
tfwFile.transferTo(tfwTmpSavePath);
tifFile.transferTo(tifTmpSavePath);
} catch (IOException e) {
//throw new RuntimeException(e);
// throw new RuntimeException(e);
return new DmlReturn("fail", "UPLOAD ERROR");
}
if( !FIleChecker.cmmndGdalInfo(tifTmpPath) )return new DmlReturn("fail", "TIF TYPE ERROR");
if( !FIleChecker.checkTfw(tfwTmpPath) )return new DmlReturn("fail", "TFW TYPE ERROR");
if (!FIleChecker.cmmndGdalInfo(tifTmpPath)) return new DmlReturn("fail", "TIF TYPE ERROR");
if (!FIleChecker.checkTfw(tfwTmpPath)) return new DmlReturn("fail", "TFW TYPE ERROR");
// 싱크파일목록 가저오기
List<MngFilesDto> mngFiles = mapSheetMngCoreService.findIdToMapSheetFileList(hstUid);
@@ -385,14 +372,15 @@ public class MapSheetMngService {
Path uploadTargetPath = null;
if (uploadPath.isEmpty()) {
MngFilesDto filesDto = mapSheetMngCoreService.findYyyyToMapSheetFilePathRefer(errDto.getMngYyyy());
MngFilesDto filesDto =
mapSheetMngCoreService.findYyyyToMapSheetFilePathRefer(errDto.getMngYyyy());
String referPath = filesDto.getFilePath();
uploadPath = Paths.get(referPath).getParent().toString()+"/"+errDto.getRefMapSheetNum();
uploadPath = Paths.get(referPath).getParent().toString() + "/" + errDto.getRefMapSheetNum();
tfwTargetPath = Paths.get(uploadPath).resolve(tfwFile.getOriginalFilename());
tifTargetPath = Paths.get(uploadPath).resolve(tifFile.getOriginalFilename());
}
//String searchDir =
// String searchDir =
try {
uploadTargetPath = Paths.get(uploadPath);
@@ -403,13 +391,10 @@ public class MapSheetMngService {
throw new RuntimeException(e);
}
//hst업데이트
// hst업데이트
mapSheetMngCoreService.updateMapSheetMngHstSyncCheckState(
hstUid,
uploadPath,
tfwFile.getOriginalFilename(),
tifFile.getOriginalFilename());
//파일정보 업데이트
hstUid, uploadPath, tfwFile.getOriginalFilename(), tifFile.getOriginalFilename());
// 파일정보 업데이트
mapSheetMngCoreService.deleteByHstUidMngFile(hstUid);
MapSheetMngDto.MngFileAddReq addReq = new MapSheetMngDto.MngFileAddReq();
@@ -429,7 +414,6 @@ public class MapSheetMngService {
addReq.setFileSize(tifFile.getSize());
mapSheetMngCoreService.mngFileSave(addReq);
return new DmlReturn("success", "파일 업로드 완료되었습니다.");
}
@@ -442,7 +426,7 @@ public class MapSheetMngService {
for (Long uid : fileUids) {
MapSheetMngDto.MngFilesDto dto = mapSheetMngCoreService.findIdToMapSheetFile(uid);
String filePath = dto.getFilePath()+"/"+dto.getFileName();
String filePath = dto.getFilePath() + "/" + dto.getFileName();
Path path = Paths.get(filePath);
try {
boolean isDeleted = Files.deleteIfExists(path);