feat: polishing

This commit is contained in:
2025-12-29 14:47:54 +09:00
parent 5d297ba456
commit 701192ecd2
7 changed files with 227 additions and 44 deletions

View File

@@ -40,9 +40,9 @@ public class MapSheetMngApiV2Controller {
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
})
@GetMapping("/mng-year-list")
public ApiResponseDto<MapSheetMngDto.ResisterYearList> findMapSheetMngYyyyList() {
public ApiResponseDto<MapSheetMngDto.ResisterYearList> getListMapListYYYYLimit10() {
List<Integer> years = mapSheetMngService.findMapSheetMngYyyyList();
List<Integer> years = mapSheetMngService.getListMapListYYYYLimit10();
// 현재 년도 가져온다
int currentYear = Year.now().getValue();

View File

@@ -2,12 +2,14 @@ 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.EnumType;
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;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@@ -319,4 +321,58 @@ public class MapSheetMngDto {
this.years = years;
}
}
@Getter
@AllArgsConstructor
public enum MapSheetState implements EnumType {
// @formatter:off
DONE("완료"),
NOTYET("처리대기");
// @formatter:on
private final String message;
@Override
public String getId() {
return name();
}
@Override
public String getText() {
return message;
}
}
// 연도리스틀 조회시 사용하는 request Dto
@Getter
@Setter
@NoArgsConstructor
public static class YearSearchReq {
private String status;
// 페이징 파라미터
private int page = 0;
private int size = 20;
private String sort;
@Builder
public YearSearchReq(String status, int page, int size, String sort) {
this.status = status;
this.page = page;
this.size = size;
this.sort = sort;
}
public Pageable toPageable() {
if (sort != null && !sort.isEmpty()) {
String[] sortParams = sort.split(",");
String property = sortParams[0];
Sort.Direction direction =
sortParams.length > 1 ? Sort.Direction.fromString(sortParams[1]) : Sort.Direction.ASC;
return PageRequest.of(page, size, Sort.by(direction, property));
}
return PageRequest.of(page, size);
}
}
}

View File

@@ -9,7 +9,9 @@ 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.YearSearchReq;
import com.kamco.cd.kamcoback.postgres.core.MapSheetMngCoreService;
import com.kamco.cd.kamcoback.postgres.entity.YearEntity;
import jakarta.validation.Valid;
import java.io.File;
import java.io.IOException;
@@ -17,6 +19,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.Comparator;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
@@ -40,6 +43,16 @@ public class MapSheetMngService {
return mapSheetMngCoreService.findMapSheetMngYyyyList();
}
public List<Integer> getListMapListYYYYLimit10() {
YearSearchReq req = YearSearchReq.builder().status("NOTYET").page(0).size(10).build();
// List조회
Page<YearEntity> years = mapSheetMngCoreService.getListMapListYYYYWithPaging(req);
return years.map(YearEntity::getYyyy).getContent().stream()
.sorted(Comparator.reverseOrder())
.toList();
}
public MngDto findMapSheetMng(int mngYyyy) {
return mapSheetMngCoreService.findMapSheetMng(mngYyyy);
}
@@ -130,10 +143,15 @@ public class MapSheetMngService {
if (!overwrite) {
if (tfwCnt > 0 || tifCnt > 0) {
String tfwtifMsg = "";
if (tfwCnt > 0) tfwtifMsg = tfwFile.getOriginalFilename();
if (tfwCnt > 0) {
tfwtifMsg = tfwFile.getOriginalFilename();
}
if (tifCnt > 0) {
if (tfwCnt > 0) tfwtifMsg = "," + tifFile.getOriginalFilename();
else tfwtifMsg = tifFile.getOriginalFilename();
if (tfwCnt > 0) {
tfwtifMsg = "," + tifFile.getOriginalFilename();
} else {
tfwtifMsg = tifFile.getOriginalFilename();
}
}
return new DmlReturn("duplicate", tfwtifMsg);
}
@@ -153,8 +171,12 @@ public class MapSheetMngService {
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);
@@ -252,7 +274,9 @@ public class MapSheetMngService {
}
// 중복제거 확인후 처리상태(DONE)변경
if (hstUid > 0) mapSheetMngCoreService.updateByHstUidSyncCheckState(hstUid);
if (hstUid > 0) {
mapSheetMngCoreService.updateByHstUidSyncCheckState(hstUid);
}
return new DmlReturn("success", fileUids.size() + "개 파일이 삭제되었습니다.");
}