Author: deepak Date: Fri Dec 2 14:01:57 2016 New Revision: 1772346 URL: http://svn.apache.org/viewvc?rev=1772346&view=rev Log: Fixed: Added missing code to get the ItemIssuance in setInvoicesToReadyFromShipment service. This bug was introduced at r#1628288 while delegator to EntityQuery convertion. Also added complete code to check null shipment on setInvoicesToReadyFromShipment, code was incompletely implemented.
Modified: ofbiz/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java Modified: ofbiz/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java?rev=1772346&r1=1772345&r2=1772346&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java (original) +++ ofbiz/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java Fri Dec 2 14:01:57 2016 @@ -1205,19 +1205,24 @@ public class InvoiceServices { // 2. For every order check the invoice // 2.a If the invoice is in In-Process status, then move its status to ready and capture the payment. // 2.b If the invoice is in status other then IN-Process, skip this. These would be already paid and captured. - + GenericValue shipment = null; try { - EntityQuery.use(delegator).from("Shipment").where("shipmentId", shipmentId).queryOne(); + shipment = EntityQuery.use(delegator).from("Shipment").where("shipmentId", shipmentId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Trouble getting Shipment entity for shipment " + shipmentId, module); return ServiceUtil.returnError(UtilProperties.getMessage(resource, "AccountingTroubleGettingShipmentEntity", UtilMisc.toMap("shipmentId", shipmentId), locale)); } + if (shipment == null) { + Debug.logError(UtilProperties.getMessage(resource, "AccountingShipmentNotFound", locale), module); + return ServiceUtil.returnError(UtilProperties.getMessage(resource, "AccountingShipmentNotFound", locale)); + } + List<GenericValue> itemIssuances = new LinkedList<GenericValue>(); try { itemIssuances = EntityQuery.use(delegator).select("orderId", "shipmentId") - .from("ItemIssuance").orderBy("orderId").distinct().queryList(); + .from("ItemIssuance").where("shipmentId", shipmentId).orderBy("orderId").distinct().queryList(); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting issued items from shipments", module); return ServiceUtil.returnError(UtilProperties.getMessage(resource,