Author: jleroux
Date: Sun Feb 17 13:41:49 2008
New Revision: 628552
URL:
http://svn.apache.org/viewvc?rev=628552&view=revLog:
Fix "Sales percent discount doesn't show up in Journal" (
https://issues.apache.org/jira/browse/OFBIZ-1608) - OFBIZ-1608
Modified:
ofbiz/branches/release4.0/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java
Modified: ofbiz/branches/release4.0/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release4.0/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java?rev=628552&r1=628551&r2=628552&view=diff==============================================================================
--- ofbiz/branches/release4.0/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java (original)
+++ ofbiz/branches/release4.0/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java Sun Feb 17 13:41:49 2008
@@ -735,6 +735,29 @@
if (cart != null) {
double taxAmount = cart.getTotalSalesTax();
double total = cart.getGrandTotal();
+ List adjustments = cart.getAdjustments();
+
+ if (adjustments != null && adjustments.size() > 0) {
+ Iterator iter = adjustments.iterator();
+ while(iter.hasNext()){
+ GenericValue orderAdjustment = (GenericValue) iter.next();
+ Double amount = orderAdjustment.getDouble("amount");
+ Double sourcePercentage = orderAdjustment.getDouble("sourcePercentage");
+ if (UtilValidate.isNotEmpty(sourcePercentage)) {
+ double percentage = sourcePercentage.doubleValue()/100.0; // sourcePercentage is negative
+ amount = new Double(total / ((1 + percentage) / percentage));
+ }
+ XModel adjustmentLine = Journal.appendNode(model, "tr", "adjustment", "");
+ Journal.appendNode(adjustmentLine, "td", "sku", "");
+ Journal.appendNode(adjustmentLine, "td", "desc",
+ UtilProperties.getMessage("pos", "(SalesDiscount)",defaultLocale));
+ Journal.appendNode(adjustmentLine, "td", "qty", "");
+ if (UtilValidate.isNotEmpty(amount)) {
+ Journal.appendNode(adjustmentLine, "td", "price", UtilFormatOut.formatPrice(amount));
+ }
+ Journal.appendNode(adjustmentLine, "td", "index", "-1");
+ }
+ }
XModel taxLine = Journal.appendNode(model, "tr", "", "");
Journal.appendNode(taxLine, "td", "sku", "");