You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Adrian Crum <ad...@sandglass-software.com> on 2014/08/17 08:08:12 UTC
Re: svn commit: r1618412 - /ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
Please do not use the <calculate> element. Mini-language supports UEL:
<set field="totalsMap[receipt.returnItemSeqId]"
from="receipt.quantityAccepted + receipt.quantityRejected />
Also, the <set> element "from-field" attribute has been deprecated, use
"from".
Mini-language has an updated schema, it would be best if you configured
your XML editor to use it.
Adrian Crum
Sandglass Software
www.sandglass-software.com
On 8/16/2014 9:41 PM, ashish@apache.org wrote:
> Author: ashish
> Date: Sat Aug 16 20:41:54 2014
> New Revision: 1618412
>
> URL: http://svn.apache.org/r1618412
> Log:
> Applied fix from jira issue - OFBIZ-5392 - Return Item received quantity does not updated correctly in case of partial receiving.
> Thanks Deepak for reporting the issue and team ofbiz.us for providing the fix for the same.
>
> Modified:
> ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
>
> Modified: ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml?rev=1618412&r1=1618411&r2=1618412&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml (original)
> +++ ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml Sat Aug 16 20:41:54 2014
> @@ -532,29 +532,33 @@ under the License.
> <find-by-primary-key entity-name="ReturnHeader" map="lookupPKMap" value-field="returnHeader"/>
> <find-by-and entity-name="ShipmentReceipt" map="lookupPKMap" list="shipmentReceipts"/>
> <iterate list="shipmentReceipts" entry="receipt">
> - <if-empty field="totalsMap.receipt.returnItemSeqId">
> - <set field="totalsMap.receipt.returnItemSeqId" value="0" type="BigDecimal"/>
> + <if-empty field="totalsMap[receipt.returnItemSeqId]">
> + <set field="totalsMap[receipt.returnItemSeqId]" value="0" type="BigDecimal"/>
> </if-empty>
> - <set field="totalsMap.receipt.returnItemSeqId" value="${receipt.quantityAccepted + receipt.quantityRejected}" default-value="0" type="BigDecimal"/>
> -
> - <entity-one entity-name="ReturnItem" value-field="returnItem">
> - <field-map field-name="returnId" from-field="receipt.returnId"/>
> - <field-map field-name="returnItemSeqId" from-field="receipt.returnItemSeqId"/>
> - </entity-one>
> - <set field="returnItem.receivedQuantity" from-field="${totalsMap.receipt.returnItemSeqId}" type="BigDecimal"/>
> - <set-service-fields service-name="updateReturnItem" map="returnItem" to-map="serviceInMap"/>
> -
> - <if-compare-field field="totalsMap.receipt.returnItemSeqId" to-field="returnItem.returnQuantity" operator="greater-equals" type="BigDecimal">
> + <calculate field="totalsMap[receipt.returnItemSeqId]">
> + <calcop field="totalsMap[receipt.returnItemSeqId]" operator="add">
> + <calcop field="receipt.quantityAccepted" operator="get"/>
> + <calcop field="receipt.quantityRejected" operator="get"/>
> + </calcop>
> + </calculate>
> + </iterate>
> + <get-related relation-name="ReturnItem" list="returnItems" value-field="returnHeader"/>
> + <iterate-map key="returnItemSeqId" value="value" map="totalsMap">
> + <set field="filterMap.returnItemSeqId" from-field="returnItemSeqId"/>
> + <filter-list-by-and list="returnItems" map="filterMap" to-list="items"/>
> + <first-from-list entry="item" list="items"/>
> + <set field="item.receivedQuantity" from-field="value" type="BigDecimal"/>
> + <set-service-fields service-name="updateReturnItem" map="item" to-map="serviceInMap"/>
> + <if-compare-field field="value" to-field="item.returnQuantity" operator="greater-equals" type="BigDecimal">
> <!-- update the status for the item -->
> <set field="serviceInMap.statusId" value="RETURN_RECEIVED"/>
> - <call-service service-name="updateReturnItem" in-map-name="serviceInMap"/>
> </if-compare-field>
>
> <!-- update the returnItem with at least receivedQuantity, and also statusId if applicable -->
> <call-service service-name="updateReturnItem" in-map-name="serviceInMap"/>
> <clear-field field="serviceInMap"/>
> - </iterate>
> -
> + <clear-field field="filterMap"/>
> + </iterate-map>
> <!-- check to see if all items have been received -->
> <set field="allReceived" value="true"/>
> <find-by-and entity-name="ReturnItem" map="lookupPKMap" list="allReturnItems"/>
>
>
Re: svn commit: r1618412 - /ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
Posted by Ashish Vijaywargiya <vi...@gmail.com>.
Thanks Adrian for your comment. I will do the necessary changes and will
commit the updated code soon.
--
Ashish
On Sunday, August 17, 2014, Adrian Crum <ad...@sandglass-software.com>
wrote:
> Please do not use the <calculate> element. Mini-language supports UEL:
>
> <set field="totalsMap[receipt.returnItemSeqId]"
> from="receipt.quantityAccepted + receipt.quantityRejected />
>
> Also, the <set> element "from-field" attribute has been deprecated, use
> "from".
>
> Mini-language has an updated schema, it would be best if you configured
> your XML editor to use it.
>
>
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
>
> On 8/16/2014 9:41 PM, ashish@apache.org wrote:
>
>> Author: ashish
>> Date: Sat Aug 16 20:41:54 2014
>> New Revision: 1618412
>>
>> URL: http://svn.apache.org/r1618412
>> Log:
>> Applied fix from jira issue - OFBIZ-5392 - Return Item received quantity
>> does not updated correctly in case of partial receiving.
>> Thanks Deepak for reporting the issue and team ofbiz.us for providing
>> the fix for the same.
>>
>> Modified:
>> ofbiz/trunk/applications/order/script/org/ofbiz/order/
>> order/OrderReturnServices.xml
>>
>> Modified: ofbiz/trunk/applications/order/script/org/ofbiz/order/
>> order/OrderReturnServices.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/
>> order/script/org/ofbiz/order/order/OrderReturnServices.xml?
>> rev=1618412&r1=1618411&r2=1618412&view=diff
>> ============================================================
>> ==================
>> --- ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
>> (original)
>> +++ ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
>> Sat Aug 16 20:41:54 2014
>> @@ -532,29 +532,33 @@ under the License.
>> <find-by-primary-key entity-name="ReturnHeader"
>> map="lookupPKMap" value-field="returnHeader"/>
>> <find-by-and entity-name="ShipmentReceipt" map="lookupPKMap"
>> list="shipmentReceipts"/>
>> <iterate list="shipmentReceipts" entry="receipt">
>> - <if-empty field="totalsMap.receipt.returnItemSeqId">
>> - <set field="totalsMap.receipt.returnItemSeqId"
>> value="0" type="BigDecimal"/>
>> + <if-empty field="totalsMap[receipt.returnItemSeqId]">
>> + <set field="totalsMap[receipt.returnItemSeqId]"
>> value="0" type="BigDecimal"/>
>> </if-empty>
>> - <set field="totalsMap.receipt.returnItemSeqId"
>> value="${receipt.quantityAccepted + receipt.quantityRejected}"
>> default-value="0" type="BigDecimal"/>
>> -
>> - <entity-one entity-name="ReturnItem"
>> value-field="returnItem">
>> - <field-map field-name="returnId"
>> from-field="receipt.returnId"/>
>> - <field-map field-name="returnItemSeqId"
>> from-field="receipt.returnItemSeqId"/>
>> - </entity-one>
>> - <set field="returnItem.receivedQuantity"
>> from-field="${totalsMap.receipt.returnItemSeqId}" type="BigDecimal"/>
>> - <set-service-fields service-name="updateReturnItem"
>> map="returnItem" to-map="serviceInMap"/>
>> -
>> - <if-compare-field field="totalsMap.receipt.returnItemSeqId"
>> to-field="returnItem.returnQuantity" operator="greater-equals"
>> type="BigDecimal">
>> + <calculate field="totalsMap[receipt.returnItemSeqId]">
>> + <calcop field="totalsMap[receipt.returnItemSeqId]"
>> operator="add">
>> + <calcop field="receipt.quantityAccepted"
>> operator="get"/>
>> + <calcop field="receipt.quantityRejected"
>> operator="get"/>
>> + </calcop>
>> + </calculate>
>> + </iterate>
>> + <get-related relation-name="ReturnItem" list="returnItems"
>> value-field="returnHeader"/>
>> + <iterate-map key="returnItemSeqId" value="value" map="totalsMap">
>> + <set field="filterMap.returnItemSeqId"
>> from-field="returnItemSeqId"/>
>> + <filter-list-by-and list="returnItems" map="filterMap"
>> to-list="items"/>
>> + <first-from-list entry="item" list="items"/>
>> + <set field="item.receivedQuantity" from-field="value"
>> type="BigDecimal"/>
>> + <set-service-fields service-name="updateReturnItem"
>> map="item" to-map="serviceInMap"/>
>> + <if-compare-field field="value"
>> to-field="item.returnQuantity" operator="greater-equals" type="BigDecimal">
>> <!-- update the status for the item -->
>> <set field="serviceInMap.statusId"
>> value="RETURN_RECEIVED"/>
>> - <call-service service-name="updateReturnItem"
>> in-map-name="serviceInMap"/>
>> </if-compare-field>
>>
>> <!-- update the returnItem with at least receivedQuantity,
>> and also statusId if applicable -->
>> <call-service service-name="updateReturnItem"
>> in-map-name="serviceInMap"/>
>> <clear-field field="serviceInMap"/>
>> - </iterate>
>> -
>> + <clear-field field="filterMap"/>
>> + </iterate-map>
>> <!-- check to see if all items have been received -->
>> <set field="allReceived" value="true"/>
>> <find-by-and entity-name="ReturnItem" map="lookupPKMap"
>> list="allReturnItems"/>
>>
>>
>>