commit
f742f6effc
|
|
@ -648,19 +648,17 @@ class PurchaseOrderCustom(models.Model):
|
|||
def _compute_delviery_order(self):
|
||||
precision = self.env['decimal.precision'].precision_get('Product Unit of Measure')
|
||||
for order in self:
|
||||
if any(
|
||||
not float_is_zero(line.product_qty - line.qty_received, precision_digits=precision)
|
||||
for line in order.order_line.filtered(lambda l: not l.display_type)
|
||||
):
|
||||
order.state_of_delivery = 'Partially Received'
|
||||
elif (
|
||||
all(
|
||||
float_is_zero(line.product_qty - line.qty_received, precision_digits=precision)
|
||||
for line in order.order_line.filtered(lambda l: not l.display_type)
|
||||
)
|
||||
and order.picking_ids
|
||||
):
|
||||
lines = order.order_line.filtered(lambda l: not l.display_type)
|
||||
if all(float_is_zero(line.product_qty - line.qty_received, precision_digits=precision) for line in lines):
|
||||
order.state_of_delivery = 'Fully Received'
|
||||
|
||||
elif all(float_is_zero(line.qty_received, precision_digits=precision) for line in lines):
|
||||
order.state_of_delivery = 'Not Received'
|
||||
|
||||
elif any(not float_is_zero(line.product_qty - line.qty_received, precision_digits=precision) for line in
|
||||
lines):
|
||||
order.state_of_delivery = 'Partially Received'
|
||||
|
||||
else:
|
||||
order.state_of_delivery = 'Not Received'
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue