Author: jonesde
Date: Thu Sep 6 15:55:11 2007
New Revision: 573406
URL:
http://svn.apache.org/viewvc?rev=573406&view=revLog:
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);