fix: "update cost" should ignore overridden routing times #29154 (#29235)

fix: "update cost" should ignore overridden routing times
(cherry picked from commit 754596dfc1)

Co-authored-by: Ankush Menat <ankush@frappe.io>
This commit is contained in:
mergify[bot]
2022-01-11 09:02:57 +00:00
committed by GitHub
parent 8bb72dece4
commit 819346f69f
2 changed files with 3 additions and 12 deletions

View File

@@ -531,16 +531,6 @@ class BOM(WebsiteGenerator):
row.hour_rate = (hour_rate / flt(self.conversion_rate)
if self.conversion_rate and hour_rate else hour_rate)
if self.routing:
time_in_mins = flt(frappe.db.get_value("BOM Operation", {
"workstation": row.workstation,
"operation": row.operation,
"parent": self.routing
}, ["time_in_mins"]))
if time_in_mins:
row.time_in_mins = time_in_mins
if row.hour_rate and row.time_in_mins:
row.base_hour_rate = flt(row.hour_rate) * flt(self.conversion_rate)
row.operating_cost = flt(row.hour_rate) * flt(row.time_in_mins) / 60.0

View File

@@ -46,6 +46,7 @@ class TestRouting(ERPNextTestCase):
wo_doc.delete()
def test_update_bom_operation_time(self):
"""Update cost shouldn't update routing times."""
operations = [
{
"operation": "Test Operation A",
@@ -85,8 +86,8 @@ class TestRouting(ERPNextTestCase):
routing_doc.save()
bom_doc.update_cost()
bom_doc.reload()
self.assertEqual(bom_doc.operations[0].time_in_mins, 90)
self.assertEqual(bom_doc.operations[1].time_in_mins, 42.2)
self.assertEqual(bom_doc.operations[0].time_in_mins, 30)
self.assertEqual(bom_doc.operations[1].time_in_mins, 20)
def setup_operations(rows):