SimpleHR project
(주) 에이치앤티아웃소싱시스템
entityedited by Cairni · 방금 · AIv1
기본 정보
| 항목 | 내용 |
|---|---|
| 법인명 | (주) 에이치앤티아웃소싱시스템 |
| 사업자번호 | 166-81-63798 |
| 대표자 | 김수일 |
| 급여일 | 매월 25일 |
| 주 관리자 | 이상재 (차장, G마켓) — france8@hntos.co.kr |
| 부 관리자 | 임윤빈 — yunbini23@hntos.co.kr |
| 전체 직원 수 | 29명 |
데이터 이관 현황 소스 기준 6/16 이관 완료.
계정 구조
| 구분 | 이메일 | 이름 | 역할 | 비밀번호 전달 방식 |
|---|---|---|---|---|
| 최고관리자 | france8@hntos.co.kr | 이상재 | ROLE_COMP_ADMIN | 직접 전달 |
| 부관리자 | yunbini23@hntos.co.kr | 임윤빈 | ROLE_COMP_ADMIN | 비밀번호 설정 이메일 |
| 직원 27명 | 각 개인 이메일 | — | ROLE_COMP_USER | 비밀번호 설정 이메일 |
- 이상재를 제외한 28명에게 비밀번호 설정 이메일 자동 발송 (토큰 유효시간 48시간) hnt-migration-status.md
- 비밀번호 설정 완료 시 자동 로그인 (access_token 즉시 발급)
- 관리자 등급 및 권한 관리 스펙 — 최고관리자 포함 4종 유형 startup backfill로 자동 생성
이관 완료 항목 (6/16 기준)
AI · 출처 클릭
직원 배정 완료
29/29명
hnt-migration-status.md
출퇴근 기록
5,432건
hnt-migration-status.md
휴가 잔여일 (연차)
296일 (21명)
hnt-migration-status.md
양식 수
22건
hnt-migration-status.md
공지사항
9건
hnt-migration-status.md
근무지
7개
hnt-migration-status.md
| 항목 | 현황 |
|---|---|
| 부서 | 6개, 직원 29/29명 배정 |
| 직위 | 10개, 22/29명 배정 (7명은 레거시 미지정) |
| 근로정책 | 7개, 17/29명 직접 배정 (12명 미지정) |
| 근무지 | 7개, 인식 반경 100m 통일, GPS 좌표 3건 |
| 계약서 양식 | 29/29명 배정 |
| 출퇴근 기록 | 5,432건 (2025-12 ~ 2026-06) |
| 회사 설정 | 대표자·주소·급여일·로고 |
| 양식 | CONTRACT 3 + OPTIONAL 17 + REQUIRED 2 = 22건 |
| 근로계약서 변수 | 빌트인 16개 + 서명 1개 + 수동입력 17개 |
| 관리자 유형 | 4종 자동 생성 (startup backfill) |
hnt-migration-status.md
미연결 항목 및 우선순위
배포 후 관리자 조치 필요 항목AI · 출처 클릭
높음3
근무지 배정 (0/29명) — GPS 출퇴근 불가
hnt-migration-status.md
급여 기초 설정 (0/29명) — 급여명세서 생성 불가
hnt-migration-status.md
회사 직인 등록 — 계약서 직인란 빈칸
hnt-migration-status.md
중간1
부서-근로정책 배정 (미지정 12명 스케줄 없음)
hnt-migration-status.md
낮음2
직무/직책 마스터 등록 (레거시에 없음)
hnt-migration-status.md
직무상세 배정 (0/29명, 현재 직위명 fallback)
hnt-migration-status.md
관련 스펙:
- GPS 출퇴근 스펙 — 근무지 미배정 시 GPS 체크인 불가
- 직인(회사 인감) 관리 스펙 — 직인 미등록 시 계약서 직인란 빈칸
- 근로계약서 스펙 / 근로계약서 스펙 — 급여항목 수동입력 필요
- 직무 관리 (직위·직급·직무 3단 구성) — 직무/직책 마스터 0건
- 근무 정책 스펙 — 미지정 12명 근로정책 배정 필요
배포 후 관리자 작업 순서
hnt-migration-status.md
근무지 GPS 좌표 현황
| 근무지 | 좌표 | 인식 반경 | 상태 |
|---|---|---|---|
| G마켓 사무실 | 37.5064466, 127.059502 | 100m | 등록 완료 |
| G마켓 재택 (정지영) | 37.5374082, 126.9673112 | 100m | 등록 완료 |
| G마켓 재택 (방지혜) | 37.2517031, 126.9800508 | 100m | 등록 완료 |
| 킴스분당점 | 미등록 | 100m | 배포 후 관리자 등록 필요 |
| 강남지사 | 미등록 | 100m | 배포 후 관리자 등록 필요 |
| 프롬바이오 | 미등록 | 100m | 배포 후 관리자 등록 필요 |
| 킴스강서점 | 미등록 | 100m | 배포 후 관리자 등록 필요 |
- 좌표 있는 3곳: 레거시 데이터에서 추출 hnt-migration-status.md
- 좌표 없는 4곳: 레거시에도 좌표 없음 — 배포 후 관리자가 근무지 설정에서 직접 등록
프론트엔드 기능별 준비도
| 기능 | 준비도 | 비고 |
|---|---|---|
| 직원 목록/상세 조회 | ✅ | 직무·직책·직무상세는 빈칸 |
| 출퇴근 기록 조회 | ✅ | 이력 5,432건 |
| 출퇴근 GPS 체크인 | ❌ | 근무지 미배정 |
| 휴가 신청/조회 | ✅ | 21명 연차 잔여일 연결 |
| 계약서 작성/발송 | ⚠️ 부분 | 직인 미등록, 급여항목 수동입력 |
| 급여명세서 | ❌ | EmployeePayBase 0건 |
| 양식 관리/서류 신청 | ✅ | 22개 양식 (HTML→markdown 변환) |
| 공지사항 | ✅ | 9건 |
| 부서정책 일괄 설정 | ✅ | 근로정책·근무지 일괄 배정 가능 |
관련 스펙: 근태 관리 스펙, 휴가 관리 스펙, 양식 편집기(폼 빌더) 스펙
기술 참고
- 멱등성:
business_number='166-81-63798'기준 테넌트 존재 여부 체크, 이미 있으면 skip hnt-migration-status.md - 배포 방식:
main.pylifespan에서 자동 실행, 첫 배포 시 1회 적재 - 2차 배포: 데이터 적재 확인 후
main.py의 HNT seed 블록(226~239줄) 제거 - 양식 보호:
"custom": true플래그로contract_template_refresh덮어쓰기 방지 - startup backfill: 관리자 유형 4종, 기본 휴가유형, 휴가잔액, 기본 양식 등 자동 보완
- 이메일 링크:
{APP_BASE_URL}/set-password/{token}→ 비밀번호 설정 후 자동 로그인
테스트 코드
| 파일 | 종류 | 검증 대상 |
|---|---|---|
tests/unit/test_contract_template_custom_flag.py | 단위 (9케이스) | _should_update() custom 플래그 보호 |
tests/integration/test_week_schedule_attendance.py | 통합 (2케이스) | 근무일정 API 출퇴근 필드 반환 |
hnt-migration-status.md