Add IsInvertedGroup + RemovedDefaults to task detail API
Works app can now display inverted modifier groups with "NO" prefix for removed defaults, matching KDS behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
57d31c0428
commit
588e6ef26d
1 changed files with 32 additions and 2 deletions
|
|
@ -167,7 +167,8 @@
|
|||
i.Name AS ItemName,
|
||||
i.ParentItemID,
|
||||
i.Price AS ItemPrice,
|
||||
i.IsCheckedByDefault
|
||||
i.IsCheckedByDefault,
|
||||
i.IsInvertedGroup
|
||||
FROM OrderLineItems oli
|
||||
INNER JOIN Items i ON i.ID = oli.ItemID
|
||||
WHERE oli.OrderID = ?
|
||||
|
|
@ -186,10 +187,39 @@
|
|||
"ItemPrice": qLineItems.LineItemPrice,
|
||||
"Quantity": qLineItems.Quantity,
|
||||
"Remark": qLineItems.Remark,
|
||||
"IsModifier": qLineItems.ParentOrderLineItemID GT 0
|
||||
"IsModifier": qLineItems.ParentOrderLineItemID GT 0,
|
||||
"IsCheckedByDefault": qLineItems.IsCheckedByDefault,
|
||||
"IsInvertedGroup": qLineItems.IsInvertedGroup
|
||||
})>
|
||||
</cfloop>
|
||||
|
||||
<!--- For inverted modifier groups, compute removed defaults --->
|
||||
<cfloop array="#result.LineItems#" index="li">
|
||||
<cfif li.IsInvertedGroup>
|
||||
<cfset qRemovedDefaults = queryExecute("
|
||||
SELECT i.Name
|
||||
FROM Items i
|
||||
WHERE i.ParentItemID = ?
|
||||
AND i.IsActive = 1
|
||||
AND i.IsCheckedByDefault = b'1'
|
||||
AND i.ID NOT IN (
|
||||
SELECT oli2.ItemID FROM OrderLineItems oli2
|
||||
WHERE oli2.OrderID = ? AND oli2.ParentOrderLineItemID = ? AND oli2.IsDeleted = b'0'
|
||||
)
|
||||
ORDER BY i.SortOrder
|
||||
", [
|
||||
{ value = li.ItemID, cfsqltype = "cf_sql_integer" },
|
||||
{ value = qTask.OrderID, cfsqltype = "cf_sql_integer" },
|
||||
{ value = li.LineItemID, cfsqltype = "cf_sql_integer" }
|
||||
], { datasource = "payfrit" })>
|
||||
<cfset removedNames = []>
|
||||
<cfloop query="qRemovedDefaults">
|
||||
<cfset arrayAppend(removedNames, qRemovedDefaults.Name)>
|
||||
</cfloop>
|
||||
<cfset li["RemovedDefaults"] = removedNames>
|
||||
</cfif>
|
||||
</cfloop>
|
||||
|
||||
<!--- Calculate order total: subtotal + tax + tip + delivery (if delivery) + platform fee --->
|
||||
<cfset taxAmount = subtotal * val(qTask.TaxRate)>
|
||||
<cfset tipAmount = val(qTask.TipAmount)>
|
||||
|
|
|
|||
Reference in a new issue