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

Paul Foxworthy edited comment on OFBIZ-5761 at 11/23/16 11:11 PM:
------------------------------------------------------------------

Wow. Sharad, a lightbulb moment. You are right.

As you know, it's rare to delete things in OFBiz. Rather, we expire them. For 
many entities, that means setting a thruDate.

It seems to me OISGA tracks the current live state of the association, e.g 
updateOrderItemShipGroupAssoc modifies OISGA records.

But OrderItemShipGroupAssoc has an attribute cancelQuantity. This seems strange 
if the entity is supposed to just hold the current live state of the 
association.

I wonder if the answer is to have a second entity that tracks the history of 
changes to an OISGA. The same model is used for inventory, where InventoryItem 
has the current live state, and InventoryItemDetail has the history of changes. 
So when you add inventory, there's a new IID created, and an II modified.

So a new "OISGA Detail" or "OISGA History" entity might solve the problem you 
describe. 

So if an order item is cancelled, the OISGA would be modified to quantity zero 
and a Cancelled status, but it would not be deleted. The new history entity 
would have a series of records for changes to the association. Typically, there 
would be a history record when the association to the ship group was defined, 
and a second when the order item was cancelled.

What do you think?


was (Author: paul_foxworthy):
Wow. Sharad, a lightbulb moment. You are right.

As you know, it's rare to delete things in OFBiz. Rather, we expire them. For 
many entities, that means setting a thruDate.

It seems to me OISGA tracks the current live state of the association, e.g 
updateOrderItemShipGroupAssoc modifies OISGA records.

But OrderItemShipGroupAssoc has an attribute cancelQuantity. This seems strange 
if the entity is supposed to just hold the current live state of the 
association.

I wonder if the answer is to have a second entity that tracks the history of 
changes to an OISGA. The same model is used for inventory, where InventoryItem 
has the current live state, and InventoryItemDetail has the history of changes. 
So when you add inventory, there's a new IID created, and an II modified.

So a new "OISGA Detail" or "OISGA History" entity might solve the problem you 
describe. 

So if an order item is cancelled, the OISGA would be modified to quanity zero 
and a Cancelled status, but it would not be deleted. The new history entity 
would have a series of records for changes to the association. Typically, there 
would be a history record when the association to the ship group was defined, 
and a second when the order item was cancelled.

What do you think?

> Allow to edit ship groups contents after and order has been created
> -------------------------------------------------------------------
>
>                 Key: OFBIZ-5761
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-5761
>             Project: OFBiz
>          Issue Type: Improvement
>          Components: order
>    Affects Versions: Trunk
>            Reporter: Jacques Le Roux
>            Assignee: Jacques Le Roux
>             Fix For: 14.12.01
>
>         Attachments: OFBIZ-5761 - OISG Management.patch, OFBIZ-5761 - OISG 
> Management.patch, OFBIZ-5761 - OISG Management.patch, OFBIZ-5761 - OISG 
> Management.patch, OFBIZ-5761 - OISG Management.patch, OFBIZ-5761 - OISG 
> Management.patch, OFBIZ-5761 - OISG Management.patch.change, OFBIZ-5761 - 
> OISG Management.patch.diff, OFBIZ-5761 - OISG Management.patch.diff, 
> OFBIZ-5761.patch.diff
>
>
> Currently you can only move order items between ship groups while you create 
> an order. I needed to do it after order creation. When I met Olivier (Heintz) 
> at the RMLL 2014 in July, I found the Neogia team has developed a such 
> feature and had it as an addon (named oisg-management) for R12.04. Then 
> exchanging with Nicolas (Malin), and Pierre (Gaudin) I decided to give it a 
> go. I will quickly explain the following history, for the Neogia team to know 
> the current situation and what has changed. 
> After updating the code to work with current trunk (instead of R12.04) I 
> found it was working well but some minor issues. I then exchanged with Leila 
> (Mekika) from the Neogia team and we could quickly fix the minor issues:
> * text harcoded, no labels. I began to fix them, thanks to Leila who 
> completed the major part and explained me some tricks about the 
> oisg-management addon.
> * A redundant button associated with the new addOrderItemShipGroup service.  
> I removed it because the current button calls createOrderItemShipGroup which 
> is enough. We could BTW consider using addOrderItemShipGroup instead. It's 
> more complete (see below for instance) but that"s rather a matter of taste.
> There was a mechanism to merge sales taxes to get them grouped by ship groups 
> in order adjustments. I removed it because this can be done dynamically (see 
> invoice.pdf) and it was removing the shipGroupSeqId from the order 
> adjustments.
> I sorted (DESC) the OrderItemShipGroup in addOrderItemShipGroup in order to 
> use the 1st ship group when copying shipmentMethodTypeId, carrierPartyId, 
> carrierRoleTypeId, contactMechId when shipmentMethodTypeId and carrierPartyId 
> are not passed to the service.
> I later fixed a bug I found in loadCartForUpdate service when removing the 
> adjustments. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to