Author: jacopoc
Date: Mon Dec 11 08:50:23 2006
New Revision: 485750

URL: http://svn.apache.org/viewvc?view=rev&rev=485750
Log:
Improved support for new OrderItemAssoc entity: now drop shipped items are 
associated to their purchase order items by an entry in the OrderItemAssoc 
entity of type "DROP_SHIPMENT".

Modified:
    
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
    
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
    
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java

Modified: 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?view=diff&rev=485750&r1=485749&r2=485750
==============================================================================
--- 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
 (original)
+++ 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
 Mon Dec 11 08:50:23 2006
@@ -3655,6 +3655,7 @@
                                 ShoppingCartItem sci = 
cart.findCartItem(itemIndex);
                                 sci.setAssociatedOrderId(orderId);
                                 
sci.setAssociatedOrderItemSeqId(item.getString("orderItemSeqId"));
+                                sci.setOrderItemAssocTypeId("DROP_SHIPMENT");
                                 // TODO: we should consider also the ship 
group in the association between sales and purchase orders
                             } catch(Exception e) {
                                 ServiceUtil.returnError("The following error 
occurred creating drop shipments for order [" + orderId + "]: " + 
e.getMessage());

Modified: 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java?view=diff&rev=485750&r1=485749&r2=485750
==============================================================================
--- 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
 (original)
+++ 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
 Mon Dec 11 08:50:23 2006
@@ -3447,41 +3447,39 @@
     public List makeAllOrderItemAssociations() {
         List allOrderItemAssociations = new LinkedList();
 
-        if (getOrderType().equals("PURCHASE_ORDER")) {
-            Iterator itemIter = cartLines.iterator();
+        Iterator itemIter = cartLines.iterator();
 
-            while (itemIter.hasNext()) {
-                ShoppingCartItem item = (ShoppingCartItem) itemIter.next();
-                String requirementId = item.getRequirementId();
-                if (requirementId != null) {
-                    try {
-                        List commitments = 
getDelegator().findByAnd("OrderRequirementCommitment", 
UtilMisc.toMap("requirementId", requirementId));
-                        // TODO: multiple commitments for the same requirement 
are still not supported
-                        GenericValue commitment = 
EntityUtil.getFirst(commitments);
-                        if (commitment != null) {
-                            GenericValue orderItemAssociation = 
getDelegator().makeValue("OrderItemAssoc", null);
-                            orderItemAssociation.set("orderId", 
commitment.getString("orderId"));
-                            orderItemAssociation.set("orderItemSeqId", 
commitment.getString("orderItemSeqId"));
-                            orderItemAssociation.set("shipGroupSeqId", "_NA_");
-                            orderItemAssociation.set("toOrderItemSeqId", 
item.getOrderItemSeqId());
-                            orderItemAssociation.set("toShipGroupSeqId", 
"_NA_");
-                            orderItemAssociation.set("orderItemAssocTypeId", 
"PURCHASE_ORDER");
-                            allOrderItemAssociations.add(orderItemAssociation);
-                        }
-                    } catch (GenericEntityException e) {
-                        Debug.logError(e, "Unable to load 
OrderRequirementCommitment records for requirement ID : " + requirementId, 
module);
+        while (itemIter.hasNext()) {
+            ShoppingCartItem item = (ShoppingCartItem) itemIter.next();
+            String requirementId = item.getRequirementId();
+            if (requirementId != null) {
+                try {
+                    List commitments = 
getDelegator().findByAnd("OrderRequirementCommitment", 
UtilMisc.toMap("requirementId", requirementId));
+                    // TODO: multiple commitments for the same requirement are 
still not supported
+                    GenericValue commitment = EntityUtil.getFirst(commitments);
+                    if (commitment != null) {
+                        GenericValue orderItemAssociation = 
getDelegator().makeValue("OrderItemAssoc", null);
+                        orderItemAssociation.set("orderId", 
commitment.getString("orderId"));
+                        orderItemAssociation.set("orderItemSeqId", 
commitment.getString("orderItemSeqId"));
+                        orderItemAssociation.set("shipGroupSeqId", "_NA_");
+                        orderItemAssociation.set("toOrderItemSeqId", 
item.getOrderItemSeqId());
+                        orderItemAssociation.set("toShipGroupSeqId", "_NA_");
+                        orderItemAssociation.set("orderItemAssocTypeId", 
"PURCHASE_ORDER");
+                        allOrderItemAssociations.add(orderItemAssociation);
                     }
+                } catch (GenericEntityException e) {
+                    Debug.logError(e, "Unable to load 
OrderRequirementCommitment records for requirement ID : " + requirementId, 
module);
                 }
-                if (item.getAssociatedOrderId() != null && 
item.getAssociatedOrderItemSeqId() != null) {
-                    GenericValue orderItemAssociation = 
getDelegator().makeValue("OrderItemAssoc", null);
-                    orderItemAssociation.set("orderId", 
item.getAssociatedOrderId());
-                    orderItemAssociation.set("orderItemSeqId", 
item.getAssociatedOrderItemSeqId());
-                    orderItemAssociation.set("shipGroupSeqId", "_NA_");
-                    orderItemAssociation.set("toOrderItemSeqId", 
item.getOrderItemSeqId());
-                    orderItemAssociation.set("toShipGroupSeqId", "_NA_");
-                    orderItemAssociation.set("orderItemAssocTypeId", 
"PURCHASE_ORDER");
-                    allOrderItemAssociations.add(orderItemAssociation);
-                }
+            }
+            if (item.getAssociatedOrderId() != null && 
item.getAssociatedOrderItemSeqId() != null) {
+                GenericValue orderItemAssociation = 
getDelegator().makeValue("OrderItemAssoc", null);
+                orderItemAssociation.set("orderId", 
item.getAssociatedOrderId());
+                orderItemAssociation.set("orderItemSeqId", 
item.getAssociatedOrderItemSeqId());
+                orderItemAssociation.set("shipGroupSeqId", "_NA_");
+                orderItemAssociation.set("toOrderItemSeqId", 
item.getOrderItemSeqId());
+                orderItemAssociation.set("toShipGroupSeqId", "_NA_");
+                orderItemAssociation.set("orderItemAssocTypeId", 
item.getOrderItemAssocTypeId());
+                allOrderItemAssociations.add(orderItemAssociation);
             }
         }
         return allOrderItemAssociations;

Modified: 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java?view=diff&rev=485750&r1=485749&r2=485750
==============================================================================
--- 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
 (original)
+++ 
incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
 Mon Dec 11 08:50:23 2006
@@ -109,8 +109,11 @@
     private String requirementId = null;
     private String quoteId = null;
     private String quoteItemSeqId = null;
+    // The following three optional fields are used to collect information for 
the OrderItemAssoc entity 
     private String associatedOrderId = null; // the order Id, if any, to which 
the given item is associated (typically a sales order item can be associated to 
a purchase order item, for example in drop shipments)
     private String associatedOrderItemSeqId = null; // the order item Id, if 
any, to which the given item is associated
+    private String orderItemAssocTypeId = "PURCHASE_ORDER"; // the type of 
association between this item and an external item; by default, for backward 
compatibility, a PURCHASE association is used (i.e. the extarnal order is a 
sales order and this item is a purchase order item created to fulfill the sales 
order item
+
     private String statusId = null;
     private Map orderItemAttributes = null;
     private Map attributes = null;
@@ -569,6 +572,7 @@
         this.quoteItemSeqId = item.getQuoteItemSeqId();
         this.associatedOrderId = item.getAssociatedOrderId();
         this.associatedOrderItemSeqId = item.getAssociatedOrderItemSeqId();
+        this.orderItemAssocTypeId = item.getOrderItemAssocTypeId();
         this.isPromo = item.getIsPromo();
         this.promoQuantityUsed = item.promoQuantityUsed;
         this.locale = item.locale;
@@ -1395,7 +1399,19 @@
         return this.quoteItemSeqId;
     }
 
-    /** Sets the asociatedOrderId. */
+    /** Sets the orderItemAssocTypeId. */
+    public void setOrderItemAssocTypeId(String orderItemAssocTypeId) {
+        if (orderItemAssocTypeId != null) {
+            this.orderItemAssocTypeId = orderItemAssocTypeId;
+        }
+    }
+
+    /** Returns the OrderItemAssocTypeId. */
+    public String getOrderItemAssocTypeId() {
+        return this.orderItemAssocTypeId;
+    }
+
+    /** Sets the associatedOrderId. */
     public void setAssociatedOrderId(String associatedOrderId) {
         this.associatedOrderId = associatedOrderId;
     }


Reply via email to