Author: mor
Date: Fri May 28 05:01:52 2010 New Revision: 949097 URL: http://svn.apache.org/viewvc?rev=949097&view=rev Log: Minor improvement over the commit in r948414. Moving the code out of the loop since the code is just intended to be run for non-serialized inventory. The code inside the loop runs only once for non-serialized inventory but in case of serialized inventory the code inside loop runs equivalent to the number of the quanity accepted and hence the code for status checking may run multiple times based on the quantity accepted. So as a performance check it will now run only once. Modified: ofbiz/trunk/applications/product/script/org/ofbiz/shipment/receipt/ShipmentReceiptServices.xml Modified: ofbiz/trunk/applications/product/script/org/ofbiz/shipment/receipt/ShipmentReceiptServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/receipt/ShipmentReceiptServices.xml?rev=949097&r1=949096&r2=949097&view=diff ============================================================================== --- ofbiz/trunk/applications/product/script/org/ofbiz/shipment/receipt/ShipmentReceiptServices.xml (original) +++ ofbiz/trunk/applications/product/script/org/ofbiz/shipment/receipt/ShipmentReceiptServices.xml Fri May 28 05:01:52 2010 @@ -96,32 +96,33 @@ under the License. <!-- before getting going, see if there are any validation issues so far --> <check-errors/> + <!-- Status for Non serialized and Serialized inventory are different, lets make sure correct status is stored in database --> + <if-compare field="parameters.inventoryItemTypeId" operator="equals" value="NON_SERIAL_INV_ITEM"> + <if-compare field="parameters.statusId" operator="equals" value="INV_DEFECTIVE"><!-- This status may come from the Receive Return Screen --> + <set field="parameters.statusId" value="INV_NS_DEFECTIVE"/> + <else> + <if-compare field="parameters.statusId" operator="equals" value="INV_ON_HOLD"> + <set field="parameters.statusId" value="INV_NS_ON_HOLD"/> + </if-compare> + </else> + </if-compare> + <!-- Any other status should be just set to null, if it is not a valid status for Non Serialized inventory --> + <if> + <condition> + <and> + <not><if-compare field="parameters.statusId" operator="equals" value="INV_NS_DEFECTIVE"/></not> + <not><if-compare field="parameters.statusId" operator="equals" value="INV_NS_ON_HOLD"/></not> + </and> + </condition> + <then> + <set field="parameters.statusId" from-field="nullField"/> + </then> + </if> + </if-compare> + <loop count="${loops}" field="currentLoop"> <log level="info" message="receiveInventoryProduct Looping and creating inventory info - ${currentLoop}"/> - <!-- Status for Non serialized and Serialized inventory are different, lets make sure correct status is stored in database --> - <if-compare field="parameters.inventoryItemTypeId" operator="equals" value="NON_SERIAL_INV_ITEM"> - <if-compare field="parameters.statusId" operator="equals" value="INV_DEFECTIVE"><!-- This status may come from the Receive Return Screen --> - <set field="parameters.statusId" value="INV_NS_DEFECTIVE"/> - <else> - <if-compare field="parameters.statusId" operator="equals" value="INV_ON_HOLD"> - <set field="parameters.statusId" value="INV_NS_ON_HOLD"/> - </if-compare> - </else> - </if-compare> - <!-- Any other status should be just set to null, if it is not a valid status for Non Serialized inventory --> - <if> - <condition> - <and> - <not><if-compare field="parameters.statusId" operator="equals" value="INV_NS_DEFECTIVE"/></not> - <not><if-compare field="parameters.statusId" operator="equals" value="INV_NS_ON_HOLD"/></not> - </and> - </condition> - <then> - <set field="parameters.statusId" from-field="nullField"/> - </then> - </if> - </if-compare> <!-- if there is an inventoryItemId, update it (this will happen when receiving serialized inventory already in the system, like for returns); if not create one --> <clear-field field="serviceInMap"/> <clear-field field="currentInventoryItemId"/> |
Free forum by Nabble | Edit this page |