- mng 견적 수식 관리 현재 상태 분석 - DB 테이블 5개, Models 5개, Services 2개 - Controllers 3개, Views 9개 구현 완료 - 핵심 이슈 도출 - 품목 단가 조회 미연동 (getItemPrice TODO) - 수식 데이터 미입력 (테이블 비어있음) - eval() 보안 취약점 - 5130 vs mng 비교 분석 - PROGRESS.md 업데이트
2.5 KiB
2.5 KiB
Phase 2: mng 견적 수식 관리 분석
목표: 현재 mng 견적 기능 상태 파악 및 문제점 도출 분석일: 2025-12-19 상태: ✅ 완료
체크리스트
- 현재 구현 상태 분석 (quote-formulas)
- 오류/문제점 목록화
- 5130과의 차이점 분석
- 개선 방향 도출
- README.md 작성
산출물
| 파일 | 설명 | 상태 |
|---|---|---|
| README.md | 분석 체크리스트 및 요약 | ✅ |
| current-state.md | 현재 구현 상태 | ✅ |
| issues.md | 오류/문제점 목록 | ✅ |
요약
현재 구현 상태
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() 대신 안전한 수식 파서 적용
- 스크린/슬랫 제품별 수식 분리 구현
참조 문서
- Phase 1: 5130 분석
- current-state.md - 상세 구현 상태
- issues.md - 문제점 및 개선사항