Files
sam-docs/projects/quotation/MASTER_PLAN.md

6.4 KiB

견적(Quotation) 기능 개발 마스터 플랜

목표: 5130 레거시 견적 기능을 SAM 시스템(mng + api)으로 이관 공통 정책: PROJECT_DEVELOPMENT_POLICY.md 참조 최종 업데이트: 2025-12-19


📋 프로젝트 개요

개발 흐름

Phase 1: 5130 견적 기능 분석
    ↓
Phase 2: mng 견적 수식 관리 분석
    ↓
Phase 3: mng 견적 기능 구현 (5130 수식 적용)
    ↓
Phase 4: 견적 API 개발

핵심 원칙

  1. 기존 테이블 활용: 새 테이블 임의 생성 금지, 기존 prices/products 등 활용
  2. 5130 수식 정확 반영: JS 파일 분석으로 모든 수식 누락 없이 이관
  3. 품목기준관리 연동: SAM 품목 데이터 기반으로 견적 산출
  4. 단계별 문서화: 세션 중단 시에도 이어서 작업 가능하도록 진행 상황 기록

📁 문서 구조

docs/projects/quotation/
├── MASTER_PLAN.md           # 이 문서
├── PROGRESS.md              # 진행 현황
├── screenshots/             # MES 프로토타입 화면 캡쳐
├── phase-1-5130-analysis/   # 1단계: 5130 분석
│   ├── README.md
│   ├── ui-analysis.md
│   ├── js-formulas.md       # ⚠️ 핵심: 수식 분석
│   ├── db-structure.md
│   └── business-logic.md
├── phase-2-mng-analysis/    # 2단계: mng 분석
│   ├── README.md
│   ├── current-state.md
│   └── issues.md
├── phase-3-implementation/  # 3단계: 구현
│   ├── README.md
│   ├── table-mapping.md
│   ├── formula-spec.md
│   └── implementation.md
└── phase-4-api/             # 4단계: API 개발
    ├── README.md
    └── api-spec.md

📊 Phase 상세

Phase 1: 5130 견적 기능 분석

목표: 5130 레거시 견적 시스템 완전 분석 및 문서화

분석 대상:

산출물:

파일 설명
README.md 체크리스트 및 요약
ui-analysis.md 화면별 기능 분석
js-formulas.md JS 수식 전체 분석 (핵심!)
db-structure.md 테이블/컬럼 구조
business-logic.md 비즈니스 로직 정리

수식 분석 체크리스트:

각 수식 분석 시 필수 기록:
- [ ] 수식 이름/ID
- [ ] 입력 변수 목록
- [ ] 계산 공식 (수학적 표기)
- [ ] 출력 값 및 단위
- [ ] 예외 처리 조건
- [ ] 테스트 케이스 (입력 → 예상 출력)

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

목표: 현재 mng 견적 기능 상태 파악 및 문제점 도출

분석 대상:

산출물:

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

분석 포인트:

  • 현재 수식 관리 기능 동작 여부
  • 오류 및 버그 목록
  • 5130과의 차이점
  • 개선 필요 사항

Phase 3: mng 견적 기능 구현 완료

목표: 5130 수식을 SAM 품목기준관리와 연동하여 구현

완료일: 2025-12-19

구현 내용:

  • Price 모델 생성 (mng/app/Models/Price.php)
  • getItemPrice() 연동 구현 (FormulaEvaluatorService.php:324-335)
  • Seeder 확인 및 실행 방법 문서화

핵심 원칙:

  • 5130 수식 정확히 반영
  • SAM 기존 테이블 활용
  • 품목기준관리 데이터 연동

참조 문서:

  • docs/projects/mes/v1-analysis/quotation-analysis.md
  • Phase 1 분석 결과 (js-formulas.md)
  • Phase 2 분석 결과

UI 참조 (MES 프로토타입 화면 캡쳐):

📁 경로: docs/projects/quotation/screenshots/

파일명 설명
01-formula-list-main.png 견적수식 목록 메인 (기본정보 카테고리, 10개 수식)
02-product-dropdown.png 제품 선택 드롭다운 (공통/스크린/철재/슬랫)
03-category-management.png 분류 관리 (스크린/철재/전기부품/기타부자재)
04-price-formula-management.png 단가 수식 관리 (그룹별 품목, 적용수식 설정)
05-auto-quotation-input.png 자동 견적 산출 입력 (오픈사이즈, 옵션 선택)
06-category-guiderail.png 가이드레일 카테고리 수식 (조회/계산식 타입)
07-formula-add-modal.png 수식 추가 모달 (변수, 타입, 결과출력 설정)

캡쳐 화면 핵심 기능:

  • 13개 카테고리 (기본정보~장수산출)
  • 44개 수식 (공통)
  • 수식 타입: 입력값, 계산식, 조회
  • 결과 타입: 변수저장, 품목/수량 출력

산출물:

파일 설명
README.md 체크리스트 및 요약
table-mapping.md 테이블 매핑 (5130 → SAM)
formula-spec.md 수식 명세 (SAM 버전)
implementation.md 구현 상세

Phase 4: 견적 API 개발

목표: React 프론트엔드 연동을 위한 REST API 개발

산출물:

파일 설명
README.md 체크리스트 및 요약
api-spec.md API 명세 (Swagger)

API 개발 원칙:

  • SAM API Rules 준수
  • Swagger 문서화 필수
  • Multi-tenant 지원
  • FormRequest 검증

🔗 참조 문서

공통 정책 (필독)

견적 관련


🚀 시작 명령어 예시

견적 기능 개발 Phase 1 시작:

1. 공통 정책 확인: docs/guides/PROJECT_DEVELOPMENT_POLICY.md
2. PROGRESS.md 확인
3. 5130 견적 페이지 분석 시작
   - https://5130.sam.kr/estimate/list.php
   - 관련 JS 파일 전체 분석
4. phase-1-5130-analysis/ 문서 작성

MCP: Sequential Thinking 적용
페르소나: root-cause-analyst (분석 단계)

📝 변경 이력

날짜 변경 내용 작성자
2025-12-19 Phase 3에 MES 프로토타입 화면 캡쳐 참조 추가 Claude
2025-12-19 공통 정책 분리, 견적 특화 내용만 유지 Claude
2025-12-19 초기 마스터 플랜 작성 Claude