영상데이터관리 > tif 대용량 분할전송 추가
This commit is contained in:
@@ -15,8 +15,12 @@ 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.MngYyyyDto;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.YearSearchReq;
|
||||
import com.kamco.cd.kamcoback.model.dto.ModelMngDto.ModelUploadResDto;
|
||||
import com.kamco.cd.kamcoback.postgres.core.MapSheetMngCoreService;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.YearEntity;
|
||||
import com.kamco.cd.kamcoback.upload.dto.UploadDto;
|
||||
import com.kamco.cd.kamcoback.upload.dto.UploadDto.UploadAddReq;
|
||||
import com.kamco.cd.kamcoback.upload.service.UploadService;
|
||||
import jakarta.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
@@ -38,6 +42,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
public class MapSheetMngService {
|
||||
|
||||
private final MapSheetMngCoreService mapSheetMngCoreService;
|
||||
private final UploadService uploadService;
|
||||
private final UserUtil userUtil = new UserUtil();
|
||||
|
||||
@Value("${file.sync-root-dir}")
|
||||
@@ -129,15 +134,15 @@ public class MapSheetMngService {
|
||||
MngDto mngDto = mapSheetMngCoreService.findMapSheetMng(errDto.getMngYyyy());
|
||||
String targetYearDir = mngDto.getMngPath();
|
||||
|
||||
// 중복체크
|
||||
if (!overwrite) {
|
||||
dmlReturn =
|
||||
this.duplicateFile(
|
||||
errDto.getMngYyyy(), tfwFile.getOriginalFilename(), tifFile.getOriginalFilename());
|
||||
if (dmlReturn.getFlag().equals("duplicate")) {
|
||||
return dmlReturn;
|
||||
}
|
||||
}
|
||||
// 중복체크 -> 도엽/uuid_yyyyMMddhhmmss 경로에 업로드 할 거라 overwrite 되지 않음
|
||||
// if (!overwrite) {
|
||||
// dmlReturn =
|
||||
// this.duplicateFile(
|
||||
// errDto.getMngYyyy(), tfwFile.getOriginalFilename(), tifFile.getOriginalFilename());
|
||||
// if (dmlReturn.getFlag().equals("duplicate")) {
|
||||
// return dmlReturn;
|
||||
// }
|
||||
// }
|
||||
|
||||
// 멀티파트 파일 tmp폴더 저장(파일형식 체크를 위해)
|
||||
String tfwTmpPath = tmpPath + tfwFile.getOriginalFilename();
|
||||
@@ -357,4 +362,44 @@ public class MapSheetMngService {
|
||||
|
||||
return yearList;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public ModelUploadResDto uploadChunkMapSheetFile(
|
||||
Long hstUid, UploadAddReq upAddReqDto, MultipartFile chunkFile) {
|
||||
|
||||
// String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
|
||||
ErrorDataDto errDto = mapSheetMngCoreService.findMapSheetError(hstUid);
|
||||
|
||||
// 싱크파일목록으로 업로드 경로 확인
|
||||
List<MngFilesDto> mngFiles = mapSheetMngCoreService.findByHstUidMapSheetFileList(hstUid);
|
||||
String uploadPath = "";
|
||||
for (MngFilesDto dto : mngFiles) {
|
||||
uploadPath = dto.getFilePath();
|
||||
break;
|
||||
}
|
||||
|
||||
if (uploadPath.isEmpty()) {
|
||||
MngFilesDto filesDto =
|
||||
mapSheetMngCoreService.findYyyyToMapSheetFilePathRefer(errDto.getMngYyyy());
|
||||
String referPath = filesDto.getFilePath();
|
||||
uploadPath = Paths.get(referPath).getParent().toString() + "/" + errDto.getRefMapSheetNum();
|
||||
}
|
||||
|
||||
upAddReqDto.setUuid(errDto.getUuid());
|
||||
upAddReqDto.setFinalPath(uploadPath + "/");
|
||||
upAddReqDto.setTempPath(upAddReqDto.getTempPath() + "/");
|
||||
|
||||
UploadDto.UploadRes upRes = uploadService.uploadChunk(upAddReqDto, chunkFile);
|
||||
|
||||
ModelUploadResDto modelUploadResDto = new ModelUploadResDto();
|
||||
modelUploadResDto.setRes(upRes.getRes());
|
||||
modelUploadResDto.setResMsg(upRes.getResMsg());
|
||||
modelUploadResDto.setUuid(upRes.getUuid());
|
||||
modelUploadResDto.setFilePath(upRes.getFilePath());
|
||||
modelUploadResDto.setFileName(upRes.getFileName());
|
||||
modelUploadResDto.setChunkIndex(upRes.getChunkIndex());
|
||||
modelUploadResDto.setChunkTotalIndex(upRes.getChunkTotalIndex());
|
||||
|
||||
return modelUploadResDto;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user