Author: mbrohl
Date: Sat Dec 9 17:11:03 2017 New Revision: 1817633 URL: http://svn.apache.org/viewvc?rev=1817633&view=rev Log: Improved: Fixing defects reported by FindBugs, package org.apache.ofbiz.product.inventory. (OFBIZ-9778) Thanks Julian Leichert for reporting and providing the patch. Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/inventory/InventoryServices.java Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/inventory/InventoryServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/inventory/InventoryServices.java?rev=1817633&r1=1817632&r2=1817633&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/inventory/InventoryServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/inventory/InventoryServices.java Sat Dec 9 17:11:03 2017 @@ -234,7 +234,7 @@ public class InventoryServices { UtilMisc.toMap("errorString", e.getMessage()), locale)); } - if (inventoryTransfer == null || inventoryItem == null) { + if (inventoryItem == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ProductInventoryItemLookupProblem", UtilMisc.toMap("errorString", ""), locale)); @@ -350,7 +350,7 @@ public class InventoryServices { UtilMisc.toMap("errorString", e.getMessage()), locale)); } - if (inventoryTransfer == null || inventoryItem == null) { + if (inventoryItem == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ProductInventoryItemLookupProblem", UtilMisc.toMap("errorString", ""), locale)); @@ -597,13 +597,13 @@ public class InventoryServices { } } } catch (GenericEntityException e) { - Debug.logError(e, "Problem fetching OrderItemShipGroupAssoc", module); + Debug.logError(e, "Problem fetching OrderItemShipGroupAssoc", module); } /* Check the split preference. */ boolean maySplit = false; - if (orderItemShipGroup != null && orderItemShipGroup.get("maySplit") != null) { + if (orderItemShipGroup.get("maySplit") != null) { maySplit = orderItemShipGroup.getBoolean("maySplit").booleanValue(); } @@ -619,33 +619,31 @@ public class InventoryServices { cancelItems = new HashMap<String, Timestamp>(); } - if (orderItems != null) { - List<GenericValue> toBeStored = new LinkedList<GenericValue>(); - for (GenericValue orderItem: orderItems) { - String orderItemSeqId = orderItem.getString("orderItemSeqId"); - Timestamp shipDate = backOrderedItems.get(orderItemSeqId); - Timestamp cancelDate = cancelItems.get(orderItemSeqId); - Timestamp currentCancelDate = orderItem.getTimestamp("autoCancelDate"); - - Debug.logInfo("OI: " + orderId + " SEQID: "+ orderItemSeqId + " cancelAll: " + cancelAll + " cancelDate: " + cancelDate, module); - if (backOrderedItems.containsKey(orderItemSeqId)) { - orderItem.set("estimatedShipDate", shipDate); - - if (currentCancelDate == null) { - if (cancelAll || cancelDate != null) { - if (orderItem.get("dontCancelSetUserLogin") == null && orderItem.get("dontCancelSetDate") == null) { - if (cancelAllTime != null) { - orderItem.set("autoCancelDate", cancelAllTime); - } else { - orderItem.set("autoCancelDate", cancelDate); - } + List<GenericValue> toBeStored = new LinkedList<GenericValue>(); + for (GenericValue orderItem: orderItems) { + String orderItemSeqId = orderItem.getString("orderItemSeqId"); + Timestamp shipDate = backOrderedItems.get(orderItemSeqId); + Timestamp cancelDate = cancelItems.get(orderItemSeqId); + Timestamp currentCancelDate = orderItem.getTimestamp("autoCancelDate"); + + Debug.logInfo("OI: " + orderId + " SEQID: "+ orderItemSeqId + " cancelAll: " + cancelAll + " cancelDate: " + cancelDate, module); + if (backOrderedItems.containsKey(orderItemSeqId)) { + orderItem.set("estimatedShipDate", shipDate); + + if (currentCancelDate == null) { + if (cancelAll || cancelDate != null) { + if (orderItem.get("dontCancelSetUserLogin") == null && orderItem.get("dontCancelSetDate") == null) { + if (cancelAllTime != null) { + orderItem.set("autoCancelDate", cancelAllTime); + } else { + orderItem.set("autoCancelDate", cancelDate); } } - // only notify orders which have not already sent the final notice - ordersToNotify.add(orderId); } - toBeStored.add(orderItem); + // only notify orders which have not already sent the final notice + ordersToNotify.add(orderId); } + toBeStored.add(orderItem); } if (toBeStored.size() > 0) { try { @@ -860,41 +858,43 @@ public class InventoryServices { } catch (GenericEntityException e) { e.printStackTrace(); } - if (EntityTypeUtil.hasParentType(delegator, "ProductType", "productTypeId", product.getString("productTypeId"), "parentTypeId", "MARKETING_PKG")) { - try { - resultOutput = dispatcher.runSync("getMktgPackagesAvailable", contextInput); - } catch (GenericServiceException e) { - e.printStackTrace(); - } - } else { - try { - resultOutput = dispatcher.runSync("getInventoryAvailableByFacility", contextInput); - } catch (GenericServiceException e) { - e.printStackTrace(); + if (product != null) { + if (EntityTypeUtil.hasParentType(delegator, "ProductType", "productTypeId", product.getString( + "productTypeId"), "parentTypeId", "MARKETING_PKG")) { + try { + resultOutput = dispatcher.runSync("getMktgPackagesAvailable", contextInput); + } catch (GenericServiceException e) { + e.printStackTrace(); + } + } else { + try { + resultOutput = dispatcher.runSync("getInventoryAvailableByFacility", contextInput); + } catch (GenericServiceException e) { + e.printStackTrace(); + } } + // filter for quantities + minimumStock = minimumStock != null ? minimumStock : BigDecimal.ZERO; + BigDecimal quantityOnHandTotal = BigDecimal.ZERO; + if (resultOutput.get("quantityOnHandTotal") != null) { + quantityOnHandTotal = (BigDecimal) resultOutput.get("quantityOnHandTotal"); + } + BigDecimal offsetQOHQtyAvailable = quantityOnHandTotal.subtract(minimumStock); + + BigDecimal availableToPromiseTotal = BigDecimal.ZERO; + if (resultOutput.get("availableToPromiseTotal") != null) { + availableToPromiseTotal = (BigDecimal) resultOutput.get("availableToPromiseTotal"); + } + BigDecimal offsetATPQtyAvailable = availableToPromiseTotal.subtract(minimumStock); + + BigDecimal quantityOnOrder = InventoryWorker.getOutstandingPurchasedQuantity(productId, delegator); + result.put("totalQuantityOnHand", resultOutput.get("quantityOnHandTotal")); + result.put("totalAvailableToPromise", resultOutput.get("availableToPromiseTotal")); + result.put("quantityOnOrder", quantityOnOrder); + result.put("quantityUomId", product.getString("quantityUomId")); + result.put("offsetQOHQtyAvailable", offsetQOHQtyAvailable); + result.put("offsetATPQtyAvailable", offsetATPQtyAvailable); } - // filter for quantities - minimumStock = minimumStock != null ? minimumStock : BigDecimal.ZERO; - BigDecimal quantityOnHandTotal = BigDecimal.ZERO; - if (resultOutput.get("quantityOnHandTotal") != null) { - quantityOnHandTotal = (BigDecimal)resultOutput.get("quantityOnHandTotal"); - } - BigDecimal offsetQOHQtyAvailable = quantityOnHandTotal.subtract(minimumStock); - - BigDecimal availableToPromiseTotal = BigDecimal.ZERO; - if (resultOutput.get("availableToPromiseTotal") != null) { - availableToPromiseTotal = (BigDecimal)resultOutput.get("availableToPromiseTotal"); - } - BigDecimal offsetATPQtyAvailable = availableToPromiseTotal.subtract(minimumStock); - - BigDecimal quantityOnOrder = InventoryWorker.getOutstandingPurchasedQuantity(productId, delegator); - result.put("totalQuantityOnHand", resultOutput.get("quantityOnHandTotal")); - result.put("totalAvailableToPromise", resultOutput.get("availableToPromiseTotal")); - result.put("quantityOnOrder", quantityOnOrder); - result.put("quantityUomId", product.getString("quantityUomId")); - result.put("offsetQOHQtyAvailable", offsetQOHQtyAvailable); - result.put("offsetATPQtyAvailable", offsetATPQtyAvailable); - List<GenericValue> productPrices = null; try { productPrices = EntityQuery.use(delegator).from("ProductPrice").where("productId",productId).orderBy("-fromDate").cache(true).queryList(); @@ -902,17 +902,19 @@ public class InventoryServices { e.printStackTrace(); } //change this for product price - for (GenericValue onePrice: productPrices) { - if ("DEFAULT_PRICE".equals(onePrice.getString("productPriceTypeId"))) { //defaultPrice - result.put("defaultPrice", onePrice.getBigDecimal("price")); - } else if ("WHOLESALE_PRICE".equals(onePrice.getString("productPriceTypeId"))) {// - result.put("wholeSalePrice", onePrice.getBigDecimal("price")); - } else if ("LIST_PRICE".equals(onePrice.getString("productPriceTypeId"))) {//listPrice - result.put("listPrice", onePrice.getBigDecimal("price")); - } else { - result.put("defaultPrice", onePrice.getBigDecimal("price")); - result.put("listPrice", onePrice.getBigDecimal("price")); - result.put("wholeSalePrice", onePrice.getBigDecimal("price")); + if(productPrices != null) { + for (GenericValue onePrice: productPrices) { + if ("DEFAULT_PRICE".equals(onePrice.getString("productPriceTypeId"))) { //defaultPrice + result.put("defaultPrice", onePrice.getBigDecimal("price")); + } else if ("WHOLESALE_PRICE".equals(onePrice.getString("productPriceTypeId"))) {// + result.put("wholeSalePrice", onePrice.getBigDecimal("price")); + } else if ("LIST_PRICE".equals(onePrice.getString("productPriceTypeId"))) {//listPrice + result.put("listPrice", onePrice.getBigDecimal("price")); + } else { + result.put("defaultPrice", onePrice.getBigDecimal("price")); + result.put("listPrice", onePrice.getBigDecimal("price")); + result.put("wholeSalePrice", onePrice.getBigDecimal("price")); + } } } |
Free forum by Nabble | Edit this page |