fix: lead time calculation for FG item

(cherry picked from commit 646688c291)
This commit is contained in:
Rohit Waghchaure
2026-01-29 16:36:56 +05:30
committed by Mergify
parent 14ba0f1cae
commit 5595602f24
2 changed files with 34 additions and 4 deletions

View File

@@ -454,7 +454,6 @@ class MaterialRequirementsPlanningReport:
row[field] = rm_details.get(field)
self.update_required_qty(row)
row.release_date = add_days(row.delivery_date, row.lead_time * -1)
if i != 0:
data.append(frappe._dict({}))
@@ -463,7 +462,15 @@ class MaterialRequirementsPlanningReport:
if rm_details.raw_materials:
row.capacity = get_item_capacity(row.item_code, self.filters.bucket_size)
row.type_of_material = "Manufacture"
if row.lead_time and row.required_qty:
row.lead_time = math.ceil(row.required_qty / row.lead_time)
elif not row.required_qty:
row.lead_time = 0
if not row.lead_time and rm_details.raw_materials:
row.lead_time = self.get_lead_time_from_raw_materials(rm_details.raw_materials)
row.release_date = add_days(row.delivery_date, row.lead_time * -1)
data.append(row)
if rm_details.raw_materials:
self.update_rm_details(
@@ -472,6 +479,15 @@ class MaterialRequirementsPlanningReport:
return data
def get_lead_time_from_raw_materials(self, raw_materials):
lead_time = 0
for material in raw_materials:
lead_time += math.ceil(material.lead_time)
if material.raw_materials:
lead_time += self.get_lead_time_from_raw_materials(material.raw_materials)
return lead_time
def add_non_planned_so(self, row):
if so_details := self._so_details.get((row.item_code, row.delivery_date)):
row.adhoc_qty = so_details.qty
@@ -1199,8 +1215,10 @@ def get_item_lead_time(item_code, type_of_material):
if type_of_material == "Manufacture":
query = query.select(
Case()
.when(doctype.manufacturing_time_in_mins.isnull(), 0)
.else_(doctype.manufacturing_time_in_mins / 1440 + doctype.buffer_time)
.when(
(doctype.manufacturing_time_in_mins.isnull() | (doctype.manufacturing_time_in_mins <= 0)), 0
)
.else_(1440 / doctype.manufacturing_time_in_mins + doctype.buffer_time)
.as_("lead_time")
)
else:

View File

@@ -89,6 +89,18 @@
"show_arrow": 0,
"type": "Section Break"
},
{
"child": 1,
"collapsible": 1,
"icon": "",
"indent": 0,
"keep_closed": 0,
"label": "Item Lead Time",
"link_to": "Item Lead Time",
"link_type": "DocType",
"show_arrow": 0,
"type": "Link"
},
{
"child": 1,
"collapsible": 1,
@@ -425,7 +437,7 @@
"type": "Link"
}
],
"modified": "2026-01-10 00:06:13.058137",
"modified": "2026-01-29 16:41:40.416652",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Manufacturing",