58 lines
1.7 KiB
Markdown
58 lines
1.7 KiB
Markdown
|
|
# 종합분석 버그 수정 완료 (2025-12-27)
|
||
|
|
|
||
|
|
## 해결한 문제
|
||
|
|
|
||
|
|
**증상**: 종합분석 페이지(`/reports/comprehensive-analysis`)에서 승인/반려 클릭 시 "결재 순서가 아닙니다" 오류
|
||
|
|
|
||
|
|
**원인**:
|
||
|
|
- `ComprehensiveAnalysisService::getTodayIssue()`가 테넌트의 **모든** 대기 결재를 반환
|
||
|
|
- 현재 사용자(홍킬동, User 33)가 결재자가 아닌 문서도 포함되어 있음
|
||
|
|
- 다른 사용자(Ops Admin, User 12)가 결재자인 문서를 승인하려고 하면 오류 발생
|
||
|
|
|
||
|
|
## 수정 내용
|
||
|
|
|
||
|
|
### 1. ComprehensiveAnalysisService.php
|
||
|
|
|
||
|
|
```php
|
||
|
|
// 수정 전
|
||
|
|
$pendingApprovals = Approval::where('tenant_id', $tenantId)
|
||
|
|
->pending()
|
||
|
|
->with(['form', 'drafter'])
|
||
|
|
->get();
|
||
|
|
|
||
|
|
// 수정 후
|
||
|
|
$pendingApprovals = Approval::where('tenant_id', $tenantId)
|
||
|
|
->pending()
|
||
|
|
->whereHas('steps', function ($q) use ($userId) {
|
||
|
|
$q->where('approver_id', $userId)
|
||
|
|
->where('status', ApprovalStep::STATUS_PENDING);
|
||
|
|
})
|
||
|
|
->with(['form', 'drafter'])
|
||
|
|
->get();
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. ComprehensiveAnalysisSeeder.php
|
||
|
|
|
||
|
|
- `tenantId = 287` (프론트_테스트회사)
|
||
|
|
- `userId = 33` (홍킬동)
|
||
|
|
- 결재 단계에서 `approver_id = 33` 설정
|
||
|
|
|
||
|
|
## 테스트 환경
|
||
|
|
|
||
|
|
| 항목 | 값 |
|
||
|
|
|------|-----|
|
||
|
|
| Tenant ID | 287 |
|
||
|
|
| 테스트 User | 홍킬동 (User 33, hhhhhh@example.com) |
|
||
|
|
| 보조 User | Ops Admin (User 12) |
|
||
|
|
|
||
|
|
## Git 커밋
|
||
|
|
|
||
|
|
- **api**: `fix: 종합분석 오늘의 이슈 승인/반려 버그 수정`
|
||
|
|
- **docs**: `docs: 종합분석 버그 수정 변경이력 추가`
|
||
|
|
|
||
|
|
## 관련 파일
|
||
|
|
|
||
|
|
- `api/app/Services/ComprehensiveAnalysisService.php`
|
||
|
|
- `api/database/seeders/ComprehensiveAnalysisSeeder.php`
|
||
|
|
- `docs/plans/react-mock-remaining-tasks.md`
|