docs: 부적합관리 모델 hotfix 변경이력 추가

- User 모델 경로 수정 (Users\User → Members\User)
- AppServiceProvider morphMap에 NonconformingReport 등록

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
유병철
2026-03-19 14:44:43 +09:00
parent 5effbb8a0b
commit c88b9c0d14

View File

@@ -0,0 +1,71 @@
# 부적합관리 모델 Hotfix — User 경로 + MorphMap 등록
**날짜:** 2026-03-19
**작업자:** Claude Code (FE 검수 중 발견 → 직접 수정)
## 변경 개요
부적합관리 FE 화면검수 중 API 500 에러 2건 발견 → sam-api 직접 수정.
---
## 수정 1: User 모델 경로 오류
**증상:** 부적합 등록 시 `[500] Class "App\Models\Users\User" not found`
**원인:** `NonconformingReport.php` 모델에서 User 클래스 import 경로가 잘못됨
**수정 파일:** `app/Models/Materials/NonconformingReport.php` (라인 10)
```php
// Before
use App\Models\Users\User;
// After
use App\Models\Members\User;
```
**영향 범위:** `creator()`, `actionManager()`, `relatedEmployee()` 3개 관계 — 모든 상세 조회/등록/수정 API에 영향
**참고:** 프로젝트 내 다른 모델(`AdminService`, `Department` 등)은 모두 `App\Models\Members\User` 사용 중
---
## 수정 2: Polymorphic MorphMap 미등록
**증상:** 부적합 등록 시 `[500] No morph map defined for model [App\Models\Materials\NonconformingReport]`
**원인:** `AppServiceProvider`에서 `Relation::enforceMorphMap`을 사용하는데, `NonconformingReport` 모델이 등록되지 않음
**수정 파일:** `app/Providers/AppServiceProvider.php`
```php
// Before
Relation::enforceMorphMap([
'user' => User::class,
'post' => Post::class,
]);
// After
use App\Models\Materials\NonconformingReport; // import 추가
Relation::enforceMorphMap([
'user' => User::class,
'post' => Post::class,
'nonconforming_report' => NonconformingReport::class, // 추가
]);
```
**영향 범위:** `files()` morphMany 관계 (첨부파일 polymorphic 연결) — 등록/수정 시 모델 저장 과정에서 morph type 해석 실패
---
## 검증 결과
| 항목 | 결과 |
|------|:----:|
| 부적합 등록 (POST) | ✅ |
| 상세 조회 (GET /6) | ✅ |
| 수정 페이지 데이터 로드 | ✅ |
| 상태 변경 (RECEIVED → ANALYZING → RESOLVED) | ✅ |
| 자재 내역 + 비용 계산 | ✅ |