Skip to content

Comments

feat(111): Querydsl 기반 전자결재 필터 검색 및 상세 조회 구현#112

Open
jinhyeongpark wants to merge 12 commits intodevfrom
feat/111
Open

feat(111): Querydsl 기반 전자결재 필터 검색 및 상세 조회 구현#112
jinhyeongpark wants to merge 12 commits intodevfrom
feat/111

Conversation

@jinhyeongpark
Copy link
Contributor

@jinhyeongpark jinhyeongpark commented Feb 22, 2026

#️⃣연관된 이슈 번호

📝작업 내용

  • Querydsl 기반 동적 필터 검색 구현
    • ApprovalQueryRepository를 통한 전체/진행/참조/내작성 카테고리별 다중 필터 검색 기능 추가
    • 문서 종류(DocumentType), 상태(Status) 등 동적 조건 대응 logic 구축
    • default_batch_fetch_size를 활용한 N+1 문제 최적화 및 페이징 연동
  • 보안성이 강화된 상세 조회 및 권한 검증
    • ApprovalService.getApprovalDetail에서 관리자/기안자/결재자/참조자별 조회 권한 로직 정교화
  • 테스트 강화 및 코드 정제
    • 관리자 권한 조회 경계값 테스트 및 문서 번호 생성 포맷 검증 추가 (ApprovalTest)

🧪 테스트 여부

  • Querydsl 기반 검색 필터링 작동 확인
  • 상세 조회 권한 보안 로직 검증
  • ApprovalTest.java 단위 테스트 전체 통과

💬리뷰 요구사항

  • X

- BaseEntity 추가
- 문서종류, 기안부서, 날짜, 시퀀스로 이뤄진 문서번호 필드 추가
- '전체, 결재 진행, 참조/열람, 내 기안'으로 구분
- ApprovalCategory로 대분류 필터링
- ApprovalStatus로 상태 필터링
- 참여자 유형(열람, 참조)에 따른 필터링
- DocumentType에 따른 필터링
- 페이징을 위한 정보 필터링
- 결재라인에 있지 않은 유저들의 관점을 위함
- 결재 전이나 결재 대기가 아닌 결재가 진행 중임을 표현
- 전체(필터) 전자결재 조회
- 단일 전자결재 조회
- getCategoryExpression: 상위 필터(전체, 결재 진행, 참조문서, 내 작성)  구현
- getAllCategoryExpression: 유저의 권한(Role)이 ADMIN인 경우 결재선 혹은 참조/기안자가 아니더라도 전체 결재문서를 조회
- eqDocumentType: 문서 종류(DocumentType)에 따른 하위 필터 구현
- PK, 문서번호, 기안자, 제목, 상태, 결재라인, 기안일, 완료일로 구성
- HTML 내용, 결재선, 참조/열람자, 첨부파일 포함
- QueryDSL을 활용한 조건별 결재 목록 검색 기능 추가
- 상세 조회 시 사용자 권한(기안/결재/참조/열람) 기반 접근 제어 로직 적용
- 참조자(즉시) 및 열람권자(최종승인 후) 조회 시점 차등화
- S3 Presigned URL 기반 첨부파일 조회 연동
- 전체(필터)와 단일 조회에 대한 단위테스트 작성
- 문서 번호에 대한 포맷검증 추가
@jinhyeongpark jinhyeongpark linked an issue Feb 22, 2026 that may be closed by this pull request
3 tasks
@jinhyeongpark jinhyeongpark changed the title feat(111): 전자결재 단위 테스트 강화 및 코드 포맷팅 정제 feat(111): Querydsl 기반 전자결재 필터 검색 및 상세 조회 구현 Feb 22, 2026
public enum ApprovalCategory {
ALL("전체"),
IN_PROGRESS("결재 진행"),
REFERENCE("참조/열람"),
Copy link
Member

Choose a reason for hiding this comment

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

피그마에 표기되어 있는 카테고리명이 달라서 .. 맞춰주시면 감사하겠습니다 !

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.

[feat] 전자결재 조회 구현

2 participants