diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-01-22 15:32:43 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-01-22 15:32:43 +0700 |
| commit | 53d5d5869f62d73be785400c050b389efb10b511 (patch) | |
| tree | 366584822863c404dea88d32bf871c16fa5c0f0b | |
| parent | 5b9451c11b369c74e287786612a5cd97fcd27c10 (diff) | |
change request on eta_date
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 18 |
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 |
