Skip to content
This repository has been archived by the owner on May 9, 2020. It is now read-only.

Commit

Permalink
Applied fix from trunk r1148180.
Browse files Browse the repository at this point in the history
Applied patch from jira issue - OFBIZ-4343.

When user tries to apply the specified promotion then following problem occurs;
1) Promotion is not applying for the customer, that means customer do not get the discount even if any promotion of such kind exists for the user.
1.1) To fix the above will need to add group-by clause to 2 more fields orderTypeId and statusId of view entity OrderHeaderAndRoleSummary as these fields do not have any values to check the condition, as group-by clause do not allow to show them if values are different.
2) After fixing the issue explained in #1, if user pass the other_value as 12 (month) and condVlaue as $ 1000.00, then after $ 1000 if user order history is of $ 900. Then it will pass the check and then user is allow to get discount on any number on the last order.
3) That means even if the limit is 1000 user is able to purchase in discount of 900 + 300 >> 1200 amount with complete discount. So before checking for the total amount on order history now system will check for "order history + cart sub total".

Thanks Rishi for the contribution!

git-svn-id: https://svn.apache.org/repos/asf/ofbiz/branches/release10.04@1148182 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
ashishvijaywargiya committed Jul 19, 2011
1 parent fa7bb66 commit 8236de5
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
4 changes: 2 additions & 2 deletions applications/order/entitydef/entitymodel_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,9 @@ under the License.
<alias entity-alias="ORLE" name="partyId" group-by="true"/>
<alias entity-alias="ORLE" name="roleTypeId" group-by="true"/>
<alias entity-alias="OH" name="orderId"/>
<alias entity-alias="OH" name="orderTypeId"/>
<alias entity-alias="OH" name="orderTypeId" group-by="true"/>
<alias entity-alias="OH" name="orderDate"/>
<alias entity-alias="OH" name="statusId"/>
<alias entity-alias="OH" name="statusId" group-by="true"/>
<alias entity-alias="OH" name="totalGrandAmount" field="grandTotal" function="sum"/>
<alias entity-alias="OH" name="totalSubRemainingAmount" field="remainingSubTotal" function="sum"/>
<alias entity-alias="OH" name="totalOrders" field="orderId" function="count"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1120,8 +1120,9 @@ protected static boolean checkCondition(GenericValue productPromoCond, ShoppingC
return false;
} else {
BigDecimal orderSubTotal = (BigDecimal) result.get("totalSubRemainingAmount");
BigDecimal orderSubTotalAndCartSubTotal = orderSubTotal.add(cart.getSubTotal());
if (Debug.verboseOn()) Debug.logVerbose("Doing order history sub-total compare: orderSubTotal=" + orderSubTotal + ", for the last " + monthsToInclude + " months.", module);
compareBase = Integer.valueOf(orderSubTotal.compareTo(new BigDecimal(condValue)));
compareBase = Integer.valueOf(orderSubTotalAndCartSubTotal.compareTo(new BigDecimal(condValue)));
}
} catch (GenericServiceException e) {
Debug.logError(e, "Error getting order history sub-total in the getOrderedSummaryInformation service, evaluating condition to false.", module);
Expand Down

0 comments on commit 8236de5

Please sign in to comment.