HBAD252_연장근무 현황·결재
(Hereby) 관리자 패널 > 근태 관리 > 근태 현황 > 연장근무 탭
| 메타 | 앱: 관리자 패널 (HBAD)대상 사용자: 조건1 [근태 관리] / 조건2 [근태 승인] / 조건3 [근태 조회 (팀)]프로토타입: TBU관련 정책: [[POL_연장근무]]Status: reviewOwner: 카나 |
개요
연장근무 현황·결재는 근태 현황([[HBAD250_근태 현황 (근무)]])의 연장근무 탭으로, 직원별 연장근무 기록 조회와 결재(승인/반려)를 처리한다.본문은 Team Manager 앱 임베드(/team-manager/work?noOffsite=1&embedded=1)로 로드되며, 원천은 overtime_records다.유형·배율은 [HBAD261_유형 설정 (연장근무·외근·휴가)]를 참조한다. 배율 산정 규칙은 정책 [[POL_연장근무]] 참조.
문서 히스토리
- 2026-07-06 최초 작성 - 카나/콸
- 2026-07-10 라이브 기능 검토 반영 (TM 임베드 src 확인) - 카나/콸
- 2026-07-21 GC700 깊이 재작성 - 카나/콸
- 2026-07-21 셀 스타일 확정판 적용 (콸 승인) - 카나/PM
Data I/O
Server → Client
변수
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| 기간 필터 | period | (재조회) | 근태 조회 (팀) |
| 승인 | overtimeRecordId, approvedBy, approvedAt | sdk.overtime.approve() (추정) | 근태 승인 / 근태 관리 |
| 반려 | overtimeRecordId, rejectionReason | sdk.overtime.reject() (추정) | 근태 승인 |
외부 통합 (cross-app)
| 외부 시스템 | 데이터 | 동기/비동기 | 비고 |
|---|---|---|---|
| 급여 시트 (HBHR) | 승인된 overtime_records (overtimeHours × multiplier) → 연장/야간/휴일 수당 source (추정) | 비동기 | [[POL_연장근무]] |
연장근무 탭 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 노출 조건 | - | • 조건1 [근태 조회/관리 권한] 인증 시 노출- CASE01 [미인증]: /admin/signin 리다이렉트 | 인증 세션 · RBAC | |
| 01 | 초기 상태 | - | • 근태 현황 진입 후 "연장근무" 탭 클릭 시 TM 임베드 로드 | ||
| 05 | 본문 임베드 | Embed | • 본문 = TM 임베드 /team-manager/work?noOffsite=1&embedded=1 (s6 프로브 src 확인)- CASE01 [로드 성공]: 연장근무 그리드 - CASE02 [로드 실패]: 임베드 공백 또는 TM 자체 에러 | Team Manager | 타 앱 embed · TBU: 무반응 시 버그 후보 |
| 08 | 탭 설정 버튼 | Button | • 탭 우상단 "연장 근무 유형" (s3 btn 원문) • 클릭 시: "유형·기준 관리" 모달 연장근무 유형 섹션 | [[HBAD261_유형 설정 (연장근무·외근·휴가)]] | s3 원문 |
| 10 | 연장근무 그리드 | Grid | • 직원별 연장근무 기록 그리드. 컬럼(admin-diff 프로브): 사번 / 이름 / 근무일 / 연장 시간 / 유형 / 상태 / 관리 - CASE01 [기록 0건]: Empty state | overtime_records | 7컬럼 · s3-attend 임베드 cols 비어 있음(컬럼은 admin-diff 근거) · TBU: Empty 원문 |
| ㄴ10a | 기간 필터 | Segmented | • "이번 주 / 지난 1주 / 이번 달 / 지난 1개월 / 지난 3개월 / 전체" 6종 (근태 현황 공통) • 선택 시: 기간 기준 목록 재조회 | 목록 재조회 | 6종 |
| ㄴ10b | 보기 | Button | • 행 상세를 여는 버튼 • 클릭 시: 연장근무 상세 모달 (실화면 미오픈 TBU) | 상세 | 행 관리 |
| ㄴ11 | 사번 / 이름 | Cell | • 직원 사번 · 성명 (read-only) | employees.employeeNumber / name | |
| ㄴ12 | 근무일 | Cell | • 연장근무 발생일 (YYYY-MM-DD) | overtime_records.workDate | ERD 근거 |
| ㄴ13 | 시작/종료 | Cell | • 연장근무 시작·종료 시각 (상세, 추정) | overtime_records.startTime / endTime | ERD 근거 |
| ㄴ14 | 연장 시간 | Output | • 연장근무 시간 (h) | overtime_records.overtimeHours (numeric(7,2)) | ERD 근거 |
| ㄴ15 | 휴게 시간 | Cell | • 식사/휴게 공제 시간 (h, 상세) | overtime_records.mealBreakHours | ERD 근거 |
| ㄴ16 | 구분 | Badge | • 연장 구분 (평일/주말/휴일 등, default weekday) | overtime_records.category (category_enum) | enum 값 TBU |
| ㄴ17 | 유형/배율 | Badge | • 연장근무 유형 및 지급 배율 (×1.5 등). 값 없으면 라벨 hide | overtime_types.name / multiplier · [[HBAD261_유형 설정 (연장근무·외근·휴가)]] | |
| ㄴ18 | 상태 | Badge | • 결재 상태 (default pending) | overtime_records.status (status_enum) | enum 값 TBU |
| 20 | 연장근무 결재 | Action | • 행 상세에서 승인/반려 (실화면 미오픈, 추정) • 클릭 시: 결재 실행 - CASE01 [승인]: approvedBy·approvedAt 기록 - CASE02 [반려]: rejectionReason 기록 | overtime_records.approvedBy/At · rejectionReason | 근태 승인 · TBU: 실패 처리 |
| 30 | 버전/체인 | - | • 수정 시 체인 버전 관리 (chainId·version·supersededAt) | overtime_records.chainId / version | ERD 근거 · TBU: UI 노출 방식 |
연장근무 데이터 구조 (ERD 근거)
| 항목 | ERD 근거 | 비고 |
|---|---|---|
| 수동 등록 | overtime_records.isManual (default false) | 수동/자동 구분 |
| 취소 요청 | cancelRequestedAt / cancelRequestReason | 취소 워크플로우 |
| 연동 shift | overtime_records.shiftId → shifts.id | 근무 스케줄 연동 |
| 유형 배율 | overtime_types.multiplier (default 1.5) | 급여 반영 배율 · [[POL_연장근무]] |
권한 · 상태 분기 요약
| 시나리오 | 트리거 | 결과 화면 | 비고 |
|---|---|---|---|
CASE01 [조회] | 연장근무 탭 진입 | overtime_records 그리드 | 근태 조회 (팀) |
CASE02 [승인 대기] | status=pending 행 | 결재 대상 표시 | |
CASE03 [승인] | "승인" | approvedBy/At 기록 | 근태 승인 |
CASE04 [반려] | "반려" | rejectionReason 기록 | |
CASE05 [권한 없음] | 조회 권한만 | 결재 버튼 비활성 (추정) | TBU |
Open Question
- 연장근무 그리드·기간 필터·결재 상세 실 UI (s3-attend 임베드 cols 비어 있음). TBU.
- overtime_records_category_enum / status_enum 전체 값. TBU.
- chainId/version 체인 모델의 UI 노출 방식. TBU.
- 연장근무 유형 ↔ category ↔ 배율 매핑 규칙 → [[POL_연장근무]] 참조.