feat(WEB): 수주관리 Phase 2 타입 정의 확장 및 공정관리 개별 품목 표시 수정
- Order, OrderItem 인터페이스에 상세 페이지용 필드 추가 - OrderFormData, OrderItemFormData에 수정 페이지용 필드 추가 - 변환 함수에서 새 필드 매핑 처리 - 공정관리 개별 품목을 ID 대신 품목명으로 표시
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
|
||||
import { isNextRedirectError } from '@/lib/utils/redirect-error';
|
||||
import { serverFetch } from '@/lib/api/fetch-wrapper';
|
||||
import type { Process, ProcessFormData, ClassificationRule } from '@/types/process';
|
||||
import type { Process, ProcessFormData, ClassificationRule, IndividualItem } from '@/types/process';
|
||||
|
||||
// ============================================================================
|
||||
// API 타입 정의
|
||||
@@ -107,13 +107,22 @@ function transformApiToFrontend(apiData: ApiProcess): Process {
|
||||
function transformProcessItemsToRules(processItems: ApiProcessItem[]): ClassificationRule[] {
|
||||
if (processItems.length === 0) return [];
|
||||
|
||||
const activeItems = processItems.filter(pi => pi.is_active);
|
||||
if (activeItems.length === 0) return [];
|
||||
|
||||
// 모든 품목 ID를 쉼표로 구분하여 하나의 규칙으로 통합
|
||||
const itemIds = processItems
|
||||
.filter(pi => pi.is_active)
|
||||
const itemIds = activeItems
|
||||
.map(pi => String(pi.item_id))
|
||||
.join(',');
|
||||
|
||||
if (!itemIds) return [];
|
||||
// 품목 상세 정보 추출 (code, name 포함)
|
||||
const items: IndividualItem[] = activeItems
|
||||
.filter(pi => pi.item) // item 정보가 있는 것만
|
||||
.map(pi => ({
|
||||
id: String(pi.item!.id),
|
||||
code: pi.item!.code,
|
||||
name: pi.item!.name,
|
||||
}));
|
||||
|
||||
return [{
|
||||
id: `individual-${Date.now()}`,
|
||||
@@ -122,9 +131,10 @@ function transformProcessItemsToRules(processItems: ApiProcessItem[]): Classific
|
||||
matchingType: 'equals',
|
||||
conditionValue: itemIds,
|
||||
priority: 0,
|
||||
description: `개별 품목 ${processItems.length}개`,
|
||||
description: `개별 품목 ${activeItems.length}개`,
|
||||
isActive: true,
|
||||
createdAt: new Date().toISOString(),
|
||||
items, // 품목 상세 정보 추가
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user