$sub = "SELECT debtor_no, debtor_ref, branch_code, branch_ref, stk_code
, min(delivery_date)
- , sum(sod.quantity - qty_sent) as quantity
- , sum((sod.quantity - qty_sent)*unit_price*(1-discount_percent/100)) as amount
+ , sum(d.quantity) as quantity
+ , sum((d.quantity)*unit_price*(1-discount_percent/100)) as amount
, min(required_date)
, group_concat(distinct comments separator ';') as order_comment
, group_concat(distinct comment separator ';') as detail_comment
, max(quantity_before) as quantity_before
- , sum(if($held_condition, sod.quantity - qty_sent, 0)) as quantity_held
+ , sum(if($held_condition, d.quantity, 0)) as quantity_held
+ , sum(if($held_condition, d.quantity, 0)*unit_price*(1-discount_percent/100)) as amount_held
+ , sum(if($held_condition, 0, greatest(least(d.quantity, qoh.quantity - quantity_before), 0))) as available_quantity
+ , sum(if($held_condition, 0, greatest(least(d.quantity, qoh.quantity - quantity_before), 0)*unit_price*(1-discount_percent/100))) as available_amount
, sum(p.quantity) as quantity_to_pick
, sum(p.quantity*unit_price) as amount_to_pick
FROM ".TB_PREF."sales_order_details sod
NATURAL JOIN ".TB_PREF."cust_branch
LEFT JOIN ($pick) p ON (detail_id = sod.id)
JOIN ".TB_PREF."denorm_order_details_queue d ON (d.id = sod.id)
+ LEFT JOIN ".TB_PREF."denorm_qoh qoh ON (qoh.stock_id = stk_code AND loc_code = '$location')
WHERE sod.quantity > qty_sent AND ".ST_SALESORDER."
GROUP BY debtor_no, branch_code, stk_code
";
, sum(sub.amount) as amount
, sum(greatest(least(sub.quantity -quantity_held, qoh.quantity - quantity_before), 0))
, sum(sub.amount*greatest(least(sub.quantity -quantity_held, qoh.quantity - quantity_before), 0)/sub.quantity)
+ , sum(sub.available_quantity)
+ , sum(sub.available_amount)
, sum(quantity_held) as quantity_help
, min(`min(required_date)`) as required_date
, group_concat(distinct order_comment separator ';') as order_comment
_("Amount") => array('ord' => '', 'type' => 'amount'),
_("Avail. Q") => array('ord' => '', 'type' => 'qty', 'dec' => 0),
_("Avail. A") => array('ord' => '', 'type' => 'amount', 'dec' => 0),
+_("Avai2. Q") => array('ord' => '', 'type' => 'qty', 'dec' => 0),
+_("Avai2. A") => array('ord' => '', 'type' => 'amount', 'dec' => 0),
_("Held. Q") => array('ord' => '', 'type' => 'qty', 'dec' => 0),
_("required date") => array('ord' => '', 'type' => 'date'),
_("Comments") => array('ord' => '', 'fun' => 'aggregate_comment'),