/SimpleHR project
SimpleHR project

fix-task-0713 (26년 07월 13일 수정사항)

conceptedited by Cairni · 방금 · AIv5

fix-task-0713 (26년 07월 13일 수정사항)

sources: ['fix-task-0713 (26년 07월 13일 수정사항)']

개요

기업 사용자는 모바일 중점, 기업 관리자는 PC 중점으로 개발·테스트 방향이 명시되어 있다. fix-task-0713 (26년 07월 13일 수정사항)


우선 처리 항목 — 진행 중 / 미완료

cairni:kanban {"title":"07월 13일 수정사항 상태","columns":[{"name":"완료","color":"green","items":[{"text":"근로계약서 수정 불가 케이스 확인"},{"text":"기안서 페이지 삭제 및 /user/applications 통합"},{"text":"휴일 지정 + 휴일근로 신청 승인 흐름"},{"text":"근로정책 수정 시 적용시점 예약"},{"text":"직원관리 > 관리자 등급 변경 정상 동작"},{"text":"권한 캐시 문제 → 재로그인 토스트"},{"text":"근로계약서 auto_renew/renewal_method 불일치 수정"}]},{"name":"미구현 / 버그","color":"red","items":[{"text":"근로정책 work_days OFF 요일 출근 차단 미구현"},{"text":"교대/변형근로 수동 배정 시 최소 휴식 시간 검증 미구현"},{"text":"직원 상세 드로어: 예약 근로정책 표시 미구현"},{"text":"교대근로 cycle_pattern 자동 배정 미구현"},{"text":"일정관리 반복 일정(RRULE) 확장 로직 미구현"},{"text":"일정관리 알림(reminder) 발송 로직 미구현"},{"text":"연차촉진 threshold_days 변경 시 기존 NOTIFIED 정리 필요"},{"text":"연차촉진 설정값 실제 로직 미반영"},{"text":"회사 이미지 깨짐 — 서명 URL 만료 가능성"},{"text":"결재 승인 후 대기중 상태 유지"},{"text":"최고관리자 결재선 변경 미반영 문제"},{"text":"근로정책 적용시점 모달 미표시"},{"text":"계약형태 변경(계약직↔정규직) 미구현"},{"text":"조직관리자 권한 범위 미조정"},{"text":"도급직 계약 생성 시 auto_renew 기본값 검토"},{"text":"급여기초 페이지 간이세액 비율 선택 UI 미구현"}]},{"name":"보류","color":"slate","items":[{"text":"고객문의 창구 운영 (챗봇/1:1)"},{"text":"세팅 매뉴얼 제작"},{"text":"홈페이지 내용 수정"},{"text":"마케팅 관리자 관리 시스템"}]}]} ```

---

## 주요 미구현 버그 상세

### 근로정책 work_days OFF 요일 출근 차단

[[work-policy-spec|근무 정책]] 의 `_resolve_scheduled_for_day()` 함수가 ShiftSchedule·Holiday만 확인하고 `work_days` OFF 요일을 체크하지 않아, 토요일 OFF 설정 시에도 Holiday로 별도 등록하지 않으면 출근이 차단되지 않는다.

- **수정 대상**: `backend/app/services/attendance_service.py` — `_resolve_scheduled_for_day()`에 work_days OFF 요일 → `is_off=True` 반환 추가
- 수정 후 기존 `check_in()` 흐름(is_off → OT_HOLIDAY 승인 확인)을 그대로 타므로, [[attendance-management-spec|근태 관리]] 의 휴일근무 승인 흐름은 유지됨.

### 교대/변형근로 수동 배정 시 최소 연속 휴식 검증

[[shift-work-management-spec|교대(변형)근로]] 의 자동배정(`auto_assign_variant_shifts`)에는 `rest_hours` 검증이 있으나, 수동 셀 배정(`assign_shift_roster`, `bulkCreate`) 시 전일 퇴근~당일 출근 간격 검증이 없다. 야간→주간 즉시 배정 시 휴식 0시간이어도 경고 없음.

- **수정 대상**: `backend/app/services/policy_service.py` — `assign_shift_roster()` 및 프론트 bulkCreate에 간격 검증 추가

### 직원 상세 드로어 예약 근로정책 표시 미구현

`effective_from=미래날짜`로 저장된 `EmployeeWorkPolicy`가 있어도 드로어에 현재 정책명만 표시됨. "2026-08-01 부터 '야간정책' 변경 예정" 형태의 표시 필요.

- **수정 대상**: 백엔드 `EmployeeDetail` 스키마에 `pending_work_policy_name`, `pending_work_policy_effective_from` 추가 + 프론트 드로어 읽기 모드 반영

### 교대근로 cycle_pattern 자동 배정 미구현

[[shift-work-management-spec|교대근로]] SHIFT 모드에서 `cycle_pattern`·`rotation_cycle_days` 저장은 정상이나, 패턴 기반 자동 순환 배정 로직이 없음. 현재 자동배정은 VARIANT 모드 전용이며 SHIFT 모드는 관리자 수동 배정만 가능.

### 일정관리 반복 일정 / 알림 발송 미구현

- `recurrence_type`(DAILY/WEEKLY/MONTHLY/YEARLY) 저장은 되나 반복 확장 로직 없어 부모 1건만 표시.
- `reminder` 값 저장은 되나 실제 알림 발송(백그라운드 스케줄러) 없음.
- **수정 대상**: `backend/app/services/calendar_service.py` — `list_events()` 반복 확장, `create_event()` 자식 생성, `update_event()` scope 파라미터 추가

### 연차촉진 이슈

[[annual-leave-promotion-spec|연차촉진]] 2건:

1. `threshold_days` 변경 시 `first_status=NOTIFIED` 대상자 미정리 — `sync_promotion_targets()`의 삭제 조건이 `PENDING` 상태만 대상.
2. `AnnualPromotionSetting`의 채널(email/push/kakao), 자동실행, 촉진 시기, 응답 기한 값이 실제 로직에 미반영 — 현재 인앱 알림만 발송.

---

## 시스템 확인 항목 요약

| 항목 | 상태 | 비고 |
|---|---|---|
| E2E 테스트 문서화 | 진행 중 | 대시보드·근태관리 완료, 잔여 진행 |
| 휴일 관리 지정·승인 | ✅ | 완료 |
| 근무 정책 적용시점 예약 | ✅ | 완료 |
| 회사 이미지 깨짐 | 🔍 | 서명 URL 만료 가능성 |
| 결재 관리 승인 후 대기 상태 | ❌ | 미해결 |
| 관리자 등급 변경 | ✅ | 정상 확인 |
| 권한 캐시 미갱신 | ✅ | 재로그인 토스트 완료 |
| 최고관리자 결재선 변경 | ❌ | 미반영 |
| 근로정책 적용시점 모달 | 🔍 | 재현 확인 필요 |
| 계약형태 전환(계약직↔정규직) | ❌ | 미구현 |
| 조직관리자 범위 제한 | ❌ | 미조정 |
| 근로계약서 auto_renew 불일치 | ✅ | 완료 |
| 도급직 auto_renew 기본값 | ❌ | 검토 필요 |
| 급여관리 간이세액 비율 UI | ❌ | 미구현 |

---

## 관련 페이지

- [[e2e-test-scenarios-spec|E2E 테스트 시나리오 명세]]
- [[shift-work-management-spec|교대(변형)근로 관리 스펙]]
- [[annual-leave-promotion-spec|연차촉진 스펙]]
- [[work-policy-spec|근무 정책 스펙]]
- [[attendance-management-spec|근태 관리 스펙]]
- [[approval-management-spec|결재 관리 스펙]]
- [[employment-contract-spec|근로계약서 스펙]]
- [[payroll-management-spec|급여관리 스펙]]
- [[holiday-management-spec|휴일 관리 스펙]]
- [[admin-role-management-spec|관리자 등급 및 권한 관리 스펙]]
Made with CairniExplore public wikis →