Files
hskwon 3b2f1cefa4 견적 기능 개발 Phase 2: mng 분석 완료
- mng 견적 수식 관리 현재 상태 분석
  - DB 테이블 5개, Models 5개, Services 2개
  - Controllers 3개, Views 9개 구현 완료
- 핵심 이슈 도출
  - 품목 단가 조회 미연동 (getItemPrice TODO)
  - 수식 데이터 미입력 (테이블 비어있음)
  - eval() 보안 취약점
- 5130 vs mng 비교 분석
- PROGRESS.md 업데이트
2025-12-19 15:44:56 +09:00

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+ 구현 완료

주요 기능

  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. 스크린/슬랫 제품별 수식 분리 구현

참조 문서