Merge pull request #21978 from scmmishra/work-order-fix-v13-beta
fix: compare start and end time to prevent negative diff
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.py b/erpnext/manufacturing/doctype/job_card/job_card.py
index e43b98a..c29d4ba 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.py
+++ b/erpnext/manufacturing/doctype/job_card/job_card.py
@@ -102,8 +102,11 @@
workstation_doc = frappe.get_cached_doc("Workstation", self.workstation)
if (not workstation_doc.working_hours or
cint(frappe.db.get_single_value("Manufacturing Settings", "allow_overtime"))):
- row.remaining_time_in_mins -= time_diff_in_minutes(row.planned_end_time,
- row.planned_start_time)
+ if get_datetime(row.planned_end_time) < get_datetime(row.planned_start_time):
+ row.planned_end_time = add_to_date(row.planned_start_time, minutes=row.time_in_mins)
+ row.remaining_time_in_mins = 0.0
+ else:
+ row.remaining_time_in_mins -= time_diff_in_minutes(row.planned_end_time, row.planned_start_time)
self.update_time_logs(row)
return