You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mo...@apache.org on 2009/05/19 13:35:31 UTC

svn commit: r776275 - in /ofbiz/trunk/applications/order: script/org/ofbiz/order/order/OrderReturnServices.xml servicedef/secas.xml servicedef/services_return.xml

Author: mor
Date: Tue May 19 11:35:30 2009
New Revision: 776275

URL: http://svn.apache.org/viewvc?rev=776275&view=rev
Log:
When inventory is found or returned for a Discontinued Item then update ProductCategoryMember so that this item is shown in front-end store.
Slightly modified patch from Akash Jain, part of OFBIZ-2484 (https://issues.apache.org/jira/browse/OFBIZ-2484)

Modified:
    ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
    ofbiz/trunk/applications/order/servicedef/secas.xml
    ofbiz/trunk/applications/order/servicedef/services_return.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=776275&r1=776274&r2=776275&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 Tue May 19 11:35:30 2009
@@ -1060,4 +1060,44 @@
             </else>
         </if>
     </simple-method>
+    
+    <simple-method method-name="addProductsBackToCategory" short-description="When one or more product is received directly through receive inventory or refund return then add these product(s) back to category, if they does not have any active category">
+        <if-not-empty field="parameters.inventoryItemId">
+            <entity-one entity-name="InventoryItem" value-field="inventoryItem"/>
+            <entity-and entity-name="ProductCategoryMember" list="productCategoryMembers">
+                <field-map field-name="productId" from-field="inventoryItem.productId"/>
+                <order-by field-name="-thruDate"/>
+            </entity-and>
+            <filter-list-by-date list="productCategoryMembers" to-list="pcms"/>
+            <if-empty field="pcms">
+                <first-from-list list="productCategoryMembers" entry="pcm"/>
+                <clear-field field="pcm.thruDate"/>
+                <set-service-fields service-name="updateProductToCategory" map="pcm" to-map="updateProductToCategoryMap"/>
+                <call-service service-name="updateProductToCategory" in-map-name="updateProductToCategoryMap"/>
+            </if-empty>
+        <else>
+            <if-not-empty field="parameters.returnId">
+                <entity-and entity-name="ReturnItem" list="returnItems">
+                    <field-map field-name="returnId" from-field="parameters.returnId"/>
+                    <field-map field-name="returnTypeId" value="RTN_REFUND"/>
+                </entity-and>
+                <if-not-empty field="returnItems">
+                    <iterate list="returnItems" entry="returnItem">
+                        <entity-and entity-name="ProductCategoryMember" list="productCategoryMembers">
+                            <field-map field-name="productId" from-field="returnItem.productId"/>
+                            <order-by field-name="-thruDate"/>
+                        </entity-and>
+                        <filter-list-by-date list="productCategoryMembers" to-list="pcms"/>
+                        <if-empty field="pcms">
+                            <first-from-list list="productCategoryMembers" entry="pcm"/>
+                            <clear-field field="pcm.thruDate"/>
+                            <set-service-fields service-name="updateProductToCategory" map="pcm" to-map="updateProductToCategoryMap"/>
+                            <call-service service-name="updateProductToCategory" in-map-name="updateProductToCategoryMap"/>
+                        </if-empty>
+                    </iterate>
+                </if-not-empty>
+            </if-not-empty>       
+        </else>    
+        </if-not-empty>
+    </simple-method>    
 </simple-methods>
\ No newline at end of file

Modified: ofbiz/trunk/applications/order/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=776275&r1=776274&r2=776275&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/secas.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/secas.xml Tue May 19 11:35:30 2009
@@ -45,11 +45,13 @@
     </eca>
     <eca service="receiveInventoryProduct" event="commit">
         <condition field-name="facilityId" operator="is-not-empty"/>
+        <action service="addProductsBackToCategory" mode="sync"/>
         <action service="setUnitPriceAsLastPrice" mode="sync"/>
     </eca>
     <eca service="receiveInventoryProduct" event="commit">
         <condition field-name="facilityId" operator="is-not-empty"/>
         <condition field-name="orderId" operator="is-not-empty"/>
+        <action service="addProductsBackToCategory" mode="sync"/>
         <action service="updatePoOnReceiveInventory" mode="sync"/>
     </eca>
     <eca service="changeOrderItemStatus" event="commit">
@@ -197,6 +199,7 @@
     <eca service="updateReturnHeader" event="commit">
         <condition field-name="statusId" operator="equals" value="RETURN_RECEIVED"/>
         <condition field-name="oldStatusId" operator="not-equals" value="RETURN_RECEIVED"/>
+        <action service="addProductsBackToCategory" mode="sync"/>
         <action service="processWaitReplacementReturn" mode="sync"/>
         <action service="processWaitReplacementReservedReturn" mode="sync"/>
         <action service="processRepairReplacementReturn" mode="sync"/>
@@ -205,6 +208,7 @@
     </eca>
     <eca service="updateReturnStatusFromReceipt" event="global-commit">
         <condition field-name="returnHeaderStatus" operator="equals" value="RETURN_RECEIVED"/>
+        <action service="addProductsBackToCategory" mode="sync"/>
         <action service="processWaitReplacementReturn" mode="sync"/>
         <action service="processRepairReplacementReturn" mode="sync"/>
         <action service="processCreditReturn" mode="sync"/>

Modified: ofbiz/trunk/applications/order/servicedef/services_return.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services_return.xml?rev=776275&r1=776274&r2=776275&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/services_return.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/services_return.xml Tue May 19 11:35:30 2009
@@ -332,4 +332,11 @@
         <attribute name="orderId" type="String" mode="IN" optional="false"/>
         <attribute name="originOrderId" type="String" mode="IN" optional="false"/>
     </service>
+
+    <service name="addProductsBackToCategory" engine="simple"
+            location="component://order/script/org/ofbiz/order/order/OrderReturnServices.xml" invoke="addProductsBackToCategory">
+        <description>Add product(s) back to category if it has no active category</description>
+        <attribute name="returnId" type="String" mode="IN" optional="true"/>
+        <attribute name="inventoryItemId" type="String" mode="IN" optional="true"/>
+    </service>
 </services>



Re: svn commit: r776275 - in /ofbiz/trunk/applications/order: script/org/ofbiz/order/order/OrderReturnServices.xml servicedef/secas.xml servicedef/services_return.xml

Posted by Vikas Mayur <vi...@hotwaxmedia.com>.
Hi Jacopo,

I apologies for introducing this bug as I did not realize this case. I  
have made changes to logic of the service in rev. 777387 and now it  
would completely handle the scenario of received product not  
associated to any category.

Though with your changes it was working fine and thanks for doing this  
but looking at the code again I thought it was better to change the  
existing logic and fetching the values using relationships instead of  
doing <entity-one> and <entity-and> would be the right way.

I have tested with my changes and it was working fine. Please let me  
know if this still causes any issues.

Vikas

On May 21, 2009, at 8:58 PM, Jacopo Cappellato wrote:

> Hi Vikas,
>
> in rev.777154 I did some changes to the addProductsBackToCategory  
> service because with the existing code it was not possible to  
> receive into the facility a product not associated to any category;  
> the mods I did should be fine but please double check them.
>
> Cheers,
>
> Jacopo
>
> On May 19, 2009, at 1:35 PM, mor@apache.org wrote:
>
>> Author: mor
>> Date: Tue May 19 11:35:30 2009
>> New Revision: 776275
>>
>> URL: http://svn.apache.org/viewvc?rev=776275&view=rev
>> Log:
>> When inventory is found or returned for a Discontinued Item then  
>> update ProductCategoryMember so that this item is shown in front- 
>> end store.
>> Slightly modified patch from Akash Jain, part of OFBIZ-2484 (https://issues.apache.org/jira/browse/OFBIZ-2484 
>> )
>>
>> Modified:
>>   ofbiz/trunk/applications/order/script/org/ofbiz/order/order/ 
>> OrderReturnServices.xml
>>   ofbiz/trunk/applications/order/servicedef/secas.xml
>>   ofbiz/trunk/applications/order/servicedef/services_return.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=776275&r1=776274&r2=776275&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 Tue May 19 11:35:30 2009
>> @@ -1060,4 +1060,44 @@
>>            </else>
>>        </if>
>>    </simple-method>
>> +
>> +    <simple-method method-name="addProductsBackToCategory" short- 
>> description="When one or more product is received directly through  
>> receive inventory or refund return then add these product(s) back  
>> to category, if they does not have any active category">
>> +        <if-not-empty field="parameters.inventoryItemId">
>> +            <entity-one entity-name="InventoryItem" value- 
>> field="inventoryItem"/>
>> +            <entity-and entity-name="ProductCategoryMember"  
>> list="productCategoryMembers">
>> +                <field-map field-name="productId" from- 
>> field="inventoryItem.productId"/>
>> +                <order-by field-name="-thruDate"/>
>> +            </entity-and>
>> +            <filter-list-by-date list="productCategoryMembers" to- 
>> list="pcms"/>
>> +            <if-empty field="pcms">
>> +                <first-from-list list="productCategoryMembers"  
>> entry="pcm"/>
>> +                <clear-field field="pcm.thruDate"/>
>> +                <set-service-fields service- 
>> name="updateProductToCategory" map="pcm" to- 
>> map="updateProductToCategoryMap"/>
>> +                <call-service service- 
>> name="updateProductToCategory" in-map- 
>> name="updateProductToCategoryMap"/>
>> +            </if-empty>
>> +        <else>
>> +            <if-not-empty field="parameters.returnId">
>> +                <entity-and entity-name="ReturnItem"  
>> list="returnItems">
>> +                    <field-map field-name="returnId" from- 
>> field="parameters.returnId"/>
>> +                    <field-map field-name="returnTypeId"  
>> value="RTN_REFUND"/>
>> +                </entity-and>
>> +                <if-not-empty field="returnItems">
>> +                    <iterate list="returnItems" entry="returnItem">
>> +                        <entity-and entity- 
>> name="ProductCategoryMember" list="productCategoryMembers">
>> +                            <field-map field-name="productId" from- 
>> field="returnItem.productId"/>
>> +                            <order-by field-name="-thruDate"/>
>> +                        </entity-and>
>> +                        <filter-list-by-date  
>> list="productCategoryMembers" to-list="pcms"/>
>> +                        <if-empty field="pcms">
>> +                            <first-from-list  
>> list="productCategoryMembers" entry="pcm"/>
>> +                            <clear-field field="pcm.thruDate"/>
>> +                            <set-service-fields service- 
>> name="updateProductToCategory" map="pcm" to- 
>> map="updateProductToCategoryMap"/>
>> +                            <call-service service- 
>> name="updateProductToCategory" in-map- 
>> name="updateProductToCategoryMap"/>
>> +                        </if-empty>
>> +                    </iterate>
>> +                </if-not-empty>
>> +            </if-not-empty>
>> +        </else>
>> +        </if-not-empty>
>> +    </simple-method>
>> </simple-methods>
>> \ No newline at end of file
>>
>> Modified: ofbiz/trunk/applications/order/servicedef/secas.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=776275&r1=776274&r2=776275&view=diff
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- ofbiz/trunk/applications/order/servicedef/secas.xml (original)
>> +++ ofbiz/trunk/applications/order/servicedef/secas.xml Tue May 19  
>> 11:35:30 2009
>> @@ -45,11 +45,13 @@
>>    </eca>
>>    <eca service="receiveInventoryProduct" event="commit">
>>        <condition field-name="facilityId" operator="is-not-empty"/>
>> +        <action service="addProductsBackToCategory" mode="sync"/>
>>        <action service="setUnitPriceAsLastPrice" mode="sync"/>
>>    </eca>
>>    <eca service="receiveInventoryProduct" event="commit">
>>        <condition field-name="facilityId" operator="is-not-empty"/>
>>        <condition field-name="orderId" operator="is-not-empty"/>
>> +        <action service="addProductsBackToCategory" mode="sync"/>
>>        <action service="updatePoOnReceiveInventory" mode="sync"/>
>>    </eca>
>>    <eca service="changeOrderItemStatus" event="commit">
>> @@ -197,6 +199,7 @@
>>    <eca service="updateReturnHeader" event="commit">
>>        <condition field-name="statusId" operator="equals"  
>> value="RETURN_RECEIVED"/>
>>        <condition field-name="oldStatusId" operator="not-equals"  
>> value="RETURN_RECEIVED"/>
>> +        <action service="addProductsBackToCategory" mode="sync"/>
>>        <action service="processWaitReplacementReturn" mode="sync"/>
>>        <action service="processWaitReplacementReservedReturn"  
>> mode="sync"/>
>>        <action service="processRepairReplacementReturn" mode="sync"/>
>> @@ -205,6 +208,7 @@
>>    </eca>
>>    <eca service="updateReturnStatusFromReceipt" event="global- 
>> commit">
>>        <condition field-name="returnHeaderStatus" operator="equals"  
>> value="RETURN_RECEIVED"/>
>> +        <action service="addProductsBackToCategory" mode="sync"/>
>>        <action service="processWaitReplacementReturn" mode="sync"/>
>>        <action service="processRepairReplacementReturn" mode="sync"/>
>>        <action service="processCreditReturn" mode="sync"/>
>>
>> Modified: ofbiz/trunk/applications/order/servicedef/ 
>> services_return.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services_return.xml?rev=776275&r1=776274&r2=776275&view=diff
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- ofbiz/trunk/applications/order/servicedef/services_return.xml  
>> (original)
>> +++ ofbiz/trunk/applications/order/servicedef/services_return.xml  
>> Tue May 19 11:35:30 2009
>> @@ -332,4 +332,11 @@
>>        <attribute name="orderId" type="String" mode="IN"  
>> optional="false"/>
>>        <attribute name="originOrderId" type="String" mode="IN"  
>> optional="false"/>
>>    </service>
>> +
>> +    <service name="addProductsBackToCategory" engine="simple"
>> +            location="component://order/script/org/ofbiz/order/ 
>> order/OrderReturnServices.xml" invoke="addProductsBackToCategory">
>> +        <description>Add product(s) back to category if it has no  
>> active category</description>
>> +        <attribute name="returnId" type="String" mode="IN"  
>> optional="true"/>
>> +        <attribute name="inventoryItemId" type="String" mode="IN"  
>> optional="true"/>
>> +    </service>
>> </services>
>>
>>
>


Re: svn commit: r776275 - in /ofbiz/trunk/applications/order: script/org/ofbiz/order/order/OrderReturnServices.xml servicedef/secas.xml servicedef/services_return.xml

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
Hi Vikas,

in rev.777154 I did some changes to the addProductsBackToCategory  
service because with the existing code it was not possible to receive  
into the facility a product not associated to any category; the mods I  
did should be fine but please double check them.

Cheers,

Jacopo

On May 19, 2009, at 1:35 PM, mor@apache.org wrote:

> Author: mor
> Date: Tue May 19 11:35:30 2009
> New Revision: 776275
>
> URL: http://svn.apache.org/viewvc?rev=776275&view=rev
> Log:
> When inventory is found or returned for a Discontinued Item then  
> update ProductCategoryMember so that this item is shown in front-end  
> store.
> Slightly modified patch from Akash Jain, part of OFBIZ-2484 (https://issues.apache.org/jira/browse/OFBIZ-2484 
> )
>
> Modified:
>    ofbiz/trunk/applications/order/script/org/ofbiz/order/order/ 
> OrderReturnServices.xml
>    ofbiz/trunk/applications/order/servicedef/secas.xml
>    ofbiz/trunk/applications/order/servicedef/services_return.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=776275&r1=776274&r2=776275&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 Tue May 19 11:35:30 2009
> @@ -1060,4 +1060,44 @@
>             </else>
>         </if>
>     </simple-method>
> +
> +    <simple-method method-name="addProductsBackToCategory" short- 
> description="When one or more product is received directly through  
> receive inventory or refund return then add these product(s) back to  
> category, if they does not have any active category">
> +        <if-not-empty field="parameters.inventoryItemId">
> +            <entity-one entity-name="InventoryItem" value- 
> field="inventoryItem"/>
> +            <entity-and entity-name="ProductCategoryMember"  
> list="productCategoryMembers">
> +                <field-map field-name="productId" from- 
> field="inventoryItem.productId"/>
> +                <order-by field-name="-thruDate"/>
> +            </entity-and>
> +            <filter-list-by-date list="productCategoryMembers" to- 
> list="pcms"/>
> +            <if-empty field="pcms">
> +                <first-from-list list="productCategoryMembers"  
> entry="pcm"/>
> +                <clear-field field="pcm.thruDate"/>
> +                <set-service-fields service- 
> name="updateProductToCategory" map="pcm" to- 
> map="updateProductToCategoryMap"/>
> +                <call-service service- 
> name="updateProductToCategory" in-map- 
> name="updateProductToCategoryMap"/>
> +            </if-empty>
> +        <else>
> +            <if-not-empty field="parameters.returnId">
> +                <entity-and entity-name="ReturnItem"  
> list="returnItems">
> +                    <field-map field-name="returnId" from- 
> field="parameters.returnId"/>
> +                    <field-map field-name="returnTypeId"  
> value="RTN_REFUND"/>
> +                </entity-and>
> +                <if-not-empty field="returnItems">
> +                    <iterate list="returnItems" entry="returnItem">
> +                        <entity-and entity- 
> name="ProductCategoryMember" list="productCategoryMembers">
> +                            <field-map field-name="productId" from- 
> field="returnItem.productId"/>
> +                            <order-by field-name="-thruDate"/>
> +                        </entity-and>
> +                        <filter-list-by-date  
> list="productCategoryMembers" to-list="pcms"/>
> +                        <if-empty field="pcms">
> +                            <first-from-list  
> list="productCategoryMembers" entry="pcm"/>
> +                            <clear-field field="pcm.thruDate"/>
> +                            <set-service-fields service- 
> name="updateProductToCategory" map="pcm" to- 
> map="updateProductToCategoryMap"/>
> +                            <call-service service- 
> name="updateProductToCategory" in-map- 
> name="updateProductToCategoryMap"/>
> +                        </if-empty>
> +                    </iterate>
> +                </if-not-empty>
> +            </if-not-empty>
> +        </else>
> +        </if-not-empty>
> +    </simple-method>
> </simple-methods>
> \ No newline at end of file
>
> Modified: ofbiz/trunk/applications/order/servicedef/secas.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=776275&r1=776274&r2=776275&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- ofbiz/trunk/applications/order/servicedef/secas.xml (original)
> +++ ofbiz/trunk/applications/order/servicedef/secas.xml Tue May 19  
> 11:35:30 2009
> @@ -45,11 +45,13 @@
>     </eca>
>     <eca service="receiveInventoryProduct" event="commit">
>         <condition field-name="facilityId" operator="is-not-empty"/>
> +        <action service="addProductsBackToCategory" mode="sync"/>
>         <action service="setUnitPriceAsLastPrice" mode="sync"/>
>     </eca>
>     <eca service="receiveInventoryProduct" event="commit">
>         <condition field-name="facilityId" operator="is-not-empty"/>
>         <condition field-name="orderId" operator="is-not-empty"/>
> +        <action service="addProductsBackToCategory" mode="sync"/>
>         <action service="updatePoOnReceiveInventory" mode="sync"/>
>     </eca>
>     <eca service="changeOrderItemStatus" event="commit">
> @@ -197,6 +199,7 @@
>     <eca service="updateReturnHeader" event="commit">
>         <condition field-name="statusId" operator="equals"  
> value="RETURN_RECEIVED"/>
>         <condition field-name="oldStatusId" operator="not-equals"  
> value="RETURN_RECEIVED"/>
> +        <action service="addProductsBackToCategory" mode="sync"/>
>         <action service="processWaitReplacementReturn" mode="sync"/>
>         <action service="processWaitReplacementReservedReturn"  
> mode="sync"/>
>         <action service="processRepairReplacementReturn" mode="sync"/>
> @@ -205,6 +208,7 @@
>     </eca>
>     <eca service="updateReturnStatusFromReceipt" event="global- 
> commit">
>         <condition field-name="returnHeaderStatus" operator="equals"  
> value="RETURN_RECEIVED"/>
> +        <action service="addProductsBackToCategory" mode="sync"/>
>         <action service="processWaitReplacementReturn" mode="sync"/>
>         <action service="processRepairReplacementReturn" mode="sync"/>
>         <action service="processCreditReturn" mode="sync"/>
>
> Modified: ofbiz/trunk/applications/order/servicedef/ 
> services_return.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services_return.xml?rev=776275&r1=776274&r2=776275&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- ofbiz/trunk/applications/order/servicedef/services_return.xml  
> (original)
> +++ ofbiz/trunk/applications/order/servicedef/services_return.xml  
> Tue May 19 11:35:30 2009
> @@ -332,4 +332,11 @@
>         <attribute name="orderId" type="String" mode="IN"  
> optional="false"/>
>         <attribute name="originOrderId" type="String" mode="IN"  
> optional="false"/>
>     </service>
> +
> +    <service name="addProductsBackToCategory" engine="simple"
> +            location="component://order/script/org/ofbiz/order/ 
> order/OrderReturnServices.xml" invoke="addProductsBackToCategory">
> +        <description>Add product(s) back to category if it has no  
> active category</description>
> +        <attribute name="returnId" type="String" mode="IN"  
> optional="true"/>
> +        <attribute name="inventoryItemId" type="String" mode="IN"  
> optional="true"/>
> +    </service>
> </services>
>
>