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.
This commit is contained in:
Türker Tunalı
2020-05-07 12:38:37 +03:00
committed by GitHub
parent 2aa045865f
commit 9bd6d119c4

View File

@@ -382,6 +382,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"
@@ -389,6 +392,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'"))
@@ -809,4 +814,4 @@ def create_pick_list(source_name, target_doc=None, for_qty=None):
doc.set_item_locations()
return doc
return doc