/SimpleHR
SimpleHR

교대 부서 조회 하이브리드 방식 (policy_service.py)

High confidenceconceptedited by Cairni · 방금 · AIv1

개요

policy_service.pylist_shift_departments_lookup_policy_for_department 두 함수는 교대/변형근무 부서를 조회할 때 두 가지 경로를 순차적으로 탐색하는 하이브리드 방식을 사용한다. 이는 시드 데이터와 정상적인 UI 등록 데이터가 공존하는 환경을 모두 지원하기 위해 도입되었다. SimpleHR 주요 이슈 및 개선 사항의 교대(변형)근로 관련 버그 수정 맥락에서 구현되었다. fix-task-0602.md


조회 경로 상세

1차 — DepartmentWorkPolicy 경로

  • 적용 조건: 관리자가 부서별 근로정책 UI를 통해 교대/변형 정책을 부서에 직접 할당한 경우
  • 조회 방식: DepartmentWorkPolicy 테이블 JOIN을 통해 조회
  • 특징: 해당 부서 직원에게 shift_team_name이 없어도 부서가 목록에 노출됨

2차 — Employee fallback 경로

  • 적용 조건: 시드 데이터 등 직원에게 직접 shift_team_name + work_policy_id가 배정된 경우
  • 조회 방식: Employee.shift_team_name IS NOT NULL 조건으로 부서를 역추적
  • 특징: DepartmentWorkPolicy 레코드가 존재하지 않는 기존(레거시) 데이터에서도 동작

서버 로그 예시

서버 로그를 통해 각 요청이 어느 경로를 통해 처리되었는지 확인할 수 있다.

[SHIFT-DEPTS] DepartmentWorkPolicy: ['개발2팀'], Employee fallback: ['AI 운영센터']
[SHIFT-LOOKUP] dept=xxx → DepartmentWorkPolicy 경로 (policy=개발2팀 3교대)
[SHIFT-LOOKUP] dept=yyy → Employee fallback 경로 (policy=AI 운영센터 변형근무)

관련 이슈 배경

이 구현은 2026년 06월 02일 수정 요청에서 제기된 다음 교대/변형근무 문제들과 연관된다.

상태이슈 내용
✅ 완료고객센터 변형근무 — 근로정책 설정값과 교대(변형)근로관리 근로 패턴 불일치
✅ 완료근로정책에서 D/D1/E/N 근무시간 대표 네임 설정 후 미표시 문제
✅ 완료변형 근무 설정 UI 깨짐
✅ 완료교대근무 및 변형근무 설정에서 "기본근무시간" 불필요 항목 제거
⬜ 미완료AI운영센터 4교대(D/D1/E/N) — 변형근로 인원 18명~15명으로 지정되는 문제
⬜ 미완료주말 및 휴일 전체 휴무 시 선택사항 없음(무조건 근무 값만 설정)
⬜ 미완료조 이름 변경 및 4교대 → 2교대 수정 후 이전 교대 패턴 일부 잔존

fix-task-0602.md


관련 페이지

Made with CairniExplore public wikis →