From 1f25d11038dc36122a485694d5fc3374d98090d1 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Tue, 6 Feb 2024 15:32:08 +0700 Subject: Fix sale order calculate SO Status --- indoteknik_custom/models/sale_order.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 5173ccb7..24c642d9 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -262,17 +262,18 @@ class SaleOrder(models.Model): ('state', 'in', so_state), ('so_status', '!=', 'terproses'), ]) + for sale in sales: - picking_states = {'draft', 'assigned', 'confirmed', 'waiting'} + picking_states = ['draft', 'assigned', 'confirmed', 'waiting'] have_outstanding_pick = any(x.state in picking_states for x in sale.picking_ids) sum_qty_so = sum(so_line.product_uom_qty for so_line in sale.order_line) sum_qty_ship = sum(so_line.qty_delivered for so_line in sale.order_line) - if not have_outstanding_pick: - sale.so_status = 'terproses' - elif sum_qty_so > sum_qty_ship > 0: + if sum_qty_so > sum_qty_ship > 0: sale.so_status = 'sebagian' + elif not have_outstanding_pick: + sale.so_status = 'terproses' else: sale.so_status = 'menunggu' -- cgit v1.2.3