You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Christian Carlow (JIRA)" <ji...@apache.org> on 2013/12/23 19:38:51 UTC

[jira] [Comment Edited] (OFBIZ-5440) Improve BOM functionality to handle virtual BOM variant selection

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

Christian Carlow edited comment on OFBIZ-5440 at 12/23/13 6:37 PM:
-------------------------------------------------------------------

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...


was (Author: ofbizzer):
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)