From aa696ff3c857394e2be951f8c100c3e5d0c145f1 Mon Sep 17 00:00:00 2001 From: hskwon Date: Thu, 18 Dec 2025 10:56:16 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EA=B8=89=EC=97=AC=20=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20API=20=EC=99=84=EB=A3=8C=20=EB=82=B4=EC=9A=A9=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Phase 2 상태: 2/3 완료 (전자결재 + 급여관리) - 3.2 급여 관리 섹션 완료 체크 - 2025-12-18 작업 일지 추가 --- plans/erp-api-development-plan.md | 63 +++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 16 deletions(-) diff --git a/plans/erp-api-development-plan.md b/plans/erp-api-development-plan.md index e35029d..b88623a 100644 --- a/plans/erp-api-development-plan.md +++ b/plans/erp-api-development-plan.md @@ -2,7 +2,7 @@ > **작성일**: 2025-12-17 > **기준 문서**: SAM_ERP_Storyboard_D0.8_251216 -> **상태**: ✅ Phase 1 완료 | 🟢 Phase 2 진행중 (1/3 완료: 전자결재 모듈) +> **상태**: ✅ Phase 1 완료 | 🟢 Phase 2 진행중 (2/3 완료: 전자결재 + 급여관리) --- @@ -335,27 +335,46 @@ --- -### 3.2 급여 관리 +### 3.2 급여 관리 ✅ > 참조: [99-gap-analysis.md#32-급여-관리](../specs/erp-analysis/99-gap-analysis.md) +> **완료일**: 2025-12-18 -- [ ] **테이블 생성** - - [ ] `payrolls` 마이그레이션 +- [x] **테이블 생성** + - [x] `payrolls` 마이그레이션 + - [x] `payroll_settings` 마이그레이션 -- [ ] **모델 생성** - - [ ] `Payroll` 모델 +- [x] **모델 생성** + - [x] `Payroll` 모델 (상태: draft→confirmed→paid, BelongsToTenant, SoftDeletes) + - [x] `PayrollSetting` 모델 (4대보험 요율, 수당/공제 유형) -- [ ] **서비스 구현** - - [ ] `PayrollService` 생성 - - [ ] 급여 계산 로직 (4대보험, 세금) - - [ ] 급여명세서 PDF 생성 +- [x] **서비스 구현** + - [x] `PayrollService` 생성 + - [x] 급여 계산 로직 (4대보험: 건강보험, 장기요양, 국민연금, 고용보험) + - [x] 소득세/주민세 계산 로직 + - [x] 급여명세서 데이터 (payslip) + - [ ] 급여명세서 PDF 생성 (추후 개발) -- [ ] **API 엔드포인트** - - [ ] 급여 CRUD API - - [ ] `POST /v1/payrolls/calculate` - 급여 일괄 계산 - - [ ] `GET /v1/payrolls/{id}/payslip/pdf` - 급여명세서 PDF +- [x] **API 엔드포인트** (13개) + - [x] `GET /v1/payrolls` - 급여 목록 + - [x] `POST /v1/payrolls` - 급여 등록 + - [x] `GET /v1/payrolls/summary` - 급여 현황 요약 + - [x] `POST /v1/payrolls/calculate` - 급여 일괄 계산 + - [x] `POST /v1/payrolls/bulk-confirm` - 급여 일괄 확정 + - [x] `GET /v1/payrolls/{id}` - 급여 상세 + - [x] `PUT /v1/payrolls/{id}` - 급여 수정 + - [x] `DELETE /v1/payrolls/{id}` - 급여 삭제 + - [x] `POST /v1/payrolls/{id}/confirm` - 급여 확정 + - [x] `POST /v1/payrolls/{id}/pay` - 급여 지급 처리 + - [x] `GET /v1/payrolls/{id}/payslip` - 급여명세서 조회 + - [x] `GET /v1/settings/payroll` - 급여 설정 조회 + - [x] `PUT /v1/settings/payroll` - 급여 설정 수정 -- [ ] **Swagger 문서** - - [ ] `PayrollApi.php` 작성 +- [x] **Swagger 문서** + - [x] `PayrollApi.php` 작성 (스키마 10개, 엔드포인트 13개) + +- [ ] **테스트** + - [ ] Feature 테스트 작성 + - [ ] 수동 API 테스트 --- @@ -475,6 +494,18 @@ - Swagger 문서 3개 (`ApprovalFormApi.php`, `ApprovalLineApi.php`, `ApprovalApi.php`) - i18n 메시지/에러 키 추가 +### 2025-12-18 +- [x] **급여 관리 API 구현 완료** + - 마이그레이션 2개 (`payrolls`, `payroll_settings`) + - 모델 2개 (`Payroll`, `PayrollSetting`) + - 서비스 1개 (`PayrollService`) + - 컨트롤러 1개, FormRequest 5개 + - API 엔드포인트 13개 + - Swagger 문서 (`PayrollApi.php`) + - i18n 메시지/에러 키 추가 + - 4대보험 계산 로직 (건강보험, 장기요양, 국민연금, 고용보험) + - 급여 상태 관리 (draft→confirmed→paid) + ### YYYY-MM-DD - [ ] (작업 내용 기록)