Author: jonesde
Date: Fri Sep 14 16:01:32 2007 New Revision: 575815 URL: http://svn.apache.org/viewvc?rev=575815&view=rev Log: Added error message if receive status change for an item not in the expected status Modified: ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisInventoryServices.java Modified: ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisInventoryServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisInventoryServices.java?rev=575815&r1=575814&r2=575815&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisInventoryServices.java (original) +++ ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisInventoryServices.java Fri Sep 14 16:01:32 2007 @@ -1237,7 +1237,7 @@ Map omiPkMap = UtilMisc.toMap("logicalId", logicalId, "component", component, "task", task, "referenceId", referenceId); // always log this to make messages easier to find - Debug.log("Processing oagisReceiveAcknowledgeDeliveryRma for message ID [" + omiPkMap + "]", module); + Debug.log("Processing oagisReceiveAcknowledgeDeliveryStatus for message ID [" + omiPkMap + "]", module); // before getting into this check to see if we've tried once and had an error, if so set isErrorRetry even if it wasn't passed in GenericValue previousOagisMessageInfo = null; @@ -1329,11 +1329,14 @@ */ String invItemStatusId = null; + String reqFromItemStatusId = null; String disposition = UtilXml.childElementValue(receiptLnElement, "of:DISPOSITN"); if ("NotAvailableTOAvailable".equals(disposition)) { invItemStatusId = "INV_AVAILABLE"; + reqFromItemStatusId = "INV_ON_HOLD"; } else if ("AvailableTONotAvailable".equals(disposition)) { invItemStatusId = "INV_ON_HOLD"; + reqFromItemStatusId = "INV_AVAILABLE"; } else if ("ReceivedTOAvailable".equals(disposition) || "ReceivedTONotAvailable".equals(disposition)) { String errMsg = "Got DISPOSITN value [" + disposition + "] that is not valid for Status Change, only for RMA/return."; errorMapList.add(UtilMisc.toMap("reasonCode", "DispositnNotValidForStatusChange", "description", errMsg)); @@ -1402,6 +1405,12 @@ } GenericValue inventoryItem = EntityUtil.getFirst(inventoryItemsBySerialNumber); + if (UtilValidate.isNotEmpty(reqFromItemStatusId) && !reqFromItemStatusId.equals(inventoryItem.getString("statusId"))) { + String errMsg = "Referenced serial number [" + serialNum + "] has status [" + inventoryItem.getString("statusId") + "] but we were expecting [" + reqFromItemStatusId + "]; this may mean the Acknowledge Delivery RMA message has not yet come in for this item."; + errorMapList.add(UtilMisc.toMap("description", errMsg, "reasonCode", "SerialNumberRequiredButNotFound")); + continue; + } + Map updateInvItmMap = FastMap.newInstance(); updateInvItmMap.put("inventoryItemId", inventoryItem.getString("inventoryItemId")); updateInvItmMap.put("userLogin", userLogin); |
Free forum by Nabble | Edit this page |