# Phase 2: mng 견적 수식 관리 분석

> **목표:** 현재 mng 견적 기능 상태 파악 및 문제점 도출
> **분석일:** 2025-12-19
> **상태:** ✅ 완료

---

## 체크리스트

- [x] 현재 구현 상태 분석 (quote-formulas)
- [x] 오류/문제점 목록화
- [x] 5130과의 차이점 분석
- [x] 개선 방향 도출
- [x] README.md 작성

---

## 산출물

| 파일 | 설명 | 상태 |
|------|------|------|
| [README.md](./README.md) | 분석 체크리스트 및 요약 | ✅ |
| [current-state.md](./current-state.md) | 현재 구현 상태 | ✅ |
| [issues.md](./issues.md) | 오류/문제점 목록 | ✅ |

---

## 요약

### 현재 구현 상태

mng 프로젝트에 견적 수식 관리 기능이 **완전히 구현**되어 있습니다:

| 구성요소 | 개수 | 상태 |
|----------|------|------|
| DB 테이블 | 5개 | ✅ 마이그레이션 완료 |
| Models | 5개 | ✅ 구현 완료 |
| Services | 2개 | ✅ 구현 완료 |
| Controllers | 3개 | ✅ 구현 완료 |
| Views | 9개 | ✅ 구현 완료 |
| API Routes | 30+ | ✅ 구현 완료 |

### 주요 기능

1. **수식 관리**: CRUD, 복제, 활성/비활성 토글
2. **카테고리 관리**: 수식 그룹화, 순서 관리
3. **수식 유형**: input, calculation, range, mapping
4. **수식 평가**: 변수 치환, 함수 처리, 조건 평가
5. **시뮬레이터**: 전체 수식 테스트

### 5130 vs mng 비교

| 항목 | 5130 | mng | Gap |
|------|------|-----|-----|
| 수식 저장 | JS 파일 하드코딩 | DB 동적 관리 | ✅ mng 우수 |
| 카테고리 | 없음 | 13개 분류 지원 | ✅ mng 우수 |
| 범위 조건 | PHP 함수 내장 | DB range 테이블 | ✅ mng 우수 |
| 매핑 조건 | PHP 조건문 | DB mapping 테이블 | ✅ mng 우수 |
| 품목 연동 | price_* 테이블 직접 조회 | ⚠️ TODO 상태 | 🔴 미완성 |
| 계산 엔진 | JavaScript | PHP (eval) | ⚠️ 보안 주의 |

### 핵심 이슈

1. **🔴 품목 단가 연동 미완성** - `getItemPrice()` TODO 상태
2. **🟡 보안 취약점** - `eval()` 사용 중
3. **🟡 5130 수식 데이터 미입력** - 빈 테이블 상태

---

## 다음 단계 (Phase 3)

1. 5130 수식 데이터를 mng DB로 마이그레이션
2. 품목 단가 조회 연동 구현
3. eval() 대신 안전한 수식 파서 적용
4. 스크린/슬랫 제품별 수식 분리 구현

---

## 참조 문서

- [Phase 1: 5130 분석](../phase-1-5130-analysis/README.md)
- [current-state.md](./current-state.md) - 상세 구현 상태
- [issues.md](./issues.md) - 문제점 및 개선사항
