# 수입검사 성적서 양식 생성 계획 > **작성일**: 2026-02-05 > **목적**: 5130 레거시 수입검사 양식 23종을 SAM 문서 양식으로 전환 > **기준 문서**: 5130/instock/i_*.php (23개 파일) > **상태**: 📋 계획 수립 완료 (Serena ID: incoming-inspection-plan-state) --- ## 🚀 새 세션 시작 가이드 (Quick Start) ### 이 문서만 보고 작업을 시작하려면: **1단계: 환경 확인** ```bash # Docker 컨테이너 실행 확인 docker ps | grep sam # 품목 데이터 확인 (tenant_id=287) cd /Users/kent/Works/@KD_SAM/SAM/api php artisan tinker --execute="echo 'RM: ' . DB::table('items')->where('tenant_id', 287)->where('item_type', 'RM')->count() . ', SM: ' . DB::table('items')->where('tenant_id', 287)->where('item_type', 'SM')->count();" # 기대값: RM: 28, SM: 61 # 기존 양식 확인 (EGI template 18) php artisan tinker --execute="echo DB::table('document_templates')->where('id', 18)->value('name');" ``` **2단계: 현재 상태 확인** - 아래 "📍 현재 진행 상태" 섹션에서 마지막 완료 작업과 다음 작업 확인 - Phase 1-5 테이블에서 ⏳/✅ 상태 확인 **3단계: 양식 생성 시작** - MNG 접속: https://mng.sam.kr/document-templates - 기존 EGI 양식(id:18) 복제하여 새 양식 생성 - 또는 새 양식 생성: https://mng.sam.kr/document-templates/create ### 환경 정보 | 항목 | 값 | |------|-----| | **프로젝트 루트** | `/Users/kent/Works/@KD_SAM/SAM` | | **레거시 소스** | `5130/instock/i_*.php` (23개 파일) | | **API 프로젝트** | `api/` | | **MNG 프로젝트** | `mng/` | | **tenant_id** | `287` (경동기업) | | **MNG URL** | https://mng.sam.kr | | **API URL** | https://api.sam.kr | ### 핵심 테이블 및 ID | 테이블 | 용도 | 주요 ID | |--------|------|---------| | `document_templates` | 양식 마스터 | id:18 (EGI 수입검사 - 참조용) | | `document_template_section_fields` | 검사항목 필드 정의 | template_id 기준 | | `document_template_links` | 품목 연결 정의 | template_id 기준 | | `document_template_link_values` | 연결된 품목 ID | link_id, linkable_id | | `items` | 품목 마스터 | tenant_id=287 기준 | ### 품목 검색 쿼리 ```bash # RM(원자재) 전체 조회 php artisan tinker --execute="DB::table('items')->where('tenant_id', 287)->where('item_type', 'RM')->whereNull('deleted_at')->select('id','code','name')->get()->each(fn(\$i) => print(\$i->code.' | '.\$i->name.'\n'));" # SM(부자재) 전체 조회 php artisan tinker --execute="DB::table('items')->where('tenant_id', 287)->where('item_type', 'SM')->whereNull('deleted_at')->select('id','code','name')->get()->each(fn(\$i) => print(\$i->code.' | '.\$i->name.'\n'));" # 특정 품목 검색 (예: SUS) php artisan tinker --execute="DB::table('items')->where('tenant_id', 287)->where('name', 'like', '%sus%')->whereNull('deleted_at')->select('id','code','name','item_type')->get()->each(fn(\$i) => print(\$i->item_type.' | '.\$i->code.' | '.\$i->name.'\n'));" ``` ### API 테스트 ```bash # resolve API 테스트 (품목별 양식 조회) curl -X GET "https://api.sam.kr/api/v1/documents/resolve?item_id=12345" \ -H "Authorization: Bearer {token}" \ -H "X-API-KEY: {api_key}" # upsert API 테스트 (문서 생성/수정) curl -X POST "https://api.sam.kr/api/v1/documents/upsert" \ -H "Authorization: Bearer {token}" \ -H "X-API-KEY: {api_key}" \ -H "Content-Type: application/json" \ -d '{"template_id": 18, "linkable_type": "item", "linkable_id": 12345, ...}' ``` ### 레거시 파일 분석 방법 ```bash # 특정 양식 파일 읽기 (예: SUS 절곡코일) cat /Users/kent/Works/@KD_SAM/SAM/5130/instock/i_SUScoil.php # 검사항목 구조 확인 (itemRow, resultRow 배열) grep -A 20 "itemRow" /Users/kent/Works/@KD_SAM/SAM/5130/instock/i_SUScoil.php ``` --- ## 📍 현재 진행 상태 | 항목 | 내용 | |------|------| | **마지막 완료 작업** | Phase 1-5 완료 - 13종 양식 생성 (id:18~30), EGI 품목 연결 | | **다음 작업** | 품목 미등록 양식 대기 (SS400, 베어링부, 내화충진재, 세라크울) | | **진행률** | 19/23 (83% 완료) - 4종 품목 미등록 | | **마지막 업데이트** | 2026-02-05 | --- ## 1. 개요 ### 1.1 배경 5130 레거시 시스템에는 23종의 수입검사 성적서 양식이 PHP 파일로 하드코딩되어 있음. 이를 SAM의 동적 문서 양식 시스템으로 전환하여: - React 앱에서 품목별 자동 양식 매칭 가능 - 검사 데이터의 체계적 관리 및 이력 추적 - 양식 수정/추가 시 코드 변경 불필요 ### 1.2 기준 원칙 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 🎯 핵심 원칙 │ ├─────────────────────────────────────────────────────────────────┤ │ 1. 레거시 양식 구조 100% 재현 (검사항목, 기준, 측정방식) │ │ 2. 품목 자동 매칭 (item_id → template 연결) │ │ 3. Auto-highlight 지원 (두께/너비/길이 기준범위 자동 표시) │ │ 4. 프리셋 재사용 (공통 필드 구조 활용) │ └─────────────────────────────────────────────────────────────────┘ ``` ### 1.3 변경 승인 정책 | 분류 | 예시 | 승인 | |------|------|------| | ✅ 즉시 가능 | 양식 생성, 품목 연결, 검사항목 추가 | 불필요 | | ⚠️ 컨펌 필요 | 새로운 field_type 추가, 프리셋 수정 | **필수** | | 🔴 금지 | 기존 양식(template 18) 구조 변경 | 별도 협의 | --- ## 2. 5130 레거시 분석 결과 ### 2.1 파일-품명 매핑 (23종) | # | 파일명 | 품명 (itemTitle) | 품목 유형 | 규격 형식 | |---|--------|------------------|-----------|-----------| | 1 | i_EGI155.php | 전기 아연도금 강판 (KS D 3528, SECC) "EGI 절곡판" | RM | 두께*너비*길이 | | 2 | i_GIplate.php | 용융 아연도금 강판 (KS D 3506, SGCC) "GI 절곡판" | RM | 두께*너비*길이 | | 3 | i_SUScoil.php | 냉간 압연 스테인리스 강대 (KS D 3698, STS304) "SUS 절곡코일" | RM | 두께*너비 | | 4 | i_SUSplate.php | 냉간 압연 스테인리스 강판 (KS D 3698, STS304) "SUS 절곡판" | RM | 두께*너비*길이 | | 5 | i_slatcoil.php | 전기 아연도금 강대 (KS D 3528, SECC) "슬랫코일" | RM | 두께*너비 | | 6 | i_bendingcoil.php | 전기 아연도금 강대 (KS D 3528, SECC) "절곡코일" | RM | 두께*너비 | | 7 | i_angle.php | 일반구조용 압연강재 (JIS G 3101, SS400) "앵글" | SM | A*B*T | | 8 | i_anglebottom.php | 일반구조용 압연강재 (JIS G 3101, SS400) "앵글하부" | SM | A*B*T | | 9 | i_platesteel.php | 일반구조용 압연강재 (JIS G 3101, SS400) "철판" | RM | 두께*너비*길이 | | 10 | i_pole.php | 일반구조용 압연강재 (JIS G 3101, SS400) "마환봉" | SM | 직경 | | 11 | i_recpipe.php | 일반 구조용 각형 강관 (KS D 3568) "각파이프" | SM | A*B*T | | 12 | i_shaft.php | 일반 구조용 탄소 강관 (KS D 3566) "샤프트" | SM | 외경*두께 | | 13 | i_fiber.php | 화이바 글라스 코팅직물 | RM | 두께*너비 | | 14 | i_sillica.php | 실리카 코팅직물 | RM | 두께*너비 | | 15 | i_wire.php | 와이어 글라스 코팅직물 | RM | spec | | 16 | i_wireDaehan.php | 와이어 글라스 코팅직물 (대한) | RM | spec | | 17 | i_antifireglass.php | 방화유리 | RM | 두께*너비*높이 | | 18 | i_motor.php | 전동개폐기 | SM | 용량*전압*타입 | | 19 | i_controller.php | 연동 폐쇄기구 | SM | - | | 20 | i_bracket.php | 베어링부 | SM | - | | 21 | i_Fireproof_sealings.php | 내화충진재 | SM | spec | | 22 | i_cerakwool.php | 세라크울 (C/F L-BIO 1200 B/T) | SM | spec | | 23 | i_fireproofWire.php | 메탈/아라미드 재봉사 "내화실" | SM | - | ### 2.2 검사항목 유형 분류 #### 공통 검사항목 (대부분 양식에 포함) | 검사항목 | 검사기준 | 검사방식 | 측정유형 | |----------|----------|----------|----------| | 겉모양 | 사용상 해로울 결함이 없을 것 | 육안검사 | checkbox (OK/NG 3회) | #### 철강재 검사항목 (EGI, GI, SUS, 철판, 앵글 등) | 검사항목 | 검사기준 | 검사방식 | 측정유형 | |----------|----------|----------|----------| | 치수-두께 | 범위별 공차 (auto-highlight) | 체크검사 | numeric (3회) | | 치수-너비 | 범위별 공차 | 체크검사 | numeric (3회) | | 치수-길이 | 범위별 공차 | 체크검사 | numeric (3회) | | 인장강도 | N/㎟ 이상 | 밀시트 | single_value | | 연신율 | % 이상 (두께별) | 밀시트 | single_value | | 아연 부착량 | g/㎡ 이상 | 밀시트 | single_value | #### 직물류 검사항목 (화이바, 실리카, 와이어) | 검사항목 | 검사기준 | 검사방식 | 측정유형 | |----------|----------|----------|----------| | 치수-두께/너비 | ± 공차 | 체크검사 | numeric (3회) | | 무게 | g/㎡ ± % | 성적서 | single_value | | 밀도 (경사/위사) | 올/5㎝ ± % | 성적서 | single_value | | 인장강도 (경사/위사) | N/50㎜ 이상 | 성적서 | single_value | | 인열강도 | N 이상 | 성적서 | single_value | | 내열온도 | ℃ 이상 | 성적서 | single_value | #### 전동개폐기 검사항목 | 검사항목 | 검사기준 | 검사방식 | 측정유형 | |----------|----------|----------|----------| | 겉모양 | 결함 없을 것 | 육안검사 | checkbox | | 구성품 | 누락 없을 것 | 육안검사 | checkbox | | 셋팅설정/램프 | 점등/소등 상태 | 체크검사 | substitute (성적서) | | 브레이크 개폐 | 원활 작동 | 체크검사 | substitute | | 기타 기능설정 | 원활 작동 | 체크검사 | substitute | | 모터권상능력 | 120% 이상 | 체크검사 | substitute | | 품질인정 | 내화시험 적합 | 공인기관 | substitute | ### 2.3 SAM 품목 매핑 (tenant_id: 287, 2026-02-05 재분석) > **참조**: item-master-data-alignment-plan.md 기준 - RM 28건, SM 61건 #### RM (원자재) 28건 상세 | 레거시 양식 | SAM 품목 코드 | 품목 수 | 매핑 상태 | |------------|--------------|---------|-----------| | EGI (전기아연도금) | egi1.2*1219*, egi1.6*1219*, egi1.17, egi1.55 등 | 10건 | ✅ 완료 | | SUS (스테인리스) | sus1.2*1219*, sus1.5*1219* 등 | 11건 | ✅ 완료 | | GI (용융아연도금) | egi* (EGI 코드로 통합 관리) | (EGI에 포함) | ✅ 통합 | | 실리카/제연 | S0008 실리카원단(슬리팅), S0010 실리카원단(1270), s0015 제연원단 | 3건 | ✅ 완료 | | 화이바/와이어 | RM-010 화이바원단, RM-011 와이어원단 | 2건 | ✅ 완료 | | 기타 RM | RM-007 신설비상문, RM-008 제연커튼 | 2건 | ✅ 완료 | #### SM (부자재) 61건 상세 | 레거시 양식 | SAM 품목 코드 | 품목 수 | 매핑 상태 | |------------|--------------|---------|-----------| | 전동개폐기/제어기 | PM-020~PM-035 | 16건 | ✅ 완료 | | 앵글 | H0003~H0018 (앵글40x40x3T 등) | 6건 | ✅ 완료 | | 샤우드 (파이프) | R0001~R0008 (3~10인치) | 8건 | ✅ 완료 | | 가스켓 | 80062 짜부가스켓, 80067 가스켓쫄대 | 2건 | ✅ 완료 | | 알카바/컨트롤박스 등 | 기타 부자재 | 29건 | ✅ 완료 | #### 품목 존재 확인 결과 (2026-02-05 재검증) | 레거시 양식 | 품목명 | SAM 품목 | 상태 | |------------|--------|---------|------| | i_antifireglass.php | 방화유리 | `S0007 망입유리` (PT) | ✅ 존재 (망입유리=방화유리 종류) | | i_pole.php | 마환봉 | `90205 마환봉` + 환봉 5건 (PT) | ✅ 존재 | | i_recpipe.php | 각파이프 | `80091 백관 100*50` (SM) | ⚠️ 부분 (1건만) | | i_shaft.php | 샤프트 | R0001~R0008 샤우드 (SM) | ✅ 대체 가능 | #### 검토 필요 품목 (1건) | 레거시 양식 | 품목명 | 현재 상태 | 검토 사항 | |------------|--------|----------|----------| | i_platesteel.php | **SS400 일반 철판** | RM 없음, PT로 `철판절단`/`평철*` 존재 | 원자재 수입검사 실제 수행 여부 확인 필요. SUS/EGI만 RM 등록됨 | --- ## 3. 양식 생성 계획 ### 3.1 그룹화 전략 **동일 양식 공유 가능 그룹:** - EGI 1.15T / 1.55T → 1개 양식 (두께별 auto-highlight) - GI 0.45T / 0.5T / 1.2T → 1개 양식 - SUS 절곡판 (1.2T, 1.5T, 1.55T) → 1개 양식 - SUS 절곡코일 → 별도 양식 (길이 없음) - 철판 SS400 → 1개 양식 - 앵글/앵글하부 → 2개 양식 (구조 유사하나 규격 다름) **총 생성 예정 양식: 약 15-18종** (레거시 23종 중 유사 양식 통합) ### 3.2 Phase 구분 #### Phase 1: 철강재 그룹 (8종) - ✅ 완료 (7/8, 1종 품목 없음) | # | 양식명 | 연결 품목 | 상태 | 비고 | |---|--------|----------|:----:|------| | 1.1 | EGI 수입검사 (id:18) | egi1.2*, egi1.6*, egi1.17, egi1.55 (10건) | ✅ | 품목 연결 완료 | | 1.2 | GI 수입검사 | - | ✅ | 1.1 EGI와 통합 | | 1.3 | SUS 절곡판 수입검사 (id:19) | sus1.2*, sus1.5* (11건) | ✅ | 완료 | | 1.4 | SUS 절곡코일 수입검사 | - | ✅ | 1.3에 포함됨 (sus*c) | | 1.5 | 슬랫코일 수입검사 | - | ✅ | RM 품목 없음, EGI로 커버 | | 1.6 | 절곡코일 수입검사 | - | ✅ | RM 품목 없음, EGI로 커버 | | 1.7 | 철판(SS400) 수입검사 | - | ⏸️ | **🔴 RM 품목 없음** | | 1.8 | 앵글 수입검사 (id:20) | H0003, H0004 앵글 (2건) | ✅ | 완료 | #### Phase 2: 구조재 그룹 (4종) - ✅ 완료 | # | 양식명 | 연결 품목 | 상태 | 비고 | |---|--------|----------|:----:|------| | 2.1 | 앵글하부 수입검사 (id:21) | H0015~H0018 앵글가공 (4건) | ✅ | 완료 | | 2.2 | 마환봉 수입검사 (id:22) | 90205 마환봉 + 환봉 5건 (6건) | ✅ | 완료 | | 2.3 | 각파이프 수입검사 (id:23) | 80091 백관 (1건) | ✅ | 완료 | | 2.4 | 샤프트 수입검사 (id:24) | 샤우드 R0001~R0008 + 80035 (9건) | ✅ | 완료 | #### Phase 3: 직물류 그룹 (4종) - ✅ 완료 | # | 양식명 | 연결 품목 | 상태 | 비고 | |---|--------|----------|:----:|------| | 3.1 | 화이바글라스 수입검사 (id:25) | RM-010 화이바원단 (1건) | ✅ | 완료 | | 3.2 | 실리카 수입검사 (id:26) | S0008, S0010, s0015 (3건) | ✅ | 완료 | | 3.3 | 와이어글라스 수입검사 (id:27) | RM-011 와이어원단 (1건) | ✅ | 완료 | | 3.4 | 방화유리 수입검사 (id:28) | S0007 망입유리 (1건) | ✅ | 완료 | #### Phase 4: 부자재 그룹 (5종) - 부분 완료 | # | 양식명 | 연결 품목 | 상태 | 비고 | |---|--------|----------|:----:|------| | 4.1 | 전동개폐기 수입검사 (id:29) | PM-020~PM-035 (13건) | ✅ | 완료 | | 4.2 | 연동폐쇄기구 수입검사 | - | ⏸️ | 4.1과 통합됨 | | 4.3 | 베어링부 수입검사 | - | ⏸️ | 품목 미등록 | | 4.4 | 내화충진재 수입검사 | - | ⏸️ | 품목 미등록 | | 4.5 | 내화실 수입검사 (id:30) | 80019 실 (1건) | ✅ | 완료 | #### Phase 5: 기타 (2종) - 통합 완료 | # | 양식명 | 연결 품목 | 상태 | 비고 | |---|--------|----------|:----:|------| | 5.1 | 세라크울 수입검사 | - | ⏸️ | 품목 미등록 | | 5.2 | 와이어글라스(대한) 수입검사 | - | ✅ | 3.3 (id:27)과 통합 | --- ## 4. 작업 절차 ### 4.1 MNG에서 양식 생성하기 (상세 가이드) #### Step 1: 기존 양식 복제 또는 새 양식 생성 **방법 A: 기존 EGI 양식 복제 (권장)** ``` 1. https://mng.sam.kr/document-templates/18/edit 접속 2. 페이지 하단 "복제" 버튼 클릭 3. 양식명 변경 (예: "SUS 절곡판 수입검사") 4. 저장 ``` **방법 B: 새 양식 생성** ``` 1. https://mng.sam.kr/document-templates/create 접속 2. 기본정보 탭: ├── 양식명: (예: "SUS 절곡판 수입검사") ├── 카테고리: "수입검사" 선택 ├── 설명: (레거시 품명 참조) └── 결재라인: 담당 → 부서장 3. 저장 후 편집 화면으로 이동 ``` #### Step 2: 검사 기준서 탭 설정 ``` 1. "검사 기준서" 탭 클릭 2. "프리셋 적용" 버튼 → "수입검사 기본" 선택 3. 레거시 검사항목 확인: └── 5130/instock/i_{양식명}.php 파일의 itemRow/resultRow 배열 참조 4. 필드 추가: ├── "필드 추가" 버튼 클릭 ├── field_key: 검사항목 식별자 (예: thickness, width, tensile_strength) ├── label: 표시명 (예: "두께", "너비", "인장강도") ├── field_type 선택: │ ├── select (OK/NG 체크박스용) │ ├── text + json_criteria (수치입력 3회용) │ ├── text (단일값, 성적서 대체용) │ └── composite_frequency (주기+n/c용) └── standard_criteria: auto-highlight용 기준범위 JSON 5. 드래그로 필드 순서 조정 6. 저장 ``` #### Step 3: 품목 연결 설정 ``` 1. "기본정보" 탭 → "연결 설정" 영역 2. "연결 추가" 버튼 클릭 3. 연결 정보 입력: ├── link_key: "items" ├── label: "연결 품목 (RM, SM)" ├── link_type: "multiple" (여러 품목 연결 가능) ├── search_api: "/api/admin/items/search" ├── search_params: {"item_type":"RM,SM"} └── display_fields: {"title":"name","subtitle":"code"} 4. 품목 검색하여 연결: ├── 검색창에 품목명/코드 입력 (예: "sus1.2") ├── 검색 결과에서 해당 품목 선택 └── 여러 품목 추가 가능 5. 저장 ``` #### Step 4: 검증 ``` 1. MNG 미리보기: └── 양식 편집 화면 → "미리보기" 버튼 2. API 테스트 (resolve): └── curl 또는 Postman으로 resolve API 호출 3. React 앱 테스트: └── https://dev.sam.kr 에서 해당 품목 선택 → 문서 생성 확인 ``` ### 4.2 단계별 절차 요약 ``` Step 1: 양식 기본정보 설정 ├── MNG에서 새 양식 생성 또는 EGI(id:18) 복제 ├── 카테고리: 수입검사 ├── 품명 설정 (레거시 itemTitle 참조) ├── 결재라인: 담당, 부서장 └── 연결 품목 설정 (link_type: multiple) Step 2: 검사 기준서 필드 설정 ├── 프리셋 적용 (수입검사 기본) ├── 레거시 검사항목 추가 ├── field_type 매핑: │ ├── 육안검사 OK/NG → checkbox │ ├── 수치입력 3회 → numeric │ ├── 밀시트/성적서 → single_value │ └── 공인기관 성적서 → substitute └── standard_criteria (auto-highlight) 설정 Step 3: 품목 연결 ├── document_template_links에 link 추가 ├── 소스 테이블: items ├── search_params: {"item_type":"RM,SM"} └── display_fields: {"title":"name","subtitle":"code"} Step 4: 검증 ├── MNG에서 양식 미리보기 ├── React resolve API 테스트 └── 실제 품목으로 문서 생성 테스트 ``` ### 4.2 field_type 매핑 기준 | 레거시 측정 방식 | SAM field_type | measurement_type | |-----------------|----------------|------------------| | checkbox OK/NG 3회 | select | checkbox | | 수치입력 3회 (두께/너비/길이) | text + json_criteria | numeric | | 밀시트 단일값 | text | single_value | | 성적서 대체 | text | substitute | | 자유입력 | text | text | --- ## 5. 컨펌 대기 목록 | # | 항목 | 변경 내용 | 영향 범위 | 상태 | |---|------|----------|----------|------| | 1 | 양식 통합 여부 | 레거시 23종 → SAM 12-15종 통합 (GI→EGI, 와이어 통합 등) | 양식 구조 | ⏳ 검토 필요 | | 2 | ~~누락 품목 등록~~ | ~~방화유리, 마환봉~~ → 재검증 결과 모두 존재 확인 | - | ✅ 해결 | | 3 | SS400 철판 수입검사 | RM에 없음 (PT로 철판절단/평철 존재). 원자재 수입검사 실제 수행 여부 확인 필요 | items | ⏳ 확인 필요 | | 4 | 와이어글라스 통합 | i_wire.php + i_wireDaehan.php → RM-011로 통합 | 양식 | ✅ 통합 가능 | | 5 | GI/EGI 통합 | GI 양식을 EGI 양식으로 통합 (동일 코드 체계 사용) | 양식 | ✅ 통합 가능 | | 6 | 제어기 양식 통합 | 전동개폐기 + 연동폐쇄기구 → PM-* 계열 양식 하나로 | 양식 | ⏳ 검토 필요 | --- ## 6. 변경 이력 | 날짜 | 항목 | 변경 내용 | 파일 | 승인 | |------|------|----------|------|------| | 2026-02-05 | - | 계획 문서 초안 작성 | - | - | | 2026-02-05 | 2.3, 3.2 | **SAM 품목 매핑 재분석**: item_id_mappings 사용 불가 → items 직접 조회. RM 28건, SM 61건 정확한 매핑 완료. GI/모터/샤우드 등 "누락"으로 표시됐던 품목이 실제 존재 확인. | - | - | | 2026-02-05 | 2.3 | **재검증**: 방화유리(`S0007 망입유리`), 마환봉(`90205` 외 5건) 모두 PT로 존재 확인. **유일하게 검토 필요: SS400 철판** (RM에 없음, PT로 가공품만 존재) | - | - | | 2026-02-05 | 3.2 | **SUS 절곡판 양식 생성**: template_id:19 생성, 필드 8개 복사, SUS 품목 11건 연결 (14172~14182) | document_templates | - | | 2026-02-05 | 3.2 | **앵글 양식 생성**: template_id:20 생성, 필드 8개 복사, 앵글 품목 2건 연결 (14484, 14485) | document_templates | - | | 2026-02-05 | 3.2 | **Phase 2 완료**: 앵글하부(21), 마환봉(22), 각파이프(23), 샤프트(24) - 총 20건 품목 연결 | document_templates | - | | 2026-02-05 | 3.2 | **Phase 3 완료**: 화이바글라스(25), 실리카(26), 와이어글라스(27), 방화유리(28) - 6건 품목 연결 | document_templates | - | | 2026-02-05 | 3.2 | **Phase 4 부분 완료**: 전동개폐기(29), 내화실(30) - 14건 품목 연결. 베어링부/내화충진재는 품목 미등록 | document_templates | - | | 2026-02-05 | 3.2 | **Phase 5 통합 완료**: 와이어글라스(대한) → id:27 통합. 세라크울은 품목 미등록 | document_templates | - | | 2026-02-05 | 3.2 | **EGI 품목 연결**: template_id:18에 EGI RM 품목 10건 연결 (14183~14239). 슬랫/절곡코일은 별도 RM 없어 EGI로 커버 | document_templates | - | --- ## 7. 참고 문서 - **API 연동 가이드**: `docs/api/document-api-integration.md` - **문서 양식 동적화 계획**: `~/.claude/plans/steady-discovering-stonebraker.md` - **레거시 파일**: `5130/instock/i_*.php` (23개) - **품질 체크리스트**: `docs/standards/quality-checklist.md` --- ## 8. 검증 방법 ### 8.1 양식별 검증 체크리스트 - [ ] MNG에서 양식 저장/로드 정상 동작 - [ ] 검사항목 구조가 레거시와 일치 - [ ] auto-highlight (standard_criteria) 정상 동작 - [ ] 품목 연결 완료 (link_values) - [ ] React resolve API 테스트 통과 - [ ] 문서 생성/저장 테스트 통과 ### 8.2 전체 검증 기준 | 기준 | 목표 | 비고 | |------|------|------| | 양식 생성 완료 | 12-15종 | 레거시 23종 → 통합 (GI→EGI, 와이어 통합 등) | | 품목 연결 완료 | RM 28건 + SM 61건 + PT 관련 품목 | 수입검사 대상 품목 | | 검토 필요 품목 | 1종 (SS400 철판) | RM에 없음. 원자재 수입검사 수행 여부 확인 | | API 테스트 | resolve/upsert 정상 | 모든 양식 | --- ## 9. 자기완결성 점검 결과 ### 9.1 체크리스트 검증 | # | 검증 항목 | 상태 | 비고 | |---|----------|:----:|------| | 1 | 작업 목적이 명확한가? | ✅ | 레거시 23종 → SAM 전환 | | 2 | 성공 기준이 정의되어 있는가? | ✅ | 섹션 8.2 | | 3 | 작업 범위가 구체적인가? | ✅ | Phase 1-5 정의 | | 4 | 의존성이 명시되어 있는가? | ✅ | API 구현 완료 전제 | | 5 | 참고 파일 경로가 정확한가? | ✅ | 5130/instock/ | | 6 | 단계별 절차가 실행 가능한가? | ✅ | 섹션 4.1 | | 7 | 검증 방법이 명시되어 있는가? | ✅ | 섹션 8.1 | | 8 | 모호한 표현이 없는가? | ✅ | - | ### 9.2 새 세션 시뮬레이션 테스트 | 질문 | 답변 가능 | 참조 섹션 | |------|:--------:|----------| | Q1. 이 작업의 목적은 무엇인가? | ✅ | 1.1 배경 | | Q2. 어디서부터 시작해야 하는가? | ✅ | 3.2 Phase 1 | | Q3. 어떤 파일을 참조해야 하는가? | ✅ | 2.1 파일-품명 매핑 | | Q4. 작업 완료 확인 방법은? | ✅ | 8. 검증 방법 | | Q5. 막혔을 때 참고 문서는? | ✅ | 7. 참고 문서 | **결과**: 5/5 통과 → ✅ 자기완결성 확보 --- *이 문서는 /plan 스킬로 생성되었습니다.*