function findUnassignedOrderItemsAndOrdersSpreading()

in use-cases/order-picking/src/main/resources/META-INF/resources/app.js [167:189]


function findUnassignedOrderItemsAndOrdersSpreading(orderPickingSolution) {
    const unassignedItemsByOrder = new Map();
    const trolleysByOrder = new Map();
    for (const trolleyStep of orderPickingSolution.trolleyStepList) {
        const orderItem = trolleyStep.orderItem;
        if (trolleyStep.trolleyId === null) {
            let unassignedItems = unassignedItemsByOrder.get(orderItem.orderId);
            if (unassignedItems === undefined) {
                unassignedItems = [];
                unassignedItemsByOrder.set(orderItem.orderId, unassignedItems);
            }
            unassignedItems.push(orderItem);
        } else {
            let trolleys = trolleysByOrder.get(orderItem.orderId);
            if (trolleys === undefined) {
                trolleys = new Set();
                trolleysByOrder.set(orderItem.orderId, trolleys);
            }
            trolleys.add(trolleyStep.trolleyId);
        }
    }
    return [unassignedItemsByOrder, trolleysByOrder];
}