Skip to content

HBTM000_내부 결재 (앱 개요)

(Hereby) 내부 결재 > 앱 개요

내부 결재 (HBTM)
대상 사용자조건1 [TEAM_LEADER] / 조건2 [SUPER_ADMIN]
프로토타입TBU
관련 정책[[POL_결재워크플로우]] · [[POL_권한(RBAC)]]
Statusreview
Owner카나 (PM)

개요

  • 내부 결재(Team Manager)는 직원 앱에서 생성된 휴가·근무·외근·문서 신청과 치료 인센티브·근무표를 팀장·관리자가 처리하는 **직원 신청의 승인 관문(approval gateway)**이다. 라이브 앱명은 "내부 결재".
  • 상단 탭은 7개: "대시보드" / "스케쥴러" / "연차/휴가" / "근무 관리" / "인센티브" / "문서 관리" / "출퇴근현황". 진입 시 "출퇴근현황"으로 랜딩한다.
  • 출퇴근현황·근무 관리·연차/휴가·문서 관리 큐는 Admin 근태/문서 결재 화면([[HBAD250_근태 현황 (근무)]] · [[HBAD251_연차 현황·결재]] · [[HBAD240_문서 결재]])을 임베드한 원본 화면이다.
  • 핵심 흐름: HBEA 신청 → HBTM 승인·반려·취소 → record 반영. 승인된 연장·인센티브·근태는 HR 급여시트 입력으로 반영된다. 역방향으로 HBNS 근무표 확정 시 연차가 자동 승인 record로 생성되어 연차/휴가 큐에 나타난다.
  • 핵심 경계: 결재의 본질은 자동 mutation이 아니라 승인·반려·취소 전 검토와 audit 가능한 사람 확정이다. 승인/반려/취소는 모두 destructive이며 사람이 클릭한다 ([[POL_결재워크플로우]] · [[POL_권한(RBAC)]]).

문서 히스토리

날짜작성자변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영
2026-07-21카나PMGC700 깊이 재작성 + 확정 스타일

Data I/O

Server → Client

변수엔티티.컬럼값 없을 때비고
$팀장/관리자 인증 세션 (team-scope / SUPER_ADMIN)없으면 signin 리다이렉트권한 token 내부 key TBU
$관리 가능 팀 목록 (Team[], 추정)없으면 "전체 팀"만팀명 + 인원수 표시
$notifications[] (추정)badge 미표시미읽음 카운트 badge
$승인 큐 (휴가/연장/외근/문서/치료 인센티브)큐 empty각 상태 필터·카운트

Client → Server

액션전달 값tRPC procedure권한 토큰
휴가 승인/반려/취소requestId, reason?sdk.teamManager.leave.approve/reject() · approval.cancel() (추정)approval:leave (추정)
연장/외근 승인/반려requestId, reportId?sdk.teamManager.work.approve/reject() (추정)approval:work (추정)
문서 승인/반려documentId, reason?sdk.teamManager.document.approve/reject() (추정)approval:document (추정)
치료 인센티브 등록month·type·date·employees·itemCounts·notesdk.teamManager.treatment.create() (추정)incentive:create (추정)

외부 통합 (cross-app)

외부 시스템데이터방향비고
직원 앱 ([[HBEA400_결재 허브]])휴가/근무/외근/문서 신청EA → TM신청 생성 원천
Admin (HBAD)팀·소속·직원·권한·근무유형HBAD → TMconfig 원천
HR 급여시트 ([[HBHR220_연장근무 내역 시트]] · [[HBHR250_인센티브 세션 시트]])승인된 연장·인센티브·근태TM → HR급여 입력 반영
Nurse Scheduler ([[HBNS000_간호 스케줄러 (앱 개요)]])근무표 embed · 확정 시 연차 자동생성NS ↔ TM역방향 연동
Secom 근태 원천출퇴근현황 실데이터 (14,358건)Secom → TM[[POL_근태원천]]

화면 플로우

승인·반려·취소는 정본 반영 경계 — destructive. AI/검토는 preflight·brief까지만, 실행은 사람. HBNS 근무표 확정은 연차 자동생성으로 역연동된다.

앱 개요 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-조건1 [TEAM_LEADER] 이상 인증 시 노출. 미인증 시 signin 리다이렉트인증 세션 (team scope)token 내부 key TBU
01초기 상태-진입 시 "출퇴근현황"으로 랜딩(Admin 근태 현황 근무 탭 임베드의 원본 화면). 대시보드는 출퇴근현황 + 승인 큐 preview 통합 뷰[[HBTM100_Shell·팀 필터]] · [[HBTM200_대시보드]]랜딩=출퇴근현황
10정체성-• 직원 앱 신청을 팀장·관리자가 검토·확정하는 approval gateway. 자동 mutation이 아니라 audit 가능한 사람 확정이 본질라이브명 "내부 결재"
207탭 구조Tab• 상단 7탭을 라우팅하는 네비게이션
• 클릭 시: 각 화면 전환(출퇴근현황 포함)
 - 순서: "대시보드" / "스케쥴러" / "연차/휴가" / "근무 관리" / "인센티브" / "문서 관리" / "출퇴근현황"(신설, 랜딩)
 - 4월 대비 scheduler embed·문서관리 통합·출퇴근현황 추가
Shell 공통 ([[HBTM100_Shell·팀 필터]])
ㄴ21대시보드Tab• 출퇴근현황 + 외근/연장/휴가 큐 preview 통합 뷰
• 클릭 시: /team-manager/ 전환
[[HBTM200_대시보드]]
ㄴ22연차/휴가Tab• 휴가 승인 큐. 자동생성 row 포함
• 클릭 시: /team-manager/leave 전환
[[HBTM210_연차·휴가 승인 큐]]
ㄴ23근무 관리Tab• 연장·휴일 근무 / 외근 서브탭. 보고서 단계 상태 포함
• 클릭 시: /team-manager/work 전환
[[HBTM220_근무 관리 (연장·휴일/외근)]]
ㄴ24인센티브Tab• 치료 인센티브 등록 화면
• 클릭 시: /team-manager/treatment 전환
[[HBTM230_인센티브 (치료 인센티브 등록)]]일반 인센티브 승인 큐 위치 = Open Question
ㄴ25문서 관리Tab• 신청/제출/자격증·면허 통합. 미리보기 모달
• 클릭 시: /team-manager/document-management 전환
[[HBTM240_문서 관리]]
ㄴ26스케쥴러Tab• HBNS 근무표 embed. AI 자동생성/확인은 HBNS destructive boundary 계승
• 클릭 시: /team-manager/scheduler 전환
[[HBTM250_스케줄러 Embed]]
ㄴ27출퇴근현황Tab• 신설 · 랜딩 화면. Admin 근태 현황 근무 탭 임베드(/team-manager/?att=1)의 원본 화면
• 클릭 시: /team-manager/?att=1 전환
 - 구성: 사번/이름/소속/근무일/출근·퇴근 시간 목록 + 소속·기간 필터 + "더 보기 (8/n)"
[[HBTM100_Shell·팀 필터]] · [[HBAD250_근태 현황 (근무)]]Secom 원천
30승인 관문 흐름-• HBEA 신청(대기) → HBTM 승인/반려/취소 → record 반영
 - STEP1 승인된 연장·인센티브·근태 = HR 급여시트 입력
 - STEP2 외근은 TM 승인 시 EA 상태 "승인" 반영 + 신청자에게 "외근 보고서 작성" 트리거 노출
[[HBEA400_결재 허브]] · [[HBEA421_보고서 제출]] · HR 급여시트[[POL_결재워크플로우]]
ㄴ31역방향 연동-• HBNS 근무표 확정 시 연차가 자동 승인 record로 생성되어 연차/휴가 큐에 노출 (사유 "근무표 확정 자동 생성")[[HBNS202_확인 (확정·게시)]] → [[HBTM210_연차·휴가 승인 큐]]역방향 핵심
40화면 목록 (I.A.)-HBTM100 Shell·팀 필터(출퇴근현황 랜딩) / HBTM200 대시보드(4위젯) / HBTM210 연차·휴가 / HBTM220 근무 관리 / HBTM230 인센티브 / HBTM240 문서 관리 / HBTM250 스케줄러 Embed앱 하위 화면
50cross-app 연결-HBEA(신청 원천) · HBAD(팀·직원·유형 config) · HR 급여시트(연장·인센티브·근태 반영) · HBNS(근무표 embed·연차 자동생성) · Secom(출퇴근 원천)Data I/O 외부 통합 참조

AI 접점 요약

내부 결재의 AI는 결재를 대신하는 자동 승인자가 아니라 결재 보조자다. read/suggest/preflight/brief/dry-run까지만 담당하고 승인·반려·취소는 사람 확정. 현재 라이브에 AI 표면은 없으므로 아래 7종은 greenfield 후보. AI 자동 승인/반려/취소 금지, 승인 전 preflight 결과는 audit에 남긴다.

AI Skill트리거 위치동작안전 경계우선도
approvalRecommend각 승인 큐 row hover/상세"승인해도 되는지" 자동 brief (잔여연차·같은 날 결원·대체자·근무표 충돌·52시간)Read/brief, 승인은 사람★★★★★
bulkTriage승인 큐 다중 선택안전 승인 후보 vs 확인 필요 후보 분리. 일괄 승인 버튼은 사람 클릭Suggest, dry-run★★★★☆
anomalyDetectrequest 큐중복 신청·연차초과·비정상 장시간 외근·문서 유형 불일치·치료 인센티브 중복 탐지Read/Preflight★★★★☆
52시간 사전예측근무 관리 승인 전연장·야간·토요일 승인 전 주 52시간·수당 리스크 예측Read/Preflight, docs 명문화·live 미노출★★★★☆
교대희망 충돌 브리프스케쥴러 / 근무 큐교대 희망 ↔ 근무표·기존 휴가·병동 인력 충돌 설명Read, TM 미경유 가능성★★★☆☆
approvalSummaryNL대시보드"오늘 봐야 할 결재·위험 건" 자연어 요약 + preflight audit 기록Read/audit★★★★☆
tm.handover.compose승인/반려 결과팀 인계·공지·후속 작업 초안 작성Suggest, 신규★★★☆☆

권한·상태 분기 요약

시나리오트리거결과비고
CASE01 [미인증 진입]/team-manager 직접signin 리다이렉트
CASE02 [팀장/관리자 진입]인증 세션대시보드 (팀 scope)admin은 "전체 팀" 선택 가능
CASE03 [승인/반려/취소]row action 클릭 → 확인record 상태 변경 · HR/근무표 반영 가능destructive, 사람 확정
조건1 [TEAM_LEADER]큐 진입소속 팀 scope 큐 노출token 내부 key TBU
조건2 [SUPER_ADMIN]큐 진입전체 팀 scope 선택 가능token 내부 key TBU

Open Question

  • 다단계 결재(1차/2차), 위임/대결재 존재 여부 = TBU
  • 승인/반려/취소 후 audit trail UI 존재 여부, 승인자·시각·사유 기록 = TBU
  • 승인/반려 modal의 사유 입력 필드·첨부 지원 여부 = TBU
  • Team Manager 권한 token 내부 key 및 self/team/full scope = TBU
  • 일반 인센티브 승인 큐 위치 (현재 인센티브 탭 = 치료 인센티브 등록만 확인) = TBU