Skip to content

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인박스 EmptyState• 결재 대기 0건 시 빈 상태. 라이브 원문 프로브 미확인TBU: Empty 문구
ㄴ11목록 컬럼Cell• 컬럼 구성: 사번 / 이름 / 구분 / 유형 / 신청일 / 상태 / 관리documents.documentType·category7컬럼
ㄴ12상태 배지Badge• 결재 상태 배지 (documents_status_enum·certificate_issuances_status_enum): CASE01 [대기] / CASE02 [승인] / CASE03 [반려] / CASE04 [취소]상태 enumTBU: 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)

엔티티핵심 컬럼결재 관련 용도
documentsemployeeId · filename/originalFilename · category(enum) · documentType · status(enum) · reviewedBy · reviewedAt · notes직원 업로드 문서. status=processing 기본값 → 검토(reviewedBy/reviewedAt) 처리
certificate_issuancesemployeeId · templateId · purpose · status(enum, 기본 pending) · approvedBy · approvedAt · rejectedReason · certificateHtml증명서 발급 요청. status=pending → 승인(approvedBy/approvedAt)/반려(rejectedReason)
document_templatescode · name · bodyTemplate · isActive제출 문서·증명서 양식 마스터 ([[HBAD241_문서 양식]]에서 관리)

권한·상태 분기 요약

시나리오트리거결과 화면비고
CASE01 [인박스 조회]화면 진입TM 임베드 결재 인박스권한 "문서 조회"
CASE02 [필터]구분/상태/기간/검색목록 재조회기간 6종
CASE03 [상세 보기]행 "보기"결재 상세
CASE04 [승인]상세 승인검토자·검토일시 기록권한 "문서 관리"
CASE05 [반려]상세 반려 → 사유rejectedReason 기록반려 UI = TBU

Open Question

구분미확인 항목
결재선결재선(다단계 승인) 존재 여부 — 단일 승인/반려인지 결재 라인인지
반려반려 사유 입력 UI 및 재제출 동선
자격증·면허 탭"자격증·면허" 탭 목록 컬럼·동선 상세
인박스 Empty인박스 Empty 라이브 원문
결재 처리결재 처리 실패 동작
상태 enumdocuments_status_enum·certificate_issuances_status_enum 값 목록·문서 반려 사유 컬럼