diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-06-19 11:53:57 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-06-19 11:53:57 +0700 |
| commit | a7eda38c3a1146a33da50ae6a6f87cbc61bbfc97 (patch) | |
| tree | e2c9add5b5525f2d7b5ab49fa1a9e2a44aa40604 /indoteknik_custom/models/report_stock_forecasted.py | |
| parent | 20ae84eb89409a75b6ba024a9d9e06bdc593a480 (diff) | |
change request payment_schedule and fix sales order fulfilment bug
Diffstat (limited to 'indoteknik_custom/models/report_stock_forecasted.py')
| -rw-r--r-- | indoteknik_custom/models/report_stock_forecasted.py | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/indoteknik_custom/models/report_stock_forecasted.py b/indoteknik_custom/models/report_stock_forecasted.py index 92da13d5..8e92a9b8 100644 --- a/indoteknik_custom/models/report_stock_forecasted.py +++ b/indoteknik_custom/models/report_stock_forecasted.py @@ -10,28 +10,31 @@ class ReplenishmentReport(models.AbstractModel): for line in lines: document_out = line.get('document_out') - order_id = document_out.id if document_out else None - product_id = line.get('product', {}).get('id') - query = [('product_id', '=', product_id)] - if order_id: - result = self._calculate_result(line) - quantity = line.get('quantity', 0) - result_dict.setdefault(order_id, []).append((result, quantity)) + if "SO/" in document_out.name: + document_out = line.get('document_out') + order_id = document_out.id if document_out else None + product_id = line.get('product', {}).get('id') + query = [('product_id', '=', product_id)] - for order_id, results in result_dict.items(): - sales_order = self.env['sale.order'].browse(order_id) + if order_id: + result = self._calculate_result(line) + quantity = line.get('quantity', 0) + result_dict.setdefault(order_id, []).append((result, quantity)) - for result, quantity in results: - self.env['sales.order.fullfillment'].create({ - 'sales_order_id': sales_order.id, - 'product_id': product_id, - 'reserved_from': result, - 'qty_fullfillment': quantity, - }) + for order_id, results in result_dict.items(): + sales_order = self.env['sale.order'].browse(order_id) + for result, quantity in results: + self.env['sales.order.fullfillment'].create({ + 'sales_order_id': sales_order.id, + 'product_id': product_id, + 'reserved_from': result, + 'qty_fullfillment': quantity, + }) - return lines + + return lines def _calculate_result(self, line): if line['document_in']: |
