Commit Graph

10 Commits

Author SHA1 Message Date
33367406a0 feat(MNG): 견적 공식 시뮬레이터 UI 개선
- FormulaEvaluatorService: 공식 평가 로직 개선
- simulator.blade.php: 시뮬레이터 UI/UX 개선
  - 입력 필드 레이아웃 최적화
  - 계산 결과 표시 개선
  - 에러 처리 강화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 17:27:01 +09:00
dcf06641c8 feat(Quote): 제품 카테고리별 동적 마진값/중량 계산 로직 구현
- 완제품 조회 순서 변경 (마진값 결정을 위해 선행 조회)
- 제품 카테고리(SCREEN/STEEL)에 따른 마진값 동적 결정
  - 스크린: W+140, H+350
  - 철재: W+110, H+350
- 제품 카테고리에 따른 중량(K) 계산 로직 구현
  - 스크린: M×2 + W0/1000×14.17
  - 철재: M×25
- getItemDetails()에 item_category, process_type 필드 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 14:46:26 +09:00
fc4278ba82 Phase 5: 면적기반 단가 중복계산 수정 및 Design 마진 적용
- 면적/중량기반 단가: final_price 직접 사용 (multiplier 중복 적용 방지)
- 마진값 Design 표준 적용: W+140, H+350 (스크린 기준)
- 수량기반 단가: quantity × unit_price 유지
2025-12-24 16:11:35 +09:00
9e042b5d6b feat(simulator): Phase 4 - BOM 디버깅 UI 및 API 추가
- simulateBom API 엔드포인트 추가 (calculateBomWithDebug 연동)
- simulator.blade.php: BOM 디버깅 모드 탭 추가
  - 10단계 디버그 스텝 패널
  - 공정별 품목 그룹화 표시
  - 원가 요약 (공정별 소계, 총합계)
- FormulaEvaluatorService: currentTenantId 속성 추가
  - 콘솔/API에서 tenant_id 전달 가능하도록 수정
- routes/api.php: simulate-bom 라우트 추가
2025-12-24 15:45:54 +09:00
00374cd9fe Phase 3: FormulaEvaluatorService 확장 - Design 시뮬레이터 동기화
주요 변경사항:
- calculateCategoryPrice: 카테고리 기반 단가 계산 (면적/중량/수량)
- groupItemsByProcess: 공정별 품목 그룹화 (screen/bending/steel/electric/assembly)
- calculateBomWithDebug: 10단계 디버깅 정보 포함 BOM 계산
- getItemPrice: items.attributes.salesPrice fallback 추가
- evaluateQuantityFormula: 빈 수식 기본값 1 처리
- expandBomWithFormulas: Design 형식 childItemCode 지원
- DesignItemSeeder: 모든 품목에 process_type 추가
2025-12-24 15:28:48 +09:00
60618ddd04 feat: 견적 시뮬레이터 개선 및 FlowTester 조건 평가기 추가
- 견적 시뮬레이터 UI 레이아웃 개선 (가로 배치, 반응형)
- FlowTester ConditionEvaluator 클래스 추가 (조건부 실행 지원)
- FormulaEvaluatorService 기능 확장
- DependencyResolver 의존성 해결 로직 개선
- PushDeviceToken 모델 확장 (FCM 토큰 관리)
- QuoteFormula API 엔드포인트 추가
- FlowTester 가이드 모달 업데이트
2025-12-23 23:41:37 +09:00
5742f9a3e4 feat(quote-formula): 매핑/품목 관리 UI 구현 (Phase 2, 3)
Phase 2 - 매핑(Mapping) 관리:
- QuoteFormulaMappingController, QuoteFormulaMappingService 추가
- mappings-tab.blade.php 뷰 생성
- 매핑 CRUD 및 순서 변경 API

Phase 3 - 품목(Item) 관리:
- QuoteFormulaItemController, QuoteFormulaItemService 추가
- items-tab.blade.php 뷰 생성
- 품목 CRUD 및 순서 변경 API
- 수량식/단가식 입력 지원

공통:
- edit.blade.php에 매핑/품목 탭 연동
- routes/api.php에 API 엔드포인트 추가
2025-12-22 19:07:50 +09:00
403e0720d9 feat(quote-formulas): 범위(Range) 관리 UI 추가 (Phase 1)
- QuoteFormulaRangeService, RangeController 생성
- 범위 CRUD API 엔드포인트 추가 (6개)
- edit.blade.php 탭 구조로 개편 (기본정보/범위/매핑/품목)
- ranges-tab.blade.php 범위 관리 UI 구현
- Alpine.js 기반 인터랙티브 CRUD
2025-12-22 17:42:51 +09:00
866e2602a2 feat: 견적 수식 품목 단가 연동 구현
- Price 모델 생성 (prices 테이블 연동)
- getCurrentPrice(): 현재 유효 단가 조회
- getSalesPriceByItemCode(): 품목 코드로 판매단가 조회
- FormulaEvaluatorService.getItemPrice() 구현 완료 (TODO 해결)
2025-12-19 16:02:48 +09:00
dac02f120b feat(quote-formulas): 견적수식 관리 기능 구현
## 구현 내용

### 모델 (5개)
- QuoteFormulaCategory: 수식 카테고리
- QuoteFormula: 수식 정의 (input/calculation/range/mapping)
- QuoteFormulaRange: 범위별 값 정의
- QuoteFormulaMapping: 매핑 테이블
- QuoteFormulaItem: 수식-품목 연결

### 서비스 (3개)
- QuoteFormulaCategoryService: 카테고리 CRUD
- QuoteFormulaService: 수식 CRUD, 복제, 재정렬
- FormulaEvaluatorService: 수식 계산 엔진
  - 지원 함수: SUM, ROUND, CEIL, FLOOR, ABS, MIN, MAX, IF, AND, OR, NOT

### API Controller (2개)
- QuoteFormulaCategoryController: 카테고리 API (11개 엔드포인트)
- QuoteFormulaController: 수식 API (16개 엔드포인트)

### FormRequest (4개)
- Store/Update QuoteFormulaCategoryRequest
- Store/Update QuoteFormulaRequest

### Blade Views (8개)
- 수식 목록/추가/수정/시뮬레이터
- 카테고리 목록/추가/수정
- HTMX 테이블 partial

### 라우트
- API: 27개 엔드포인트
- Web: 7개 라우트
2025-12-04 14:00:24 +09:00