HBAD000_관리자 패널 (앱 개요)
(Hereby) 관리자 패널 > 앱 개요
| 메타 | 앱: 관리자 패널 (App Shell)대상 사용자: 조건1 [권한 보유 역할] (SUPER_ADMIN / 급여담당 매니저 등 테넌트 커스텀 역할)프로토타입: TBU관련 정책: [[POL_권한(RBAC)]] · [[POL_급여정본경계]]Status: reviewOwner: 카나 |
개요
관리자 패널은 Hereby 전체의 **운영 원천 콘솔(App Shell)**이다. 직원·팀·병동·역할(권한)·근무유형·근태원천·전역설정의 **SoT(원천 데이터)**를 관리하며, 다른 모든 앱(HR 급여 시트·간호 스케줄러·직원 앱)이 이 콘솔의 데이터를 소비한다. 2026년 4월 "HR CRUD 6탭 패널"에서 좌측 모듈 App Shell 운영 콘솔로 전환되었다. 핵심 원칙: Admin(원천) → 소비 앱(HR 시트/스케줄러/직원 앱). 권한·조직·호봉 등 mutation은 AI 자동실행 금지, 제안·preview까지만 (POL_권한(RBAC) · POL_급여정본경계).라이브 확인 결과 관리자 패널에 전용 AI 위젯이 존재한다 (HBAD110). 공통 안전 원칙은 권한/조직/호봉 mutation 자동실행 절대 금지 — 제안·preview까지만 + 이력 기록 (POL_권한(RBAC) · POL_급여정본경계). (미확인 항목은 문서 말미 Open Question 참조)
문서 히스토리
- 2026-07-06 최초 작성 - 카나/콸
- 2026-07-10 라이브 기능 검토 반영 - 카나/콸
- 2026-07-21 GC700 깊이 재작성 (라이브 재검증 7/20) - 카나/콸
- 2026-07-21 가독성 패스 (GUIDE §7) - 카나/PM
- 2026-07-21 셀 스타일 확정판 적용 (콸 승인) - 카나/PM
Data I/O
Server → Client
변수
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| 직원 추가 (1회, 4 생성물) | 직원 폼 | sdk.employee.create() (추정) | 직원 관리 (employee:write, 추정) |
| 역할 생성/수정 | 역할명·설명·권한[] | sdk.role.upsert() (추정) | 역할 관리 (role:write, 추정) |
| 근무유형 추가 | 근무그룹·유형 | sdk.workType.create() (추정) | 근태 관리 (추정) |
| 출근 기록 방식 변경 | source | sdk.settings.update() (추정) | 설정 수정 (추정) |
| 직원명부 다운로드 | 필터 | export (추정) | 직원 조회 (추정) |
| AI 질의 | 자연어 프롬프트 | sdk.ai.* (추정) | ai:execute (settings.ai.enabled 시) |
외부 통합 (cross-app)
| 외부 시스템 | 데이터 | 관계 | 비고 |
|---|---|---|---|
| 급여 시트 (HBHR) | 직원·팀·근태·역할 원천 | Admin = 원천, 시트 = 소비 | /hr-system/sheets?embedded=1 |
| 간호 스케줄러 (HBNS) | 병동·근무유형 원천 | embed 진입 | ?embedded=1 |
| 세콤(Secom) 지문 단말기 | 출퇴근 punch | 현재 활성 근태 원천 | 근태 관리 TM → 급여 |
| 경영 대시보드 (HBMD) | 조직 지표 | embed 링크 | /management-dashboard/?embedded=1 |
앱 개요 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 화면 진입 조건 | - | • 인증 세션 유무로 진입을 게이트하는 조건 - 조건1 [권한 보유 역할]: 관리자 패널 노출 - 조건2 [미인증]: /admin/signin 리다이렉트 | 인증 세션 | |
| 01 | 초기 상태 | - | • 진입 시 "직원 관리" 화면 기본 랜딩 (HBAD200) | [[HBAD200_직원 관리]] | |
| 10 | 글로벌 헤더 | - | • 좌측 "HEREBY · 분당베스트병원" / 우측 새로고침·알림(배지)·계정 | [[HBAD100_App Shell·사이드바]] | |
| 20 | 모듈 사이드바 | - | • 6개 모듈 그룹 네비게이션: 인사 관리(팀/역할/병동/직원) / 문서 결재(문서 결재/문서 양식) / 급여 관리(시트) / 근태 관리(스케줄러/근태 현황) / 총무(대시보드 준비중/총무 준비중/관리 준비중/공지) / 기타(전자 서명/경영 대시보드/설정) - CASE01 [준비중 3종]: 클릭 무반응 | [[HBAD100_App Shell·사이드바]] | |
| 30 | 조직 통계 바 | Output | • 조직 인원·조직 카운트 요약 표시 "전체 295 · 재직 271 · 비활성 9 · 휴직 3 · 퇴직 12 · 팀 33 · 역할 4" (7/20 재검증). 값 없음: 0 - CASE01 [상태 enum]: 재직/비활성/휴직/퇴직 4종 | $ | 팀 64→33 정정 |
| 40 | 화면 목록 (I.A.) | - | • 앱 하위 화면 인덱스: HBAD100 App Shell / HBAD110 AI 어시스턴트 / HBAD200 직원 관리 / HBAD201 직원 추가·수정 모달 / HBAD202 휴직·퇴직 처리 모달 / HBAD210 팀 관리 / HBAD220 역할 관리·권한 트리 / HBAD230 병동 관리 | 앱 하위 화면 | |
| 50 | cross-app 원천 제공 | - | • HR 시트(HBHR) · 근태(HBTM) · 스케줄러(HBNS) · 경영 대시보드(HBMD)에 직원/조직/권한/병동/근태원천 원천 제공 | Data I/O 외부 통합 참조 | Admin = SoT |
| 51 | 임베드 목록 (타 앱 embed) | Embed | • 사이드바에서 5종을 타 앱 embed로 로드 (전부 ?embedded=1): 시트 → /hr-system/sheets (HR) · 스케줄러 → 간호 스케줄러 (NS) · 경영 대시보드 → /management-dashboard/ (MD) · 문서 결재 → /team-manager/document-management (TM) · 공지 → /general-affairs/notices (GA). 근태 현황 근무/연장근무 탭 본문도 TM 임베드 • 클릭 시: 해당 항목 iframe embed 로드 | [[HBAD100_App Shell·사이드바]] | 임베드 5종 |
| 60 | AI 어시스턴트 | - | • 우하단 플로팅 ✨ 위젯. Beta 배지 - CASE01 [settings.ai.enabled=true]: 노출 - CASE02 [false]: hide | [[HBAD110_AI 어시스턴트]] | 7/20 신규 확인 |
| 70 | 업무별 이력 | - | • 도메인 액션에 "변경 이력"/"처리 이력"/"수정 내역" 부착 (근태 수정 사유 등) | audit_log (추정) | TBU: 전역 감사로그 전용 메뉴 |
화면 depth 트리 (I.A.)
| 코드 | 화면 | 부모 | 비고 |
|---|---|---|---|
| HBAD100 | App Shell · 사이드바 | HBAD000 | [[HBAD100_App Shell·사이드바]] |
| HBAD110 | AI 어시스턴트 | HBAD100 | [[HBAD110_AI 어시스턴트]] (플로팅 ✨) |
| HBAD200 | 직원 관리 (기본 랜딩) | HBAD100 | [[HBAD200_직원 관리]] |
| HBAD201 | ㄴ 직원 추가·수정 모달 | HBAD200 | [[HBAD201_직원 추가·수정 모달]] |
| HBAD202 | ㄴ 휴직·퇴직 처리 모달 | HBAD200 | [[HBAD202_휴직·퇴직 처리 모달]] |
| HBAD210 | 팀 관리 | HBAD100 | [[HBAD210_팀 관리]] |
| HBAD220 | 역할 관리·권한 트리 | HBAD100 | [[HBAD220_역할 관리·권한 트리]] |
| HBAD230 | 병동 관리 | HBAD100 | [[HBAD230_병동 관리]] |
| HBAD240~296 | 문서 결재·근태 현황·설정·전자서명 외 | HBAD100 | 임베드/서브뷰 다수 |
AI 접점 요약
| AI Skill | 동작 | 갭 메움 | 안전 경계 | 우선도 |
|---|---|---|---|---|
| assistant.query (구현됨) | 자연어 직원/휴가/근태/급여 조회 (searchEmployees 등) | 조회 접근성 | 읽기 전용 · 30건 리밋 (집계 미지원) | 라이브 |
| roleTemplateSuggest | 병원 직제별 권한셋 제안 | 직제 템플릿 부재 | 제안 → 사람 적용 | 후보 |
| permissionAnomaly | 위험 권한 조합 탐지 | 과대권한 | 읽기 전용 | 후보 |
| migrationCleanup | 팀 중복 병합·미소속 배치 정리 | 마이그레이션 노이즈 | 제안 → preview | 후보 |
| onboarding.contractSeed | 계약조건 자연어 채움 + 자격증 게이트 | onboarding 가속 | 제안 → 사람 저장 | 후보 |
권한 / 상태 요약
| 시나리오 | 트리거 | 결과 | 비고 |
|---|---|---|---|
| CASE01 [미인증 진입] | /admin 직접 | /admin/signin 리다이렉트 | |
| CASE02 [권한 보유 진입] | 인증 세션 | 직원 관리 랜딩 | |
| CASE03 [역할 미저장 이탈] | 역할 편집 후 닫기 | "변경된 내용을 저장하지 않고 나가시겠어요?" 가드 | [[HBAD220_역할 관리·권한 트리]] |
| CASE04 [AI 위젯 게이트] | settings.ai.enabled=false | ✨ 위젯 hide | [[HBAD110_AI 어시스턴트]] |
Open Question
| 구분 | 미확인 항목 |
|---|---|
| 메타 | 프로토타입 |
| 권한 | 권한 토큰 내부 key 실제 값 (급여:승인 등 라벨만 확인, 추정) |
| 권한 | 권한 레벨 최종 체계 (self/team/full × 조회/관리/계산/승인 상하관계) (콸도 미확정) |
| 감사로그 | 전역 감사로그 전용 메뉴 ↔ System Admin PlatformAuditLog 연결 여부 |
| 감사로그 | 업무별 이력 — 전역 감사로그 전용 메뉴 존재 여부 |
| 직원 | 미소속(역할 없음) 직원 = 테스트 데이터 여부 / bulk import 동선 |
| 직원 | 직원 추가 저장 후 activation/후속 상세 편집 단계 존재 여부 |
| 조직 | 팀 카운트 64→33 감소 원인(중복 병합/정리 여부) |