# 기준정보 분석 결과

> 분석 일시: 2024-12-18
> 분석 대상: design/mes기획서_리액트 (디자인팀 기획 사이트)

## 분석 목적

디자인팀에서 제작한 기획 사이트의 **기준정보** 메뉴를 분석하여 API 개발에 필요한 스펙을 추출합니다.

---

## 메뉴 구조

기준정보 메뉴는 크게 3가지 유형으로 분류됩니다:

| 유형 | 메뉴 | 설명 |
|------|------|------|
| **EAV 메타관리** | 품목/공정/검사/현장/수주 기준관리 | 폼 템플릿 동적 구성 |
| **마스터 데이터** | 생산/출고 기준관리, 공정관리, 채번관리, 공통코드, 문서양식 | 고정 스키마 데이터 |
| **수식 엔진** | 견적수식관리 | 자동 견적 산출 |

---

## 1. 품목기준관리 (EAV 메타)

![품목기준관리](screenshots/01-item-master-list.png)

### 개요
품목 등록 폼의 구조를 동적으로 정의하는 메타데이터 관리 시스템입니다.

### 페이지 구성
| 코드 | 페이지명 | 경로 |
|------|----------|------|
| FG | 품목 등록 / 제품 | /제품관리/품목_등록 |

### 섹션 구조
| 섹션명 | 항목 | 속성 |
|--------|------|------|
| 기본정보 | 품목코드, 품목명, 분류 | text, required 등 |
| BOM | BOM 필요 | toggle |

### 탭 구조 (EAV)
```
계층구조 → 섹션 → 항목 → 속성
```

---

## 2. 공정기준관리 (EAV 메타)

![공정기준관리](screenshots/02-process-master.png)

### 개요
공정 등록 폼의 구조를 정의합니다.

### 페이지 구성
| 코드 | 페이지명 | 경로 |
|------|----------|------|
| PROD | 공정 등록 / 생산 | /기준정보/공정_등록 |

### 섹션 구조
| 섹션명 | 항목 |
|--------|------|
| 기본정보 | 공정코드, 공정명, 공정구분, 담당부서 |
| 자원정보 | 설비정보, 필요인원 |
| 작업정보 | 작업일지 양식, 공정흐름코드, 설명 |

---

## 3. 검사기준관리 (EAV 메타)

![검사기준관리](screenshots/03-inspection-master.png)

### 개요
검사 기준 및 검사 성적서 폼 구조를 정의합니다.

### 페이지 구성
| 코드 | 페이지명 | 설명 |
|------|----------|------|
| IQC | 검사기준 등록 | 검사 템플릿 |
| IQC | 수입검사성적서 | 수입 자재 검사 |
| PQC | 중간검사성적서 | 공정 중간검사 |

### 탭 구조
```
계층구조 | 섹션 | 검사항목 | 속성 | 검사템플릿 | KS규격 | 샘플링기준
```

### KS규격 연동
- 산업 표준 검사 기준 참조
- 샘플링 기준 자동 적용

---

## 4. 현장기준관리 (EAV 메타)

![현장기준관리](screenshots/04-site-master.png)

### 개요
현장 등록 폼의 구조를 정의합니다.

### 페이지 구성
| 코드 | 페이지명 | 경로 |
|------|----------|------|
| NEW | 현장 등록 / 신축 | /판매관리/현장_등록 |

### 섹션 구조
| 섹션명 | 항목 |
|--------|------|
| 기본정보 | 현장코드, 현장명, 거래처, 카테고리, 상태, 위치 |
| 계약정보 | 계약시작일, 계약종료일 |
| 담당자정보 | 현장소장, 연락처 |

---

## 5. 수주기준관리 (EAV 메타)

![수주기준관리](screenshots/05-order-master.png)

### 개요
수주 등록 폼의 구조를 정의합니다. 가장 복잡한 EAV 구조를 가집니다.

### 페이지 구성
| 코드 | 페이지명 | 설명 |
|------|----------|------|
| NORMAL | 일반 수주 | 신규 수주 |
| ADDITIONAL | 추가 수주 | 기존 현장 추가 수주 |

### 섹션 구조 (6개)
| 섹션명 | 주요 항목 |
|--------|----------|
| 기본정보 | 수주번호, 수주일, 거래처, 현장 |
| 납품정보 | 납품예정일, 설치예정일 |
| 품목정보 | 제품카테고리, 제품명, 수량 |
| 제작사양 | 가로(W), 세로(H), 설치유형, 모터전원, 제어기 |
| 금액정보 | 단가, 금액, 부가세 |
| 기타정보 | 비고, 특이사항 |

### 제작사양 필드 (방화셔터 특화)
- **가로(W)**: 개구폭 (mm)
- **세로(H)**: 개구높이 (mm)
- **설치유형**: 벽면형, 측면형, 혼합형
- **모터전원**: 220V, 380V
- **제어기**: 유선, 무선
- **샤프트 규격**: 4", 5", 6", 8" (자동 산출)

---

## 6. 생산기준관리

![생산기준관리](screenshots/06-production-master.png)

### 개요
생산 관련 마스터 데이터 관리 페이지 모음입니다.

### 페이지 구성
| 코드 | 페이지명 | 설명 |
|------|----------|------|
| WO | 작업지시 목록 | 작업지시 조회/관리 |
| WO | 작업지시 등록 | 신규 작업지시 생성 |
| EQ | 설비 목록 | 생산 설비 관리 |
| LN | 라인/작업장 목록 | 생산 라인 관리 |
| BOM | BOM 목록 | 자재명세서 관리 |

### 공통 UI 패턴
- 검색조건 영역
- 리포트카드 (요약 통계)
- 목록테이블

---

## 7. 출고기준관리

![출고기준관리](screenshots/07-shipment-master.png)

### 개요
출고 관련 마스터 데이터 관리 페이지 모음입니다.

### 페이지 구성
| 코드 | 페이지명 | 설명 |
|------|----------|------|
| DM | 배송방법 | 배송 방법 코드 관리 |
| CR | 배송업체 | 운송 업체 정보 |
| SS | 출하상태 | 출하 상태 코드 |
| PK | 포장기준 | 포장 규격 정보 |
| VH | 차량 | 배송 차량 관리 |
| SD | 출하문서 | 출하 문서 양식 |

---

## 8. 공정관리

![공정관리](screenshots/08-process-list.png)

### 개요
실제 공정 목록을 관리합니다. (EAV 메타가 아닌 실제 데이터)

### 공정 목록
| 공정코드 | 공정명 | 구분 | 담당부서 |
|----------|--------|------|----------|
| P-001 | 스크린 | 제조 | 스크린팀 |
| P-002 | 절곡 | 제조 | 절곡팀 |
| P-003 | 슬랫 | 제조 | 슬랫팀 |
| P-004 | 재고(포밍) | 반제품생산 | 절곡팀 |

### 테이블 컬럼
| 컬럼 | 설명 |
|------|------|
| 공정코드 | P-### 형식 |
| 공정명 | 공정 이름 |
| 구분 | 제조, 반제품생산 등 |
| 담당부서 | 담당 부서명 |
| 분류규칙 | 품목 분류 규칙 |
| 인원 | 필요 인원 |
| 상태 | 활성/비활성 |

---

## 9. 채번관리

![채번관리](screenshots/09-numbering-list.png)

### 개요
시스템 전체의 자동 채번 규칙을 관리합니다.

### 채번 규칙 목록 (15개)
| 번호기준 이름 | 적용 대상 | 접두사 | 날짜 형식 | 순번 자릿수 | 리셋 주기 | 예시 |
|---------------|-----------|--------|-----------|-------------|-----------|------|
| 출고번호 | 출고 | OUT | YYMMDD | 3 | 일별 | OUT241218-001 |
| 현장코드 | 현장 | S | YYMM | 3 | 월별 | S-2412-001 |
| 출하번호 | 출하 | KD-SH | YY | 4 | 연별 | KD-SH-24-0001 |
| 작업지시번호 | 작업지시 | KD-WO | YY | 4 | 연별 | KD-WO-24-0001 |
| 검사LOT | 검사 | KD-IQC | YYMM | 4 | 월별 | KD-IQC-2412-0001 |
| 생산LOT | 생산 | KD-PL | YYMM | 4 | 월별 | KD-PL-2412-0001 |
| 수주번호(일반) | 수주 | KD-TS | YY | 4 | 연별 | KD-TS-24-0001 |
| 수주번호(슬랫) | 수주 | KD-SL | YY | 4 | 연별 | KD-SL-24-0001 |
| 수주번호(비드) | 수주 | KD-BD | YY | 4 | 연별 | KD-BD-24-0001 |
| ... | ... | ... | ... | ... | ... | ... |

### 데이터 스키마
```
numbering_rules
├── id (PK)
├── tenant_id (FK)
├── name - 번호기준 이름
├── target_entity - 적용 대상 (orders, shipments, work_orders 등)
├── prefix - 접두사
├── date_format - 날짜 형식 (YY, YYMM, YYMMDD)
├── sequence_digits - 순번 자릿수
├── reset_period - 리셋 주기 (daily, monthly, yearly)
├── current_sequence - 현재 순번
├── last_reset_date - 마지막 리셋일
├── separator - 구분자 (-, _, 없음)
├── status - 상태
├── created_at
└── updated_at
```

### API 스펙
```
GET    /api/numbering-rules           - 채번 규칙 목록
GET    /api/numbering-rules/{id}      - 채번 규칙 상세
POST   /api/numbering-rules           - 채번 규칙 등록
PUT    /api/numbering-rules/{id}      - 채번 규칙 수정
DELETE /api/numbering-rules/{id}      - 채번 규칙 삭제
POST   /api/numbering-rules/{id}/generate - 번호 생성
POST   /api/numbering-rules/{id}/reset    - 순번 리셋
```

---

## 10. 공통코드관리

![공통코드관리](screenshots/10-common-code-list.png)

### 개요
시스템 전체에서 사용하는 코드 체계를 관리합니다.

### 코드 카테고리 (8개)
| 카테고리 | 건수 | 패턴 예시 | 설명 |
|----------|------|-----------|------|
| 기본코드 | - | C-001 | 기본 분류 코드 |
| 부자재 | - | BP-GR-001 | 부자재 품목 코드 |
| 원자재 | - | SCR-0.3T | 원자재 규격 코드 |
| 구매부품 | - | E-220V-300KG | 구매 부품 코드 |
| 절곡부품 | - | RC24 | 절곡 부품 코드 |
| 셔터종류 | - | SCR, SLT | 셔터 유형 코드 |
| 인정제품 | - | - | 인정 제품 코드 |
| 신규인정 | - | - | 신규 인정 코드 |

### 데이터 스키마
```
common_codes
├── id (PK)
├── tenant_id (FK)
├── category - 코드 카테고리
├── code - 코드값 (UNIQUE within category)
├── name - 코드명
├── description - 설명
├── parent_id (FK, self) - 상위 코드 (계층 구조)
├── sort_order - 정렬 순서
├── is_system - 시스템 코드 여부 (수정 불가)
├── status - 상태
├── created_at
└── updated_at
```

### API 스펙
```
GET    /api/common-codes              - 공통코드 목록
GET    /api/common-codes/{id}         - 공통코드 상세
POST   /api/common-codes              - 공통코드 등록
PUT    /api/common-codes/{id}         - 공통코드 수정
DELETE /api/common-codes/{id}         - 공통코드 삭제

GET    /api/common-codes/categories   - 카테고리 목록
GET    /api/common-codes/by-category/{category} - 카테고리별 코드
```

---

## 11. 견적수식관리

![견적수식관리](screenshots/11-quote-formula-list.png)

### 개요
자동 견적 산출을 위한 수식 엔진을 관리합니다.

### 수식 현황
- **총 수식 수**: 44개
- **제품**: 공통 (제품별 확장 가능)
- **카테고리**: 13개 (실행 순서 기반)

### 카테고리 및 실행 순서
| 순서 | 카테고리명 | 수식 수 | 설명 |
|------|------------|---------|------|
| 1 | 기본정보 | 10 | 입력값 정의 |
| 2 | 제작사이즈 | 0 | 제작 치수 계산 |
| 3 | 면적&중량 | 1 | 면적/중량 산출 |
| 4 | 모터용량산출 | 2 | 모터 용량 결정 |
| 5 | 브라켓&받침용앵글 | 4 | 브라켓 수량 계산 |
| 6 | 감기샤프트 | 2 | 샤프트 규격 선정 |
| 7 | 가이드레일 | 7 | 레일 수량 계산 |
| 8 | 연기차단재 | 0 | 연기차단재 산출 |
| 9 | 셔터박스(케이스) | 9 | 케이스 규격 산출 |
| 10 | 하단마감재 | 2 | 마감재 산출 |
| 11 | 부자재 | 4 | 부자재 수량 |
| 12 | 구매부품 | 3 | 구매부품 수량 |
| 13 | 장수산출 | 0 | 최종 장수 계산 |

### 기본정보 변수
| 순서 | 이름 | 변수 | 타입 | 설명 |
|------|------|------|------|------|
| 1 | 제품구분 | PC | 계산식 | 스크린/철재 |
| 2 | 오픈사이즈 가로 | W0 | 계산식 | 고객 주문 가로 (mm) |
| 3 | 오픈사이즈 세로 | H0 | 계산식 | 고객 주문 세로 (mm) |
| 4 | 샤프트 규격 | SHAFT_INCH | 계산식 | 4"/5"/6"/8" |
| 5 | 설치유형 | INSTALL_TYPE | 계산식 | 벽면형/측면형/혼합형 |
| 6 | 모터 전원 | MP | 계산식 | 220V/380V |
| 7 | 유선/무선 | WIRE | 계산식 | 유선/무선 |
| 8 | 연동제어기 타입 | CT | 계산식 | 매립/노출 |
| 9 | 수량 | QTY | 계산식 | 주문 수량 |
| 10 | 케이스 사이즈 | CASE_SIZE | 계산식 | 스크린500*350/철재650*500 |

### 데이터 스키마
```
quote_formulas
├── id (PK)
├── tenant_id (FK)
├── product_code - 제품 코드 (공통 또는 특정 제품)
├── category_id (FK) - 카테고리
├── sort_order - 실행 순서
├── name - 수식 이름
├── variable_name - 변수명 (W0, H0, SHAFT_INCH 등)
├── formula_type - 타입 (input, formula, lookup, condition)
├── formula_expression - 수식 표현식
├── result_type - 결과 타입 (number, text, output)
├── description - 설명
├── status - 상태
├── created_at
└── updated_at

quote_formula_categories
├── id (PK)
├── tenant_id (FK)
├── name - 카테고리명
├── execution_order - 실행 순서
├── formula_count - 수식 수 (계산 필드)
├── status
└── created_at
```

### API 스펙
```
GET    /api/quote-formulas                    - 수식 목록
GET    /api/quote-formulas/{id}               - 수식 상세
POST   /api/quote-formulas                    - 수식 등록
PUT    /api/quote-formulas/{id}               - 수식 수정
DELETE /api/quote-formulas/{id}               - 수식 삭제

GET    /api/quote-formula-categories          - 카테고리 목록
POST   /api/quote-formulas/calculate          - 견적 계산 실행

# 수식 관리 버튼
POST   /api/quote-formulas/products/{code}/formulas  - 품목 수식 관리
POST   /api/quote-formulas/categories                - 분류 관리
POST   /api/quote-formulas/prices                    - 단가 수식 관리
POST   /api/quote-formulas/auto-calculate            - 자동 견적 산출
```

---

## 12. 문서양식관리

![문서양식관리](screenshots/12-document-template-list.png)

### 개요
시스템에서 사용하는 문서 양식을 관리합니다.

### 문서 현황
- **총 문서 양식**: 29개
- **카테고리**: 5개

### 카테고리별 문서
| 카테고리 | 건수 | 문서 목록 |
|----------|------|-----------|
| 판매문서 | 4 | 견적서(QT), 견적산출내역서(QT-DTL), 수주확인서(SO), 거래명세서(SL) |
| 생산문서 | 11 | 작업지시서(WO), 스크린 생산지시서(WO-SCR), 슬랫 생산지시서(WO-SLT), 절곡 생산지시서(WO-FLD), 발주서(PO), 생산실적보고서(PR), 스크린 작업일지(WL-SCR), 절곡 작업일지(WL-FLD), 슬랫 작업일지(WL-SLT), 재고생산 작업일지(WL-STK), 포장 작업일지(WL-PKG) |
| 품질문서 | 7 | 수입검사성적서(IQC), 중간검사성적서(PQC), 스크린 중간검사성적서(PQC-SCR), 절곡품 중간검사성적서(PQC-BND), 제품검사성적서(FQC), 부적합품보고서(NCR), 제품검사신청서(FQC-REQ) |
| 물류문서 | 4 | 입고전표(GR), 출고전표(GI), 배송지시서(DL), 납품확인서(DC) |
| 회계문서 | 3 | 세금계산서(INV), 매출장(SLS), 매입장(PUR) |

### 문서 상세

#### 판매문서
| 코드 | 문서명 | 템플릿 | 설명 |
|------|--------|--------|------|
| QT | 견적서 | O | 고객에게 제출하는 견적서 |
| QT-DTL | 견적산출내역서 | O | 견적 상세 산출내역 |
| SO | 수주확인서 | O | 수주 확정 문서 |
| SL | 거래명세서 | O | 출하 시 발행하는 거래명세서 |

#### 생산문서
| 코드 | 문서명 | 템플릿 | 설명 |
|------|--------|--------|------|
| WO | 작업지시서 | O | 생산 작업지시 문서 (공통) |
| WO-SCR | 스크린 생산지시서 | - | 스크린 공정 생산지시서 |
| WO-SLT | 슬랫 생산지시서 | - | 슬랫 공정 생산지시서 |
| WO-FLD | 절곡 생산지시서 | - | 절곡 공정 생산지시서 |
| PO | 발주서 | O | 자재/외주 발주 문서 |
| PR | 생산실적보고서 | - | 생산 완료 실적 보고 |
| WL-SCR | 스크린 작업일지 | O | 스크린 생산부서 작업일지 |
| WL-FLD | 절곡 작업일지 | O | 절곡 생산부서 작업일지 |
| WL-SLT | 슬랫 작업일지 | O | 슬랫 생산부서 작업일지 |
| WL-STK | 재고생산 작업일지 | O | 절곡품 재고생산 작업일지 (중간검사성적서 포함) |
| WL-PKG | 포장 작업일지 | - | 포장 생산부서 작업일지 |

#### 품질문서
| 코드 | 문서명 | 템플릿 | 설명 |
|------|--------|--------|------|
| IQC | 수입검사성적서 | O | 수입 자재 검사 성적서 |
| PQC | 중간검사성적서 | O | 공정 중간검사 성적서 |
| PQC-SCR | 스크린 중간검사성적서 | O | 스크린 제품 중간검사 |
| PQC-BND | 절곡품 중간검사성적서 | O | 절곡품 중간검사 |
| FQC | 제품검사성적서 | O | 출하 후 고객요청 검사 성적서 |
| NCR | 부적합품보고서 | - | 불합격 판정 보고서 |
| FQC-REQ | 제품검사신청서 | - | 자동방화셔터 제품검사요청서 |

#### 물류문서
| 코드 | 문서명 | 템플릿 | 설명 |
|------|--------|--------|------|
| GR | 입고전표 | - | 자재 입고 전표 |
| GI | 출고전표 | - | 자재 출고 전표 |
| DL | 배송지시서 | - | 출하 배송 지시서 |
| DC | 납품확인서 | O | 현장 납품 확인서 (자재내역, 절곡내역, 도면 포함) |

#### 회계문서
| 코드 | 문서명 | 템플릿 | 설명 |
|------|--------|--------|------|
| INV | 세금계산서 | O | 세금계산서 |
| SLS | 매출장 | - | 매출 기록 문서 |
| PUR | 매입장 | - | 매입 기록 문서 |

### 데이터 스키마
```
document_templates
├── id (PK)
├── tenant_id (FK)
├── code (UNIQUE) - 문서 코드
├── name - 문서명
├── category - 카테고리 (판매문서, 생산문서, 품질문서, 물류문서, 회계문서)
├── description - 설명
├── has_template - 템플릿 여부
├── template_file - 템플릿 파일 경로
├── template_engine - 템플릿 엔진 (blade, html, pdf)
├── data_source - 데이터 소스 테이블
├── status - 상태
├── created_at
└── updated_at
```

### API 스펙
```
GET    /api/document-templates                    - 문서양식 목록
GET    /api/document-templates/{id}               - 문서양식 상세
POST   /api/document-templates                    - 문서양식 등록
PUT    /api/document-templates/{id}               - 문서양식 수정
DELETE /api/document-templates/{id}               - 문서양식 삭제

GET    /api/document-templates/{id}/preview       - 미리보기
POST   /api/document-templates/{id}/generate      - 문서 생성
GET    /api/document-templates/by-category/{cat}  - 카테고리별 조회
```

---

## EAV 공통 스키마

기준관리 메뉴들 (품목, 공정, 검사, 현장, 수주)은 공통적인 EAV 구조를 따릅니다.

### 페이지 정의
```
form_pages
├── id (PK)
├── tenant_id (FK)
├── page_code (UNIQUE) - 페이지 코드 (FG, PROD, IQC, NEW, NORMAL 등)
├── page_name - 페이지명
├── page_path - 경로
├── target_entity - 대상 엔티티 (items, processes, inspections 등)
├── description
├── status
├── created_at
└── updated_at
```

### 섹션 정의
```
form_sections
├── id (PK)
├── page_id (FK)
├── section_code - 섹션 코드
├── section_name - 섹션명
├── sort_order - 정렬 순서
├── is_collapsible - 접기 가능 여부
├── default_expanded - 기본 펼침 여부
├── status
└── created_at
```

### 필드(항목) 정의
```
form_fields
├── id (PK)
├── section_id (FK)
├── field_code - 필드 코드
├── field_name - 필드명
├── field_type - 타입 (text, number, select, date, toggle 등)
├── is_required - 필수 여부
├── default_value - 기본값
├── validation_rules - 유효성 규칙 (JSON)
├── options - 선택 옵션 (JSON, select 타입용)
├── placeholder - 플레이스홀더
├── help_text - 도움말
├── sort_order - 정렬 순서
├── status
└── created_at
```

### 필드 속성
```
form_field_attributes
├── id (PK)
├── field_id (FK)
├── attribute_key - 속성 키
├── attribute_value - 속성 값
└── created_at
```

---

## 요약

### 분석 완료 항목
| 메뉴 | 유형 | 스크린샷 | 상태 |
|------|------|----------|------|
| 품목기준관리 | EAV 메타 | 01-item-master-list.png | ✅ |
| 공정기준관리 | EAV 메타 | 02-process-master.png | ✅ |
| 검사기준관리 | EAV 메타 | 03-inspection-master.png | ✅ |
| 현장기준관리 | EAV 메타 | 04-site-master.png | ✅ |
| 수주기준관리 | EAV 메타 | 05-order-master.png | ✅ |
| 생산기준관리 | 마스터 | 06-production-master.png | ✅ |
| 출고기준관리 | 마스터 | 07-shipment-master.png | ✅ |
| 공정관리 | 마스터 | 08-process-list.png | ✅ |
| 채번관리 | 마스터 | 09-numbering-list.png | ✅ |
| 공통코드관리 | 마스터 | 10-common-code-list.png | ✅ |
| 견적수식관리 | 수식엔진 | 11-quote-formula-list.png | ✅ |
| 문서양식관리 | 마스터 | 12-document-template-list.png | ✅ |

### 구현 우선순위
1. **1순위**: 채번관리, 공통코드관리 (다른 기능의 의존성)
2. **2순위**: EAV 공통 스키마 (품목/공정/검사/현장/수주 기준관리)
3. **3순위**: 견적수식관리 (견적 기능 의존)
4. **4순위**: 문서양식관리 (PDF 출력 기능)
5. **5순위**: 생산/출고 기준관리, 공정관리 (마스터 데이터)