SimpleHR project
fix-task-0715 수정사항
sourceedited by Cairni · 방금 · AIv1
개요
fix-task-0715 수정사항은 2026년 07월 15일 기준으로 작성된 수정 작업 목록으로, 완료(✅)·진행중·미완료 항목을 포함한다. 기업 사용자는 모바일, 관리자는 PC 중점 원칙을 전제로 한다. fix-task-0715 수정사항
완료 항목 (✅)
| 항목 | 요약 |
|---|---|
| 연장근로 직위 "-" 표시 | OvertimeRequestInfo 스키마에 position_name 필드 누락 → 추가 수정. LeaveRequestInfo에는 있었으나 OvertimeRequestInfo에만 빠져 있었음. |
| 근로정책 OFF 요일 출근 차단 | _resolve_scheduled_for_day()에 work_days OFF 체크 추가 + get_user_dashboard()에 주휴일 판정 추가. OT_HOLIDAY 승인 시 출근 허용 흐름 동일. (0e9ac95) |
| 근로정책 적용시점 + 이력 덮어쓰기 수정 | 기존 EWP UPDATE(reuse) 방식 → 항상 신규 INSERT + effective_to로 종료. is_primary 플립 대신 날짜 범위 기반 활성 판정. 드로어에 work_policy_effective_from 등 표시. 변경이력 모달 추가. |
| 근로계약서 auto_renew / renewal_method 불일치 | 프론트 조건을 c.auto_renew → c.renewal_method === "AUTO_RENEW"로 수정. prod 불일치 1건(박준혁) 보정 완료. |
| 도급직 계약 auto_renew 기본값 | 모든 계약 유형 auto_renew=False 기본값으로 통일. contract_service.py:627-629 도급직 자동연장 기본값 로직 제거. |
| 관리자별 등급 변경 미반영 | 정상 동작 확인 — 상세 드로어 저장 후 DB 및 목록 즉시 갱신됨. |
| 결재선 변경 후 조직관리자로 결재 고정 | 결재선 미선택 시 조직도 기반 자동 결재선 적용됨을 드롭다운 amber 안내 텍스트로 명시. |
| 근로정책 적용시점 모달 미표시 | 정책 값을 실제 변경해야 모달이 뜨는 구조. 미변경 저장 시 "변경된 항목이 없습니다" 토스트만 표시. |
| 계약형태 변경 (계약직↔정규직) | 계약직 → 정규직, 정규직 → 계약직 상호 변경 가능하도록 수정. |
진행 중
- 기능별 E2E 테스트 문서화 (
docs/e2e-test-scenarios.md) E2E 테스트 시나리오 참고 - 고정 계정: 업체(디비안츠) / 최고관리자(허빈) / 직원(김소민)
- 완료: 대시보드, 근태관리(출퇴근·연장근로·휴가지급·교대근로·근태결재·근태분석)
- 남은 대분류: 직원관리, 급여관리, 정책관리, 조직관리, 설정 등
미완료 항목 (버그/미구현)
근태·근로정책
| 항목 | 위치 | 내용 |
|---|---|---|
| 교대근로 수동 배정 최소 연속 휴식 검증 미구현 | policy_service.py — assign_shift_roster() | 자동배정(VARIANT)에는 rest_hours 검증 있으나, 수동 셀 배정(bulkCreate) 시 전일 퇴근~당일 출근 간격 검증 없음 |
| 교대근로 순환 패턴 자동배정 미구현 | 백엔드 SHIFT 모드 | cycle_pattern/rotation_cycle_days 저장·로드 정상이나 SHIFT 모드 패턴 기반 자동 순환 배정 로직 없음 |
일정관리
| 항목 | 위치 | 내용 |
|---|---|---|
| 반복 일정 미구현 | calendar_service.py — list_events() | recurrence_type DB 저장만 되고 RRULE 확장/자식 이벤트/scope 수정·삭제 없음 |
| 알림 발송 미구현 | 백그라운드 스케줄러 | reminder 값 DB 저장만 되고 실제 push/브라우저/이메일 발송 없음 |
연차촉진
| 항목 | 위치 | 내용 |
|---|---|---|
| threshold_days 변경 시 기존 대상자 미정리 | sync_promotion_targets() | first_status == "NOTIFIED" 대상자는 threshold 상향 시에도 목록에서 제거되지 않음 |
| 설정값 미적용 | AnnualPromotionSetting | first_notify_months_before, auto_schedule, use_email/use_push/use_kakao 등 DB 저장만 되고 실제 로직 미반영 |
| 연차촉진 스펙 참고. |
급여
- 간이세액 비율(80/100/120%) 선택 UI 미구현 — 백엔드
tax_rate_pct컬럼·로직은 구현됨. 프론트(/admin/payroll/base) "간이세액(부양가족)" 영역에 선택 드롭다운/라디오 미구현. 급여관리 스펙 참고.
관리자 설정
- 별도 권한(인사·급여) 삭제 항목 — 미완료. 관리자 등급 및 권한 관리 스펙 참고.
시스템 확인
- 회사 이미지 등록 깨짐: 업로드·저장 기능은 정상. 서명 URL 만료(1시간) 가능성 있음 — 페이지를 오래 띄워놓으면 URL 만료로 이미지가 깨질 수 있음. 실제 재현 확인 필요.
보류 항목
- 고객문의 창구 운영 (챗봇 / 1:1 상담 / 시스템 매뉴얼)
- 설정 매뉴얼 제작 (신규 업체 로그인 시 오픈)
- 홈페이지 내용 수정 (도입문의 / 1:1 채팅 문의)
- 마케팅 관리자 관리 시스템