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);


Reply via email to