/SimpleHR project
SimpleHR project

GPS 출퇴근 스펙

conceptedited by Cairni · 방금 · AIv7

개요

GPS 출퇴근은 직원이 지정된 근무지 반경 내에 위치할 때만 출퇴근 체크를 허용하는 기능이다. 근태 관리 스펙의 하위 기능으로, GPS 위치 검증 로직과 실패 시 관리자 승인 워크플로를 포함한다.


핵심 기술 요소

GPS 정확도 및 타임아웃

  • 정확도: ±35m 범위의 GPS 정확도를 기반으로 근무지 반경 설정
  • 고정확도 모드 타임아웃: 기존 8초 → 15초로 확대 fix-task-0622.md
  • 원인: 삼성 브라우저 등에서 GPS 칩 응답 전 타임아웃 발생
  • 폴백: WiFi/IP 기반 저정확도 위치로 전환 시 "WiFi/네트워크 기반으로 위치 확인 중" 안내 메시지 추가 fix-task-0622.md
  • 확인 필요: 삼성 브라우저에서 재확인 필요 fix-task-0622.md

체크인 반경 설정

  • 필수 항목: 근무지 설정 후 체크인 반경(검증 거리)을 반드시 사전 설정해야 함
  • 기본값: 체크 반경 기본 100m로 세팅 fix-taskNew-0702 (26년 07월 02일 우선수정사항)
  • 초기 설정 시 허용 방법: 출퇴근 GPS만 사용, 나머지 방법은 막아두기 fix-taskNew-0702 (26년 07월 02일 우선수정사항)
  • 근무지 안내 배너: 근무지 이름 및 좌표가 등록되지 않으면 안내 배너 유지 fix-taskNew-0702 (26년 07월 02일 우선수정사항)
  • 미설정 시 동작: withinRadius 검사 결과가 null로 표시되며, 출퇴근이 정상 처리되지 않음

GPS 출퇴근 플로우

출근 플로우

fix-task-0622.md

퇴근 플로우

  • 반경 내: 직접 퇴근 처리
  • 반경 외: 출근과 동일하게 관리자 승인 워크플로 진입 fix-task-0622.md
  • 동작: CheckInLocationSheet 다이얼로그 표시, 내부 텍스트는 출근/퇴근 상황에 맞게 동적 표시 fix-task-0622.md

주요 수정 사항 (0622)

버그 및 개선 완료

항목내용조치
GPS 출근 클릭 불가고정확도 타임아웃 8초로 인한 폴백 → 부정확한 좌표 반환타임아웃 8초→15초, 안내 메시지 추가 fix-task-0622.md
출근 후 결재 진행사유 입력 후 출근 시 팀장 결재선으로 넘어감즉시 출근/퇴근 처리로 변경, 대시보드 "근무중" 즉시 전환 fix-task-0622.md
출퇴근 결재선 삭제기본 결재선 삭제 가능, NULL 상태 발생서버 시작 시 자동 생성, 프론트 삭제 실패 시 토스트 표시 fix-task-0622.md
퇴근 GPS 미적용출근만 GPS 검증, 퇴근은 미적용퇴근 시에도 GPS 반경 검증 적용 fix-task-0622.md

확인 필요 항목

  • 삼성 브라우저에서 GPS 고정확도 타임아웃 15초 재확인 fix-task-0622.md
  • 삼성 브라우저 다크 테마 이슈 fix-task-0622.md
  • 출퇴근 GPS 사용을 위한 브라우저 위치 허용 팝업 띄우기 (중요) fix-taskNew-0702 (26년 07월 02일 우선수정사항)

PC 출근 버튼 비활성화 이슈 (07.01)

  • 현상: PC 환경에서 "출근하기" 버튼이 비활성화되어 출근 등록 불가 fix-task-0701 (26년 07월 01일 수정사항)
  • 원인 분석: 백엔드는 GPS 없이 출근을 허용하지만, 프론트엔드에서 GPS 좌표를 필수 조건으로 처리하여 CTA 버튼 비활성화 fix-task-0701 (26년 07월 01일 수정사항)
  • PC GPS 한계: PC는 WiFi/IP 기반 위치 측정으로 정확도가 낮음 fix-task-0701 (26년 07월 01일 수정사항)
  • 현재 폴백: GPS 실패 시 "출퇴근 요청하기" fallback 존재 fix-task-0701 (26년 07월 01일 수정사항)
  • 개선 방향: checkin_radius 확대 또는 PC 전용 위치 우회 방식 도입 고려 필요 fix-task-0701 (26년 07월 01일 수정사항)
  • 브라우저 위치 권한 미부여 여부 포함 재확인 필요 fix-task-0701 (26년 07월 01일 수정사항)

출장자 GPS 출퇴근 처리 (07.02)

  • 구현 완료: 출근하기 누르면 현재 위치가 저장되도록 구현 fix-task-0703 (26년 07월 03일 수정사항) fix-taskNew-0706 (26년 07월 06일 우선수정사항)- [ ] 미완료: 출장 잦은 직원 GPS 출근 — GPS로 출근 가능하되, 출근하기 버튼 클릭 시 현재 위치가 저장되도록 추가 구현 필요 fix-taskNew-0706 (26년 07월 06일 우선수정사항)

데스크톱 출근 버튼 활성화 (0622)

  • 통일 기준: 모바일과 동일하게 start_time 1시간 전부터 활성화 fix-task-0622.md
  • 기존 문제: 9시 이전 출근 체크 불가 fix-task-0622.md

출퇴근 결재선 관리

기본 출퇴근 결재선 자동 생성 및 보호

  • 자동 생성: 서버 시작 시 checkin_approval_line_id가 NULL인 테넌트에 기본 결재선 자동 생성 fix-task-0622.md
  • 삭제 차단: 기본 결재선 삭제 불가 — 삭제 시 "기본 출퇴근 결재선은 삭제할 수 없습니다" 토스트 표시 fix-task-0622.md

관련 스펙 및 기능


비고

GPS 출퇴근 기능은 모바일 앱 스펙의 핵심 입력 기능이며, 정확도 기반 근무지 반경 설정과 타임아웃 최적화가 데이터 신뢰성을 좌우한다. 관리자 가이드 및 사용자 피드백 메시지 제공 필요.

Made with CairniExplore public wikis →