Update planned date of assigned move from shipment and production

Closes #12867
(grafted from 1caa3667c8759bfd92c315d12aae4fb5f57ad587)

--HG--
branch : 6.0
This commit is contained in:
Cédric Krier
2023-12-23 02:32:43 +01:00
parent 5c3d63a4c4
commit ebb34ea32a
2 changed files with 11 additions and 11 deletions
+2 -2
View File
@@ -680,14 +680,14 @@ class Production(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
dates = production._get_move_planned_date()
input_date, output_date = dates
inputs = [m for m in production.inputs
if m.state not in ('assigned', 'done', 'cancelled')]
if m.state not in {'done', 'cancelled'}]
if inputs:
to_write.append(inputs)
to_write.append({
'planned_date': input_date,
})
outputs = [m for m in production.outputs
if m.state not in ('assigned', 'done', 'cancelled')]
if m.state not in {'done', 'cancelled'}]
if outputs:
to_write.append(outputs)
to_write.append({
+9 -9
View File
@@ -401,7 +401,7 @@ class ShipmentIn(ShipmentMixin, Workflow, ModelSQL, ModelView):
# Update planned_date only for later to not be too optimistic if
# the shipment is not directly received.
incoming_moves_to_write = [m for m in shipment.incoming_moves
if (m.state not in ('assigned', 'done', 'cancelled')
if (m.state not in {'done', 'cancelled'}
and ((m.planned_date or datetime.date.max)
< (incoming_date or datetime.date.max)))]
if incoming_moves_to_write:
@@ -409,7 +409,7 @@ class ShipmentIn(ShipmentMixin, Workflow, ModelSQL, ModelView):
'planned_date': incoming_date,
}))
inventory_moves_to_write = [m for m in shipment.inventory_moves
if (m.state not in ('assigned', 'done', 'cancelled')
if (m.state not in {'done', 'cancelled'}
and ((m.planned_date or datetime.date.max)
< (inventory_date or datetime.date.max)))]
if inventory_moves_to_write:
@@ -756,7 +756,7 @@ class ShipmentInReturn(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
to_write = []
for shipment in shipments:
moves = [m for m in shipment.moves
if (m.state not in ('assigned', 'done', 'cancelled')
if (m.state not in {'done', 'cancelled'}
and m.planned_date != shipment._move_planned_date)]
if moves:
to_write.extend((moves, {
@@ -1459,7 +1459,7 @@ class ShipmentOut(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
for shipment in shipments:
outgoing_date, inventory_date = shipment._move_planned_date
out_moves_to_write = [x for x in shipment.outgoing_moves
if (x.state not in ('assigned', 'done', 'cancelled')
if (x.state not in {'done', 'cancelled'}
and x.planned_date != outgoing_date)]
if out_moves_to_write:
to_write.extend((out_moves_to_write, {
@@ -1467,7 +1467,7 @@ class ShipmentOut(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
}))
inv_moves_to_write = [x for x in shipment.inventory_moves
if (x.state not in ('assigned', 'done', 'cancelled')
if (x.state not in {'done', 'cancelled'}
and x.planned_date != inventory_date)]
if inv_moves_to_write:
to_write.extend((inv_moves_to_write, {
@@ -1847,14 +1847,14 @@ class ShipmentOutReturn(ShipmentMixin, Workflow, ModelSQL, ModelView):
dates = shipment._get_move_planned_date()
incoming_date, inventory_date = dates
incoming_moves_to_write = [x for x in shipment.incoming_moves
if (x.state not in ('assigned', 'done', 'cancelled')
if (x.state not in {'done', 'cancelled'}
and x.planned_date != incoming_date)]
if incoming_moves_to_write:
to_write.extend((incoming_moves_to_write, {
'planned_date': incoming_date,
}))
inventory_moves_to_write = [x for x in shipment.inventory_moves
if (x.state not in ('assigned', 'done', 'cancelled')
if (x.state not in {'done', 'cancelled'}
and x.planned_date != inventory_date)]
if inventory_moves_to_write:
to_write.extend((inventory_moves_to_write, {
@@ -2640,7 +2640,7 @@ class ShipmentInternal(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
dates = shipment._move_planned_date
outgoing_date, incoming_date = dates
outgoing_moves = [m for m in shipment.outgoing_moves
if (m.state not in ('assigned', 'done', 'cancelled')
if (m.state not in ('done', 'cancelled')
and m.planned_date != outgoing_date)]
if outgoing_moves:
to_write.append(outgoing_moves)
@@ -2649,7 +2649,7 @@ class ShipmentInternal(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
})
if shipment.transit_location:
incoming_moves = [m for m in shipment.incoming_moves
if (m.state not in ('assigned', 'done', 'cancelled')
if (m.state not in {'done', 'cancelled'}
and m.planned_date != incoming_date)]
if incoming_moves:
to_write.append(incoming_moves)