[Erp5-report] r20380 - /erp5/trunk/products/ERP5/Tool/SimulationTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Apr 9 13:29:04 CEST 2008


Author: seb
Date: Wed Apr  9 13:29:03 2008
New Revision: 20380

URL: http://svn.erp5.org?rev=20380&view=rev
Log:
allow to specify another table than stock, in this case optimisation is automatically disabled

Modified:
    erp5/trunk/products/ERP5/Tool/SimulationTool.py

Modified: erp5/trunk/products/ERP5/Tool/SimulationTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/SimulationTool.py?rev=20380&r1=20379&r2=20380&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/SimulationTool.py (original)
+++ erp5/trunk/products/ERP5/Tool/SimulationTool.py Wed Apr  9 13:29:03 2008
@@ -875,6 +875,7 @@
     def getInventoryList(self, src__=0, optimisation__=True,
                          ignore_variation=0, standardise=0,
                          omit_simulation=0, 
+                         default_stock_table='stock',
                          selection_domain=None, selection_report=None,
                          statistic=0, inventory_list=1, 
                          precision=None, connection_id=None, **kw):
@@ -918,11 +919,14 @@
       kw.update(self._getDefaultGroupByParameters(**kw))
       sql_kw, new_kw = self._generateKeywordDict(**kw)
       stock_sql_kw = self._generateSQLKeywordDictFromKeywordDict(
-                       table='stock', sql_kw=sql_kw, new_kw=new_kw)
+                       table=default_stock_table, sql_kw=sql_kw, new_kw=new_kw)
       Resource_zGetFullInventoryDate = \
         getattr(self, 'Resource_zGetFullInventoryDate', None)
+      EQUAL_DATE_TABLE_ID = 'inventory_stock'
+      GREATER_THAN_DATE_TABLE_ID = 'stock'
       optimisation_success = optimisation__ and \
-                             Resource_zGetFullInventoryDate is not None
+                             Resource_zGetFullInventoryDate is not None and \
+                             (GREATER_THAN_DATE_TABLE_ID == default_stock_table)
       # Generate first query parameter dict
       if optimisation_success:
         def getFirstQueryParameterDict(query_generator_kw):
@@ -1009,8 +1013,6 @@
                                         full_text_search_keys = full_text_search_keys)
               equal_date_query_list = []
               greater_than_date_query_list = []
-              EQUAL_DATE_TABLE_ID = 'inventory_stock'
-              GREATER_THAN_DATE_TABLE_ID = 'stock'
               for inventory_date_line_dict in \
                   inventory_date_line_list.dictionaries():
                 date = inventory_date_line_dict['date']
@@ -1058,7 +1060,7 @@
                 (where_query, greater_than_date_query)
               # Get initial inventory amount
               initial_inventory_line_list = self.Resource_zGetInventoryList(
-                stock_table_id='inventory_stock',
+                stock_table_id=EQUAL_DATE_TABLE_ID,
                 src__=src__, ignore_variation=ignore_variation,
                 standardise=standardise, omit_simulation=omit_simulation,
                 selection_domain=selection_domain,
@@ -1067,7 +1069,7 @@
                 statistic=statistic, **inventory_stock_sql_kw)
               # Get delta inventory
               delta_inventory_line_list = self.Resource_zGetInventoryList(
-                stock_table_id='stock',
+                stock_table_id=GREATER_THAN_DATE_TABLE_ID,
                 src__=src__, ignore_variation=ignore_variation,
                 standardise=standardise, omit_simulation=omit_simulation,
                 selection_domain=selection_domain,
@@ -1181,7 +1183,7 @@
             optimisation_success = False
       if not optimisation_success:
         result = self.Resource_zGetInventoryList(
-                    stock_table_id='stock',
+                    stock_table_id=default_stock_table,
                     src__=src__, ignore_variation=ignore_variation,
                     standardise=standardise, omit_simulation=omit_simulation,
                     selection_domain=selection_domain,




More information about the Erp5-report mailing list