Skip to content

HBAD290_전자 서명

(Hereby) 관리자 패널 > 기타 > 전자 서명

메타앱: 관리자 패널 (HBAD)대상 사용자: 조건1 [문서 관리] 권한 보유 역할프로토타입: TBU관련 정책: [[POL_급여정본경계]] · [[POL_권한(RBAC)]]Status: confirmed (전송 flow 실행 검증 · 7/12)Owner: 카나

개요

전자 서명은 관리자가 문서 템플릿을 직원에게 전송하고, 발송·서명·수신 상태를 추적하는 화면이다. 사이드바 "기타" 그룹의 "전자 서명" 진입점이다."전자서명 목록"은 발송 건별 상태 추적 그리드(9컬럼)이며 e_sign_records를 근거로 한다. 우측 상단 "전송"으로 신규 발송을 생성하며, 직원·템플릿 선택 전에는 disabled다.직원 검색 드롭다운(항목 "이름 (사번)")과 템플릿 검색 드롭다운에서 각각 선택하면 "전송"이 활성화되고, 실행 시 목록 최상단에 신규 행이 추가된다 — 수신자 이메일은 선택 직원의 이메일로 자동 채워지고, 초기 상태는 "작성중인 계약", 전송일시가 기록된다(7/12 실행 검증). 발송·서명 이력은 급여명세서 등 문서 교부의 입증층으로, HR 급여 관리 앱의 발송 시트([[HBHR270_전자서명 발송·eCount 연동 시트 (2섹션)]] 섹션 A, 🔒잠금)와 동일한 e_sign_records 원천을 공유한다.

문서 히스토리

  • 2026-07-06 최초 작성 - 카나/콸
  • 2026-07-10 라이브 기능 검토 반영 (연결 상태·상태 필터 enum) - 카나/콸
  • 2026-07-12 실행 검증 반영 (전송 flow·자동 채움·초기 상태, 콸 승인) - 카나/콸
  • 2026-07-13 버튼 행동 명세 보강 - 카나/콸
  • 2026-07-21 GC700 깊이 재작성 - 카나/콸
  • 2026-07-21 가독성 패스 (GUIDE §7) - 카나/PM
  • 2026-07-21 셀 스타일 확정판 적용 (콸 승인) - 카나/PM
  • 2026-08-06 Hereby Sign 연동 프로비저닝 게이트 반영(c9bde29) - 카나/PM
  • 2026-09-05 리스트 새로고침 시 Sign 상태 동기화 + 최신순 정렬 반영(#614 머지 9/4, a5f3341) — 목록 갱신 시 서명 상태가 Sign 서버와 sync, 기본 정렬 최신 생성순. 세부 UI 표기는 실사 대기 - 카나/PM

Data I/O

Server → Client

변수

메타$
메타$
메타$
메타$
메타$
메타$
메타$

Client → Server

액션전달 값tRPC procedure권한 토큰
전송herebyTemplateId · 수신자(employeeId)e_sign_records 생성 (sentById · sentAt 기록)문서 관리 (라벨 기반, 매핑 TBU)
서명 링크 열기herebyRedirectUrl(외부 이동)문서 관리 (추정)
상태 필터status enum목록 재조회문서 관리(조회)

외부 통합

외부 시스템데이터동기/비동기비고
Hereby 전자서명herebyTemplateId / herebyContractId · herebyRedirectUrl비동기(연동 상태 수신)외부 서명 플로우. 연결 상태 = "전자서명 연결 정상" / "상태 수신 대기"
HR 급여 시트 (HBHR270)동일 e_sign_records 원천 공유동기 참조섹션 A 🔒잠금 교부 입증층

전자 서명 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00진입 조건-조건1 [문서 관리] 보유 시 사이드바 "기타" 그룹에 노출권한 트리(문서)
01초기 상태Output• 진입 시 전자서명 목록(9컬럼) + 연결 상태 인디케이터 표시. 전송 버튼은 disabled 상태 (연동 게이트 통과 시)e_sign_records[]
02연동 프로비저닝 게이트Output• 연동 상태(esignIntegrationStatus.status)가 'linked'가 아니면 템플릿·기록 영역을 숨기고 상단에 ds-notice 배너 표시. 'linked'일 때만 기존 템플릿·기록 화면 노출
• 배너 제목/톤 (CASE 구조):
 - CASE01 [provisioning]: "전자서명 연동을 설정하는 중입니다"
 - CASE02 [error·revoked]: "전자서명 연동에 문제가 있습니다" (danger 톤)
 - CASE03 [그 외]: "전자서명 연동이 필요합니다" (info 톤)
• 배너 본문:
 - CASE01 [errorMessage 있음]: errorMessage 내용
 - CASE02 [errorMessage 없음 · non-provisioning]: "관리자 계정으로 Hereby Sign 연동을 설정하면 전자서명을 사용할 수 있습니다."
• "연동 설정" 버튼 (라벨/상태 CASE 구조):
 - CASE01 [error·revoked]: "다시 시도"
 - CASE02 [실행 중]: "설정 중..."
 - CASE03 [provisioning]: 비활성
• 클릭 시: 조직 프로비저닝 자동 실행(provisionESignIntegration) → 조직 자동 생성
esignIntegrationStatus.status (enum: provisioning / linked / error / revoked) · esignIntegrationStatus.errorMessage · provisionESignIntegrationc9bde29 · 백엔드 hereby-sign-provisioning.service
10연결 상태Badge• 외부 전자서명 연동 상태를 표시하는 인디케이터
 - CASE01 [연동 정상]: "전자서명 연결 정상"
 - CASE02 [상태 미수신]: "상태 수신 대기"
Hereby 전자서명 연동
11직원 검색Search• 연동 상태 'linked'일 때만 노출 (§02 게이트 통과 시)
• 발송 대상 직원을 검색·선택하는 드롭다운. placeholder "직원 검색 (이름 / 사번 / 이메일)...", 후보 항목 표기 "이름 (사번)"
• 선택 시: 발송 대상 직원 확정 (전송 선행 조건)
employeesTBU: 검색 0건
12템플릿 검색Search• 연동 상태 'linked'일 때만 노출 (§02 게이트 통과 시)
• 발송할 문서 템플릿을 검색·선택하는 드롭다운. placeholder "템플릿 검색..." (예: "표준근로계약서 (기간의 정함이 없는 경우)")
• 선택 시: 발송 템플릿 확정 (전송 선행 조건)
herebyTemplateIdTBU: 후보 0건
13상태 필터Filter• 발송 상태별로 목록을 거르는 드롭다운. "전체 상태" + 작성 중 / 예약 / 실패 / 대기 중 / 체결 / 비활성
• 선택 시: 해당 상태 목록 재조회
 - CASE01 [필터 결과 0건]: 빈 상태
e_sign_records.status
14전송Button• 선택한 직원·템플릿으로 신규 발송 건을 생성하는 기능. 직원·템플릿 선택 전에는 disabled
• 클릭 시: 즉시 실행 → 목록 최상단에 신규 행 추가 (수신자 이메일 = 직원 이메일 자동 채움 · 초기 상태 "작성중인 계약" · 전송일시 기록, 7/12 실행 검증)
 - CASE01 [직원·템플릿 미선택]: disabled
 - CASE02 [둘 다 선택]: 활성
e_sign_records insert · Hereby 연동발송 트리거 · TBU: 전송 실패 피드백(단건 정상 flow만 검증)
20전자서명 목록Grid• 연동 상태 'linked'일 때만 노출 (§02 게이트 통과 시, 기록 영역)
• 발송 건별 상태를 추적하는 그리드 (9컬럼, 하단 "목록 컬럼" 참조). 페이지네이션 포함
 - CASE01 [발송 0건]: 빈 상태 (원문 문구 TBU)
e_sign_records[]교부 입증층 · Empty 원문 TBU
30페이지네이션Pagination• 목록 페이지를 이동하는 컨트롤 (« ‹ 1 › »)
• 클릭 시: 해당 페이지 목록 표시
-
90권한별 차이-조건1 [문서 관리] 미보유 시 "기타 > 전자 서명" 메뉴 미노출RBAC

전자서명 목록 컬럼 (9컬럼, 라이브 census 원문)

#컬럼타입설명연관 (ERD)
1사번Text수신 직원 사번employees.employeeNumber (employeeId)
2직원Text수신자 성명 (발송 시점 스냅샷)e_sign_records.recipientNameSnapshot
3템플릿Text발송 문서 템플릿명 (스냅샷)e_sign_records.templateNameSnapshot · herebyTemplateId
4수신자 이메일Text수신자 이메일 주소 (스냅샷). 전송 시 직원 이메일 자동 채움e_sign_records.recipientEmailSnapshot
5상태Badge상태 배지 (하단 "상태 enum" 표 참조). 값 없음: 미서명 등은 배지 표기만e_sign_records.status · errorMessage
6전송일시DateTime발송 일시 (교부 시점 입증). 전송 시 기록e_sign_records.sentAt
7서명일시DateTime수신자 서명 완료 일시. 미서명 시 공란("-")e_sign_records.signedAt
8링크LinkHereby 서명 페이지 링크. 없으면 hide(추정)e_sign_records.herebyRedirectUrl
9관리Button행 관리(재전송/상세 등 — 동작 상세 = TBU)

상태 enum (exec-diff §5 원문)

구분근거
상태 필터 enum (6종)작성 중 / 예약 / 실패 / 대기 중 / 체결 / 비활성라이브 필터 드롭다운 원문
배지 표기 추가 관찰 (3종)작성중인 계약 / 예약 전송 / 내 입력 대기전송 직후 신규 행 초기 상태 = "작성중인 계약" (7/12 실행 검증)
데이터 상태값계약 파기필터 enum에 없음 — 데이터상 존재 (라이브 관찰)

권한 / 상태 요약

시나리오트리거결과 화면비고
CASE01 [선택 전]진입전송 disabled실발송 방지
CASE02 [직원·템플릿 선택]둘 다 선택전송 활성전송 선행 조건
CASE03 [전송 실행]전송 클릭신규 행(이메일 자동 채움 · 상태 "작성중인 계약" · 전송일시)7/12 실행 검증
CASE04 [수신자 서명]Hereby 서명 완료signedAt 기록 · 상태 "체결"(추정)외부 flow
CASE05 [권한 미보유]메뉴 접근미노출RBAC gate

Open Question

구분미확인 항목
상태 enum"계약 파기" · "작성중인 계약" / "예약 전송" / "내 입력 대기" 배지의 status enum 매핑(상태 필터 6종과의 관계)
전송 flow"전송" 실행 후 수신자 다건 발송·계약 연동(herebyContractId) 여부 (단건 전송 flow는 검증됨)
목록 관리"관리" 컬럼 동작(재전송/취소/상세 보기)
에러·Empty전송 실패 피드백 · 직원/템플릿 검색 결과 0건 · 목록 Empty 원문 처리 (라이브 미검증)
앱 경계HBAD290 전자 서명(관리자 발송)과 HBHR270 발송 시트(급여 명세서 교부)의 발송 주체·문서 유형 경계