summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xindoteknik_custom/models/purchase_order.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py
index e7e5c382..45fbe6e7 100755
--- a/indoteknik_custom/models/purchase_order.py
+++ b/indoteknik_custom/models/purchase_order.py
@@ -197,8 +197,11 @@ class PurchaseOrder(models.Model):
# Ambil semua BU awal dari PO
base_bu = StockPicking.search([
+ '|',
+ '&',
('name', 'ilike', 'BU/'),
- ('origin', 'ilike', order.name)
+ ('group_id.id', '=', order.group_id.id),
+ ('origin', '=', order.name),
])
all_bu = base_bu
@@ -228,10 +231,12 @@ class PurchaseOrder(models.Model):
# Step 1: cari semua BU pertama (PUT, INT) yang berasal dari PO ini
base_bu = StockPicking.search([
+ '|',
+ '&',
('name', 'ilike', 'BU/'),
- ('origin', 'ilike', self.name)
+ ('group_id.id', '=', self.group_id.id),
+ ('origin', '=', self.name),
])
-
all_bu = base_bu
seen_names = set(base_bu.mapped('name'))
@@ -242,10 +247,10 @@ class PurchaseOrder(models.Model):
('origin', 'in', ['Return of %s' % name for name in seen_names])
])
next_names = set(next_bu.mapped('name'))
-
+
if not next_names - seen_names:
break
-
+
all_bu |= next_bu
seen_names |= next_names