HBTM250_스케줄러 Embed
(Hereby) 내부 결재 > 스케줄러 Embed
| 앱 | 내부 결재 (HBTM) |
| 대상 사용자 | 조건1 [TEAM_LEADER] / 조건2 [SUPER_ADMIN] |
| 프로토타입 | TBU |
| 관련 정책 | [[POL_결재워크플로우]] · [[POL_간호스케줄 Lifecycle]] |
| Status | review |
| Owner | 카나 (PM) |
개요
- 스케쥴러 탭(/team-manager/scheduler)은 iframe이 아니라 내부 결재의 내장 라우트로 간호 스케줄러([[HBNS000_간호 스케줄러 (앱 개요)]]) 근무표를 렌더한다.
- "근무표" / "간호사" 2탭 그리드([[HBNS200_근무표 그리드]]) + AI 자동생성 + 확인(확정)이 팀장 결재 워크스페이스에서 접근된다.
- 근무표·지표·그리드 상세 사양은 HBNS를 단일 정본으로 참조하고 이 문서는 중복 정의하지 않는다. AI 자동생성 / 확인 / 게시의 destructive 경계는 HBNS를 따른다 ([[HBNS202_확인 (확정·게시)]], POL_간호스케줄 Lifecycle).
- 근무표 확정 시 연차가 자동 승인 record로 생성되어 연차/휴가 큐([[HBTM210_연차·휴가 승인 큐]])에 나타난다(HBTM210 역방향 연동). TM 권한과 HBNS 권한이 동일한지 여부는 OQ다.
문서 히스토리
| 날짜 | 작성자 | 팀 | 변경 내용 |
|---|---|---|---|
| 2026-07-06 | 카나 | PM | 최초 작성 |
| 2026-07-10 | 카나 | PM | 라이브 기능 검토 반영 |
| 2026-07-13 | 카나 | PM | 버튼 행동 명세 보강 |
| 2026-07-21 | 카나 | PM | GC700 깊이 재작성 + 확정 스타일 |
Data I/O
Server → Client
| 변수 | 엔티티.컬럼 | 값 없을 때 | 비고 |
|---|---|---|---|
| $ | NurseSchedule / ShiftAssignment (HBNS 정본 참조) | - | embed된 근무표 |
| $ | 간호등급 · 준수율 · 간호사 수 · 환자 수 | "-" (간호등급) | 지표 |
| $ | 근무표 상태 (예 "AI 생성") | - | HBNS lifecycle |
Client → Server (HBNS 경계 계승)
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| AI 자동생성 | scheduleId | HBNS procedure (위임) | HBNS 계승 (추정) |
| 업로드 | scheduleId, file | HBNS procedure (위임) | HBNS 계승 (추정) |
| 확인 (확정) | scheduleId | HBNS procedure (확정=destructive) | HBNS 계승 (추정) |
| 출근현황 | scheduleId | TBU | TBU |
| 인쇄 | scheduleId | (client-side, 추정) | - |
외부 통합 (cross-app)
| 외부 시스템 | 데이터 | 방향 | 비고 |
|---|---|---|---|
| Nurse Scheduler [[HBNS000_간호 스케줄러 (앱 개요)]] · [[HBNS202_확인 (확정·게시)]] | 근무표·확정 lifecycle | NS → TM (embed) | embed 원천, destructive 경계 계승 |
| 연차/휴가 [[HBTM210_연차·휴가 승인 큐]] | 근무표 확정 → 연차 자동생성 | TM → TM (역방향) | 확정 시점 연차 셀 기준 자동 승인 record 생성 |
화면 플로우
스케줄러 Embed 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 노출 조건 | - | 조건1 [TEAM_LEADER] 이상 인증 세션 · "스케쥴러" 탭 클릭 시 /team-manager/scheduler 진입 (내장 라우트) | 인증 세션 · HBNS | token 내부 key TBU |
| 01 | 초기 상태 | - | 내장 라우트로 HBNS 근무표 embed 렌더. 헤더 "근무표"/"간호사"/"2026년"/"6월"/"06-01 - 06-30", 상태 "AI 생성" | NurseSchedule (HBNS 참조) | |
| 10 | 스케줄 헤더 | - | • embed된 근무표의 기간·상태 헤더 표기 "근무표" / "간호사" / "2026년" / "6월" / "06-01 - 06-30", 상태 "AI 생성" • 표시 전용 | NurseSchedule (HBNS 참조) | |
| ㄴ11 | 탭 | Tab | • 근무표 그리드와 간호사 그리드를 전환하는 2탭 원문 "근무표" / "간호사". 내장 라우트로 [[HBNS200_근무표 그리드]] 렌더 • 클릭 시: 탭 전환(근무표 ↔ 간호사 그리드 렌더) | NurseSchedule (HBNS 참조) | 그리드 상세 HBNS 정본 |
| 20 | 액션 | Button group | • embed 근무표 상단 액션 원문 "AI 자동생성" / "업로드" / "확인" / "출근현황" / "인쇄" / "?" (개별 동작은 하위 행 참조) • 표시 전용(개별 버튼별 동작 분기) | HBNS lifecycle | destructive 계승 |
| ㄴ21 | AI 자동생성 | Button | • 근무표를 자동생성하는 기능 — destructive. NS 안전경계 위임 • 클릭 시: NS 근무표 자동생성 위임(HBNS 안전경계 계승) | HBNS lifecycle · [[HBNS202_확인 (확정·게시)]] | destructive 계승 |
| ㄴ22 | 업로드 | Button | • 근무표를 업로드하는 기능. TM 스케줄러에서만 노출되고 NS 본체에는 미노출 • 클릭 시: 근무표 업로드 위임(HBNS lifecycle 경계 계승) | HBNS lifecycle | TM 스케줄러 한정 |
| ㄴ23 | 확인 (확정) | Button | • 근무표를 확정·게시하는 기능 — ★위험도=destructive. 경계는 [[HBNS202_확인 (확정·게시)]]를 따름. 확정 시 연차 자동생성 • 클릭 시: 확정 실행(경계 HBNS202), 성공: 근무표 확정 - STEP1 근무표 확정 (HBNS 경계) - STEP2 근무표 내 연차 셀 기준 연차 자동 승인 record 생성 → [[HBTM210_연차·휴가 승인 큐]] 노출 | [[HBTM210_연차·휴가 승인 큐]] · HBNS202 | 역방향 연동 · 실행 컨펌/전이 HBNS 정본 |
| ㄴ24 | 출근현황 | Button | • 출근현황을 여는 액션 원문 "출근현황" • 클릭 시: TBU | HBTM 출퇴근현황 (추정) | TBU: 대시보드 출퇴근현황과의 관계 |
| ㄴ25 | 인쇄 | Button | • 근무표를 인쇄하는 기능 원문 "인쇄" • 클릭 시: 인쇄 뷰 호출(client-side, 추정) | - | |
| ㄴ26 | 도움말 | Button | • 도움말 액션 원문 "?" — 현재 disabled • 클릭 무반응 (disabled) | - | disabled |
| 30 | 지표 | Output | • embed 근무표 지표 표기 "간호등급 -" / "준수율 100%" / "간호사 143명" / "환자 60명" • 표시 전용 | RatioRule / PatientCensus (HBNS) | HBNS 정본 |
| 40 | 그리드 | Grid | • 간호사 × 일자 근무표 그리드. 셀 D / E / N / OFF / 연차 / 교육. 상세는 HBNS 정본 참조(중복 정의 금지) • 표시·편집 전용(사양 HBNS200) | ShiftAssignment (HBNS) | 중복 정의 금지 |
| 50 | 정본 경계 | - | 근무표 사양·상태·AI 안전경계는 HBNS 단일 정본. embed되어도 AI 자동생성·확인은 destructive boundary로 취급 | HBNS000 / HBNS202 | POL_간호스케줄 Lifecycle |
권한·상태 분기 요약
| 시나리오 | 트리거 | 결과 | 비고 |
|---|---|---|---|
CASE01 [근무표 조회] | 스케쥴러 탭 | HBNS 근무표 embed 노출 | read (HBNS 정본) |
CASE02 [AI 자동생성] | "AI 자동생성" | 초안 생성 (HBNS 안전경계) | destructive 계승 |
CASE03 [확인/확정] | "확인" → 확정 | 근무표 확정·게시 + 연차 자동생성 | destructive · 역방향 연동 |
CASE04 [도움말] | "?" | 무반응 | disabled |
조건1 [TEAM_LEADER] | 스케쥴러 탭 진입 | embed 근무표 노출 | TM ↔ HBNS 권한 동일 여부 OQ |
Open Question
- 스케쥴러 embed에서 Team Manager 권한과 HBNS 권한이 동일한지 여부 = OQ
- embed 컨텍스트에서 "확인"(확정) 실행 주체(팀장 vs 수간호사)와 권한 scope = TBU
- "출근현황" 액션의 대시보드 출퇴근현황과의 관계 = TBU
- 권한 토큰(HBNS 계승 key) 내부 key = TBU