From 6b1793b499a99f17487e69d29982cd8133918dcc Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 8 Jan 2026 14:10:10 +0900 Subject: [PATCH] =?UTF-8?q?Prefix=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/CommonCodeApiController.java | 2 +- .../InferenceResultApiController.java | 152 +++++++++--------- .../InferenceResultMngApiController.java | 12 -- .../inference/dto/InferenceResultMngDto.java | 26 +++ .../kamcoback/members/AdminApiController.java | 104 +----------- .../members/MembersApiController.java | 91 ++++++++++- .../InferenceResultMngRepositoryCustom.java | 7 +- .../InferenceResultMngRepositoryImpl.java | 14 +- 8 files changed, 210 insertions(+), 198 deletions(-) delete mode 100644 src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultMngApiController.java 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 085d64f8..30cb8540 100644 --- a/src/main/java/com/kamco/cd/kamcoback/code/CommonCodeApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/code/CommonCodeApiController.java @@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RestController; @Tag(name = "공통코드 관리", description = "공통코드 관리 API") @RestController @RequiredArgsConstructor -@RequestMapping("/api/code") +@RequestMapping("/api/common-code") public class CommonCodeApiController { private final CommonCodeService commonCodeService; diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java index 610fd364..17cbfb40 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java @@ -12,8 +12,6 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import java.util.List; import lombok.RequiredArgsConstructor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -21,117 +19,115 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "추론관리 분석결과", description = "추론관리 분석결과") -@RequestMapping({"/api/inf/res"}) +@Tag(name = "추론관리", description = "추론관리 API") +@RequestMapping("/api/inference") @RequiredArgsConstructor @RestController public class InferenceResultApiController { - private static final Logger logger = LoggerFactory.getLogger(InferenceResultApiController.class); - private final InferenceResultService inferenceResultService; @Operation(summary = "추론관리 분석결과 목록 조회", description = "분석상태, 제목으로 분석결과를 조회 합니다.") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "검색 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Page.class))), - @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "검색 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))), + @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @GetMapping("/list") public ApiResponseDto> getInferenceResultList( - @Parameter(description = "분석상태", example = "0002") @RequestParam(required = false) - String statCode, - @Parameter(description = "제목", example = "변화탐지") @RequestParam(required = false) String title, - @Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0") - int page, - @Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20") - int size) { + @Parameter(description = "분석상태", example = "0002") @RequestParam(required = false) + String statCode, + @Parameter(description = "제목", example = "변화탐지") @RequestParam(required = false) String title, + @Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0") + int page, + @Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20") + int size) { InferenceResultDto.SearchReq searchReq = - new InferenceResultDto.SearchReq(statCode, title, page, size); + new InferenceResultDto.SearchReq(statCode, title, page, size); Page analResList = - inferenceResultService.getInferenceResultList(searchReq); + inferenceResultService.getInferenceResultList(searchReq); return ApiResponseDto.ok(analResList); } @Operation(summary = "추론관리 분석결과 요약정보", description = "분석결과 요약정보를 조회합니다.") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "검색 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = InferenceResultDto.AnalResSummary.class))), - @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "검색 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = InferenceResultDto.AnalResSummary.class))), + @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @GetMapping("/summary/{id}") public ApiResponseDto getInferenceResultSummary( - @Parameter(description = "목록 id", example = "53") @PathVariable Long id) { + @Parameter(description = "목록 id", example = "53") @PathVariable Long id) { return ApiResponseDto.ok(inferenceResultService.getInferenceResultSummary(id)); } @Operation(summary = "추론관리 분석결과 상세", description = "분석결과 상제 정보 Summary, DashBoard") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "검색 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = InferenceResultDto.Detail.class))), - @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "검색 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = InferenceResultDto.Detail.class))), + @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @GetMapping("/detail/{id}") public ApiResponseDto getInferenceDetail( - @Parameter(description = "목록 id", example = "53") @PathVariable Long id) { + @Parameter(description = "목록 id", example = "53") @PathVariable Long id) { return ApiResponseDto.ok(inferenceResultService.getDetail(id)); } @Operation(summary = "추론관리 분석결과 상세 목록", description = "추론관리 분석결과 상세 목록 geojson 데이터 조회") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "검색 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Page.class))), - @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "검색 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))), + @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @GetMapping("/geom/{id}") public ApiResponseDto> getInferenceResultGeomList( - @Parameter(description = "분석결과 id", example = "53") @PathVariable Long id, - @Parameter(description = "기준년도 분류", example = "land") @RequestParam(required = false) - String targetClass, - @Parameter(description = "비교년도 분류", example = "waste") @RequestParam(required = false) - String compareClass, - @Parameter(description = "5000:1 도협번호 37801011,37801012") @RequestParam(required = false) - List mapSheetNum, - @Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0") - int page, - @Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20") - int size, - @Parameter(description = "정렬 조건 (형식: 필드명,방향)", example = "name,asc") - @RequestParam(required = false) - String sort) { + @Parameter(description = "분석결과 id", example = "53") @PathVariable Long id, + @Parameter(description = "기준년도 분류", example = "land") @RequestParam(required = false) + String targetClass, + @Parameter(description = "비교년도 분류", example = "waste") @RequestParam(required = false) + String compareClass, + @Parameter(description = "5000:1 도협번호 37801011,37801012") @RequestParam(required = false) + List mapSheetNum, + @Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0") + int page, + @Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20") + int size, + @Parameter(description = "정렬 조건 (형식: 필드명,방향)", example = "name,asc") + @RequestParam(required = false) + String sort) { InferenceResultDto.SearchGeoReq searchGeoReq = - new InferenceResultDto.SearchGeoReq( - targetClass, compareClass, mapSheetNum, page, size, sort); + new InferenceResultDto.SearchGeoReq( + targetClass, compareClass, mapSheetNum, page, size, sort); Page geomList = - inferenceResultService.getInferenceResultGeomList(id, searchGeoReq); + inferenceResultService.getInferenceResultGeomList(id, searchGeoReq); return ApiResponseDto.ok(geomList); } } diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultMngApiController.java b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultMngApiController.java deleted file mode 100644 index 143b77f6..00000000 --- a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultMngApiController.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.kamco.cd.kamcoback.inference; - -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@Tag(name = "추론관리", description = "어드민 홈 > 추론관리 > 분석결과") -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/inference") -public class InferenceResultMngApiController {} diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultMngDto.java b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultMngDto.java index 9cb66320..dd193c80 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultMngDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultMngDto.java @@ -1,11 +1,37 @@ package com.kamco.cd.kamcoback.inference.dto; import com.kamco.cd.kamcoback.common.utils.enums.EnumType; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; public class InferenceResultMngDto { + @Schema(name = "SearchListReq", description = "분석결과 목록 검색 조건") + @Getter + @Setter + @NoArgsConstructor + @AllArgsConstructor + public static class SearchListReq { + + // 검색 조건 + private String applyYn; + private String strtDttm; + private String endDttm; + + // 페이징 파라미터 + private int page = 0; + private int size = 20; + + public Pageable toPageable() { + return PageRequest.of(page, size); + } + } + @Getter @AllArgsConstructor public enum DetectOption implements EnumType { diff --git a/src/main/java/com/kamco/cd/kamcoback/members/AdminApiController.java b/src/main/java/com/kamco/cd/kamcoback/members/AdminApiController.java index bcdebf6d..2c5f11f0 100644 --- a/src/main/java/com/kamco/cd/kamcoback/members/AdminApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/members/AdminApiController.java @@ -1,112 +1,12 @@ package com.kamco.cd.kamcoback.members; -import com.kamco.cd.kamcoback.config.api.ApiResponseDto; -import com.kamco.cd.kamcoback.members.dto.MembersDto; -import com.kamco.cd.kamcoback.members.service.AdminService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Content; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.responses.ApiResponse; -import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.validation.Valid; -import java.util.UUID; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Tag(name = "관리자 관리", description = "관리자 관리 API") @RestController -@RequestMapping("/api/admin/members") +@RequestMapping("/api/members") @RequiredArgsConstructor -public class AdminApiController { - - private final AdminService adminService; - - @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) - }) - @PostMapping("/join") - public ApiResponseDto saveMember( - @io.swagger.v3.oas.annotations.parameters.RequestBody( - description = "관리자 계정 등록", - required = true, - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = MembersDto.AddReq.class))) - @RequestBody - @Valid - MembersDto.AddReq addReq) { - - return ApiResponseDto.createOK(adminService.saveMember(addReq)); - } - - @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) - }) - @PutMapping("/{uuid}") - public ApiResponseDto updateMembers( - @io.swagger.v3.oas.annotations.parameters.RequestBody( - description = "관리자 계정 수정", - required = true, - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = MembersDto.UpdateReq.class))) - @PathVariable - UUID uuid, - @RequestBody @Valid MembersDto.UpdateReq updateReq) { - adminService.updateMembers(uuid, updateReq); - return ApiResponseDto.createOK(UUID.randomUUID()); - } - - @Operation(summary = "사번 중복 체크", description = "사번 중복 체크") - @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "조회 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Boolean.class))), - @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) - @GetMapping("/{employeeNo}") - public ApiResponseDto checkEmployeeNo( - @Parameter(description = "중복 체크할 사번", required = true, example = "1234567") @PathVariable - String employeeNo) { - return ApiResponseDto.ok(adminService.existsByEmployeeNo(employeeNo)); - } -} +public class AdminApiController {} diff --git a/src/main/java/com/kamco/cd/kamcoback/members/MembersApiController.java b/src/main/java/com/kamco/cd/kamcoback/members/MembersApiController.java index 2dc47e98..4d548fe4 100644 --- a/src/main/java/com/kamco/cd/kamcoback/members/MembersApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/members/MembersApiController.java @@ -3,33 +3,37 @@ package com.kamco.cd.kamcoback.members; import com.kamco.cd.kamcoback.config.api.ApiResponseDto; import com.kamco.cd.kamcoback.members.dto.MembersDto; import com.kamco.cd.kamcoback.members.dto.MembersDto.Basic; +import com.kamco.cd.kamcoback.members.service.AdminService; import com.kamco.cd.kamcoback.members.service.MembersService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; +import java.util.UUID; import lombok.RequiredArgsConstructor; import org.springdoc.core.annotations.ParameterObject; import org.springframework.data.domain.Page; -import org.springframework.security.authentication.AuthenticationManager; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "회원정보 관리", description = "회원정보 관리 API") +@Tag(name = "관리자 관리", description = "회원정보 관리 및 회원정보 API") @RestController @RequestMapping("/api/members") @RequiredArgsConstructor public class MembersApiController { - private final AuthenticationManager authenticationManager; private final MembersService membersService; + private final AdminService adminService; @Operation(summary = "회원정보 목록", description = "회원정보 조회") @ApiResponses( @@ -72,4 +76,85 @@ public class MembersApiController { membersService.resetPassword(memberId, initReq); return ApiResponseDto.createOK(memberId); } + + @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) + }) + @PostMapping("/join") + public ApiResponseDto saveMember( + @io.swagger.v3.oas.annotations.parameters.RequestBody( + description = "관리자 계정 등록", + required = true, + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = MembersDto.AddReq.class))) + @RequestBody + @Valid + MembersDto.AddReq addReq) { + + return ApiResponseDto.createOK(adminService.saveMember(addReq)); + } + + @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) + }) + @PutMapping("/{uuid}") + public ApiResponseDto updateMembers( + @io.swagger.v3.oas.annotations.parameters.RequestBody( + description = "관리자 계정 수정", + required = true, + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = MembersDto.UpdateReq.class))) + @PathVariable + UUID uuid, + @RequestBody @Valid MembersDto.UpdateReq updateReq) { + adminService.updateMembers(uuid, updateReq); + return ApiResponseDto.createOK(UUID.randomUUID()); + } + + @Operation(summary = "사번 중복 체크", description = "사번 중복 체크") + @ApiResponses( + value = { + @ApiResponse( + responseCode = "200", + description = "조회 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Boolean.class))), + @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) + @GetMapping("/{employeeNo}") + public ApiResponseDto checkEmployeeNo( + @Parameter(description = "중복 체크할 사번", required = true, example = "1234567") @PathVariable + String employeeNo) { + return ApiResponseDto.ok(adminService.existsByEmployeeNo(employeeNo)); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultMngRepositoryCustom.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultMngRepositoryCustom.java index 58628324..79f21c82 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultMngRepositoryCustom.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultMngRepositoryCustom.java @@ -1,3 +1,8 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference; -public interface InferenceResultMngRepositoryCustom {} +import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnEntity; + +public interface InferenceResultMngRepositoryCustom { + + MapSheetLearnEntity getInferenceMgnResultList(); +} diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultMngRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultMngRepositoryImpl.java index cfae309e..e45e02ea 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultMngRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultMngRepositoryImpl.java @@ -1,6 +1,18 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference; +import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnEntity; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; @Repository -public class InferenceResultMngRepositoryImpl implements InferenceResultMngRepositoryCustom {} +@RequiredArgsConstructor +public class InferenceResultMngRepositoryImpl implements InferenceResultMngRepositoryCustom { + + private final JPAQueryFactory queryFactory; + + @Override + public MapSheetLearnEntity getInferenceMgnResultList() { + return null; + } +}