summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/automatic_purchase.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-05-10 14:43:15 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-05-10 14:43:15 +0700
commit844339e517540826f6990456a63945dc879e37d5 (patch)
treea635964dbd0b9729c1d161e16ca7e8dabb02a3c8 /indoteknik_custom/models/automatic_purchase.py
parent1c0c7be74b11371299bead2626840b3ebc2632f7 (diff)
parentcb9ae6021dd4858372ed78d16ab491226c95f1d2 (diff)
Merge branch 'production' into dev/request-by-abl
# Conflicts: # indoteknik_custom/models/res_partner.py
Diffstat (limited to 'indoteknik_custom/models/automatic_purchase.py')
-rw-r--r--indoteknik_custom/models/automatic_purchase.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/indoteknik_custom/models/automatic_purchase.py b/indoteknik_custom/models/automatic_purchase.py
index dae1c6a4..af09abf0 100644
--- a/indoteknik_custom/models/automatic_purchase.py
+++ b/indoteknik_custom/models/automatic_purchase.py
@@ -183,8 +183,10 @@ class AutomaticPurchase(models.Model):
def create_po_by_vendor(self, vendor_id):
current_time = datetime.now()
- # if not self.apo_type =='reordering':
- # self.check_qty_po()
+ if not self.apo_type =='reordering':
+ name = "/PJ/"
+ else:
+ name = "/A/"
PRODUCT_PER_PO = 20
@@ -218,7 +220,7 @@ class AutomaticPurchase(models.Model):
# i start from zero (0)
for i in range(page):
new_po = self.env['purchase.order'].create([param_header])
- new_po.name = new_po.name + "/PJ/" + str(i + 1)
+ new_po.name = new_po.name + name + str(i + 1)
self.env['automatic.purchase.match'].create([{
'automatic_purchase_id': self.id,
@@ -253,7 +255,8 @@ class AutomaticPurchase(models.Model):
'product_uom_qty': line.qty_purchase,
'price_unit': line.last_price,
'taxes_id': [line.taxes_id.id] if line.taxes_id else None,
- # 'so_line_id': [sales.sale_line_id.id for sales in sales_match],
+ 'so_line_id': sales_match[0].sale_line_id.id if sales_match else None,
+ 'so_id': sales_match[0].sale_id.id if sales_match else None
}
new_po_line = self.env['purchase.order.line'].create([param_line])
line.current_po_id = new_po.id
@@ -279,7 +282,10 @@ class AutomaticPurchase(models.Model):
('sale_line_id.product_id', 'in', matches_so_product_ids),
])
+ sale_ids_set = set()
for sale_order in matches_so:
+ sale_ids_set.add(str(sale_order.sale_id.name))
+
matches_so_line = {
'purchase_order_id': purchase_order.id,
'sale_id': sale_order.sale_id.id,
@@ -295,6 +301,10 @@ class AutomaticPurchase(models.Model):
'margin_so': sale_order.sale_line_id.item_percent_margin
}
po_matches_so_line = self.env['purchase.order.sales.match'].create([matches_so_line])
+
+ sale_ids_str = ','.join(sale_ids_set)
+
+ purchase_order.sale_order = sale_ids_str
self.create_sales_order_purchase_match(purchase_order)