- 개발팀 전용 폴더 dev/ 생성 (standards, guides, quickstart, changes, deploys, data, history, dev_plans 이동) - 프론트엔드 전용 폴더 frontend/ 생성 (api/ → frontend/api-specs/) - 기획팀 폴더 requests/ 생성 - plans/ → dev/dev_plans/ 이름 변경 - README.md 신규 (사람용 안내), INDEX.md 재작성 (Claude Code용) - resources.md 신규 (노션 링크용, assets/brochure 이관 예정) - CURRENT_WORKS.md 삭제, TODO.md → dev/ 이동 - 전체 참조 경로 업데이트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
변경 내용 요약
날짜: 2026-01-28 작업자: Claude Phase: 1.5 - Service 생성
📋 변경 개요
문서 관리 시스템의 DocumentService 클래스를 생성하여 문서 CRUD 및 결재 워크플로우 비즈니스 로직을 구현했습니다.
📁 수정된 파일
app/Services/DocumentService.php(신규) - 문서 관리 서비스
🔧 상세 변경 사항
1. DocumentService 구현
주요 기능:
문서 목록/상세
list(array $params)- 페이징, 필터링, 검색 지원show(int $id)- 상세 조회 (템플릿, 결재선, 데이터, 첨부파일 포함)
문서 생성/수정/삭제
create(array $data)- 문서 생성 (결재선, 데이터, 첨부파일 포함)update(int $id, array $data)- 문서 수정 (반려 상태 → DRAFT 전환)destroy(int $id)- 문서 삭제 (DRAFT 상태만 가능)
결재 처리
submit(int $id)- 결재 요청 (DRAFT → PENDING)approve(int $id, ?string $comment)- 결재 승인reject(int $id, string $comment)- 결재 반려cancel(int $id)- 결재 취소/회수 (작성자만)
헬퍼 메서드
generateDocumentNo()- 문서번호 생성 (DOC-YYYYMMDD-NNNN)createApprovals()- 결재선 생성saveDocumentData()- 문서 데이터 저장 (EAV)attachFiles()- 첨부파일 연결
구현 특징:
- Service-First 아키텍처 준수
- Multi-tenancy 지원 (tenantId() 필터링)
- DB 트랜잭션 처리
- 순차 결재 로직 (이전 단계 완료 확인)
- i18n 에러 메시지 키 사용
✅ 테스트 체크리스트
- PHP 문법 검사 통과
- Service 클래스 로드 성공
- Pint 포맷팅 완료
- API 통합 테스트 (Phase 1.6 이후)
⚠️ 배포 시 주의사항
특이사항 없음
🔗 관련 문서
- Phase 1.1: 마이그레이션 (
20260128_document_management_phase1_1.md) - Phase 1.2: 모델 생성 (별도 문서 없음, 커밋 참조)
- 계획 문서:
docs/dev_plans/document-management-system-plan.md