Merge remote-tracking branch 'origin/feat/dev_251201' into feat/dev_251201
# Conflicts: # src/main/java/com/kamco/cd/kamcoback/config/FileConfig.java
This commit is contained in:
@@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.mapsheet.dto;
|
||||
|
||||
import com.kamco.cd.kamcoback.common.enums.MngStateType;
|
||||
import com.kamco.cd.kamcoback.common.enums.SyncStateType;
|
||||
import com.kamco.cd.kamcoback.common.utils.Enums;
|
||||
import com.kamco.cd.kamcoback.common.utils.enums.Enums;
|
||||
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.time.ZonedDateTime;
|
||||
@@ -44,6 +44,7 @@ public class MapSheetMngDto {
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class AddReq {
|
||||
|
||||
@Schema(description = "관리년도", example = "2022")
|
||||
private int mngYyyy;
|
||||
|
||||
@@ -57,6 +58,7 @@ public class MapSheetMngDto {
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class DeleteFileReq {
|
||||
|
||||
@Schema(description = "파일 경로", example = "/app/original-images/2024/00000001.tif")
|
||||
private String filePath;
|
||||
}
|
||||
@@ -67,6 +69,7 @@ public class MapSheetMngDto {
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class MngDto {
|
||||
|
||||
private int rowNum;
|
||||
private int mngYyyy;
|
||||
private String mngPath;
|
||||
@@ -85,7 +88,6 @@ public class MapSheetMngDto {
|
||||
@JsonFormatDttm private ZonedDateTime rgstStrtDttm;
|
||||
@JsonFormatDttm private ZonedDateTime rgstEndDttm;
|
||||
|
||||
|
||||
public double getSyncStateDoneRate() {
|
||||
if (this.syncTotCnt == null || this.syncTotCnt == 0) {
|
||||
return 0.0;
|
||||
@@ -110,7 +112,9 @@ public class MapSheetMngDto {
|
||||
|
||||
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();
|
||||
@@ -162,6 +166,7 @@ public class MapSheetMngDto {
|
||||
@Getter
|
||||
@Setter
|
||||
public static class ErrorDataDto {
|
||||
|
||||
private Long hstUid;
|
||||
private Integer mngYyyy;
|
||||
private String mapSheetNum;
|
||||
@@ -220,19 +225,20 @@ 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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Schema(name = "MngFIleDto", description = "관리파일정보")
|
||||
@Getter
|
||||
@Setter
|
||||
public static class MngFIleDto {
|
||||
|
||||
private Long fileUid;
|
||||
private String filePath;
|
||||
private String fileName;
|
||||
@@ -247,6 +253,7 @@ public class MapSheetMngDto {
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class DmlReturn {
|
||||
|
||||
private String flag;
|
||||
private String message;
|
||||
}
|
||||
@@ -257,6 +264,7 @@ public class MapSheetMngDto {
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class MngFileAddReq {
|
||||
|
||||
private int mngYyyy;
|
||||
private String mapSheetNum;
|
||||
private String refMapSheetNum;
|
||||
@@ -274,6 +282,7 @@ public class MapSheetMngDto {
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class MngFilesDto {
|
||||
|
||||
private long fileUid;
|
||||
private int mngYyyy;
|
||||
private String mapSheetNum;
|
||||
@@ -285,17 +294,16 @@ public class MapSheetMngDto {
|
||||
private Long fileSize;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Schema(name = "ReqUpdateErrorCheckStateDto", description = "영상관리 오류데이터 체크결과 수정요청")
|
||||
@Getter
|
||||
@Setter
|
||||
public static class ReqUpdateErrorCheckStateDto {
|
||||
|
||||
private Long hstUid;
|
||||
private String errorCheckState;
|
||||
private String errorCheckTfwFileName;
|
||||
private String errorCheckTifFileName;
|
||||
/*
|
||||
/*
|
||||
public reqErrorDataCheckStateDto(
|
||||
Long hstUid,
|
||||
String errorCheckState,
|
||||
|
||||
@@ -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;
|
||||
@@ -246,8 +243,6 @@ public class MapSheetMngService {
|
||||
return mapSheetMngCoreService.findMapSheetMngYyyyList();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public MngDto findMapSheetMng(int mngYyyy) {
|
||||
return mapSheetMngCoreService.findMapSheetMng(mngYyyy);
|
||||
}
|
||||
@@ -260,8 +255,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);
|
||||
}
|
||||
|
||||
@@ -325,44 +319,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);
|
||||
@@ -375,14 +364,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);
|
||||
@@ -397,14 +384,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);
|
||||
@@ -415,13 +403,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();
|
||||
@@ -441,7 +426,6 @@ public class MapSheetMngService {
|
||||
addReq.setFileSize(tifFile.getSize());
|
||||
mapSheetMngCoreService.mngFileSave(addReq);
|
||||
|
||||
|
||||
return new DmlReturn("success", "파일 업로드 완료되었습니다.");
|
||||
}
|
||||
|
||||
@@ -454,7 +438,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);
|
||||
|
||||
Reference in New Issue
Block a user