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, [hidden email] 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> > > smime.p7s (3K) Download Attachment |
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, [hidden email] 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> >> >> > smime.p7s (3K) Download Attachment |
Free forum by Nabble | Edit this page |