From 405e8ad79ff1760bbf13bdaff438f211da7a60b8 Mon Sep 17 00:00:00 2001 From: Romain Courteaud <romain@nexedi.com> Date: Tue, 12 Jul 2005 12:25:20 +0000 Subject: [PATCH] Remove buildOrderList (use OrderBuilder instead). git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@3451 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Tool/SimulationTool.py | 131 ---------------------------- 1 file changed, 131 deletions(-) diff --git a/product/ERP5/Tool/SimulationTool.py b/product/ERP5/Tool/SimulationTool.py index ebd2f55928..407d8648bb 100755 --- a/product/ERP5/Tool/SimulationTool.py +++ b/product/ERP5/Tool/SimulationTool.py @@ -739,137 +739,6 @@ class SimulationTool (BaseTool): + list(self.getPortalReservedInventoryStateList()) + list(self.getPortalCurrentInventoryStateList())) return self.getTrackingList(**kw) - - ####################################################### - # Movement Group Collection / Delivery Creation - - def buildOrderList(self, movement_group): - # Build orders from a list of movements (attached to orders) - order_list = [] - - if movement_group is not None: - for order_group in movement_group.group_list: - if order_group.order is None: - # Only build if there is not order yet - for path_group in order_group.group_list : - if path_group.destination.find('site/Stock_PF') >=0 : - # Build a Production Order - delivery_module = self.ordre_fabrication - delivery_type = 'Production Order' - delivery_line_type = delivery_type + ' Line' - delivery_cell_type = 'Delivery Cell' - else: - # Build a Purchase Order - delivery_module = self.commande_achat - delivery_type = 'Purchase Order' - delivery_line_type = delivery_type + ' Line' - delivery_cell_type = 'Delivery Cell' - # we create a new delivery for each DateGroup - for date_group in path_group.group_list : - - for resource_group in date_group.group_list : - - # Create a new production Order for each resource (Modele) - modele_url_items = resource_group.resource.split('/') - modele_id = modele_url_items[len(modele_url_items)-1] - try : - modele_object = self.getPortalObject().modele[modele_id] - except : - modele_object = None - if modele_object is not None : - of_description = modele_id + ' ' + modele_object.getDefaultDestinationTitle('') - else : - of_description = modele_id - - new_delivery_id = str(delivery_module.generateNewId()) - self.portal_types.constructContent(type_name = delivery_type, - container = delivery_module, - id = new_delivery_id, - start_date = date_group.start_date, - stop_date = date_group.stop_date, - source = path_group.source, - destination = path_group.destination, - source_section = path_group.source_section, - destination_section = path_group.destination_section, - description = of_description, - title = new_delivery_id - ) - delivery = delivery_module[new_delivery_id] - # the new delivery is added to the order_list - order_list.append(delivery) - - # Create each delivery_line in the new delivery - - new_delivery_line_id = str(delivery.generateNewId()) - self.portal_types.constructContent(type_name = delivery_line_type, - container = delivery, - id = new_delivery_line_id, - resource = resource_group.resource, - ) - delivery_line = delivery[new_delivery_line_id] - - line_variation_category_list = [] - line_variation_base_category_dict = {} - - # compute line_variation_base_category_list and - # line_variation_category_list for new delivery_line - for variant_group in resource_group.group_list : - for variation_item in variant_group.category_list : - if not variation_item in line_variation_category_list : - line_variation_category_list.append(variation_item) - variation_base_category_items = variation_item.split('/') - if len(variation_base_category_items) > 0 : - line_variation_base_category_dict[variation_base_category_items[0]] = 1 - - # update variation_base_category_list and line_variation_category_list for delivery_line - line_variation_base_category_list = line_variation_base_category_dict.keys() - delivery_line.setVariationBaseCategoryList(line_variation_base_category_list) - delivery_line.setVariationCategoryList(line_variation_category_list) - - # IMPORTANT : delivery cells are automatically created during setVariationCategoryList - - # update quantity for each delivery_cell - for variant_group in resource_group.group_list : - #LOG('Variant_group examin',0,str(variant_group.category_list)) - object_to_update = None - # if there is no variation of the resource, update delivery_line with quantities and price - if len(variant_group.category_list) == 0 : - object_to_update = delivery_line - # else find which delivery_cell is represented by variant_group - else : - categories_identity = 0 - #LOG('Before Check cell',0,str(delivery_cell_type)) - #LOG('Before Check cell',0,str(delivery_line.contentValues())) - for delivery_cell in delivery_line.contentValues(filter={'portal_type':'Delivery Cell'}) : - #LOG('Check cell',0,str(delivery_cell)) - #LOG('Check cell',0,str(variant_group.category_list)) - #LOG('Check cell',0,str(delivery_cell.getVariationCategoryList())) - if len(variant_group.category_list) == len(delivery_cell.getVariationCategoryList()) : - #LOG('Parse category',0,str(delivery_cell.getVariationCategoryList())) - for category in delivery_cell.getVariationCategoryList() : - if not category in variant_group.category_list : - #LOG('Not found category',0,str(category)) - break - else : - categories_identity = 1 - - if categories_identity : - object_to_update = delivery_cell - break - - # compute quantity and price for delivery_cell or delivery_line and - # build relation between simulation_movement and delivery_cell or delivery_line - if object_to_update is not None : - cell_quantity = 0 - for movement in variant_group.movement_list : - cell_quantity += movement.getConvertedQuantity() - # We do not create a relation or modifu anything - # since planification of this movement will create new applied rule - object_to_update.edit(quantity = cell_quantity, - force_update = 1) - - return order_list - ####################################################### # Capacity Management security.declareProtected( Permissions.ModifyPortalContent, 'updateCapacity' ) -- 2.30.9