From e61a398f62fccf177b899e9ee6ced75371f4dee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Fri, 20 Mar 2026 10:50:33 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20[rules]=20=EC=97=B0=EC=B0=A8=EC=B4=89?= =?UTF-8?q?=EC=A7=84=20=EA=B4=80=EB=A6=AC=20=EC=A0=95=EC=B1=85=20=EB=AC=B8?= =?UTF-8?q?=EC=84=9C=20=EC=B6=94=EA=B0=80=20(=EA=B7=BC=EB=A1=9C=EA=B8=B0?= =?UTF-8?q?=EC=A4=80=EB=B2=95=20=EC=A0=9C61=EC=A1=B0=201=EB=85=84=20?= =?UTF-8?q?=EC=9D=B4=EC=83=81/=EB=AF=B8=EB=A7=8C=20=EA=B3=84=EC=82=B0=20?= =?UTF-8?q?=EA=B3=B5=EC=8B=9D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- INDEX.md | 1 + rules/leave-promotion-policy.md | 148 ++++++++++++++++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 rules/leave-promotion-policy.md diff --git a/INDEX.md b/INDEX.md index 44677c8..a700a81 100644 --- a/INDEX.md +++ b/INDEX.md @@ -170,6 +170,7 @@ DB 도메인별: | [department-tree-api.md](rules/department-tree-api.md) | 부서 트리 API | | [employee-api.md](rules/employee-api.md) | 직원 API | | [bending-lot-numbering-policy.md](rules/bending-lot-numbering-policy.md) | 재공품(절곡품) LOT 번호 채번 규칙 (경동기업 기준, 향후 MNG 채번 규칙으로 전환) | +| [leave-promotion-policy.md](rules/leave-promotion-policy.md) | 연차촉진 관리 정책 (근로기준법 제61조, 1년 이상/미만 계산 공식) | --- diff --git a/rules/leave-promotion-policy.md b/rules/leave-promotion-policy.md new file mode 100644 index 0000000..3a3b205 --- /dev/null +++ b/rules/leave-promotion-policy.md @@ -0,0 +1,148 @@ +# 연차촉진 관리 정책 + +> **작성일**: 2026-03-20 +> **상태**: 적용 완료 +> **근거**: 근로기준법 제61조 (연차 유급휴가의 사용 촉진) + +--- + +## 1. 개요 + +### 1.1 목적 + +연차유급휴가 사용촉진 통지서 발송 시기와 촉진기간 계산 공식을 정의한다. +근로기준법 제61조에 따라 **1년 이상 근로자(제1항)**와 **1년 미만 근로자(제2항)**의 계산 공식이 다르다. + +### 1.2 핵심 원칙 + +- 1년 이상/미만 여부는 **입사일 기준**으로 자동 판별 +- 1차·2차 촉진 통지를 모두 이행하면 **미사용 수당 지급 의무 면제** +- 미이행 시 미사용 연차에 대한 **수당 지급 의무 발생** + +--- + +## 2. 근로자 구분 기준 + +### 2.1 판별 공식 + +```php +$firstAnniversary = $hireDate->copy()->addYear(); + +if ($firstAnniversary > Carbon::create($year, 1, 1)) { + // 1년 미만 근로자 (제61조 제2항) +} else { + // 1년 이상 근로자 (제61조 제1항) +} +``` + +### 2.2 판별 예시 + +| 입사일 | 조회 연도 | 1주년 | 구분 | 근거 | +|--------|:---------:|-------|------|------| +| 2025-06-15 | 2026 | 2026-06-15 | **1년 미만** | 1주년 > 2026-01-01 | +| 2025-11-01 | 2026 | 2026-11-01 | **1년 미만** | 1주년 > 2026-01-01 | +| 2024-03-01 | 2026 | 2025-03-01 | **1년 이상** | 1주년 < 2026-01-01 | +| 2023-08-20 | 2026 | 2024-08-20 | **1년 이상** | 1주년 < 2026-01-01 | + +--- + +## 3. 촉진기간 계산 공식 + +### 3.1 1년 이상 근로자 (제61조 제1항) + +| 항목 | 공식 | 설명 | +|------|------|------| +| **만료일** | 입사기념일(`$year + 1`) 전날 | 연차가 소멸되는 날 | +| **1차 촉진 시작** | 만료일 - **6개월** | 미사용 일수 서면 통보 | +| **1차 촉진 종료** | 1차 시작 + **10일** | 사용 시기 제출 기한 | +| **2차 촉진 마감** | 만료일 - **2개월** | 회사 지정 사용 시기 통보 | + +**계산 예시** (입사일: 2023-05-10, 조회 연도: 2026) + +``` +만료일 = 2027-05-10 - 1일 = 2027-05-09 +1차 촉진 시작 = 2027-05-09 - 6개월 = 2026-11-09 +1차 촉진 종료 = 2026-11-09 + 10일 = 2026-11-19 +2차 촉진 마감 = 2027-05-09 - 2개월 = 2027-03-09 +``` + +### 3.2 1년 미만 근로자 (제61조 제2항) + +| 항목 | 공식 | 설명 | +|------|------|------| +| **만료일** | 입사 **1주년** 전날 | 월차가 소멸되는 날 | +| **1차 촉진 시작** | 만료일 - **3개월** | 미사용 일수 서면 통보 | +| **1차 촉진 종료** | 1차 시작 + **10일** | 사용 시기 제출 기한 | +| **2차 촉진 마감** | 만료일 - **1개월** | 회사 지정 사용 시기 통보 | + +**계산 예시** (입사일: 2025-08-01, 조회 연도: 2026) + +``` +만료일 = 2026-08-01 - 1일 = 2026-07-31 +1차 촉진 시작 = 2026-07-31 - 3개월 = 2026-04-30 +1차 촉진 종료 = 2026-04-30 + 10일 = 2026-05-10 +2차 촉진 마감 = 2026-07-31 - 1개월 = 2026-06-30 +``` + +### 3.3 비교 요약 + +| 구분 | 연차 유형 | 만료일 | 1차 촉진 | 2차 촉진 | +|------|----------|--------|----------|----------| +| 1년 이상 | 연차 (15일~) | 입사기념일(year+1) 전날 | 만료 **6개월** 전 | 만료 **2개월** 전 | +| 1년 미만 | 월차 (최대 11일) | 입사 **1주년** 전날 | 만료 **3개월** 전 | 만료 **1개월** 전 | + +--- + +## 4. 통지서 구성 + +### 4.1 1차 촉진 통지서 + +- 수신자 정보 (성명, 부서, 직급) +- 연차 현황 (발생/사용/잔여일수) +- 사용계획 제출기한 +- 근로기준법 제61조 법적 문구 + +### 4.2 2차 촉진 통지서 + +- 수신자 정보 (성명, 부서, 직급) +- 잔여 연차일수 +- 회사 지정 휴가일 목록 +- 근로기준법 제61조 법적 문구 + +### 4.3 발송 흐름 + +``` +1차 촉진 통지 발송 + ↓ +근로자 10일 이내 사용 시기 제출? + ├─ Yes → 종료 (근로자 계획대로 사용) + └─ No → 2차 촉진 통지 발송 + ↓ + 회사가 사용 시기 지정 통보 + ↓ + 미사용 수당 지급 의무 면제 +``` + +--- + +## 5. 구현 위치 + +| 구분 | 파일 | +|------|------| +| 촉진기간 계산 | `mng/app/Services/HR/LeaveService.php` → `getPromotionCandidates()` | +| 통지서 발송 | `mng/app/Services/HR/LeaveService.php` → `sendPromotionNotices()` | +| 관리 화면 | `mng/resources/views/hr/leave-promotions/index.blade.php` | +| 컨트롤러 | `mng/app/Http/Controllers/HR/LeavePromotionController.php` | +| 1차 통지서 양식 | `mng/resources/views/approvals/partials/_leave-promotion-1st-form.blade.php` | +| 2차 통지서 양식 | `mng/resources/views/approvals/partials/_leave-promotion-2nd-form.blade.php` | + +--- + +## 관련 문서 + +- `rules/attendance-api.md` — 근태 API 규칙 +- `dev/dev_plans/leave-management-plan.md` — 휴가관리 모듈 개발 계획 + +--- + +**최종 업데이트**: 2026-03-20