fix(WEB): 작업지시 상세/작업자 화면 개소(층/부호) 표시 수정
- WorkOrderDetail: 개소 그룹핑을 order_node_id → floor_code/symbol_code 기반으로 변경 - WorkerScreen: 아이템 그룹핑을 floor_code/symbol_code 기반으로 변경, '미지정' 라벨 제거 - types.ts: source_order_item에 floor_code/symbol_code 필드 추가, floorCode 변환 로직 적용
This commit is contained in:
@@ -46,6 +46,8 @@ interface WorkOrderApiItem {
|
||||
source_order_item?: {
|
||||
id: number;
|
||||
order_node_id: number | null;
|
||||
floor_code?: string | null;
|
||||
symbol_code?: string | null;
|
||||
node?: { id: number; name: string; code: string } | null;
|
||||
} | null;
|
||||
}[];
|
||||
@@ -111,12 +113,15 @@ function transformToWorkerScreenFormat(api: WorkOrderApiItem): WorkOrder {
|
||||
processInfo = { code: rawProcessCode || 'unknown', name: rawProcessName || '알수없음' };
|
||||
}
|
||||
|
||||
// 아이템을 개소(node)별로 그룹핑
|
||||
// 아이템을 개소(floor_code/symbol_code)별로 그룹핑
|
||||
const nodeMap = new Map<string, { nodeId: number | null; nodeName: string; items: typeof api.items }>();
|
||||
for (const item of (api.items || [])) {
|
||||
const nodeId = item.source_order_item?.order_node_id ?? null;
|
||||
const nodeName = item.source_order_item?.node?.name || '미지정';
|
||||
const key = nodeId != null ? String(nodeId) : 'unassigned';
|
||||
const floorCode = item.source_order_item?.floor_code;
|
||||
const symbolCode = item.source_order_item?.symbol_code;
|
||||
const floorLabel = [floorCode, symbolCode].filter(Boolean).join('/');
|
||||
const nodeName = floorLabel || item.source_order_item?.node?.name || '미지정';
|
||||
const key = floorLabel || (nodeId != null ? String(nodeId) : `unassigned-${item.id}`);
|
||||
if (!nodeMap.has(key)) {
|
||||
nodeMap.set(key, { nodeId, nodeName, items: [] });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user