Commit ea95c650 authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

SimulationTool: getNextAlertInventoryDate can look for the lowest invetory...

SimulationTool: getNextAlertInventoryDate can look for the lowest invetory inferior to the reference quantity
parent d1bd4db9
......@@ -2032,6 +2032,7 @@ class SimulationTool(BaseTool):
range='min',
initial_inventory_kw=None,
inventory_list_kw=None,
look_for_minimal=False,
**kw):
"""
Give the next date where the quantity is lower than the
......@@ -2046,6 +2047,8 @@ class SimulationTool(BaseTool):
inventory_list_kw - additional parameters for looking at next movements
(exemple: use omit_output)
look_for_minimal - Return the date when the inventory is the lowest
"""
result = None
# First look at current inventory, we might have already an inventory
......@@ -2070,7 +2073,7 @@ class SimulationTool(BaseTool):
inventory_method = getattr(self, "get%sInventory" % simulation_period)
initial_inventory = inventory_method(at_date=from_date,
**getAugmentedInventoryKeyword(initial_inventory_kw))
if checkQuantity(initial_inventory):
if checkQuantity(initial_inventory) and not look_for_minimal:
result = from_date
else:
inventory_list_method = getattr(self,
......@@ -2086,7 +2089,11 @@ class SimulationTool(BaseTool):
total_inventory += inventory['inventory']
if checkQuantity(total_inventory):
result = inventory['date']
break
if look_for_minimal:
reference_quantity = total_inventory
checkQuantity = getCheckQuantityMethod()
else:
break
return result
security.declareProtected(Permissions.AccessContentsInformation,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment