From bb0fcd958c4a2ad97faf6fa7ea85198708415768 Mon Sep 17 00:00:00 2001
From: Rafael Queralta <rafaelcuba81@gmail.com>
Date: Wed, 30 Mar 2022 11:18:12 -0400
Subject: [PATCH] Fixed BUG-48403: Loaded unitDiscount value when open a paid
 receipt and set these value always positive

---
 src/org/openbravo/retail/posterminal/PaidReceipts.java | 1 +
 web/org.openbravo.retail.posterminal/js/model/order.js | 8 +++++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/org/openbravo/retail/posterminal/PaidReceipts.java b/src/org/openbravo/retail/posterminal/PaidReceipts.java
index 43b54bbf3..bb3a592b9 100644
--- a/src/org/openbravo/retail/posterminal/PaidReceipts.java
+++ b/src/org/openbravo/retail/posterminal/PaidReceipts.java
@@ -274,6 +274,7 @@ public class PaidReceipts extends JSONProcessSimple {
             jsonPromo.put("actualAmt", promotion.getTotalAmount());
             jsonPromo.put("hidden", BigDecimal.ZERO.equals(displayedAmount));
             jsonPromo.put("displayedTotalAmount", promotion.getDisplayedTotalAmount());
+            jsonPromo.put("unitDiscount", promotion.getPriceAdjustmentAmt());
             jsonPromo.put("qtyOffer", promotion.getObdiscQtyoffer());
             if (promotion.getObdiscIdentifier() != null) {
               jsonPromo.put("identifier", promotion.getObdiscIdentifier());
diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
index ff64ba22b..8c251b2d6 100644
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -714,9 +714,11 @@
           function(discount) {
             var discountAmt = discount.actualAmt || discount.amt || 0;
             discount.basePrice = base;
-            discount.unitDiscount = OB.DEC.div(
-              discountAmt,
-              discount.obdiscQtyoffer || line.get('qty')
+            discount.unitDiscount = OB.DEC.abs(
+              OB.DEC.div(
+                discountAmt,
+                discount.obdiscQtyoffer || line.get('qty')
+              )
             );
             totalDiscount = OB.DEC.add(totalDiscount, discountAmt);
             base = OB.DEC.sub(base, discount.unitDiscount);
-- 
2.25.1

