Author: jonesde
Date: Thu Sep  6 15:55:11 2007
New Revision: 573406

URL: http://svn.apache.org/viewvc?rev=573406&view=rev
Log:
Fixed issue where a quantity less than the shipment item quantity was ignored 
and the full shipment item quantity was used; also added comment about what to 
do to see if shipment is complete and should be marked shipped, if that is a 
good idea

Modified:
    
ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisShipmentServices.java

Modified: 
ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisShipmentServices.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisShipmentServices.java?rev=573406&r1=573405&r2=573406&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisShipmentServices.java 
(original)
+++ 
ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisShipmentServices.java 
Thu Sep  6 15:55:11 2007
@@ -407,7 +407,14 @@
                                 }
                                 
                                 // just receive quantity for this ShipmentItem
-                                int quantityLeft = 
shipmentItem.getDouble("quantity").intValue();
+                                int quantityLeft;
+                                int shipmentItemQuantity = 
shipmentItem.getDouble("quantity").intValue();
+                                if (shipmentItemQuantity <= 
messageQuantity.intValue()) {
+                                    quantityLeft = shipmentItemQuantity;
+                                } else {
+                                    quantityLeft = messageQuantity.intValue();
+                                }
+                                
                                 
                                 Iterator serialNumberIter = 
serialNumberList.iterator();
                                 Iterator orderItemShipGrpInvReservationIter = 
orderItemShipGrpInvReservationList.iterator();
@@ -493,6 +500,12 @@
                 }
                 
                 if (errorMapList.size() == 0) {
+                    // TODOLATER: to support mulitple and partial Show 
Shipment messages per shipment: 
+                    //check here if the entire shipment has been issues, ie 
there should be sufficient 
+                    //ItemIssuance quantities for the ShipmentItem quantities
+                    // NOTE ON THIS DEJ20070906: this is actually really bad 
because it implies the shipment 
+                    //has been split and that isn't really allowed; maybe 
better to return an error!
+                    // TODO: if shipment is not completely fulfilled here 
return an error
                     Map resultMap = 
dispatcher.runSync("setShipmentStatusPackedAndShipped", 
UtilMisc.toMap("shipmentId", shipmentId, "userLogin", userLogin));              
 
                     if (ServiceUtil.isError(resultMap)) {
                         String errMsg = ServiceUtil.getErrorMessage(resultMap);


Reply via email to