This commit is contained in:
Mazen Abdo 2025-09-28 12:44:43 +03:00
parent 8346e65ed7
commit 58daa7afde
1 changed files with 10 additions and 12 deletions

View File

@ -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)
):
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'
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
):
order.state_of_delivery = ' Fully Received '
else:
order.state_of_delivery = 'Not Received'