- erp-api-list.md: Phase 5 섹션 추가 (12개 API) - erp-api-detail.md: Phase 5 상세 스펙 추가 - 13. 사용자 초대 (5개): 목록, 발송, 수락, 취소, 재발송 - 14. 알림 설정 (3개): 조회, 수정, 일괄수정 - 15. 계정 관리 (4개): 탈퇴, 사용중지, 약관조회, 약관수정
148 lines
4.8 KiB
Markdown
148 lines
4.8 KiB
Markdown
# Phase 1: 5130 견적 기능 분석
|
|
|
|
> **목표:** 5130 레거시 견적 시스템 완전 분석 및 문서화
|
|
> **분석 일자:** 2025-12-19
|
|
> **상태:** 🔄 진행 중
|
|
|
|
---
|
|
|
|
## 📋 분석 체크리스트
|
|
|
|
### 핵심 분석 (필수)
|
|
- [x] JS 수식 분석 (`common/calculation.js`)
|
|
- [x] PHP 단가 계산 로직 (`fetch_unitprice.php`)
|
|
- [x] 스크린 금액 계산 (`get_screen_amount.php`)
|
|
- [x] 슬랫 금액 계산 (`get_slat_amount.php`)
|
|
- [x] DB 스키마 분석 (`estimate` 테이블)
|
|
|
|
### 문서 작성
|
|
- [x] js-formulas.md - 수식 분석 (핵심!)
|
|
- [x] ui-analysis.md - 화면별 기능 분석
|
|
- [x] db-structure.md - 테이블/컬럼 구조
|
|
- [x] business-logic.md - 비즈니스 로직 정리
|
|
|
|
---
|
|
|
|
## 📁 분석 대상 파일
|
|
|
|
### 핵심 파일
|
|
| 파일 | 크기 | 설명 |
|
|
|------|------|------|
|
|
| `common/calculation.js` | 182줄 | 프론트엔드 행 계산 로직 |
|
|
| `fetch_unitprice.php` | 875줄 | **핵심** - 단가 조회 및 수식 함수 |
|
|
| `get_screen_amount.php` | 583줄 | 스크린 견적 계산 |
|
|
| `get_slat_amount.php` | 541줄 | 슬랫(철재) 견적 계산 |
|
|
| `write_form.php` | 103KB | 견적서 작성 UI |
|
|
|
|
### 디렉토리 구조
|
|
```
|
|
5130/estimate/
|
|
├── common/
|
|
│ ├── calculation.js # 행 계산 JS
|
|
│ ├── lastJS.php # 페이지 공통 JS
|
|
│ ├── common_screen.php # 스크린 공통
|
|
│ └── common_slat.php # 슬랫 공통
|
|
├── list.php # 견적 목록
|
|
├── write_form.php # 견적서 작성
|
|
├── estimate.php # 견적서 메인
|
|
├── estimateSlat.php # 슬랫 견적
|
|
├── estimateUnit.php # 단가 견적
|
|
├── fetch_unitprice.php # 단가 조회 API
|
|
├── get_estimate_amount.php # 견적 금액 라우터
|
|
├── get_screen_amount.php # 스크린 금액 계산
|
|
├── get_slat_amount.php # 슬랫 금액 계산
|
|
├── insert.php # 견적 저장
|
|
└── generate_serial_pjnum.php # 번호 생성
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 핵심 발견 사항
|
|
|
|
### 1. 견적 유형 (2가지)
|
|
| 유형 | 파일 | 주요 특징 |
|
|
|------|------|----------|
|
|
| **스크린** | `get_screen_amount.php` | 면적(m²) 기반, 실리카/와이어 소재 |
|
|
| **슬랫(철재)** | `get_slat_amount.php` | 면적 기반, 방화 슬랫 소재 |
|
|
|
|
### 2. 계산 항목 (18개 항목)
|
|
1. 검사비 (인정검사비)
|
|
2. 주자재 (스크린/슬랫)
|
|
3. 조인트바 (슬랫 전용)
|
|
4. 모터
|
|
5. 연동제어기 (매립형/노출형/뒷박스)
|
|
6. 케이스
|
|
7. 케이스용 연기차단재
|
|
8. 케이스 마구리
|
|
9. 모터 받침용 앵글
|
|
10. 가이드레일
|
|
11. 레일용 연기차단재
|
|
12. 하장바
|
|
13. L바 (스크린 전용)
|
|
14. 보강평철 (스크린 전용)
|
|
15. 감기샤프트
|
|
16. 무게평철 (스크린 전용)
|
|
17. 환봉 (스크린 전용)
|
|
18. 각파이프
|
|
19. 앵글
|
|
|
|
### 3. 체크박스 옵션 (5개)
|
|
| 옵션 | 변수명 | 영향 항목 |
|
|
|------|--------|----------|
|
|
| 절곡 | `steel` | 케이스, 가이드레일, 연기차단재, 하장바, L바, 보강평철 |
|
|
| 모터 | `motor` | 모터 가격 포함 여부 |
|
|
| 보증 | `warranty` | 보증기간 |
|
|
| 슬랫 | `slatcheck` | 주자재(슬랫), 조인트바 |
|
|
| 부자재 | `partscheck` | 샤프트, 각파이프, 앵글 |
|
|
|
|
### 4. 단가 테이블 (7개)
|
|
| 테이블 | 용도 |
|
|
|--------|------|
|
|
| `price_raw_materials` | 주자재 단가 (스크린, 슬랫) |
|
|
| `price_motor` | 모터/제어기 단가 |
|
|
| `price_shaft` | 샤프트 단가 |
|
|
| `price_pipe` | 각파이프 단가 |
|
|
| `price_angle` | 앵글 단가 |
|
|
| `BDmodels` | 케이스, 가이드레일, 부자재 단가 |
|
|
| `item_list` | 품목 마스터 |
|
|
|
|
---
|
|
|
|
## 📊 상세 문서
|
|
|
|
| 문서 | 설명 |
|
|
|------|------|
|
|
| [js-formulas.md](./js-formulas.md) | **핵심** - 모든 수식 상세 분석 |
|
|
| [ui-analysis.md](./ui-analysis.md) | 화면별 기능 분석 |
|
|
| [db-structure.md](./db-structure.md) | DB 테이블 구조 |
|
|
| [business-logic.md](./business-logic.md) | 비즈니스 로직 정리 |
|
|
|
|
---
|
|
|
|
## ⚠️ 주의 사항
|
|
|
|
### 코드 특성
|
|
1. **레거시 PHP + jQuery** - ES6 문법 없음
|
|
2. **동적 테이블명** - 일부 쿼리에서 테이블명 동적 설정
|
|
3. **JSON 기반 데이터** - `itemList` 컬럼에 JSON으로 상세 데이터 저장
|
|
4. **컬럼명 규칙** - `col1`, `col2`, ... 형태의 범용 컬럼
|
|
|
|
### SAM 이관 시 고려사항
|
|
1. 단가 테이블 구조 재설계 필요
|
|
2. `BDmodels` 테이블 → SAM 품목기준관리 연동
|
|
3. 체크박스 옵션 → 견적 옵션 테이블 설계
|
|
4. 수식 로직 → Service 클래스로 분리
|
|
|
|
---
|
|
|
|
## 📝 다음 단계
|
|
|
|
Phase 2로 이동하여 현재 mng 견적 수식 관리 상태 분석 예정
|
|
|
|
---
|
|
|
|
## 📚 참조
|
|
|
|
- [MASTER_PLAN.md](../MASTER_PLAN.md)
|
|
- [PROGRESS.md](../PROGRESS.md)
|
|
- [docs/projects/legacy-5130/03_ESTIMATE.md](../../legacy-5130/03_ESTIMATE.md) |