|
|
line_found = defaultdict(set)
for line in self:
total = 0.0
for po in line.requisition_id.purchase_ids.filtered(lambda purchase_order: purchase_order.state in ['purchase', 'done']):
for po_line in po.order_line.filtered(lambda order_line: order_line.product_id == line.product_id):
if po_line.product_uom != line.product_uom_id:
total += po_line.product_uom._compute_quantity(po_line.product_qty, line.product_uom_id)
else:
total += po_line.product_qty
if line.product_id not in line_found[line.requisition_id]:
line.qty_ordered = total
line_found[line.requisition_id].add(line.product_id)
else:
line.qty_ordered = 0
|
|