Skip to content

HBAD200_직원 관리

(Hereby) 관리자 패널 > App Shell > 인사 관리 > 직원 관리

메타앱: 관리자 패널 (App Shell)대상 사용자: 조건1 [직원 조회/관리 권한 보유 역할]프로토타입: TBU관련 정책: [[POL_권한(RBAC)]]Status: reviewOwner: 카나

개요

직원 관리는 관리자 패널의 기본 랜딩 화면이자 직원 마스터(employees)의 SoT 목록이다. KPI 통계 바 + 필터/검색 + 직원 목록 그리드로 구성된다. 한 직원은 **멀티 소속·역할(n:m)**을 가진다. 소속은 team_members 계층 chip으로 표기된다 (예: "간호부 > 병동1"). "직원 추가"는 단일 모달로 Employee + 소속 + 계약 + 자격증 요건을 1회 생성한다 (HBAD201). 목록 행 클릭은 무반응이며, 진입은 오직 "관리" 컬럼 버튼(편집/휴직·퇴직/근태 관리)으로만 한다 (7/20 재검증). 휴직·퇴직은 별도 처리 모달(HBAD202)로 진행된다.

문서 히스토리

  • 2026-07-06 최초 작성 - 카나/콸
  • 2026-07-10 라이브 기능 검토 반영 - 카나/콸
  • 2026-07-13 버튼 행동 명세 보강 - 카나/콸
  • 2026-07-17 코드 변경 반영(de57b65·0125f00) - 카나/콸
  • 2026-07-21 GC700 깊이 재작성 (라이브 재검증 7/20 — KPI/검색/empty/행클릭) - 카나/콸
  • 2026-07-21 셀 스타일 확정판 적용 (콸 승인) - 카나/PM
  • 2026-07-22 코드 변경 반영(c648ec1·4f063fa) - 카나/콸
  • 2026-07-23 코드 변경 반영(98a90dd·d0610db) - 카나/콸
  • 2026-09-01 팀 선택 트리 접기 동작 수정 반영(#598, 라이브 실증) - 카나/PM

Data I/O

Server → Client

변수

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

Client → Server

액션전달 값tRPC procedure권한 토큰
직원명부 다운로드현재 필터 + 선택 출력 컬럼 + 팀별/전체 범위export (코드 반영: 98a90dd)직원 조회 (추정)
직원 추가-HBAD201 모달 오픈직원 관리 (추정)
필터/검색상태/팀/역할/입사일/검색어목록 재조회직원 조회 (추정)
소속 chip × / 역할 변경team_member rowsdk.teamMember.* (추정)직원 관리 (추정)

직원 관리 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-• 관리자 패널 진입 시 기본 랜딩 ("직원 관리"). 조건1 [직원 조회 권한]인증 세션
01초기 상태-• "직원 목록" 표시, 필터 미적용 전체 목록, "총 295건 중 1-30건". 기본 정렬 = 입사일 기준(조직 탭 포함)
탭 상태 기억: 탭(직원/조직 등) 선택 상태를 localStorage에 저장 — 새로고침 시 마지막 탭 복원, URL 해시 = 현재 탭 (코드 반영: d0610db)
기본 정렬 입사일(코드 반영: c648ec1·4f063fa) · 탭 상태 복원(d0610db)
10KPI 통계 바Output• 조직 인원·조직 카운트 요약 표시 "전체 295 / 재직 271 / 비활성 9 / 휴직 3 / 퇴직 12 / 팀 33 / 역할 4" (7/20 재검증). 값 없음: 0
 - CASE01 [상태 enum]: 재직/비활성/휴직/퇴직 4종
$7/10 대비 팀 64→33, 비활성 7→9, 전체 293→295
20필터Dropdown• 상태/팀/역할/입사일로 목록을 거르는 필터: "상태 선택" / "팀 선택" / "역할 선택" / "입사일" / "선택 초기화"
• 선택 시: 목록 재조회 + 카운트 갱신
 - "팀 선택" = 계층 트리(체크박스 + 팀별 "접기" 토글). CASE01 [접기]: 해당 팀의 하위 팀이 목록에서 숨김 (라이브 실증 9/1: 병동1 접기 → 팀1 숨김. 구버전은 접어도 하위가 계속 보이던 버그 — #598 수정)
목록 재조회 · 팀 피커 공용 컴포넌트접기 동작(#598) 라이브 실증
ㄴ21검색Search• 이름/사번/이메일로 직원을 찾는 검색창 (placeholder "직원 검색 (이름 / 사번 / 이메일)...", 7/20 재검증)
• 입력 시: 일치 목록 재조회
 - CASE01 [결과 있음]: 필터 목록 표시
 - CASE02 [결과 없음]: Empty
${affiliations} 부재문구 순서 변경(이름/사번/이메일) · TBU: 목록 0건 empty 표기
30직원 액션Button• 목록 상단 액션 버튼 묶음: "직원명부 다운로드" / "직원 추가"
ㄴ31직원명부 다운로드Button• 현재 필터 조건의 직원 목록을 파일로 내보내는 버튼
• 클릭 시: 출력 컬럼 선택 모달(ㄴ31-M) 오픈 → 컬럼 선택 후 내보내기 실행, 성공: 파일 다운로드
권한 "직원 조회" · 코드 반영: 98a90dd
ㄴ31-M출력 컬럼 선택 모달Modal• 명부 출력 시 포함할 컬럼을 고르는 체크박스 모달 (신설)
• 컬럼 체크박스: 기본 전체 선택
팀별/전체 내보내기 지원
• 모달 재오픈 시: 선택 상태 리셋
• 클릭 시: 내보내기 실행 → 선택 컬럼만 포함한 파일 다운로드
export신설 (코드 반영: 98a90dd) · 배경: 7/21 베스트 요구 반영 · 세부 UI TBU
ㄴ32직원 추가Button• Employee+소속+계약+자격증요건을 1회 생성하는 단일 모달 진입 버튼
• 클릭 시: "직원 추가" 모달 오픈 (HBAD201)
[[HBAD201_직원 추가·수정 모달]]
40직원 목록Grid• 직원 마스터 목록 그리드. 컬럼: ☑ / 사번 / 이름 / 이메일 / 팀 · 역할 / 입사일 / 근무형태 / 상태 / 관리 (7/20 헤더 재확인)
• 클릭 시: 행 본문 클릭 → 무반응 (상세 모달 없음, 7/20 — 진입은 "관리" 컬럼으로만)
employees8+체크박스
ㄴ40-1컬럼 정렬Sort• 사번 / 성명 / 팀명 / 입사일 컬럼 헤더 클릭으로 목록 정렬. 기본 정렬 = 입사일 기준
• 클릭 시: 토글 3단 순환 — CASE01 [1클릭] 오름차순 → CASE02 [2클릭] 내림차순 → CASE03 [3클릭] 정렬 해제
• UI 시각 인디케이터로 현재 정렬 컬럼·방향 표시
• 직원 추가 모달 오픈 시: 정렬 상태 리셋
employees신설 · 4개 컬럼(사번/성명/팀명/입사일) (코드 반영: c648ec1·4f063fa)
ㄴ41팀 · 역할 셀Cell• 멀티 소속 chip 셀: "간호부 > 병동1"(계층 표기) + 역할 chip + 소속 추가 아이콘. 값 없음: "역할 없음"
• 소속 chip "×" 클릭 시: 컨펌 "이 멤버를 팀에서 제거하시겠습니까?" → 실행
• 역할 chip 클릭 시: 컨펌 ""{이름}"의 역할을 "{역할}"(으)로 변경하시겠습니까?" → 실행
• 소속 추가 클릭 시: 소속(팀·역할) 배정 인라인 추가
team_members n:m계층 chip · 테이블 내 버튼은 아이콘 전용 "+", 라벨 "소속 추가"는 빈 테이블 상태에서만 노출(7/16 변경, 동작 불변)
ㄴ42상태Badge• 재직 상태 배지: CASE01 [재직] / CASE02 [비활성] / CASE03 [휴직] / CASE04 [퇴직]employees.status
ㄴ43관리Button• 직원 행 진입 유일 경로 버튼(행 본문 클릭 무반응)
• "편집" 클릭 시: "직원 정보 수정" 모달 (HBAD201)
• "휴직·퇴직" 클릭 시: 휴직·퇴직 처리 모달 (HBAD202)
• "삭제" 클릭 시: 컨펌 후 삭제 (파괴적 — 기존 기록)
HBAD201 / HBAD202
ㄴ44근태 관리Button• 직원별 근태를 조회·관리하는 "근태 관리" 버튼
• 클릭 시: "근태 관리" 모달 오픈
attendances (추정)

소속 chip 계층 표기

표기의미근거
"간호부 > 병동1"상위 팀 > 하위 팀 계층 경로teams.parentTeamId
"역할 없음"소속·역할 미배정 (값 없음 처리)team_members 부재 (7/20 원문)
chip × (제거)해당 소속 해제. 클릭 → 컨펌 "이 멤버를 팀에서 제거하시겠습니까?"team_members row
역할 chip (변경)역할 변경. 클릭 → 컨펌 ""{이름}"의 역할을 "{역할}"(으)로 변경하시겠습니까?"team_members.roleId
+ (소속 추가)추가 팀·역할 배정 (n:m). 테이블 내 버튼은 아이콘 전용 "+", 라벨은 빈 테이블 상태에서만 노출 (7/16 변경)team_members.roleId

권한 / 상태 요약

시나리오트리거결과비고
CASE01 [목록 조회]화면 진입직원 목록 그리드 + KPI 바 표시권한 "직원 조회"
CASE02 [행 본문 클릭]목록 행 클릭무반응 (상세 모달 없음)7/20 재검증
CASE03 [명부 다운로드]"직원명부 다운로드"필터 조건 export
CASE04 [직원 추가]"직원 추가"HBAD201 모달 오픈권한 "직원 관리"