- 5130 레거시 시스템 분석 (00_OVERVIEW ~ 08_SAM_COMPARISON) - MES 프로젝트 문서 - API/프론트엔드 스펙 문서 - 가이드 및 레퍼런스 문서
315 lines
8.8 KiB
Markdown
315 lines
8.8 KiB
Markdown
# SAM 산출식 시스템 분석 문서
|
||
**작성일**: 2025-09-22
|
||
**버전**: 2.0 (수정됨 🔄)
|
||
**목적**: SAM 프로젝트 전체 산출식 체계 정리, 5130 실제 구현 반영 및 오류 수정
|
||
|
||
---
|
||
|
||
## 📋 전체 산출식 개요
|
||
|
||
### 기본 입력 파라미터
|
||
- **W0** (오픈사이즈 폭), **H0** (오픈사이즈 높이)
|
||
- **설치방식**, **전원방식**
|
||
- **제품타입**: 스크린/철재
|
||
|
||
### 산출 흐름도
|
||
```
|
||
W0, H0 → W1, H1 (제작사이즈) → 면적, 중량(K) → 각종 부자재 수량
|
||
↓
|
||
모터용량 → 샤프트규격 → 감기샤프트
|
||
↓
|
||
브라켓, 가이드레일, 케이스, 하단마감, 각파이프
|
||
↓
|
||
환봉(스크린전용), 조인트바
|
||
```
|
||
|
||
---
|
||
|
||
## 1. 오픈사이즈 → 제작사이즈/중량 계산
|
||
|
||
### 제작사이즈 계산 (수정됨 🔄)
|
||
**실제 5130 구현 기준**:
|
||
- **스크린**: W1 = W0 + 160, H1 = H0 + 350
|
||
- **철재**: W1 = W0 + 110, H1 = H0 + 350
|
||
|
||
**변수 설정**:
|
||
- makeWidth: 160 (스크린) / 110 (철재)
|
||
- makeHeight: 350 (공통)
|
||
|
||
### 중량 계산 (수정됨 🔄)
|
||
**스크린 (실제 구현)**:
|
||
- 면적(㎡) = W1 × H1 ÷ 1,000,000
|
||
- 중량(kg) = (면적 × 2) + (W0 ÷ 1000 × 14.17)
|
||
|
||
**철재 (추정)**:
|
||
- 면적(㎡) = W1 × H1 ÷ 1,000,000
|
||
- 중량(kg) = 면적 × 40 (기존 공식 유지)
|
||
|
||
---
|
||
|
||
## 2. 모터 용량 산정 (전면 수정됨 🔄)
|
||
|
||
### 실제 구현: 샤프트별 중량 매트릭스
|
||
**스크린용 모터 (5130 실제 로직)**:
|
||
|
||
| 샤프트 | 150K | 300K | 400K | 500K | 600K | 800K | 1000K |
|
||
|--------|------|------|------|------|------|------|-------|
|
||
| 4인치 | ≤150kg | 151-300kg | 301-400kg | - | - | - | - |
|
||
| 5인치 | ≤123kg | 124-246kg | 247-327kg | 328-500kg | 501-600kg | - | - |
|
||
| 6인치 | ≤104kg | 105-208kg | 209-300kg | 301-424kg | 425-508kg | 509-800kg | 801-1000kg |
|
||
|
||
### 샤프트 규격 결정 (수정됨 🔄)
|
||
**스크린 기준**:
|
||
- W1 ≤ 6000: 4인치
|
||
- 6000 < W1 ≤ 8200: 5인치
|
||
- W1 > 8200: 미정의 (0)
|
||
|
||
**철재용 모터**: 별도 구현 필요 (주석 처리된 로직 존재)
|
||
|
||
---
|
||
|
||
## 3. 브라켓 및 지지각도
|
||
|
||
### 브라켓 수량
|
||
| 제작사이즈 폭 (W1) | 브라켓 수량 |
|
||
|------------------|-----------|
|
||
| ~3000 | 2개 |
|
||
| 3001~6000 | 3개 |
|
||
| 6001~9000 | 4개 |
|
||
| 9001~12000 | 5개 |
|
||
|
||
### 지지각도
|
||
- **수량**: 브라켓 수량와 동일
|
||
- **길이**: H1 + 200
|
||
|
||
---
|
||
|
||
## 4. 가이드레일 및 연기차단막
|
||
|
||
### 가이드레일
|
||
- **수량**: 2개 (양쪽)
|
||
- **길이**: H1 + 200
|
||
|
||
### 연기차단막 (높이 3000 이상인 경우)
|
||
- **조건**: H1 ≥ 3000
|
||
- **면적**: W1 × (H1 - 3000) ÷ 1,000,000 (㎡)
|
||
|
||
---
|
||
|
||
## 5. 케이스(셔터박스) 구성품
|
||
|
||
### 케이스 사이즈
|
||
- **스크린**: 500 × 350
|
||
- **철재**: 650 × 500
|
||
|
||
### 구성품 계산
|
||
- **상판**: W1 × 500 (스크린) / W1 × 650 (철재)
|
||
- **측판**: 500 × 350 × 2개 (스크린) / 650 × 500 × 2개 (철재)
|
||
- **전면판**: (W1 - 10) × 350 (스크린) / (W1 - 10) × 500 (철재)
|
||
- **후면판**: (W1 - 10) × 350 (스크린) / (W1 - 10) × 500 (철재)
|
||
|
||
**🚨 문제점**: 케이스 타입(500×350 vs 650×500) 선택 기준 미정의
|
||
|
||
---
|
||
|
||
## 6. 하단마감 자재
|
||
|
||
### 자재 계산
|
||
- **하단레일**: W1 길이
|
||
- **하단씰**: W1 길이
|
||
- **하단브라켓**: W1 ÷ 300 (올림)
|
||
- **결속끈**: W1 ÷ 200 (올림)
|
||
- **하단스토퍼**: 2개
|
||
|
||
---
|
||
|
||
## 7. 감기샤프트 (스크린용/철재용) (수정됨 🔄)
|
||
|
||
### 스크린용 감기샤프트 (실제 구현)
|
||
|
||
#### 샤프트 규격 결정 (단순화됨)
|
||
- **4인치**: W1 ≤ 6000
|
||
- **5인치**: 6000 < W1 ≤ 8200
|
||
- **미정의**: W1 > 8200
|
||
|
||
#### 메인샤프트 수량 계산
|
||
**4인치 샤프트**:
|
||
- W1 ≤ 3050: 1개 × 수량
|
||
- 3050 < W1 ≤ 4550: 1개 × 수량
|
||
- 4550 < W1 ≤ 6050: 1개 × 수량
|
||
|
||
**5인치 샤프트**:
|
||
- 0 < W1 ≤ 6050: 1개 × 수량
|
||
- 6050 < W1 ≤ 7050: 1개 × 수량
|
||
- W1 > 7050: 1개 × 수량
|
||
|
||
#### 보조샤프트 (3인치)
|
||
- **규격**: 항상 3인치
|
||
- **수량**: 1개 × 수량
|
||
|
||
### 철재용 감기샤프트
|
||
- **규격 결정**: W1과 중량(K) 두 조건 모두 만족해야 함
|
||
- **자재**: 통자재 1개만 사용 (조합 불가)
|
||
|
||
| W1 구간 | 중량(K) 구간 | 샤프트 규격 |
|
||
|---------|-------------|-----------|
|
||
| 0 < W1 ≤ 4500 | K ≤ 400 | 4인치 |
|
||
| 0 < W1 ≤ 4500 | 400 < K ≤ 600 | 5인치 |
|
||
| 4500 < W1 ≤ 5600 | K ≤ 600 | 5인치 |
|
||
| 5600 < W1 ≤ 7800 | 600 < K ≤ 800 | 6인치 |
|
||
| 5600 < W1 ≤ 8200 | K > 800 | 8인치 |
|
||
|
||
**🚨 문제점**: 경계값 처리 (W1=4500, K=400 등) 우선순위 불명확
|
||
|
||
---
|
||
|
||
## 8. 각파이프 자재 (실제 구현 발견 🔄)
|
||
|
||
### 기본 정보
|
||
- **자재 규격**: 3000mm, 6000mm
|
||
- **계산 기준**: col67 (상수길이 P)
|
||
- **P 계산식**: P = W1 + (3000 × 각파이프 수량)
|
||
|
||
### 실제 구현된 계산식
|
||
|
||
#### 각파이프 수량 결정 (col66)
|
||
```javascript
|
||
col66 = (W1 ≤ 1600) ? 3 :
|
||
(W1 ≤ 2800) ? 4 :
|
||
(W1 ≤ 4000) ? 5 :
|
||
(W1 ≤ 5200) ? 6 :
|
||
(W1 ≤ 6400) ? 7 :
|
||
(W1 ≤ 7600) ? 8 :
|
||
(W1 ≤ 8800) ? 9 : 0
|
||
```
|
||
|
||
#### 상수길이 P 계산 (col67)
|
||
```javascript
|
||
P = W1 + (3000 × col66)
|
||
```
|
||
|
||
#### 최종 수량 계산 (col68-69)
|
||
**3000mm 자재 (col68)**:
|
||
- P ≤ 9000: 3 × 수량
|
||
- 9000 < P ≤ 12000: 4 × 수량
|
||
- 12000 < P ≤ 15000: 5 × 수량
|
||
- 15000 < P ≤ 18000: 6 × 수량
|
||
|
||
**6000mm 자재 (col69)**:
|
||
- 18000 < P ≤ 24000: 4 × 수량
|
||
- 24000 < P ≤ 30000: 5 × 수량
|
||
- 30000 < P ≤ 36000: 6 × 수량
|
||
- 36000 < P ≤ 42000: 7 × 수량
|
||
- 42000 < P ≤ 48000: 8 × 수량
|
||
|
||
**✅ 문제 해결**: 실제 구현된 계산식 발견 및 문서화 완료
|
||
|
||
---
|
||
|
||
## 9. 환봉 (스크린 전용)
|
||
|
||
### 기본 정보
|
||
- **대상**: 스크린 셔터만
|
||
- **자재 규격**: 3000mm 고정
|
||
- **계산 기준**: 제작사이즈 W1
|
||
|
||
### 수량표
|
||
| 제작사이즈 W1 구간 | 자재 규격 | 수량 |
|
||
|------------------|---------|-----|
|
||
| 0 < W1 ≤ 3000 | 3000mm | 1개 |
|
||
| 3000 < W1 ≤ 6000 | 3000mm | 2개 |
|
||
| 6000 < W1 ≤ 9000 | 3000mm | 3개 |
|
||
| 9000 < W1 ≤ 12000 | 3000mm | 4개 |
|
||
|
||
**✅ 문제없음**: 명확한 구간별 수량 정의
|
||
|
||
---
|
||
|
||
## 10. 조인트바
|
||
|
||
### 계산 공식
|
||
```
|
||
조인트바 수량 = 2 + FLOOR((W1 - 500) / 1000)
|
||
```
|
||
|
||
### 설치 기준
|
||
- **기본 2개**: 양 끝 250mm 지점 고정
|
||
- **추가 설치**: 중앙 여유공간(W1-500) 내 1000mm 간격
|
||
|
||
### 예시
|
||
| W1 | 중앙 여유공간 | 추가 수량 | 총 수량 |
|
||
|----|-------------|---------|-------|
|
||
| 1500 | 1000 | 1 | 3개 |
|
||
| 2500 | 2000 | 2 | 4개 |
|
||
| 3500 | 3000 | 3 | 5개 |
|
||
|
||
**✅ 문제없음**: 명확한 수학 공식
|
||
|
||
---
|
||
|
||
## 🚨 수정 결과 및 종합 분석 (업데이트됨 🔄)
|
||
|
||
### ✅ 해결된 문제점들
|
||
1. **제작사이즈 계산 오류 수정**
|
||
- 스크린: W1=W0+160, H1=H0+350 (실제 구현 반영)
|
||
- 철재: W1=W0+110, H1=H0+350 (실제 구현 반영)
|
||
|
||
2. **중량 계산 오류 수정**
|
||
- 스크린: 복합 계산식 (면적×2) + (W0/1000×14.17) 반영
|
||
|
||
3. **모터 용량 산정 전면 수정**
|
||
- 샤프트별 중량 매트릭스로 전환
|
||
- 실제 5130 구현 로직 반영
|
||
|
||
4. **샤프트 규격 결정 단순화**
|
||
- W1 기준 단순 구간별 분류로 수정
|
||
|
||
5. **각파이프 계산식 발견 및 문서화**
|
||
- P = W1 + (3000 × 각파이프수량) 공식 발견
|
||
- 전체 계산 로직 체계적 정리
|
||
|
||
### ❌ 여전히 있는 문제점
|
||
1. **철재용 중량 계산**: 실제 구현 미확인
|
||
2. **철재용 모터 용량**: 주석 처리된 로직 존재
|
||
3. **케이스 타입 선택**: 자동 결정 로직 필요
|
||
|
||
### ✅ 확인된 정확한 부분
|
||
- 환봉 산출 로직 (실제 구현과 일치)
|
||
- 조인트바 계산 공식 (수학적 정확성)
|
||
- 스크린 전체 산출 체계 (구현 반영 완료)
|
||
|
||
---
|
||
|
||
## 🛠️ 다음 단계 작업 및 권장사항
|
||
|
||
### 즉시 수행 권장
|
||
1. **철재용 중량 계산식 확인**
|
||
- 5130 코드에서 철재용 중량 계산 로직 찾기
|
||
- Slat 관련 함수에서 중량 계산 분석
|
||
|
||
2. **철재용 모터 로직 구현**
|
||
- 주석 처리된 철재 전용 로직 활성화
|
||
- W1과 중량 복합 조건 구현
|
||
|
||
3. **케이스 타입 자동 선택 로직**
|
||
- 스크린/철재 구분에 따른 자동 선택
|
||
- 500×350 / 650×500 선택 기준 명확화
|
||
|
||
### 장기 개선 대상
|
||
4. **전체 산출식 체계를 API로 구현**
|
||
- 파라미터 기반 동적 BOM 계산
|
||
- 실시간 견적 예상 시스템 구축
|
||
|
||
5. **산출식 검증 및 테스트**
|
||
- 기존 5130 대비 정확성 검증
|
||
- 경계값 처리 테스트 케이스 추가
|
||
|
||
---
|
||
|
||
## 📝 수정 이력
|
||
- **2025-09-22 v1.0**: 초기 분석 완료
|
||
- **2025-09-22 v2.0**: 5130 실제 구현 비교 및 주요 오류 수정
|
||
- 제작사이즈/중량 계산 오류 수정
|
||
- 모터 용량 산정 체계 전면 개편
|
||
- 각파이프 계산식 실제 구현 발견 및 반영
|
||
- 샤프트 규격 결정 로직 단순화 |