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:
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user