diff --git a/dev/dev_plans/receiving-inspection-mapping-table.md b/dev/dev_plans/receiving-inspection-mapping-table.md new file mode 100644 index 0000000..f7d5ba0 --- /dev/null +++ b/dev/dev_plans/receiving-inspection-mapping-table.md @@ -0,0 +1,208 @@ +# 수입검사 템플릿 ↔ 원자재 품목 매핑표 + +> **작성일**: 2026-03-17 +> **상태**: 초안 (R&D실 검토 필요) +> **목적**: MNG 문서양식관리의 수입검사 템플릿에 품목을 연결하여 입고 시 수입검사 자동 매칭 + +--- + +## 1. 현황 + +| 항목 | 수량 | +|------|:----:| +| 수입검사 템플릿 (활성) | 16종 | +| 원자재/부자재/소모품 (활성) | 93개 | +| 현재 매핑 완료 | 2개 (실리카원단만) | +| **기존 linked_item_ids 대부분 무효** | old item ID (삭제됨) | + +> **주의**: 기존 `linked_item_ids`에 저장된 ID(14xxx)는 5130 마이그레이션 이전 데이터로, 현재 items 테이블에 존재하지 않는다. 전체 재매핑 필요. + +--- + +## 2. 매핑표 + +### 2.1 SUS 계열 (원자재) + +| 템플릿 | 템플릿ID | 품목 | 품목ID | item_type | +|--------|:-------:|------|:------:|:---------:| +| SUS 절곡판 수입검사 | 19 | sus1.2\*1219\*2438 | 14953 | RM | +| | | sus1.2\*1219\*3000 | 14954 | RM | +| | | sus1.2t\*1219\*4000 | 14955 | RM | +| | | sus1.5\*1219\*2438 | 14956 | RM | +| | | sus1.5\*1219\*3000 | 14957 | RM | +| | | sus1.5\*1219\*4000 | 14958 | RM | +| | | sus1.2\*1219\*c | 14959 | RM | +| | | sus1.5\*1219\*2500 | 14960 | RM | +| | | sus1.2\*1219\*4230 | 14961 | RM | +| | | sus1.2\*1219\*3000 P/L | 14962 | RM | +| | | sus1.2\*1219\*2500 | 14963 | RM | +| | | SUS 316 slat | 15226 | SM | +| | | 철재용하장바(SUS1.2T) | 14940 | SM | + +### 2.2 EGI 계열 (원자재) + +| 템플릿 | 템플릿ID | 품목 | 품목ID | item_type | +|--------|:-------:|------|:------:|:---------:| +| EGI 수입검사 (두께별 자동매칭) | 18 | egi1.2\*1219\*2438 | 14964 | RM | +| | | egi1.2\*1219\*3000 | 14965 | RM | +| | | egi1.2\*1219\*4000 | 14966 | RM | +| | | egi1.6\*1219\*2438 | 14967 | RM | +| | | egi1.6\*1219\*3000 | 14968 | RM | +| | | egi1.6\*1219\*4000 | 14969 | RM | +| | | egi1.6t | 15017 | RM | +| | | egi1.55 | 15018 | RM | +| | | egi1.17 | 15019 | RM | +| | | egi 1.17 | 15020 | RM | + +### 2.3 앵글 계열 + +| 템플릿 | 템플릿ID | 품목 | 품목ID | item_type | +|--------|:-------:|------|:------:|:---------:| +| 앵글 수입검사 | 20 | 앵글40x40x3T | 15265 | SM | +| | | 앵글50x50x4T | 15266 | SM | +| | | 앵글가공 40\*3T | 15276 | SM | +| | | 앵글가공 50\*4T (H0016) | 15277 | SM | +| | | 앵글가공 50\*4T (H0017) | 15278 | SM | +| | | 앵글가공 50\*4T (H0018) | 15279 | SM | + +### 2.4 내화/방화 원단 계열 + +| 템플릿 | 템플릿ID | 품목 | 품목ID | item_type | +|--------|:-------:|------|:------:|:---------:| +| 실리카 수입검사 | 26 | 실리카원단(슬리팅) | 15491 | RM | +| | | 실리카원단(1270) | 15493 | RM | +| 화이바글라스 수입검사 | 25 | 화이바원단 | 15563 | RM | +| 와이어글라스 수입검사 | 27 | 와이어원단 | 15564 | RM | +| 내화실 수입검사 | 30 | 내화실 | 15027 | SM | + +### 2.5 전동/제어기 계열 + +| 템플릿 | 템플릿ID | 품목 | 품목ID | item_type | +|--------|:-------:|------|:------:|:---------:| +| 전동개폐기 수입검사 | 29 | 제어기 노출형 | 15548 | SM | +| | | 제어기 매립형 | 15549 | SM | +| | | 방화 콘트롤박스(단상) | 15550 | SM | +| | | 방화 콘트롤박스(삼상) | 15551 | SM | +| | | 방화 콘트롤박스(1500K) | 15552 | SM | +| | | 방화 방화스위치 | 15553 | SM | +| | | 방범 콘트롤박스(단상) | 15554 | SM | +| | | 방범 콘트롤박스(삼상) | 15555 | SM | +| | | 방범 스위치커버 | 15556 | SM | +| | | 방범 안전리미트 | 15557 | SM | +| | | 방범 리모콘+스위치(최초) | 15558 | SM | +| | | 방범 리모콘4구 | 15559 | SM | +| | | 방범 스위치(무선+수신기) | 15560 | SM | +| | | IS-리미트 | 15152 | SM | +| | | IS-제어기기판 | 15153 | SM | +| | | KD뒷박스 | 15149 | SM | +| | | KD리미트잭 | 15174 | SM | +| | | KD방범스위치카바 | 15151 | SM | +| | | KD컨트롤박스 CASE (80136) | 15145 | SM | +| | | KD컨트롤박스 CASE (80137) | 15146 | SM | +| | | KST-제어기뒷박스 | 15172 | SM | +| | | 주문형 매립박스 | 15071 | SM | + +### 2.6 샤프트/파이프 계열 + +| 템플릿 | 템플릿ID | 품목 | 품목ID | item_type | +|--------|:-------:|------|:------:|:---------:| +| 샤프트 수입검사 | 24 | 웨이브(201) | 15098 | SM | +| 각파이프 수입검사 | 23 | 백관 100*50 | 15105 | SM | + +### 2.7 기타 부자재 + +| 템플릿 | 템플릿ID | 품목 | 품목ID | item_type | +|--------|:-------:|------|:------:|:---------:| +| 마환봉 수입검사 | 22 | 8인치후렌지 | 15072 | SM | +| | | 짜부가스켓 | 15073 | SM | +| | | 가스켓쫄대(삼각) | 15080 | SM | + +--- + +## 3. 검토 필요 (R&D실 판단 요청) + +### 3.1 매핑 불확실 품목 + +아래 품목은 적합한 수입검사 템플릿이 불명확하다. R&D실에서 결정 필요. + +| 품목ID | 품목명 | item_type | 후보 템플릿 | 비고 | +|:------:|--------|:---------:|------------|------| +| 15561 | 신설비상문 | RM | ? | 비상문 전용 검사서 필요? | +| 15511 | 제연원단 | RM | 실리카? 화이바? | 원단 재질 확인 필요 | +| 15562 | 제연커튼 | RM | 실리카? | 완제품에 가까움? | +| 15040 | BS 샤우드 2인치 | SM | 샤프트? | 샤우드 전용 검사서? | +| 15474~15481 | BS/KS 샤우드 3~10인치 (7개) | SM | 샤프트? | 동일 그룹 | +| 14933, 15081~15083 | 알카바(R-case) (4개) | SM | ? | 알루미늄 케이스 | +| 15038 | 알카바몰딩 | SM | ? | 알루미늄 몰딩 | +| 15114 | AL단열1.6T | SM | ? | 알루미늄 단열 | +| 15046, 15087 | 덧대기원단 (2개) | SM | 화이바? 실리카? | 원단 재질 확인 | +| 14947 | 불연지퍼 | SM | ? | 소모성 부자재 | +| 14948 | 지퍼슬라이더 | SM | ? | 소모성 부자재 | +| 15041, 15514 | 조인트/조인트바 | SM | ? | | +| 15065 | 비상문평철세트 | SM | SUS? | 재질 확인 | +| 15134, 15135 | KD포장박스 (2개) | SM | ? | 포장재는 검사 불필요? | +| 15251 | 쪽잠 | SM | ? | | +| 15480 | 샤우드3인치 | SM | 샤프트? | BS와 다른 규격? | +| 15226 | SUS 316 slat | SM | SUS 절곡판? | SUS 재질 | + +### 3.2 수입검사 제외 대상 + +아래 품목은 수입검사가 불필요한 것으로 판단된다 (비물리적 항목). + +| 품목ID | 품목명 | item_type | 사유 | +|:------:|--------|:---------:|------| +| 15228 | 출장비 | CS | 비용 항목 | +| 15229 | 노무비 | CS | 비용 항목 | +| 15230 | 금액조정 | CS | 비용 항목 | +| 15250 | 모터A/S | CS | A/S 항목 | +| 15134 | KD포장박스 | SM | 포장재 (검사 불필요?) | +| 15135 | KD포장박스 | SM | 포장재 (검사 불필요?) | + +--- + +## 4. 실행 방법 + +### 4.1 매핑표 확정 후 tinker 실행 + +R&D실 검토 후 확정된 매핑표를 기반으로 아래 형태로 실행: + +```bash +docker exec sam-mng-1 php artisan tinker --execute=" +// 기존 무효 linked_item_ids 초기화 + 새 매핑 설정 +\$mapping = [ + 19 => [14953,14954,14955,14956,14957,14958,14959,14960,14961,14962,14963,15226,14940], // SUS 절곡판 + 18 => [14964,14965,14966,14967,14968,14969,15017,15018,15019,15020], // EGI + 20 => [15265,15266,15276,15277,15278,15279], // 앵글 + // ... 나머지 템플릿 +]; + +foreach (\$mapping as \$templateId => \$itemIds) { + DB::table('document_templates') + ->where('id', \$templateId) + ->update(['linked_item_ids' => json_encode(\$itemIds)]); + print('템플릿 ' . \$templateId . ': ' . count(\$itemIds) . '개 품목 연결' . PHP_EOL); +} +" +``` + +### 4.2 검증 + +```bash +# 매핑 확인 +docker exec sam-api-1 php artisan tinker --execute=" +\$items = DB::table('items')->where('tenant_id', 287)->whereIn('item_type', ['RM','SM'])->whereNull('deleted_at')->where('is_active', true)->pluck('id')->toArray(); +\$service = app(App\Services\ReceivingService::class); +// ... has_inspection_template 확인 +" +``` + +--- + +## 관련 문서 + +- [입고×수입검사 연동 계획](receiving-inspection-integration-plan.md) — 전체 구현 계획 +- [수입검사 성적서 연동](incoming-inspection-document-integration-plan.md) — 기존 상세 설계 + +--- + +**최종 업데이트**: 2026-03-17