Skip to content

[FEAT] 공정 목록 검색/상세 기능 확장 (카테고리/그룹 표시, 검색 필터 추가)#36

Merged
yangjiseonn merged 1 commit into
mainfrom
SPM-436
Nov 6, 2025
Merged

[FEAT] 공정 목록 검색/상세 기능 확장 (카테고리/그룹 표시, 검색 필터 추가)#36
yangjiseonn merged 1 commit into
mainfrom
SPM-436

Conversation

@yangjiseonn
Copy link
Copy Markdown
Contributor

@yangjiseonn yangjiseonn commented Nov 6, 2025

📝 Summary

  • 공정 마스터 검색
  • 공정 마스터 상세 기능 확장
  • 카테고리/그룹 표시, 공정코드, 품목코드, 품목명 검색 필터 추가

🙏 Question & PR point

📬 Reference

Summary by CodeRabbit

릴리스 노트

  • New Features
    • 프로세스 검색 필터에 카테고리 및 그룹 필터링 옵션 추가
    • 검색 결과에 카테고리명, 그룹명 등 추가 정보 표시

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Nov 6, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

검색 엔드포인트에 카테고리 ID와 그룹 ID 필터링 기능을 추가했습니다. 컨트롤러부터 리포지토리까지 전체 계층을 통해 두 매개변수를 전파하고, DTO에 관련된 카테고리와 그룹 정보 필드를 추가하며, 쿼리에서 LEFT JOIN FETCH를 사용해 데이터를 효율적으로 로드합니다.

Changes

Cohort / File(s) 변경 요약
컨트롤러 레이어
src/main/java/com/sampoom/backend/api/process/controller/ProcessController.java
검색 메서드에 categoryId, groupId 쿼리 파라미터 추가 및 서비스 호출 시 전달
서비스 레이어
src/main/java/com/sampoom/backend/api/process/service/ProcessService.java
검색 메서드 시그니처에 categoryId, groupId 매개변수 추가 및 리포지토리로 위임
리포지토리 레이어
src/main/java/com/sampoom/backend/api/process/repository/ProcessRepository.java
메서드 시그니처에 @Param 주석과 함께 categoryId, groupId 추가, LEFT JOIN FETCH로 partGroup과 category 엔티티 로드, 필터링 로직 확장
응답 DTO
src/main/java/com/sampoom/backend/api/process/dto/ProcessResponseDTO.java
categoryId, categoryName, groupId, groupName 필드 추가 및 생성자에서 null-safety 체크를 통해 초기화

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant Controller as ProcessController
    participant Service as ProcessService
    participant Repository as ProcessRepository
    participant DB

    Client->>Controller: GET /search?q=...&categoryId=...&groupId=...
    Controller->>Service: search(q, status, categoryId, groupId, page, size)
    Service->>Repository: search(keyword, status, categoryId, groupId, pageable)
    Repository->>DB: SELECT p FROM Process p<br/>LEFT JOIN FETCH p.partGroup pg<br/>LEFT JOIN FETCH pg.category<br/>WHERE ... categoryId ... groupId ...
    DB-->>Repository: Process 목록 (관련 엔티티 포함)
    Repository-->>Service: Page<Process>
    Service->>Service: 각 Process를 ProcessResponseDTO로 변환<br/>(categoryId, categoryName,<br/>groupId, groupName 포함)
    Service-->>Controller: PageResponseDto<ProcessResponseDTO>
    Controller-->>Client: ApiResponse<PageResponseDto<ProcessResponseDTO>>
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • 주의 사항:
    • ProcessRepository의 JPQL 쿼리: LEFT JOIN FETCH 추가로 인한 쿼리 로직 복잡성 증가 - 정확성 검증 필요
    • 카운트 쿼리와 실제 쿼리 간의 일관성 확인 필요
    • ProcessResponseDTO 생성자의 null-safety 처리 로직 검증
    • 카테고리/그룹 필드 추가로 인한 N+1 쿼리 문제 해결 여부 확인
    • 기존 검색 기능에 대한 하위 호환성 영향 검토

Suggested reviewers

  • CHOOSLA
  • Sangyoon98
  • Lee-Jong-Jin

Poem

🐰 카테고리와 그룹 필터 추가되니,
검색의 정확성 한층 더 높이네!
계층마다 매개변수 전파하고,
JOIN FETCH로 효율은 챙기며,
DTO는 풍요로워지네! ✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch SPM-436

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a8bf9fb and 5479865.

📒 Files selected for processing (4)
  • src/main/java/com/sampoom/backend/api/process/controller/ProcessController.java (1 hunks)
  • src/main/java/com/sampoom/backend/api/process/dto/ProcessResponseDTO.java (2 hunks)
  • src/main/java/com/sampoom/backend/api/process/repository/ProcessRepository.java (1 hunks)
  • src/main/java/com/sampoom/backend/api/process/service/ProcessService.java (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@taemin3 taemin3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

살려줘

@yangjiseonn yangjiseonn merged commit 4d9da71 into main Nov 6, 2025
5 of 6 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Nov 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants