false, 'ERROR' => 'not_found', 'MESSAGE' => 'Order not found', 'DETAIL' => '']; } $order = [ 'OrderID' => (int) $qOrder['ID'], 'UUID' => $qOrder['UUID'] ?? '', 'UserID' => (int) $qOrder['UserID'], 'BusinessID' => (int) $qOrder['BusinessID'], 'DeliveryMultiplier' => (float) $qOrder['DeliveryMultiplier'], 'OrderTypeID' => (int) $qOrder['OrderTypeID'], 'DeliveryFee' => (float) $qOrder['DeliveryFee'], 'BusinessDeliveryFee' => (float) $qOrder['BusinessDeliveryFee'], 'TaxRate' => (float) $qOrder['TaxRate'], 'PayfritFee' => (float) $qOrder['PayfritFee'], 'StatusID' => (int) $qOrder['StatusID'], 'AddressID' => (int) ($qOrder['AddressID'] ?? 0), 'PaymentID' => (int) ($qOrder['PaymentID'] ?? 0), 'Remarks' => $qOrder['Remarks'] ?? '', 'AddedOn' => $qOrder['AddedOn'], 'LastEditedOn' => $qOrder['LastEditedOn'], 'SubmittedOn' => $qOrder['SubmittedOn'], 'ServicePointID' => (int) ($qOrder['ServicePointID'] ?? 0), 'ServicePointName' => $qOrder['ServicePointName'] ?? '', 'GrantID' => (int) ($qOrder['GrantID'] ?? 0), 'GrantOwnerBusinessID' => (int) ($qOrder['GrantOwnerBusinessID'] ?? 0), 'GrantEconomicsType' => $qOrder['GrantEconomicsType'] ?? '', 'GrantEconomicsValue' => (float) ($qOrder['GrantEconomicsValue'] ?? 0), 'TabID' => (int) ($qOrder['TabID'] ?? 0), ]; $qLI = queryTimed(" SELECT oli.ID, oli.ParentOrderLineItemID, oli.OrderID, oli.ItemID, oli.StatusID, oli.Price, oli.Quantity, oli.Remark, oli.IsDeleted, oli.AddedOn, i.Name, i.ParentItemID, i.IsCheckedByDefault, parent.Name AS ItemParentName FROM OrderLineItems oli INNER JOIN Items i ON i.ID = oli.ItemID LEFT JOIN Items parent ON parent.ID = i.ParentItemID WHERE oli.OrderID = ? ORDER BY oli.ID ", [$OrderID]); $rows = []; foreach ($qLI as $r) { $rows[] = [ 'OrderLineItemID' => (int) $r['ID'], 'ParentOrderLineItemID' => (int) $r['ParentOrderLineItemID'], 'OrderID' => (int) $r['OrderID'], 'ItemID' => (int) $r['ItemID'], 'StatusID' => (int) $r['StatusID'], 'Price' => (float) $r['Price'], 'Quantity' => (int) $r['Quantity'], 'Remark' => $r['Remark'] ?? '', 'IsDeleted' => (int) $r['IsDeleted'], 'AddedOn' => $r['AddedOn'], 'Name' => $r['Name'] ?? '', 'ParentItemID' => (int) $r['ParentItemID'], 'ItemParentName' => $r['ItemParentName'] ?? '', 'IsCheckedByDefault' => (int) $r['IsCheckedByDefault'], ]; } return ['OK' => true, 'ERROR' => '', 'ORDER' => $order, 'ORDERLINEITEMS' => $rows]; }