[ 
https://issues.apache.org/jira/browse/OFBIZ-5440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13855828#comment-13855828
 ] 

Christian Carlow commented on OFBIZ-5440:
-----------------------------------------

I started implementing this functionality by passing a bomSelectionMap to 
BOMTree.print() to support virtual bomItem feature variant selections, prices, 
and quantities but have encountered more complexity.  When more than one ship 
group exists then it seems a quantity field should exist for each ship group as 
was done for the shoppingCart.addToCart widget in OFBIZ-5400.  Having the 
ability to associate different variations with specific ship groups allows for 
variations to be scheduled at different dates.  

So if a sales order is created for 3 GZ-OUTER-BASKETs containing 3 
GZ-INNER-BASKETs (having the same contents as GZ-BASKET) both of which have 
selectable COLOR features, then it would be possible to schedule of a single 
order item for 6 GZ-OUTER-BASKETS as follows:

Ship Group 1:
*1 red GZ-OUTER-BASKET containing 2 blue GZ-INNER-BASKETs and 1 red 
GZ-INNER-BASKET
*1 red GZ-OUTER-BASKET containing 2 red GZ-INNER-BASKETs and 1 blue 
GZ-INNER-BASKET
*1 red GZ-OUTER-BASKET containing 3 GZ-INNER-BASKETs each red, blue, or yellow
Ship Group 2:
*1 red GZ-OUTER-BASKET containing 2 blue GZ-INNER-BASKETs and 1 red 
GZ-INNER-BASKET
*1 red GZ-OUTER-BASKET containing 2 red GZ-INNER-BASKETs and 1 blue 
GZ-INNER-BASKET
Ship Group 3:
*1 red GZ-OUTER-BASKET containing 2 blue GZ-INNER-BASKETs and 1 red 
GZ-INNER-BASKET

So for a total of 6 GZ-OUTER-BASKETS of chosen color feature red, variation 
totals are:
3 red GZ-OUTER-BASKET containing 2 blue GZ-INNER-BASKETs and 1 red 
GZ-INNER-BASKET
2 red GZ-OUTER-BASKET containing 2 red GZ-INNER-BASKETs and 1 blue 
GZ-INNER-BASKET
1 red GZ-OUTER-BASKET containing 3 GZ-INNER-BASKETs each red, blue, or yellow

To support GZ-1000, GZ-1001, and GZ-1002 inner components of GZ-INNER-BASKET 
also having color feature selections, childNodes would need to compare 
shipGroup quantity with the corresponding shipGroup quantity of their 
parentNode up to the top level childNodes.

Hopefully the complexity won't increase...

> Improve BOM functionality to handle virtual BOM variant selection
> -----------------------------------------------------------------
>
>                 Key: OFBIZ-5440
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-5440
>             Project: OFBiz
>          Issue Type: Improvement
>    Affects Versions: SVN trunk
>            Reporter: Christian Carlow
>
> The BOM functionality should be improved to handle virtual product 
> variant/feature selections.  Such functionality would allow for something 
> such as GZ-OUTER-BASKET of selected features to contain 3 GZ-INNER-BASKETs of 
> different selected features
> I think the BOMNode class should contain a List<BOMNode>variantNodes member 
> to be used for virtual nodes in the loadChildren function.  When virtual 
> variants exist, the virtual node childrenNodes can be unset since the nodes 
> will be contained in the variantNodes instead.
> I disovered the need for such functionality while trying to implement 
> OFBIZ-5420 and OFBIZ-5437.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to