[ 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) |
Free forum by Nabble | Edit this page |