summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-01-22 15:32:43 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-01-22 15:32:43 +0700
commit53d5d5869f62d73be785400c050b389efb10b511 (patch)
tree366584822863c404dea88d32bf871c16fa5c0f0b
parent5b9451c11b369c74e287786612a5cd97fcd27c10 (diff)
change request on eta_date
-rwxr-xr-xindoteknik_custom/models/sale_order.py18
1 files changed, 5 insertions, 13 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index 7af24be9..44790480 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -85,23 +85,15 @@ class SaleOrder(models.Model):
eta_date = fields.Datetime(string='ETA Date', tracking=3, copy=False, compute='_compute_eta_date')
def _compute_eta_date(self):
- unique_partner_ids = set()
- total_leadtime = 0
- total_orders = 0
+ max_leadtime = 0
for line in self.order_line:
- vendor_id = line.vendor_id.id
- if vendor_id not in unique_partner_ids:
- unique_partner_ids.add(vendor_id)
- leadtime = line.vendor_id.leadtime
- total_leadtime += leadtime
- total_orders += 1
+ leadtime = line.vendor_id.leadtime
+ max_leadtime = max(max_leadtime, leadtime)
for rec in self:
- if total_orders > 0 and rec.date_order and rec.state not in ['cancel', 'draft']:
- average_leadtime = total_leadtime / total_orders
- rounded_average_leadtime = round(average_leadtime)
- eta_date = rec.date_order + timedelta(days=rounded_average_leadtime)
+ if rec.date_order and rec.state not in ['cancel', 'draft']:
+ eta_date = datetime.now() + timedelta(days=max_leadtime)
rec.eta_date = eta_date
else:
rec.eta_date = False