diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-05-10 14:43:15 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-05-10 14:43:15 +0700 |
| commit | 844339e517540826f6990456a63945dc879e37d5 (patch) | |
| tree | a635964dbd0b9729c1d161e16ca7e8dabb02a3c8 /indoteknik_custom/models/automatic_purchase.py | |
| parent | 1c0c7be74b11371299bead2626840b3ebc2632f7 (diff) | |
| parent | cb9ae6021dd4858372ed78d16ab491226c95f1d2 (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.py | 18 |
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) |
