[Erp5-report] r15792 - /erp5/trunk/products/ERP5/TargetSolver/ResourceBackpropagation.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Aug 22 19:08:19 CEST 2007


Author: alex
Date: Wed Aug 22 19:08:19 2007
New Revision: 15792

URL: http://svn.erp5.org?rev=15792&view=rev
Log:
dates should be modified based on the delta, not just copied to other packing lists

Modified:
    erp5/trunk/products/ERP5/TargetSolver/ResourceBackpropagation.py

Modified: erp5/trunk/products/ERP5/TargetSolver/ResourceBackpropagation.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/TargetSolver/ResourceBackpropagation.py?rev=15792&r1=15791&r2=15792&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/TargetSolver/ResourceBackpropagation.py (original)
+++ erp5/trunk/products/ERP5/TargetSolver/ResourceBackpropagation.py Wed Aug 22 19:08:19 2007
@@ -36,8 +36,8 @@
   """
   def _generateValueDeltaDict(self, simulation_movement):
     """
-    Get interesting values
-    XXX: better description is possible. But is it needed ?
+      Get interesting values
+      XXX: better description is possible. But is it needed ?
     """
     # Get interesting value
     old_quantity = simulation_movement.getQuantity()
@@ -51,16 +51,16 @@
     quantity_ratio = 0
     if old_quantity not in (None,0.0): # XXX: What if quantity happens to be an integer ?
       quantity_ratio = new_quantity / old_quantity
-    start_date = None
-    stop_date = None
+    start_date_delta = 0
+    stop_date_delta = 0
     if new_start_date is not None and old_start_date is not None:
-      start_date = new_start_date
+      start_date_delta = new_start_date - old_start_date
     if new_stop_date is not None and old_stop_date is not None:
-      stop_date = new_stop_date
+      stop_date_delta = new_stop_date - old_stop_date
     return {
       'quantity_ratio': quantity_ratio,
-      'start_date': start_date,
-      'stop_date': stop_date,
+      'start_date_delta': start_date_delta,
+      'stop_date_delta': stop_date_delta,
       'resource_list' :
           simulation_movement.getDeliveryValue().getResourceList(),
       'variation_category_list':
@@ -70,7 +70,7 @@
     }
 
   def _generateValueDict(self, simulation_movement, quantity_ratio=1, 
-                         start_date=None, stop_date=None,
+                         start_date_delta=0, stop_date_delta=0,
                          resource_list=[],
                          variation_category_list=[],
                          variation_property_dict={},
@@ -80,10 +80,12 @@
     """
     value_dict = {}
     # Modify quantity, start_date, stop_date
+    start_date = simulation_movement.getStartDate()
     if start_date is not None:
-      value_dict['start_date'] = start_date
+      value_dict['start_date'] = start_date + start_date_delta
+    stop_date = simulation_movement.getStopDate()
     if stop_date is not None:
-      value_dict['stop_date'] = stop_date
+      value_dict['stop_date'] = stop_date + stop_date_delta
     value_dict['quantity'] = simulation_movement.getQuantity() * quantity_ratio
     if resource_list:
       value_dict['resource_list'] = resource_list




More information about the Erp5-report mailing list