Skip to content

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, approvedAtsdk.overtime.approve() (추정)근태 승인 / 근태 관리
반려overtimeRecordId, rejectionReasonsdk.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_records7컬럼 · 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.workDateERD 근거
ㄴ13시작/종료Cell• 연장근무 시작·종료 시각 (상세, 추정)overtime_records.startTime / endTimeERD 근거
ㄴ14연장 시간Output• 연장근무 시간 (h)overtime_records.overtimeHours (numeric(7,2))ERD 근거
ㄴ15휴게 시간Cell• 식사/휴게 공제 시간 (h, 상세)overtime_records.mealBreakHoursERD 근거
ㄴ16구분Badge• 연장 구분 (평일/주말/휴일 등, default weekday)overtime_records.category (category_enum)enum 값 TBU
ㄴ17유형/배율Badge• 연장근무 유형 및 지급 배율 (×1.5 등). 값 없으면 라벨 hideovertime_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 / versionERD 근거 · TBU: UI 노출 방식

연장근무 데이터 구조 (ERD 근거)

항목ERD 근거비고
수동 등록overtime_records.isManual (default false)수동/자동 구분
취소 요청cancelRequestedAt / cancelRequestReason취소 워크플로우
연동 shiftovertime_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_연장근무]] 참조.