chore(WEB): 견적 액션 정리 및 아키텍처 문서 추가

- quotes/actions.ts 중복 코드 제거 및 간소화
- quotes/types.ts 타입 확장
- claudedocs/_index.md 업데이트
- 멀티테넌시 최적화 로드맵 문서 추가
- 리팩토링 로드맵 문서 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-02-06 17:52:02 +09:00
parent 5344bfc426
commit f456e7bee0
5 changed files with 1071 additions and 34 deletions

View File

@@ -30,6 +30,7 @@ import type {
QuoteStatus,
ProductCategory,
BomCalculationResultItem,
BomCalculationResult,
} from './types';
import { transformApiToFrontend, transformFrontendToApi } from './types';
@@ -901,36 +902,8 @@ export interface BomCalculateItem {
inspectionFee?: number;
}
export interface BomCalculationResult {
success?: boolean;
finished_goods: {
code: string;
name: string;
item_category?: string;
};
variables?: Record<string, unknown>;
items: Array<{
item_code: string;
item_name: string;
item_category?: string;
specification?: string;
unit?: string;
quantity: number;
quantity_formula?: string;
base_price?: number;
multiplier?: number;
unit_price: number;
total_price: number;
calculation_note?: string;
category_group?: string;
process_group?: string;
process_group_key?: string;
}>;
grouped_items?: Record<string, { items: BomCalculationResultItem[]; [key: string]: unknown }>;
subtotals: Record<string, { name?: string; count?: number; subtotal?: number } | number>;
grand_total: number;
debug_steps?: Array<{ step: number; name: string; data: Record<string, unknown> }>; // 10단계 계산 과정
}
// BomCalculationResult는 types.ts에서 import하고 re-export
export type { BomCalculationResult } from './types';
// API 서버 응답 구조 (QuoteCalculationService::calculateBomBulk)
export interface BomBulkResponse {

View File

@@ -411,11 +411,17 @@ export interface BomMaterial {
export interface BomCalculationResultItem {
item_code: string;
item_name: string;
item_category?: string; // 품목 카테고리
specification?: string;
unit?: string;
quantity: number; // 1개당 BOM 수량 (base_quantity)
quantity: number; // 1개당 BOM 수량 (base_quantity)
quantity_formula?: string; // 수량 계산 공식
base_price?: number; // 기본 단가
multiplier?: number; // 승수
unit_price: number;
total_price: number;
calculation_note?: string; // 계산 메모
category_group?: string; // 카테고리 그룹
process_group?: string;
process_group_key?: string; // Legacy 공정 그룹 키
category_code?: string; // 아이템 카테고리 코드 (동적 카테고리 시스템)
@@ -431,6 +437,7 @@ export interface BomDebugStep {
// BOM 계산 결과 타입
export interface BomCalculationResult {
success?: boolean; // API 응답 시 성공 여부
finished_goods: {
code: string;
name: string;