warehouseId = self::WAREHOUSE; switch ($model->getMorphClass()){ case Order::class: $model->loadMissing(["owner:id,name","batch:id,code","orderCommodities.commodity.barcodes"]); $task->id = $model->code; $task->batchId = $model->batch->code ?? 'SYSTEM'; $task->attributes = [ "customer" => $model->owner->name, ]; $task->type = Task::TOTAL_PICKING; $task->storages = [["type"=>self::STORAGE_TYPE]]; $task->items = []; foreach ($model->orderCommodities as $commodity){ $taskItem = new TaskItem(); $taskItem->name = $commodity->commodity->name ?? ""; $taskItem->barcode = $commodity->commodity->barcodes[0]->code ?? ""; $taskItem->quantity = (int)$commodity->amount; $taskItem->binLocations = [ $commodity->location ]; $taskItem->attributes = [ "sku" => $commodity->commodity->sku ?? "", ]; $task->items[] = (array)$taskItem->get(); } break; } return $task->get(); } }