feat: [approval] 전자결재 모듈 API 구현

- 마이그레이션 4개 (approval_forms, approval_lines, approvals, approval_steps)
- 모델 4개 (ApprovalForm, ApprovalLine, Approval, ApprovalStep)
- ApprovalService 비즈니스 로직 (양식/결재선 CRUD, 기안함/결재함/참조함, 결재 액션)
- 컨트롤러 3개 (ApprovalFormController, ApprovalLineController, ApprovalController)
- FormRequest 13개 (양식/결재선/문서 검증)
- Swagger 문서 3개 (26개 엔드포인트)
- i18n 메시지/에러 키 추가
- 라우트 26개 등록
This commit is contained in:
2025-12-17 23:23:20 +09:00
parent 77914da7b7
commit b43796a558
33 changed files with 4067 additions and 2 deletions

View File

@@ -173,6 +173,25 @@
'balance_not_found' => '휴가 잔여일수 정보를 찾을 수 없습니다.',
],
// 전자결재 관련
'approval' => [
'not_found' => '결재 문서를 찾을 수 없습니다.',
'form_not_found' => '결재 양식을 찾을 수 없습니다.',
'form_code_exists' => '중복된 양식 코드입니다.',
'form_in_use' => '사용 중인 양식은 삭제할 수 없습니다.',
'line_not_found' => '결재선을 찾을 수 없습니다.',
'not_editable' => '임시저장 상태의 문서만 수정할 수 있습니다.',
'not_deletable' => '임시저장 상태의 문서만 삭제할 수 있습니다.',
'not_submittable' => '임시저장 상태의 문서만 상신할 수 있습니다.',
'not_actionable' => '진행중인 문서에서만 결재 가능합니다.',
'not_cancellable' => '진행중인 문서만 회수할 수 있습니다.',
'not_your_turn' => '현재 결재 순서가 아닙니다.',
'only_drafter_can_cancel' => '기안자만 회수할 수 있습니다.',
'steps_required' => '결재선은 필수입니다.',
'reject_comment_required' => '반려 사유는 필수입니다.',
'not_referee' => '참조자가 아닙니다.',
],
// 근무 설정 관련
'work_setting' => [
'invalid_work_type' => '유효하지 않은 근무 유형입니다.',