출퇴근
- 출퇴근 프로세스를 위한페이지
출퇴근 프로세스
- Works 출근/퇴근 체트
- 근태 관리모달
- 근태 관리 모달에서 works의 출퇴근 내역 + 근무 설정 + 외근 + 연장 정보를 가지고 근태를 계산
- 시트
- 시스템 템플릿 : 근태 정보를 전달하여 수당 계산을 하도록 하는 시트
출퇴근 기준 시각 (2026-09-14 추가)
출퇴근 기록의 예정 출근 · 퇴근 시각을 정하는 규칙이다. 앱 출근 · 관리자 일괄 입력 · 지문 단말기(세콤)가 모두 이 규칙 하나를 쓴다.
예전에는 근무표 칸이나 직원 근무 형태가 없으면 기준 시각이 비어 있었다. 간호사 외 여러 직군이 들어오면서 근무 그룹만 배정된 직원이 많아져 기준 시각 없는 기록이 늘었다.
정하는 순서
- 그날 근무표 칸의 근무 형태 (간호 근무표)
- 직원에게 배정된 근무 형태
- 근무 그룹만 배정된 직원 — 그날 요일에 적용되는 그룹 안 근무 형태
- 그날 적용되는 형태가 하나면 그것, 여럿이면(3교대처럼) 출근 시각에 가장 가까운 형태
- 그날 적용되는 형태가 하나도 없으면 쉬는 날이라 기준 시각이 없다
- 직원 배정이 아예 없으면 배정이 골랐을 기본 근무 — 근로형태 기본 근무 → 직무 기본 근무 → 주 소속 팀 대표 근무 (배정이 정해지는 순서와 같다, 2026-09-22). 기본 근무가 그룹만이면 3번처럼 그날 형태를 고른다
- 조직 기본 근무 형태
- 조직 기본 기준시간 (설정 > 출근 기록 방식 > 「기본 출퇴근 기준시간」, 비우면 09:00–18:00)
6번은 기준 시각만이다
조직 기본 기준시간은 기록에 기준 시각만 남기고 근무 형태는 비워 둔다. 근무시간은 지금처럼 실제 출퇴근 기록으로 계산한다.
- 근무 형태처럼 적용하면 근무시간이 실제 출퇴근이 아니라 09–18시 창으로 계산되어 급여 시간이 조용히 바뀐다. 여러 직군이 섞인 조직에서 근무 배정이 없는 사람이 그 대상이 된다.
- 3번(근무 그룹)을 5·6번보다 앞에 둔 것도 같은 이유다. 근무표가 없는 날 밤에 출근한 3교대 직원이 09–18시 기준으로 잡히면 야간 근무가 통째로 어긋난다.
설정 — 기본 출퇴근 기준시간
- 위치 : 설정 > 조직 설정 > 「출근 기록 방식」 섹션
- 출근 · 퇴근 두 칸(시간 피커). 필수 아님 — 비우면 09:00–18:00
- 도움말 : 근무표·근무 형태·근무 그룹이 없는 직원의 출퇴근 기준 시각이에요. 근무시간은 실제 출퇴근 기록으로 계산해요.
- 출근과 퇴근이 같은 시각이면 저장 전에 안내로 막는다
판정은 한 곳 · 출처는 기록에 남긴다 (2026-09-21)
- 위 순서를 실제로 판정하는 코드는
packages/api/src/services/shift-resolution.service.ts하나다(규칙 함수는utils/attendance-schedule.ts). 앱 출근 · 관리자 일괄 입력 · 지문(세콤) · 직원 앱 「오늘 근무」 · 연장근무 휴일 판정이 모두 이 서비스를 부른다. 지문만의 자동 추정 사다리는 2026-09-22 에 없앴다. - 출퇴근 기록마다 판정 출처(
metadata.shiftSource: 근무표 배정 · 직원 근무 배정 · 근무 그룹 자동 선택 · 조직 기본 근무형태 · 조직 기본 기준시간 — 2026-09-22 이전 지문 기록에는 지문 자동 추정 · 이전 기록 유지도 남아 있다)를 남기고, 근태 현황 행과 직원 앱 「오늘 근무」에 그대로 보인다. - 직원 근무 배정 자체에도 배정 출처(
employees.shiftAssignedVia: 직접 선택 · 직무 기본 근무 · 팀 대표 근무 · 일괄 배정 · 엑셀 대량 추가 · 직원 마스터 시트 · 직원 앱 자기 선택 · 기존 근무 유지 · 이전 데이터)를 남긴다. 직원 정보 수정의 근무 줄 아래와 직원 목록 배지 툴팁에 보인다. - 전체 규칙·경로 목록: [[shift-resolution|근무형태 판정 규칙]] (
docs/ko/features/shift-resolution.md)
지문(세콤)
- 지문도 위 순서(근무표 → 직원 배정 → 근무 그룹 → 조직 기본 근무형태 → 조직 기본 기준시간) 그대로다(2026-09-22). 지문 시각으로 근무를 고르는 것은 근무 그룹만 배정된 3교대 직원뿐이고, 직원에게 배정된 근무형태가 있으면 지문 시각과 무관하게 그 형태다
- 배정 형태의 쉬는 요일에 찍힌 지문은 형태 없이 받아 요일별로 계산하고, 근무표 칸은 쉬는 요일이어도 적용한다
- 근무 형태를 전혀 정할 수 없는 지문 기록은 예전처럼 오류로 버리지 않고 조직 기본 기준시간으로 받는다
- 지문 재계산도 날짜마다 다시 판정한다 — 지운 기록의 근무를 되살리지 않는다(직원 배정 변경이 재계산에 반영되게)
- System Admin 콘솔이 넣거나 고친 지문(2026-09-22)은 같은 표·같은 처리기를 쓰되 출처를 남긴다 — 지문 행
origin = system_admin+originHistory(누가·언제·무엇을·왜), 그 지문이 만든 근태의metadata.editHistory(editedBySource = system_admin). 게이트웨이 수집 기록과 화면에서 구분된다
Works-Home
- 메인화면에서 출/퇴근을 선택하여 출근과 퇴근 시간을 설정한다.
추가가 필요한 기능
- 출/퇴근 버튼을 누를 수 있는 IP를 설정할 수 있는 기능이 설정에 있다. 이 위치가 적절한지 확인이 필요하다.