Commit f914fa8b authored by Cédric Le Ninivin's avatar Cédric Le Ninivin Committed by Klaus Wölfel

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

SimulationTool: getNextAlertInventoryDate can look for the lowest invetory inferior to the reference quantity
parent 1208ce9b
......@@ -2017,6 +2017,7 @@ class SimulationTool(BaseTool):
range='min', # pylint: disable=redefined-builtin
initial_inventory_kw=None,
inventory_list_kw=None,
look_for_minimal=False,
**kw):
"""
Give the next date where the quantity is lower than the
......@@ -2031,6 +2032,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
......@@ -2055,7 +2058,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,
......@@ -2071,6 +2074,10 @@ class SimulationTool(BaseTool):
total_inventory += inventory['inventory']
if checkQuantity(total_inventory):
result = inventory['date']
if look_for_minimal:
reference_quantity = total_inventory
checkQuantity = getCheckQuantityMethod()
else:
break
return result
......
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