/SimpleHR project
SimpleHR project

사직서 처리 워크플로 스펙

conceptedited by Cairni · 방금 · AIv10

개요

Simple HR 에서 직원이 사직 의사를 밝혔을 때 거치는 일련의 단계—사직서 제출, 관리자 승인, 최종 퇴사 처리—를 정의하는 워크플로 스펙이다.

26년 06월 26일 수정사항 기준에서는 해당 플로우가 미구현(설계 미확정) 상태였으나, 26년 07월 02일 수정사항 기준으로 처리 방식이 확정되어 구현이 완료되었으며, 07월 03일 수정사항에서 DB 모델·API·관리자 UI·결재선 연동·퇴직 처리(EMP_RETIRED)까지 전 영역이 구현 완료되었으며, 07월 09일 수정사항에서 사직서 처리가 Document(서류 결재) 기반으로 전환되고 근태결재 탭에서 사직 건이 분리되었다. fix-task-0702 (26년 07월 02일 수정사항) fix-task-0703 (26년 07월 03일 수정사항) fix-task-0709


현황 요약

사직서 처리 워크플로 구현 상태AI · 출처 클릭
구현 완료18
사직서 제출 흐름 확정 (서류 작성 탭 활용)
fix-task-0702 (26년 07월 02일 수정사항)
DB 모델, API(CRUD/승인/반려), 관리자 UI(목록/등록/승인/반려) 완성
fix-task-0703 (26년 07월 03일 수정사항)
직원 기안서 최종승인 → Resignation 자동 생성 연동 완성
fix-task-0703 (26년 07월 03일 수정사항)
결재선(RequestApprovalStep) 연동 완성
fix-task-0703 (26년 07월 03일 수정사항)
퇴직 처리(EMP_RETIRED) 완성
fix-task-0703 (26년 07월 03일 수정사항)
form_category=RESIGNATION 분류 완성
fix-task-0703 (26년 07월 03일 수정사항)
신규 테넌트 생성 시 사직서 기본 양식 자동 생성
fix-task-0703 (26년 07월 03일 수정사항)
회사 양식 추가에 사직서 분류(RESIGNATION) 추가
fix-task-0703 (26년 07월 03일 수정사항)
사직서 분류 체계 정비 — 테넌트 생성 시 사직서 기본 포함, 회사 양식 추가에 사직서 분류 추가 재확인
fix-taskNew-0706 (26년 07월 06일 우선수정사항)
사직서 처리: RequestApprovalStep → Document + DocumentApprovalStep으로 전환
fix-task-0709
근태결재 탭에서 사직 건 제거 → 서류결재 탭으로 통일
fix-task-0709
빈 사직서 안내 메시지 추가 (PC/모바일)
fix-task-0709
사직서 통합 테스트 4건 추가
fix-task-0709
문자열 매칭 방식 → form_category=RESIGNATION 기반으로 변경
fix-task-0703 (26년 07월 03일 수정사항)
'기안서 작성' → '서류 작성'으로 명칭 변경 (사이드바·상단바·모바일 탭·페이지 제목 전체 반영)
fix-task-0702 (26년 07월 02일 수정사항)
결재 필요 시 기안서 방식으로 설정 가능
fix-task-0702 (26년 07월 02일 수정사항)
직원 재직 상태 변경 워크플로
결재 관리(승인/반려) 프레임워크
미결 / 추가 논의 필요2
세부 권한 제어: 근로계약서 탭 접근 제한 시 직원 상세 화면의 근로계약서 발송 버튼도 숨김 처리 여부
fix-task-0702 (26년 07월 02일 수정사항)
퇴직 처리된 직원 계정 접근 차단 → DB 삭제 없이 로그인만 차단으로 구현 완료
fix-taskNew-0706 (26년 07월 06일 우선수정사항)
관련 기반 기능 (구현 완료)2
직원 상세 드로어 계약 시작일·종료일 수정
fix-task-0626 (26년 06월 26일 수정사항)
양식 편집기(폼 빌더) — 사직서 양식 등록

확정된 처리 흐름

07월 02일 수정사항을 통해 아래와 같은 처리 흐름이 확정·구현되었다. fix-task-0702 (26년 07월 02일 수정사항)


주요 변경 사항 (2026-07-03)

주요 변경 사항 (2026-07-06)

주요 변경 사항 (2026-07-09)

07월 09일 수정사항에서 사직서 처리 구조가 Document(서류 결재) 기반으로 전환되었다. fix-task-0709

  • 사직서 신청 — 관리자 사직 등록 시 Document(서류 결재) 기반으로 변경: RequestApprovalStepDocument + DocumentApprovalStep 구조로 전환
  • 근태결재 탭에서 사직 건 제거: 기존에 휴가·연장근로 사이에 사직 건이 섞여 노출되던 문제 해소 — 이제 서류결재 탭에서 승인/반려 처리
  • 서류신청에서 퇴사일 지정 승인/반려 처리: 사직서는 내역 확인 + 관리자 직접 등록 역할만 담당
  • 빈 사직서 안내 메시지 추가: PC 및 모바일 모두 반영
  • 통합 테스트 4건 추가
처리 채널 통합 원칙: 사직 관련 결재는 서류결재 탭에서 일원화하여 처리한다. 관리자 사직처리 등록 시에도 서류 결재로 흐른다. fix-task-0709

07월 06일 우선수정사항에서 사직서 워크플로와 직접 관련된 항목이 완료되었다. fix-taskNew-0706 (26년 07월 06일 우선수정사항)

  • 퇴직 처리된 직원 계정 접근 차단: 탈퇴 시 DB 삭제 없이 로그인만 차단하는 방식으로 구현 완료
  • 사직서 분류 체계 정비 및 기본 생성 재확인: 테넌트 생성 시 사직서 기본 포함, 회사 양식 추가 화면에 사직서 분류 추가 완료

사직서 처리 전 영역 구현 완료

07월 03일 수정사항에서 사직서 처리에 필요한 모든 레이어가 구현 완료되었다. fix-task-0703 (26년 07월 03일 수정사항)

  • DB 모델 · API(CRUD/승인/반려): Resignation 엔티티 및 관련 엔드포인트 완성
  • 관리자 UI: 목록·등록·승인·반려 화면 완성
  • 직원 기안서 최종승인 → Resignation 자동 생성 연동 완성
  • 결재선(RequestApprovalStep) 연동 완성
  • 퇴직 처리(EMP_RETIRED) 완성
  • form_category=RESIGNATION 분류 완성 (기존 문자열 매칭 방식에서 전환)
  • 신규 테넌트 생성 시 사직서 기본 양식 자동 생성 및 회사 양식 추가 화면에 RESIGNATION 분류 추가
처리 경로는 두 가지: 경로 A(관리자 직접 등록 — 해고/권고사직, 결재선 유무에 따라 즉시 처리 또는 결재 진행), 경로 B(직원 기안 제출 → Document 최종승인 → Resignation 자동 생성(SUBMITTED) → 관리자 COMPLETED 처리). fix-task-0703 (26년 07월 03일 수정사항)

주요 변경 사항 (2026-07-02)

메뉴 명칭 변경: 기안서 작성 → 서류 작성

기존 "기안서 작성" 명칭이 "서류 작성"으로 전면 변경되었다. fix-task-0702 (26년 07월 02일 수정사항)

위치변경 전변경 후
사이드바기안서 작성서류 작성
상단바기안서 작성서류 작성
모바일 탭기안서 작성서류 작성
페이지 제목기안서 작성서류 작성
기안서 양식과의 관계: 결재가 필요한 서류(사직서 포함)는 양식 등록 시 "기안서"로 설정하면, 서류 작성 탭에서 선택하여 작성 시 결재선을 통해 처리된다. "기안서"라는 개념은 양식 유형으로서 존속하며, 단지 진입 메뉴 명칭만 "서류 작성"으로 통일된 것이다. fix-task-0702 (26년 07월 02일 수정사항)

단계별 고려 사항

1단계 — 사직서 양식 등록 (관리자)

  • 관리자가 양식 편집기(폼 빌더)를 통해 사직서 양식을 생성
  • 결재가 필요하면 양식 유형을 기안서로 설정
  • 결재가 필요하지 않으면 일반 서류 유형으로 등록 가능

2단계 — 사직서 작성 및 제출 (직원)

  • 직원은 신청결재 > 서류 작성 탭에서 사직서 양식을 선택하여 작성·제출
  • 기안서 유형인 경우 결재 관리 흐름과 자동 연동

3단계 — 결재 처리 (관리자, 기안서 유형인 경우)

4단계 — 퇴사 처리

승인 이후 후속 처리 항목:

항목내용관련 스펙
재직 상태 변경직원 상태를 퇴직으로 전환employment-status-workflow
계약 종료일 기록EmployeeContract.end_dateEmployee.contract_end_date 동기화employment-contract-spec
연차수당 정산미사용 연차에 대한 수당 정산annual-leave-auto-calc
급여 정산퇴직 월 급여 일할 계산 등payroll-management-spec
서류 보관퇴직 관련 서류를 직원 서류 보관함에 보존form-builder-spec

연관 미결 항목

관리자 권한 세부 제어 (추가 논의 필요)

07월 02일 수정사항에서 확인된 사항으로, 사직서 접근 권한과 관련하여 아래 문제가 존재한다. fix-task-0702 (26년 07월 02일 수정사항)

  • 근로계약서 탭에 대한 접근 권한을 차단해도, 인사관리 > 직원 상세 화면에서 근로계약서 발송이 가능한 상태
  • 탭 단위 숨김뿐 아니라 세부 기능 단위의 권한 제어 방식에 대한 설계 논의 필요
  • 예: 근로계약서 탭 접근 불가인 경우, 직원 상세의 근로계약서 관련 버튼도 함께 제거 필요

관련 세부 내용은 관리자 등급 및 권한 관리 스펙 참조.

사직서 기본 양식 및 분류 (구현 완료)

07월 02일 우선수정사항에서 미결로 확인되었던 사항이 07월 03일 수정사항에서 모두 완료되었다. fix-task-0703 (26년 07월 03일 수정사항)

  • 신규 테넌트 생성 시 사직서 양식 기본 생성 완료
  • 회사 양식 추가 화면에 사직서 분류(RESIGNATION) 추가 완료
  • 기존 문자열 매칭 방식 → form_category=RESIGNATION 기반으로 변경 완료

계약일 이중저장 불일치

Employee 테이블과 EmployeeContract 테이블 간 contract_end_date 불일치 문제가 존재하며, 배포 전 데이터 보정이 필요하다. fix-task-0626 (26년 06월 26일 수정사항)계약일 이중저장 불일치 보정 절차 참조


의사결정 필요 항목

사직서 워크플로 미결 의사결정AI · 출처 클릭
결정 필요3
탭 접근 권한 외 세부 기능(버튼) 단위 권한 제어 설계 방식 확정
fix-task-0702 (26년 07월 02일 수정사항)
퇴사 처리 시 자동화 범위 (급여·연차 정산 자동 트리거 여부)
fix-task-0626 (26년 06월 26일 수정사항)
연차수당 지급 시점 정책 (퇴직 시 / 회계연도 종료 시)

관련 의사결정 이력은 의사결정 로그액션 아이템 페이지에서 추적한다.


E2E 테스트 시나리오 (Part 3. 관리자↔사용자 연계)

E2E 테스트 시나리오 명세의 섹션 8에 해당하는 사직서 관련 시나리오를 아래에 정리한다. E2E 테스트 시나리오 - Part 3. 관리자↔사용자 연계 시나리오

8-1. 사직서 기안 경로 (직원이 직접 제출)

#액터시나리오기대 결과비고
1김소민서류 신청에서 사직서(RESIGNATION) 양식을 선택하고 퇴사일, 사유를 입력하여 제출한다Document가 PENDING 상태로 생성되고, 결재자에게 알림이 전송된다
2허빈결재하기에서 김소민의 사직서를 확인하고 승인한다Resignation이 COMPLETED로 처리된다
3퇴사일이 오늘 이전이면Employee.employment_status가 EMP_RETIRED, User.status가 RESIGNED로 변경되고, 모든 세션이 무효화된다미래 퇴사일은 스케줄러 처리
4김소민퇴직 처리 후 로그인을 시도한다로그인이 차단된다User.status=RESIGNED

8-2. 관리자 직접 처리 경로

#액터시나리오기대 결과비고
1허빈직원관리 > 퇴직처리에서 김소민을 선택하고, 퇴사일과 퇴직사유를 입력하여 처리한다Resignation이 COMPLETED 상태로 즉시 생성되고, 퇴직이 처리된다결재선 없이 즉시 처리
2퇴사일이 오늘 이전이면Employee가 EMP_RETIRED, User가 RESIGNED로 변경되고, 세션이 무효화된다
3김소민로그인을 시도한다로그인이 차단된다

8-3. 사직서 반려

#액터시나리오기대 결과비고
1김소민사직서를 제출한다PENDING 상태로 생성된다
2허빈사직서를 반려한다Resignation이 REJECTED로 변경되고, 김소민에게 "반려" 알림이 전송된다
3김소민로그인한다정상적으로 로그인된다 (퇴직 처리 안 됨)

관련 페이지

Made with CairniExplore public wikis →