Skip to content

Commit

Permalink
fix: multiple Work Orders agaist same production plan
Browse files Browse the repository at this point in the history
  • Loading branch information
rohitwaghchaure committed Jun 22, 2023
1 parent c51e6db commit 80fffbd
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ frappe.ui.form.on('Production Plan', {
}, __('Create'));
}

if (frm.doc.mr_items && !in_list(['Material Requested', 'Closed'], frm.doc.status)) {
if (frm.doc.mr_items && frm.doc.mr_items.length && !in_list(['Material Requested', 'Closed'], frm.doc.status)) {
frm.add_custom_button(__("Material Request"), ()=> {
frm.trigger("make_material_request");
}, __('Create'));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,9 @@ def make_work_order(self):
self.show_list_created_message("Work Order", wo_list)
self.show_list_created_message("Purchase Order", po_list)

if not wo_list:
frappe.msgprint(_("No Work Orders were created"))

def make_work_order_for_finished_goods(self, wo_list, default_warehouses):
items_data = self.get_production_items()

Expand Down Expand Up @@ -618,6 +621,9 @@ def show_list_created_message(self, doctype, doc_list=None):
def create_work_order(self, item):
from erpnext.manufacturing.doctype.work_order.work_order import OverProductionError

if item.get("qty") <= 0:
return

wo = frappe.new_doc("Work Order")
wo.update(item)
wo.planned_start_date = item.get("planned_start_date") or item.get("schedule_date")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,13 @@ def test_production_plan_mr_creation(self):
"Work Order", fields=["name"], filters={"production_plan": pln.name}, as_list=1
)

pln.make_work_order()
nwork_orders = frappe.get_all(
"Work Order", fields=["name"], filters={"production_plan": pln.name}, as_list=1
)

self.assertTrue(len(work_orders), len(nwork_orders))

self.assertTrue(len(work_orders), len(pln.po_items))

for name in material_requests:
Expand Down

0 comments on commit 80fffbd

Please sign in to comment.