sale_order_line_idsale_order_line_id=sale_order_idsale_order_idYsale_order_line_idsale_order_line_idNproduct_idproduct_idYso_qtyso_qtyYdelivered_qtydelivered_qtyYreserved_stock_qtyreserved_stock_qtyYpo_qtypo_qtyYreceived_qtyreceived_qtyYcreate_datecurrent_dateNwrite_datecurrent_dateYcreate_uidcreated_by_idYwrite_uidcreated_by_idY848368YSelect valuesSelectValuesY1nonesale_order_idsale_order_line_idproduct_idso_qtycurrent_datedelivered_qtyreserved_stock_qtypo_qtyreceived_qtycreated_by_idN1008368Ydelivered qtyTableInputY1noneerp indoteknik production (localhost)select sm.sale_line_id as sale_order_line_id, sml.product_id, sum(sml.qty_done) as delivered_qty
from stock_move_line sml
join stock_move sm on sm.id = sml.move_id
join stock_picking sp on sp.id = sm.picking_id
where 1=1
and sp.state not in ('cancel')
and sm.sale_line_id is not null
and sm.write_date >= (now() - '180 days'::interval)
group by sm.sale_line_id, sml.product_id
order by sm.sale_line_id, sml.product_id0NNNNIntegernormalsale_order_line_id90delivered qtysale_order_line_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNIntegernormalproduct_id90delivered qtyproduct_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNBigNumbernormaldelivered_qty-1-1delivered qtydelivered_qty######0.0###################;-######0.0###################.noneNY0NNNen_USAsia/BangkokN28896Ypo qtyTableInputY1noneerp indoteknik production (localhost)select posm.sale_line_id as sale_order_line_id, posm.product_id, sum(pol.product_uom_qty) as po_qty
from purchase_order_sales_match posm
join purchase_order po on po.id = posm.purchase_order_id
join purchase_order_line pol on (pol.order_id = po.id and pol.product_id = posm.product_id)
where 1=1
and po.state in ('done', 'purchase')
and posm.write_date >= (now() - '180 days'::interval)
group by posm.sale_line_id, posm.product_id
order by posm.sale_line_id, posm.product_id0NNNNIntegernormalsale_order_line_id90po qtysale_order_line_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNIntegernormalproduct_id90po qtyproduct_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNNumbernormalpo_qty-1-1po qtypo_qty####0.0#########;-####0.0#########.,noneNY0NNNen_USAsia/BangkokN60896Yreceived qtyTableInputY1noneerp indoteknik production (localhost)select posm.sale_line_id as sale_order_line_id, sml.product_id, sum(sml.qty_done) as received_qty
from purchase_order_sales_match posm
join purchase_order po on po.id = posm.purchase_order_id
join purchase_order_line pol on (pol.order_id = po.id and pol.product_id = posm.product_id)
join stock_move sm on sm.purchase_line_id = pol.id
join stock_move_line sml on sml.move_id = sm.id
join stock_picking sp on sp.id = sm.picking_id
where 1=1
and po.state in ('done', 'purchase')
and sp.state not in ('cancel')
and posm.write_date >= (now() - '180 days'::interval)
group by posm.sale_line_id, sml.product_id
order by posm.sale_line_id, sml.product_id0NNNNIntegernormalsale_order_line_id90received qtysale_order_line_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNIntegernormalproduct_id90received qtyproduct_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNBigNumbernormalreceived_qty-1-1received qtyreceived_qty######0.0###################;-######0.0###################.noneNY0NNNen_USAsia/BangkokN80096Yreserved qtyTableInputY1noneerp indoteknik production (localhost)select sm.sale_line_id as sale_order_line_id, sml.product_id, sum(sml.product_uom_qty) as reserved_stock_qty
from stock_move_line sml
join stock_move sm on sm.id = sml.move_id
join stock_picking sp on sp.id = sm.picking_id
where 1=1
and sp.state not in ('cancel')
and sm.sale_line_id is not null
and sm.write_date >= (now() - '180 days'::interval)
and (sp.name like '%BU/PICK%' or sp.name like '%BU/OUT%')
group by sm.sale_line_id,sml.product_id
order by sm.sale_line_id,sml.product_id0NNNNIntegernormalsale_order_line_id90reserved qtysale_order_line_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNIntegernormalproduct_id90reserved qtyproduct_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNBigNumbernormalreserved_stock_qty-1-1reserved qtyreserved_stock_qty######0.0###################;-######0.0###################.noneNY0NNNen_USAsia/BangkokN44896Ysale orderTableInputY1noneerp indoteknik production (localhost)select so.id as sale_order_id, sol.id as sale_order_line_id,
sol.product_id as product_id, sol.product_uom_qty as so_qty,
now()::timestamp as current_date
from sale_order_line sol
join sale_order so on so.id = sol.order_id
join product_product pp on pp.id = sol.product_id
where 1=1
and so.state in ('sale', 'done')
and sol.product_uom_qty <> sol.qty_delivered
and sol.write_date >= (now() - '180 days'::interval)
order by sol.id, sol.product_id0NNNNIntegernormalsale_order_id90sale ordersale_order_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNIntegernormalsale_order_line_id90sale ordersale_order_line_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNIntegernormalproduct_id90sale orderproduct_id####0;-####0.,noneNY0NNNen_USAsia/BangkokNBigNumbernormalso_qty-1-1sale orderso_qty######0.0###################;-######0.0###################.noneNY0NNNen_USAsia/BangkokNTimestampnormalcurrent_date6-1sale ordercurrent_date.,noneNY0NNNen_USAsia/BangkokN144224Yso+delivMergeJoinY1noneLEFT OUTERsale orderdelivered qtysale_order_line_idsale_order_line_id288224Yso+deliv+reservMergeJoinY1noneLEFT OUTERso+delivreserved qtysale_order_line_idsale_order_line_id448224Yso+deliv+reserv+poMergeJoinY1noneLEFT OUTERso+deliv+reservpo qtysale_order_line_idsale_order_line_id608224Yso+deliv+reserv+po+receivedMergeJoinY1noneLEFT OUTERso+deliv+reserv+poreceived qtysale_order_line_idsale_order_line_id800224YN