Author: sichen
Date: Tue Jan 15 17:42:22 2008
New Revision: 612332
URL:
http://svn.apache.org/viewvc?rev=612332&view=revLog:
If only one package is being sent via USPS, use the shippableWeight input rather than the package input, because the weight specified should take precedence over the weight calculated.
Modified:
ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServices.java
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServices.java?rev=612332&r1=612331&r2=612332&view=diff==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServices.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServices.java Tue Jan 15 17:42:22 2008
@@ -144,11 +144,12 @@
List shippableItemInfo = (List) context.get("shippableItemInfo");
List packages = getPackageSplit(dctx, shippableItemInfo, maxWeight);
+ boolean isOnePackage = packages.size() == 1; // use shippableWeight if there's only one package
// TODO: Up to 25 packages can be included per request - handle more than 25
for (ListIterator li = packages.listIterator(); li.hasNext();) {
Map packageMap = (Map) li.next();
- double packageWeight = calcPackageWeight(dctx, packageMap, shippableItemInfo, 0);
+ double packageWeight = isOnePackage ? shippableWeight.doubleValue() : calcPackageWeight(dctx, packageMap, shippableItemInfo, 0);
if (packageWeight == 0) {
continue;
}