mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-15 12:55:10 +00:00
fix: correctly group RMs of same phantom from different FG
(cherry picked from commit e57de4311c)
This commit is contained in:
@@ -2099,16 +2099,19 @@ def get_raw_materials_of_sub_assembly_items(
|
|||||||
|
|
||||||
for item in query.run(as_dict=True):
|
for item in query.run(as_dict=True):
|
||||||
key = (item.item_code, item.bom_no)
|
key = (item.item_code, item.bom_no)
|
||||||
|
existing_key = (item.item_code, item.bom_no or item.main_bom)
|
||||||
if item.is_phantom_item:
|
if item.is_phantom_item:
|
||||||
|
sub_assembly_items.setdefault(key, 0)
|
||||||
sub_assembly_items[key] += item.get("qty")
|
sub_assembly_items[key] += item.get("qty")
|
||||||
|
|
||||||
if (item.bom_no and key not in sub_assembly_items) or (
|
if item.bom_no and not item.is_phantom_item and key not in sub_assembly_items:
|
||||||
(item.item_code, item.bom_no or item.main_bom) in existing_sub_assembly_items
|
continue
|
||||||
):
|
|
||||||
|
if not item.is_phantom_item and existing_key in existing_sub_assembly_items:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if item.bom_no:
|
if item.bom_no:
|
||||||
planned_qty = flt(sub_assembly_items[key])
|
planned_qty = flt(item.get("qty")) if item.is_phantom_item else flt(sub_assembly_items[key])
|
||||||
get_raw_materials_of_sub_assembly_items(
|
get_raw_materials_of_sub_assembly_items(
|
||||||
existing_sub_assembly_items,
|
existing_sub_assembly_items,
|
||||||
item_details,
|
item_details,
|
||||||
@@ -2118,7 +2121,8 @@ def get_raw_materials_of_sub_assembly_items(
|
|||||||
sub_assembly_items,
|
sub_assembly_items,
|
||||||
planned_qty=planned_qty,
|
planned_qty=planned_qty,
|
||||||
)
|
)
|
||||||
existing_sub_assembly_items.add((item.item_code, item.bom_no or item.main_bom))
|
if not item.is_phantom_item:
|
||||||
|
existing_sub_assembly_items.add(existing_key)
|
||||||
else:
|
else:
|
||||||
if not item.conversion_factor and item.purchase_uom:
|
if not item.conversion_factor and item.purchase_uom:
|
||||||
item.conversion_factor = get_uom_conversion_factor(item.item_code, item.purchase_uom)
|
item.conversion_factor = get_uom_conversion_factor(item.item_code, item.purchase_uom)
|
||||||
|
|||||||
Reference in New Issue
Block a user