Phase 2: mng 견적 수식 관리 분석
목표: 현재 mng 견적 기능 상태 파악 및 문제점 도출
분석일: 2025-12-19
상태: ✅ 완료
체크리스트
산출물
요약
현재 구현 상태
mng 프로젝트에 견적 수식 관리 기능이 완전히 구현되어 있습니다:
| 구성요소 |
개수 |
상태 |
| DB 테이블 |
5개 |
✅ 마이그레이션 완료 |
| Models |
5개 |
✅ 구현 완료 |
| Services |
2개 |
✅ 구현 완료 |
| Controllers |
3개 |
✅ 구현 완료 |
| Views |
9개 |
✅ 구현 완료 |
| API Routes |
30+ |
✅ 구현 완료 |
주요 기능
- 수식 관리: CRUD, 복제, 활성/비활성 토글
- 카테고리 관리: 수식 그룹화, 순서 관리
- 수식 유형: input, calculation, range, mapping
- 수식 평가: 변수 치환, 함수 처리, 조건 평가
- 시뮬레이터: 전체 수식 테스트
5130 vs mng 비교
| 항목 |
5130 |
mng |
Gap |
| 수식 저장 |
JS 파일 하드코딩 |
DB 동적 관리 |
✅ mng 우수 |
| 카테고리 |
없음 |
13개 분류 지원 |
✅ mng 우수 |
| 범위 조건 |
PHP 함수 내장 |
DB range 테이블 |
✅ mng 우수 |
| 매핑 조건 |
PHP 조건문 |
DB mapping 테이블 |
✅ mng 우수 |
| 품목 연동 |
price_* 테이블 직접 조회 |
⚠️ TODO 상태 |
🔴 미완성 |
| 계산 엔진 |
JavaScript |
PHP (eval) |
⚠️ 보안 주의 |
핵심 이슈
- 🔴 품목 단가 연동 미완성 -
getItemPrice() TODO 상태
- 🟡 보안 취약점 -
eval() 사용 중
- 🟡 5130 수식 데이터 미입력 - 빈 테이블 상태
다음 단계 (Phase 3)
- 5130 수식 데이터를 mng DB로 마이그레이션
- 품목 단가 조회 연동 구현
- eval() 대신 안전한 수식 파서 적용
- 스크린/슬랫 제품별 수식 분리 구현
참조 문서