[ 
https://issues.apache.org/jira/browse/OFBIZ-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14227304#comment-14227304
 ] 

Rishi Solanki commented on OFBIZ-4559:
--------------------------------------

[~diveshdut]: IMO, this is not the best way to go. But I like the idea of 
including another view which uses a single entity in it, which in turn replaces 
the same entity in the original view entity used for reporting. Also couldn't 
think of other way to solve this so I would say code looks fine and it won't 
give any major performance issue.
>From my side +1 for the fix provided, but we get the better solution then we 
>should go for it. Lets get it reviewed by community if find everything fine 
>then go for it. 

> InventoryWorker.getOutstandingProductQuantities returns inaccurate results 
> when there are multiple ItemIssuances for an order
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OFBIZ-4559
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4559
>             Project: OFBiz
>          Issue Type: Bug
>          Components: order
>    Affects Versions: Release 10.04
>            Reporter: Skip Dever
>            Priority: Minor
>         Attachments: OFBIZ-4559.patch
>
>
> If you create a purchase order for say 50 of an item, and then receive part 
> of that order, say 10, and then receive another 10.  If you then call 
> InventoryWorker.getOutstandingProductQuantities(), the 
> OrderItemQuantityReportGroupByItem.quantityOpen will report 80.  This is 
> because there will be two ItemIssuance records, resulting in 2 * 50 
> OrderItem.quantity minus the 20 ItemIssuance.quantity in the result set of 
> the query.
> I was able to verify this by creating a second view entity that can be viewed 
> in WebTools
> Here is the added view entity (essentially removing the group-by="false" 
> values:
>     <view-entity entity-name="OrderItemQuantityAndIssuance"
>             package-name="org.ofbiz.order.order"
>             never-cache="true"
>             title="Reports quantity ordered, issued and open by item for 
> OrderItems.">
>       <member-entity entity-alias="OH" entity-name="OrderHeader"/>
>       <member-entity entity-alias="OI" entity-name="OrderItem"/>
>       <member-entity entity-alias="II" entity-name="ItemIssuance"/>
>       <alias entity-alias="OH" name="orderTypeId" group-by="true"/>
>       <alias entity-alias="OI" name="productId" group-by="true"/>
>       <alias entity-alias="OI" name="quantityOrdered" function="sum">
>           <complex-alias operator="-">
>               <complex-alias-field entity-alias="OI" field="quantity" 
> default-value="0"/>
>               <complex-alias-field entity-alias="OI" field="cancelQuantity" 
> default-value="0"/>
>           </complex-alias>
>       </alias>
>       <alias entity-alias="II" name="quantityIssued" field="quantity" 
> function="sum"/>
>       <alias entity-alias="OI" name="quantityOpen" function="sum">
>           <complex-alias operator="-">
>               <complex-alias-field entity-alias="OI" field="quantity" 
> default-value="0"/>
>               <complex-alias-field entity-alias="OI" field="cancelQuantity" 
> default-value="0"/>
>               <complex-alias-field entity-alias="II" field="quantity" 
> default-value="0"/>
>           </complex-alias>
>       </alias>
>       <view-link entity-alias="OI" rel-entity-alias="OH">
>         <key-map field-name="orderId"/>
>       </view-link>
>       <view-link entity-alias="OI" rel-entity-alias="II" rel-optional="true">
>         <key-map field-name="orderId"/>
>         <key-map field-name="orderItemSeqId"/>
>       </view-link>
>     </view-entity>
> If you use this entity and find a purchase order with multiple item 
> issuances, the problem will be apparent.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to