fix: "update cost" should ignore overridden routing times #29154
fix: "update cost" should ignore overridden routing times
This commit is contained in:
parent
75c8b2556e
commit
754596dfc1
@ -530,16 +530,6 @@ class BOM(WebsiteGenerator):
|
|||||||
row.hour_rate = (hour_rate / flt(self.conversion_rate)
|
row.hour_rate = (hour_rate / flt(self.conversion_rate)
|
||||||
if self.conversion_rate and hour_rate else hour_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:
|
if row.hour_rate and row.time_in_mins:
|
||||||
row.base_hour_rate = flt(row.hour_rate) * flt(self.conversion_rate)
|
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
|
row.operating_cost = flt(row.hour_rate) * flt(row.time_in_mins) / 60.0
|
||||||
|
@ -46,6 +46,7 @@ class TestRouting(ERPNextTestCase):
|
|||||||
wo_doc.delete()
|
wo_doc.delete()
|
||||||
|
|
||||||
def test_update_bom_operation_time(self):
|
def test_update_bom_operation_time(self):
|
||||||
|
"""Update cost shouldn't update routing times."""
|
||||||
operations = [
|
operations = [
|
||||||
{
|
{
|
||||||
"operation": "Test Operation A",
|
"operation": "Test Operation A",
|
||||||
@ -85,8 +86,8 @@ class TestRouting(ERPNextTestCase):
|
|||||||
routing_doc.save()
|
routing_doc.save()
|
||||||
bom_doc.update_cost()
|
bom_doc.update_cost()
|
||||||
bom_doc.reload()
|
bom_doc.reload()
|
||||||
self.assertEqual(bom_doc.operations[0].time_in_mins, 90)
|
self.assertEqual(bom_doc.operations[0].time_in_mins, 30)
|
||||||
self.assertEqual(bom_doc.operations[1].time_in_mins, 42.2)
|
self.assertEqual(bom_doc.operations[1].time_in_mins, 20)
|
||||||
|
|
||||||
|
|
||||||
def setup_operations(rows):
|
def setup_operations(rows):
|
||||||
|
Loading…
Reference in New Issue
Block a user