fix: Job Card submitted qty

Update Operation Status function in work order was throwing exception without checking the "Overproduction Percentage For Work Order" setting. To submit Job Card qty for more than the Work Order's "To Manufacture Qty" we need to apply this fix.

(cherry picked from commit 9bd6d119c405f2ace6c93d53647af140c6543542)
This commit is contained in:
Türker Tunalı 2020-05-07 12:38:37 +03:00 committed by mergify-bot
parent 58f02e7c10
commit 2ba89ffd48

View File

@ -421,6 +421,9 @@ class WorkOrder(Document):
return holidays[holiday_list]
def update_operation_status(self):
allowance_percentage = flt(frappe.db.get_single_value("Manufacturing Settings", "overproduction_percentage_for_work_order"))
max_allowed_qty_for_wo = flt(self.qty) + (allowance_percentage/100 * flt(self.qty))
for d in self.get("operations"):
if not d.completed_qty:
d.status = "Pending"
@ -428,6 +431,8 @@ class WorkOrder(Document):
d.status = "Work in Progress"
elif flt(d.completed_qty) == flt(self.qty):
d.status = "Completed"
elif flt(d.completed_qty) <= max_allowed_qty_for_wo:
d.status = "Completed"
else:
frappe.throw(_("Completed Qty can not be greater than 'Qty to Manufacture'"))