From d17bea0a31419336a48a3eeccd60cc381f54c1ab Mon Sep 17 00:00:00 2001 From: Makarand Bauskar Date: Wed, 4 Oct 2017 14:30:12 +0530 Subject: [PATCH] [hotfix] check minimum actual start time and actual end time before updating PO Operations (#11041) * [hotfix] check minimum actual start time and actual end time before updating PO Operations * Update production_order.py --- .../doctype/production_order/production_order.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py index f04fddfae3..f4d37760d3 100644 --- a/erpnext/manufacturing/doctype/production_order/production_order.py +++ b/erpnext/manufacturing/doctype/production_order/production_order.py @@ -370,8 +370,13 @@ class ProductionOrder(Document): self.actual_start_date = None self.actual_end_date = None if self.get("operations"): - self.actual_start_date = min([d.actual_start_time for d in self.get("operations") if d.actual_start_time]) - self.actual_end_date = max([d.actual_end_time for d in self.get("operations") if d.actual_end_time]) + actual_start_dates = [d.actual_start_time for d in self.get("operations") if d.actual_start_time] + if actual_start_dates: + self.actual_start_date = min(actual_start_dates) + + actual_end_dates = [d.actual_end_time for d in self.get("operations") if d.actual_end_time] + if actual_end_dates: + self.actual_end_date = max(actual_end_dates) def delete_timesheet(self): for timesheet in frappe.get_all("Timesheet", ["name"], {"production_order": self.name}): @@ -621,4 +626,4 @@ def stop_unstop(production_order, status): frappe.msgprint(_("Production Order has been {0}").format(status)) pro_order.notify_update() - return pro_order.status \ No newline at end of file + return pro_order.status