fix: incorrect requested quantity for the subcontracting order

This commit is contained in:
Rohit Waghchaure
2023-11-30 10:25:22 +05:30
parent 63313eef6f
commit 691e3bb24f
6 changed files with 179 additions and 25 deletions

View File

@@ -952,6 +952,23 @@ class SubcontractingController(StockController):
return self._sub_contracted_items
def update_requested_qty(self):
material_request_map = {}
for d in self.get("items"):
if d.material_request_item:
material_request_map.setdefault(d.material_request, []).append(d.material_request_item)
for mr, mr_item_rows in material_request_map.items():
if mr and mr_item_rows:
mr_obj = frappe.get_doc("Material Request", mr)
if mr_obj.status in ["Stopped", "Cancelled"]:
frappe.throw(
_("Material Request {0} is cancelled or stopped").format(mr), frappe.InvalidStatusError
)
mr_obj.update_requested_qty(mr_item_rows)
def get_item_details(items):
item = frappe.qb.DocType("Item")