HBAD240_문서 결재
(Hereby) 관리자 패널 > 문서 결재 > 문서 결재
| 메타 | 앱: 관리자 패널 (포트 4001) — 본문 Team Manager 임베드 (포트 4004)대상 사용자: 조건1 [문서 관리/조회 권한 보유자]프로토타입: TBU관련 정책: [[POL_권한(RBAC)]]Status: reviewOwner: 카나 |
개요
문서 결재는 직원이 제출한 문서·증명서 요청을 관리자가 검토·승인/반려하는 결재 인박스 화면이다. 사이드바 "문서 결재" 그룹의 "문서 결재" 메뉴 진입점이다. 본문은 Team Manager 앱 임베드(/team-manager/document-management?embedded=1)로 로드된다. 화면은 "문서 결재" / "자격증·면허" 2탭으로 구성된다. 결재 대상은 직원 업로드 문서(documents)와 증명서 발급 요청(certificate_issuances)이며, 검토자·검토일시(reviewedBy/reviewedAt·approvedBy/approvedAt) 기록으로 처리 이력이 부착된다. 양식 마스터(제출 유형·자격증)는 [[HBAD241_문서 양식]]에서 정의하며, 여기서는 그 양식으로 제출된 건의 결재만 다룬다. 목록 컬럼은 사번 / 이름 / 구분 / 유형 / 신청일 / 상태 / 관리이며, 행 "보기" 버튼으로 상세를 연다.
문서 히스토리
- 2026-07-06 최초 작성 - 카나/콸
- 2026-07-10 라이브 기능 검토 반영 (TM 임베드·필터·2탭 확인) - 카나/콸
- 2026-07-21 GC700 깊이 재작성 - 카나/콸
- 2026-07-21 가독성 패스 (GUIDE §7) - 카나/PM
- 2026-07-21 셀 스타일 확정판 적용 (콸 승인) - 카나/PM
- 2026-07-28 코드 변경 반영(8299588) - 카나/PM
Data I/O
Server → Client
변수
| 메타 | ${approval_inbox} |
| 메타 | ${doc.status} |
| 메타 | ${doc.category} |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| 승인 | documentId | 검토자·검토일시 기록 (documents.reviewedBy/reviewedAt · 증명서 certificate_issuances.approvedBy/approvedAt) | 라벨 "문서 관리" (토큰 document:write 추정) |
| 반려 | documentId · 사유 | certificate_issuances.rejectedReason 기록 (문서 반려 사유 컬럼 = TBU) | 라벨 "문서 관리" |
| 필터/검색 | 조직/구분/상태/검색어/기간 | 목록 재조회 (TM 임베드) | 라벨 "문서 조회" |
외부 통합
| 외부 시스템 | 데이터 | 방향 | 비고 |
|---|---|---|---|
| Team Manager (포트 4004) | /team-manager/document-management?embedded=1 본문 임베드 | Admin → TM iframe | 타 앱 embed |
메인 화면 사양표 (문서 결재)
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 진입 조건 | - | • 조건1 [문서 관리/조회 권한] 보유 시 노출. 사이드바 "문서 결재" 그룹 > "문서 결재" 메뉴 진입. 미보유 시 hide | 권한 트리(문서) | [[POL_권한(RBAC)]] |
| 01 | 초기 상태 | Output | • "문서 결재" 탭 결재 인박스 표시 (필터 미적용) | ||
| 05 | 본문 임베드 | Embed | • 본문 영역을 TM 앱 iframe으로 채우는 임베드. 소스 /team-manager/document-management?embedded=1• 로드 시: TM 결재 인박스(사번/이름/구분/유형/신청일/상태/관리 그리드) 렌더 | Team Manager | 타 앱 embed |
| 08 | 화면 탭 | Tab | • "문서 결재" / "자격증·면허" 2탭 • 클릭 시: 해당 목록으로 전환 | 2탭 | |
| 10 | 결재 인박스 | Grid | • 결재 대기 문서·증명서 요청을 나열하는 그리드 | documents · certificate_issuances | |
| 10-E | 인박스 Empty | State | • 결재 대기 0건 시 빈 상태. 라이브 원문 프로브 미확인 | TBU: Empty 문구 | |
| ㄴ11 | 목록 컬럼 | Cell | • 컬럼 구성: 사번 / 이름 / 구분 / 유형 / 신청일 / 상태 / 관리 | documents.documentType·category | 7컬럼 |
| ㄴ12 | 상태 배지 | Badge | • 결재 상태 배지 (documents_status_enum·certificate_issuances_status_enum): CASE01 [대기] / CASE02 [승인] / CASE03 [반려] / CASE04 [취소] | 상태 enum | TBU: enum 값 목록 |
| 15 | 필터 | Filter | • 인박스를 거르는 필터 세트: 조직 선택 / 구분(전체/신청/제출/자격증·면허) / 상태(전체/대기/승인/반려/취소) / 검색 "이름 / 사번 / 이메일" / 기간(이번 주/지난 1주/이번 달/지난 1개월/지난 3개월/전체) • 선택 시: 목록 재조회 | 목록 재조회 | 기간 6종 · 7/10 확인 |
| 18 | 보기 | Button | • 행별 결재 상세 진입 버튼. 원문 "보기" • 클릭 시: 결재 상세 노출 | 행 관리 | |
| 20 | 결재 처리 | Button | • 상세에서 승인/반려를 실행하는 결재 액션 • 클릭 시: 상세에서 승인/반려 실행 - CASE01 [승인]: 검토자·검토일시 기록 ( reviewedBy/reviewedAt·approvedBy/approvedAt)- CASE02 [반려]: 사유 입력 → rejectedReason 기록 | reviewedBy/reviewedAt · approvedBy/approvedAt · rejectedReason | 처리 이력 부착 · TBU: 결재선(다단계)·반려 UI·실패 동작 |
| 30 | 처리 이력 | Output | • 검토자·검토일시·반려사유 등 처리 내역 노출 (업무별 이력, 전역 감사로그 아님) | documents/certificate_issuances 검토 컬럼 | 도메인 이력 |
| 40 | 자격증·면허 탭 | Tab | • 자격증 발급/등록 결재 탭(admin 네이티브 — settings에서 이관, 당국 면허·자격 신고 대장). 원문 "자격증·면허". 필터 줄의 자주 쓰는 기간 프리셋을 공용 SubTab(sm·line·radius 4)으로 통일(기존 손으로 만든 radius 16 칩 → 근태 현황 4개 화면과 동일 규약) • 클릭 시: 자격증·면허 결재 목록 전환 | certification_type_configs · [[HBAD296_자격증·면허 관리]] | 프리셋 SubTab 통일 (코드 반영: 8299588) · TBU: 목록 컬럼·동선 상세 |
ERD 근거 (documents / certificate_issuances)
| 엔티티 | 핵심 컬럼 | 결재 관련 용도 |
|---|---|---|
documents | employeeId · filename/originalFilename · category(enum) · documentType · status(enum) · reviewedBy · reviewedAt · notes | 직원 업로드 문서. status=processing 기본값 → 검토(reviewedBy/reviewedAt) 처리 |
certificate_issuances | employeeId · templateId · purpose · status(enum, 기본 pending) · approvedBy · approvedAt · rejectedReason · certificateHtml | 증명서 발급 요청. status=pending → 승인(approvedBy/approvedAt)/반려(rejectedReason) |
document_templates | code · name · bodyTemplate · isActive | 제출 문서·증명서 양식 마스터 ([[HBAD241_문서 양식]]에서 관리) |
권한·상태 분기 요약
| 시나리오 | 트리거 | 결과 화면 | 비고 |
|---|---|---|---|
CASE01 [인박스 조회] | 화면 진입 | TM 임베드 결재 인박스 | 권한 "문서 조회" |
CASE02 [필터] | 구분/상태/기간/검색 | 목록 재조회 | 기간 6종 |
CASE03 [상세 보기] | 행 "보기" | 결재 상세 | |
CASE04 [승인] | 상세 승인 | 검토자·검토일시 기록 | 권한 "문서 관리" |
CASE05 [반려] | 상세 반려 → 사유 | rejectedReason 기록 | 반려 UI = TBU |
Open Question
| 구분 | 미확인 항목 |
|---|---|
| 결재선 | 결재선(다단계 승인) 존재 여부 — 단일 승인/반려인지 결재 라인인지 |
| 반려 | 반려 사유 입력 UI 및 재제출 동선 |
| 자격증·면허 탭 | "자격증·면허" 탭 목록 컬럼·동선 상세 |
| 인박스 Empty | 인박스 Empty 라이브 원문 |
| 결재 처리 | 결재 처리 실패 동작 |
| 상태 enum | documents_status_enum·certificate_issuances_status_enum 값 목록·문서 반려 사유 컬럼 |