mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
[FIX] mrp_warehouse_calendar: date_planned_finished calculated with warehouse calendar
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user