[FIX] mrp_warehouse_calendar: date_planned_finished calculated with warehouse calendar

This commit is contained in:
Bernat Puig Font
2022-02-02 09:00:44 +01:00
committed by joan
parent 1cc8fc769b
commit 94a9d13d94
2 changed files with 20 additions and 9 deletions

View File

@@ -8,14 +8,25 @@ class MrpProduction(models.Model):
_inherit = "mrp.production"
@api.onchange("date_planned_start", "product_id")
def onchange_date_planned(self):
dt_planned = self.date_planned_start
warehouse = self.picking_type_id.warehouse_id
if warehouse.calendar_id and self.product_id.produce_delay:
date_expected_finished = warehouse.calendar_id.plan_days(
+1 * self.product_id.produce_delay + 1, dt_planned
)
self.date_planned_finished = date_expected_finished
def _onchange_date_planned_start(self):
res = super(MrpProduction, self)._onchange_date_planned_start()
if self.date_planned_start and not self.is_planned:
warehouse = self.picking_type_id.warehouse_id
if warehouse.calendar_id:
if self.product_id.produce_delay:
self.date_planned_finished = warehouse.calendar_id.plan_days(
+1 * self.product_id.produce_delay + 1, self.date_planned_start
)
if self.company_id.manufacturing_lead:
self.date_planned_finished = warehouse.calendar_id.plan_days(
+1 * self.company_id.manufacturing_lead + 1,
self.date_planned_finished,
)
self.move_finished_ids = [
(1, m.id, {"date": self.date_planned_finished})
for m in self.move_finished_ids
]
return res
@api.returns("self", lambda value: value.id)
def copy(self, default=None):

View File

@@ -123,7 +123,7 @@ class TestMrpWarehouseCalendar(TransactionCase):
}
)
mo.date_planned_start = "2097-01-04 09:00:00"
mo.onchange_date_planned()
mo._onchange_date_planned_start()
date_plan_finished = fields.Date.to_date(mo.date_planned_finished)
monday = fields.Date.to_date("2097-01-07 09:00:00")
self.assertEqual(date_plan_finished, monday)