summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/report_stock_forecasted.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-06-19 11:53:57 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-06-19 11:53:57 +0700
commita7eda38c3a1146a33da50ae6a6f87cbc61bbfc97 (patch)
treee2c9add5b5525f2d7b5ab49fa1a9e2a44aa40604 /indoteknik_custom/models/report_stock_forecasted.py
parent20ae84eb89409a75b6ba024a9d9e06bdc593a480 (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.py37
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']: