| @@ -2235,8 +2235,17 @@ open class PickOrderService( | |||||
| -- Calculate available quantity from inventory | -- Calculate available quantity from inventory | ||||
| COALESCE(( | COALESCE(( | ||||
| SELECT inv.onHandQty - inv.onHoldQty - inv.unavailableQty | |||||
| SELECT SUM( | |||||
| COALESCE(inv.onHandQty, 0) | |||||
| - COALESCE(inv.onHoldQty, 0) | |||||
| - COALESCE(inv.unavailableQty, 0) | |||||
| ) | |||||
| FROM fpsmsdb.inventory inv | FROM fpsmsdb.inventory inv | ||||
| JOIN fpsmsdb.item_uom iu | |||||
| ON iu.itemId = inv.itemId | |||||
| AND iu.uomId = inv.uomId | |||||
| AND iu.baseUnit = 1 | |||||
| AND iu.deleted = false | |||||
| WHERE inv.itemId = i.id | WHERE inv.itemId = i.id | ||||
| AND inv.deleted = false | AND inv.deleted = false | ||||
| ), 0) as availableQty, | ), 0) as availableQty, | ||||
| @@ -2266,8 +2275,8 @@ open class PickOrderService( | |||||
| WHERE po.deleted = false | WHERE po.deleted = false | ||||
| AND po.id IN ($pickOrderIdsStr) | AND po.id IN ($pickOrderIdsStr) | ||||
| AND pol.deleted = false | AND pol.deleted = false | ||||
| AND po.status = 'RELEASED' | |||||
| AND po.type NOT IN ('do', 'job') -- 排除 do 和 job 类型 | |||||
| AND LOWER(po.status) = 'released' | |||||
| AND LOWER(po.type) NOT IN ('do', 'jo') -- 排除 do 和 jo 类型 | |||||
| -- Only include lines that have incomplete stock out lines | -- Only include lines that have incomplete stock out lines | ||||
| AND ( | AND ( | ||||
| NOT EXISTS ( | NOT EXISTS ( | ||||