- TenantSetting CRUD API 추가
- Calendar, Entertainment, VAT 서비스 개선
- 5130 BOM 계산 로직 수정
- quote_items에 item_type 컬럼 추가
- tenant_settings 테이블 마이그레이션
- Swagger 문서 업데이트
- QuoteIndexRequest: for_order 파라미터 추가
- Quote 모델: orders() HasMany 관계 추가 (Order.quote_id 기준)
- QuoteService: for_order 필터링 로직 추가
- whereNull('order_id') - 빠른 체크
- whereDoesntHave('orders') - 이중 체크
- OrderService: 수주 생성 시 견적 상태를 converted로 업데이트
Co-Authored-By: Claude <noreply@anthropic.com>
- 견적요약, 공과상세, 품목 단가조정 데이터를 JSON으로 저장
- Quote 모델에 options 필드 추가 (fillable, casts)
- 중요도가 낮은 필드는 개별 테이블 대신 JSON으로 관리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- quotes 테이블에 quote_type 컬럼 추가 (manufacturing/construction)
- Quote 모델에 TYPE 상수 및 스코프 메서드 추가
- QuoteService.index()에 quote_type 필터 적용
- QuoteService.upsertFromSiteBriefing()에 construction 타입 설정
- QuoteIndexRequest에 quote_type 유효성 검증 추가
- 기존 site_briefing_id 있는 데이터는 construction으로 자동 업데이트
Co-Authored-By: Claude <noreply@anthropic.com>
- Order, OrderItem 모델에 견적 연동 필드 추가
- Quote 모델에 order_id 관계 추가
- QuoteService 개선
- 관련 마이그레이션 파일 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Quote 수식 모델 추가 (mng 패턴 적용)
- QuoteFormula: 수식 정의 (input/calculation/range/mapping)
- QuoteFormulaCategory: 카테고리 정의
- QuoteFormulaItem: 품목 출력 정의
- QuoteFormulaRange: 범위별 값 정의
- QuoteFormulaMapping: 매핑 값 정의
- FormulaEvaluatorService 확장
- executeAll(): 카테고리별 수식 실행
- evaluateRangeFormula/evaluateMappingFormula: QuoteFormula 기반 평가
- getItemPrice(): prices 테이블 연동
- QuoteCalculationService DB 기반으로 재작성
- 하드코딩된 품목 코드/로직 제거
- quote_formulas 테이블 기반 동적 계산
- getInputSchema(): DB 기반 입력 스키마 생성
- Price 모델 수정
- items 테이블 연동 (products/materials 대체)
- ITEM_TYPE 상수 업데이트 (FG/PT/RM/SM/CS)
- Order 모델: product_id 제거, item_id 추가, item() 관계 추가
- OrderItem 모델: product_id 제거, item_id 추가, item() 관계 추가
- Quote 모델: product_id 제거, item_id 추가, item() 관계 추가
- MaterialReceipt 모델: material_id 제거, item_id 추가, material() → item() 변경
- Lot 모델: Material import 제거, material() → item() 변경
DB 스키마는 이미 마이그레이션됨 (2025_12_13_153544)
기존 product_id/material_id 컬럼은 DB에 남아있지만 fillable에서 제거
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 마이그레이션 생성: quotes, quote_items, quote_revisions 테이블
- Model 생성: Quote, QuoteItem, QuoteRevision
- BelongsToTenant, SoftDeletes 트레이트 적용
- 상태 관리 메서드 및 스코프 구현
- 개발 계획서 작성 및 진행 상황 문서화