- Auditable 트레이트 신규 생성 (bootAuditable 패턴)
- creating: created_by/updated_by 자동 채우기
- updating: updated_by 자동 채우기
- deleting: deleted_by 채우기 + saveQuietly()
- created/updated/deleted: audit_logs 자동 기록
- 기존 AuditLogger 패턴과 동일한 try/catch 조용한 실패
- 변경된 필드만 before/after 기록 (updated 이벤트)
- auditExclude 프로퍼티로 모델별 제외 필드 설정 가능
- 제외 대상: Attendance, StockTransaction, TodayIssue 등 고빈도/시스템 모델
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)