diff --git a/build.gradle b/build.gradle index 836a952d..223d47bf 100644 --- a/build.gradle +++ b/build.gradle @@ -80,6 +80,7 @@ dependencies { runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.5' // JSON (Jackson) implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310' + implementation 'org.reflections:reflections:0.10.2' } configurations.configureEach { diff --git a/src/main/java/com/kamco/cd/kamcoback/code/CommonCodeApiController.java b/src/main/java/com/kamco/cd/kamcoback/code/CommonCodeApiController.java index 44d43fd7..085d64f8 100644 --- a/src/main/java/com/kamco/cd/kamcoback/code/CommonCodeApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/code/CommonCodeApiController.java @@ -2,6 +2,7 @@ package com.kamco.cd.kamcoback.code; import com.kamco.cd.kamcoback.code.config.CommonCodeCacheManager; import com.kamco.cd.kamcoback.code.dto.CommonCodeDto; +import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.CodeDto; import com.kamco.cd.kamcoback.code.service.CommonCodeService; import com.kamco.cd.kamcoback.common.utils.CommonCodeUtil; import com.kamco.cd.kamcoback.config.api.ApiResponseDto; @@ -13,6 +14,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import java.util.List; +import java.util.Map; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -288,4 +290,38 @@ public class CommonCodeApiController { int count = commonCodeCacheManager.getCachedCommonCodeCount(); return ApiResponseDto.ok(count); } + + @Operation(summary = "코드 조회", description = "코드 리스트 조회") + @ApiResponses( + value = { + @ApiResponse( + responseCode = "200", + description = "코드 조회 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = CodeDto.class))), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) + @GetMapping("/type/codes") + public ApiResponseDto>> getTypeCodes() { + return ApiResponseDto.ok(commonCodeService.getTypeCodes()); + } + + @Operation(summary = "코드 단건 조회", description = "코드 조회") + @ApiResponses( + value = { + @ApiResponse( + responseCode = "200", + description = "코드 조회 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = CodeDto.class))), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) + @GetMapping("/type/{type}") + public ApiResponseDto> getTypeCode(@PathVariable String type) { + return ApiResponseDto.ok(commonCodeService.getTypeCode(type)); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/code/dto/CommonCodeDto.java b/src/main/java/com/kamco/cd/kamcoback/code/dto/CommonCodeDto.java index 82cf4312..baa9fdc5 100644 --- a/src/main/java/com/kamco/cd/kamcoback/code/dto/CommonCodeDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/code/dto/CommonCodeDto.java @@ -50,6 +50,7 @@ public class CommonCodeDto { @NoArgsConstructor @AllArgsConstructor public static class ModifyReq { + @NotEmpty private String name; private String description; private boolean used; @@ -70,6 +71,7 @@ public class CommonCodeDto { @NoArgsConstructor @AllArgsConstructor public static class OrderReq { + @NotNull private Long id; @NotNull private Integer order; } @@ -176,4 +178,12 @@ public class CommonCodeDto { this.color = color; } } + + @Getter + @AllArgsConstructor + public static class CodeDto { + + private String code; + private String name; + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/code/service/CommonCodeService.java b/src/main/java/com/kamco/cd/kamcoback/code/service/CommonCodeService.java index ea562ef8..bcc96a69 100644 --- a/src/main/java/com/kamco/cd/kamcoback/code/service/CommonCodeService.java +++ b/src/main/java/com/kamco/cd/kamcoback/code/service/CommonCodeService.java @@ -2,11 +2,14 @@ package com.kamco.cd.kamcoback.code.service; import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.AddReq; import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.Basic; +import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.CodeDto; import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.ModifyReq; import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.OrderReq; +import com.kamco.cd.kamcoback.common.utils.enums.Enums; import com.kamco.cd.kamcoback.config.api.ApiResponseDto; import com.kamco.cd.kamcoback.postgres.core.CommonCodeCoreService; import java.util.List; +import java.util.Map; import java.util.Optional; import lombok.RequiredArgsConstructor; import org.springframework.cache.annotation.CacheEvict; @@ -118,4 +121,17 @@ public class CommonCodeService { public Optional getCode(String parentCodeCd, String childCodeCd) { return commonCodeCoreService.getCode(parentCodeCd, childCodeCd); } + + public List getTypeCode(String type) { + return Enums.getCodes(type); + } + + /** + * 공통코드 리스트 조회 + * + * @return + */ + public Map> getTypeCodes() { + return Enums.getAllCodes(); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java index 342064d6..377c1fec 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/MngStateType.java @@ -1,9 +1,11 @@ package com.kamco.cd.kamcoback.common.enums; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; +@CodeExpose @Getter @AllArgsConstructor public enum MngStateType implements EnumType { diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/RoleType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/RoleType.java index 1aeb0269..3321e905 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/RoleType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/RoleType.java @@ -1,9 +1,11 @@ package com.kamco.cd.kamcoback.common.enums; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; +@CodeExpose @Getter @AllArgsConstructor public enum RoleType implements EnumType { diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/StatusType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/StatusType.java index 6d83bac7..fa7ab678 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/StatusType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/StatusType.java @@ -1,9 +1,11 @@ package com.kamco.cd.kamcoback.common.enums; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; +@CodeExpose @Getter @AllArgsConstructor public enum StatusType implements EnumType { diff --git a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java index 2acba320..f4a4ac6b 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/enums/SyncStateType.java @@ -1,9 +1,11 @@ package com.kamco.cd.kamcoback.common.enums; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; +@CodeExpose @Getter @AllArgsConstructor public enum SyncStateType implements EnumType { diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/Enums.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/Enums.java deleted file mode 100644 index 98c4c727..00000000 --- a/src/main/java/com/kamco/cd/kamcoback/common/utils/Enums.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.kamco.cd.kamcoback.common.utils; - -import com.kamco.cd.kamcoback.config.enums.EnumType; - -public class Enums { - - // code로 text - public static & EnumType> E fromId(Class enumClass, String id) { - if (id == null) { - return null; - } - for (E e : enumClass.getEnumConstants()) { - if (id.equalsIgnoreCase(e.getId())) { - return e; - } - } - return null; // 못 찾으면 null - } -} diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/CodeDto.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/CodeDto.java new file mode 100644 index 00000000..c77d1a25 --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/CodeDto.java @@ -0,0 +1,20 @@ +package com.kamco.cd.kamcoback.common.utils.enums; + +public class CodeDto { + + private String code; + private String name; + + public CodeDto(String code, String name) { + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public String getName() { + return name; + } +} diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/CodeExpose.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/CodeExpose.java new file mode 100644 index 00000000..425e1f8a --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/CodeExpose.java @@ -0,0 +1,10 @@ +package com.kamco.cd.kamcoback.common.utils.enums; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +public @interface CodeExpose {} diff --git a/src/main/java/com/kamco/cd/kamcoback/config/enums/EnumType.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/EnumType.java similarity index 58% rename from src/main/java/com/kamco/cd/kamcoback/config/enums/EnumType.java rename to src/main/java/com/kamco/cd/kamcoback/common/utils/enums/EnumType.java index 274bfe72..22761bb2 100644 --- a/src/main/java/com/kamco/cd/kamcoback/config/enums/EnumType.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/EnumType.java @@ -1,4 +1,4 @@ -package com.kamco.cd.kamcoback.config.enums; +package com.kamco.cd.kamcoback.common.utils.enums; public interface EnumType { diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/EnumValidator.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/EnumValidator.java similarity index 93% rename from src/main/java/com/kamco/cd/kamcoback/common/utils/EnumValidator.java rename to src/main/java/com/kamco/cd/kamcoback/common/utils/enums/EnumValidator.java index 02dd3d16..344fb025 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/utils/EnumValidator.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/EnumValidator.java @@ -1,4 +1,4 @@ -package com.kamco.cd.kamcoback.common.utils; +package com.kamco.cd.kamcoback.common.utils.enums; import com.kamco.cd.kamcoback.common.utils.interfaces.EnumValid; import jakarta.validation.ConstraintValidator; diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/Enums.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/Enums.java new file mode 100644 index 00000000..21d61599 --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/enums/Enums.java @@ -0,0 +1,75 @@ +package com.kamco.cd.kamcoback.common.utils.enums; + +import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.CodeDto; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.reflections.Reflections; + +public class Enums { + + private static final String BASE_PACKAGE = "com.kamco.cd.kamcoback"; + + /** 노출 가능한 enum만 모아둔 맵 key: enum simpleName (예: RoleType) value: enum Class */ + private static final Map>> exposedEnumMap = scanExposedEnumMap(); + + // code로 enum 찾기 + public static & EnumType> E fromId(Class enumClass, String id) { + if (id == null) { + return null; + } + + for (E e : enumClass.getEnumConstants()) { + if (id.equalsIgnoreCase(e.getId())) { + return e; + } + } + return null; + } + + // enum -> CodeDto list + public static List toList(Class> enumClass) { + Object[] enums = enumClass.getEnumConstants(); + + return Arrays.stream(enums) + .map(e -> (EnumType) e) + .map(e -> new CodeDto(e.getId(), e.getText())) + .toList(); + } + + /** 특정 타입(enum)만 조회 /codes/{type} -> type = RoleType 같은 값 */ + public static List getCodes(String type) { + Class> enumClass = exposedEnumMap.get(type); + if (enumClass == null) { + throw new IllegalArgumentException("지원하지 않는 코드 타입: " + type); + } + return toList(enumClass); + } + + /** 전체 enum 코드 조회 */ + public static Map> getAllCodes() { + Map> result = new HashMap<>(); + for (Map.Entry>> e : exposedEnumMap.entrySet()) { + result.put(e.getKey(), toList(e.getValue())); + } + return result; + } + + /** ✅ @CodeExpose + EnumType 인 enum만 스캔해서 Map 구성 */ + private static Map>> scanExposedEnumMap() { + Reflections reflections = new Reflections(BASE_PACKAGE); + + Set> types = reflections.getTypesAnnotatedWith(CodeExpose.class); + + Map>> result = new HashMap<>(); + + for (Class clazz : types) { + if (clazz.isEnum() && EnumType.class.isAssignableFrom(clazz)) { + result.put(clazz.getSimpleName(), (Class>) clazz); + } + } + return result; + } +} diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/interfaces/EnumValid.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/interfaces/EnumValid.java index c6d80b35..5033df9b 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/utils/interfaces/EnumValid.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/interfaces/EnumValid.java @@ -1,6 +1,6 @@ package com.kamco.cd.kamcoback.common.utils.interfaces; -import com.kamco.cd.kamcoback.common.utils.EnumValidator; +import com.kamco.cd.kamcoback.common.utils.enums.EnumValidator; import jakarta.validation.Constraint; import jakarta.validation.Payload; import java.lang.annotation.ElementType; diff --git a/src/main/java/com/kamco/cd/kamcoback/config/api/ApiResponseDto.java b/src/main/java/com/kamco/cd/kamcoback/config/api/ApiResponseDto.java index fb5beaa0..e0767419 100644 --- a/src/main/java/com/kamco/cd/kamcoback/config/api/ApiResponseDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/config/api/ApiResponseDto.java @@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.config.api; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.ToString; diff --git a/src/main/java/com/kamco/cd/kamcoback/log/dto/ErrorLogDto.java b/src/main/java/com/kamco/cd/kamcoback/log/dto/ErrorLogDto.java index 089a545a..61dcf1f2 100644 --- a/src/main/java/com/kamco/cd/kamcoback/log/dto/ErrorLogDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/log/dto/ErrorLogDto.java @@ -1,6 +1,6 @@ package com.kamco.cd.kamcoback.log.dto; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import io.swagger.v3.oas.annotations.media.Schema; import java.time.LocalDate; import lombok.AllArgsConstructor; diff --git a/src/main/java/com/kamco/cd/kamcoback/log/dto/EventStatus.java b/src/main/java/com/kamco/cd/kamcoback/log/dto/EventStatus.java index bef06921..1768945c 100644 --- a/src/main/java/com/kamco/cd/kamcoback/log/dto/EventStatus.java +++ b/src/main/java/com/kamco/cd/kamcoback/log/dto/EventStatus.java @@ -1,6 +1,6 @@ package com.kamco.cd.kamcoback.log.dto; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/src/main/java/com/kamco/cd/kamcoback/log/dto/EventType.java b/src/main/java/com/kamco/cd/kamcoback/log/dto/EventType.java index 318b5f17..2f923681 100644 --- a/src/main/java/com/kamco/cd/kamcoback/log/dto/EventType.java +++ b/src/main/java/com/kamco/cd/kamcoback/log/dto/EventType.java @@ -1,6 +1,6 @@ package com.kamco.cd.kamcoback.log.dto; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import lombok.AllArgsConstructor; import lombok.Getter; 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 c72d2c8b..36e4ea89 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java @@ -107,17 +107,17 @@ public class MapSheetMngApiController { @Operation(summary = "영상 데이터 관리 년도 목록", description = "영상 데이터 관리 년도 목록") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "조회 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = CommonCodeDto.Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "조회 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = CommonCodeDto.Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PostMapping("/mng-year-list") public ApiResponseDto> findMapSheetMngYyyyList() { @@ -126,24 +126,23 @@ public class MapSheetMngApiController { @Operation(summary = "영상 데이터 관리 오류 목록", description = "영상 데이터 관리 오류 목록") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "조회 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = CommonCodeDto.Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "조회 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = CommonCodeDto.Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PostMapping("/error-list") public ApiResponseDto> findMapSheetErrorList( @RequestBody @Valid MapSheetMngDto.ErrorSearchReq searchReq) { return ApiResponseDto.ok(mapSheetMngService.findMapSheetErrorList(searchReq)); } - @Operation(summary = "오류데이터 팝업 > 업로드 처리", description = "오류데이터 팝업 > 업로드 처리") @ApiResponses( value = { @@ -164,7 +163,6 @@ public class MapSheetMngApiController { return ApiResponseDto.ok(mapSheetMngService.uploadProcess(hstUidList)); } - @Operation(summary = "오류데이터 팝업 > 추론 제외", description = "오류데이터 팝업 > 추론 제외") @PutMapping("/except-inference") public ApiResponseDto updateExceptUseInference( @@ -183,18 +181,18 @@ public class MapSheetMngApiController { @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) - }) + 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) + }) @GetMapping("/mng-file-list") public ApiResponseDto> findHstUidToMapSheetFileList( @RequestParam @Valid Long hstUid) { diff --git a/src/main/java/com/kamco/cd/kamcoback/members/dto/MembersDto.java b/src/main/java/com/kamco/cd/kamcoback/members/dto/MembersDto.java index 55494625..6fc2e6db 100644 --- a/src/main/java/com/kamco/cd/kamcoback/members/dto/MembersDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/members/dto/MembersDto.java @@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.members.dto; import com.kamco.cd.kamcoback.common.enums.RoleType; import com.kamco.cd.kamcoback.common.enums.StatusType; -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.EnumValid; import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm; import io.swagger.v3.oas.annotations.media.Schema; 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 ba297ae4..88f086e1 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 @@ -41,7 +41,6 @@ public class MapSheetMngCoreService { return mapSheetMngRepository.findMapSheetMngYyyyList(); } - public MapSheetMngDto.MngDto findMapSheetMng(int mngYyyy) { return mapSheetMngRepository.findMapSheetMng(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 746ab044..de94f24a 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 @@ -170,14 +170,14 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport return foundContent; } - public List findMapSheetMngYyyyList(){ + public List findMapSheetMngYyyyList() { List foundContent = - queryFactory - .select(mapSheetMngEntity.mngYyyy) - .from(mapSheetMngEntity) - .where(mapSheetMngEntity.mngState.ne("COMPLETE")) - .orderBy(mapSheetMngEntity.mngYyyy.desc()) - .fetch(); + queryFactory + .select(mapSheetMngEntity.mngYyyy) + .from(mapSheetMngEntity) + .where(mapSheetMngEntity.mngState.ne("COMPLETE")) + .orderBy(mapSheetMngEntity.mngYyyy.desc()) + .fetch(); return foundContent; } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/model/ModelMgmtRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/model/ModelMgmtRepositoryImpl.java index b0d1819a..eda77291 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/model/ModelMgmtRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/model/ModelMgmtRepositoryImpl.java @@ -65,7 +65,14 @@ public class ModelMgmtRepositoryImpl extends QuerydslRepositorySupport ModelMgmtDto.ModelList.class, Expressions.numberTemplate( Integer.class, "row_number() over(order by {0} desc)", sortColumn), - modelMgmtEntity.modelVer, + Expressions.stringTemplate( + "concat({0}, {1}, {2}, {3}, {4})", + modelMgmtEntity.modelVer, + ".", + modelMgmtEntity.hyperVer, + ".", + modelMgmtEntity.epochVer) + .as("modelVer"), modelMgmtEntity.dockerFileNm, modelMgmtEntity.modelVer.as("modelType"), Expressions.stringTemplate( diff --git a/src/main/java/com/kamco/cd/kamcoback/zoo/dto/AnimalDto.java b/src/main/java/com/kamco/cd/kamcoback/zoo/dto/AnimalDto.java index ad55c5e5..9e23ae92 100644 --- a/src/main/java/com/kamco/cd/kamcoback/zoo/dto/AnimalDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/zoo/dto/AnimalDto.java @@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.zoo.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.kamco.cd.kamcoback.config.enums.EnumType; +import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import io.swagger.v3.oas.annotations.media.Schema; import java.time.ZonedDateTime; import lombok.AllArgsConstructor; diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index a5395888..054d08ac 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -15,8 +15,8 @@ spring: format_sql: true # ⚠️ 선택 - SQL 포맷팅 (가독성) datasource: - #url: jdbc:postgresql://192.168.2.127:15432/kamco_cds - url: jdbc:postgresql://localhost:15432/kamco_cds + url: jdbc:postgresql://192.168.2.127:15432/kamco_cds + #url: jdbc:postgresql://localhost:15432/kamco_cds username: kamco_cds password: kamco_cds_Q!W@E#R$ hikari: