From ccf2c890020cd75f02566ffa783eb0927810ffcd Mon Sep 17 00:00:00 2001
From: Rafael Queralta <rafaelcuba81@gmail.com>
Date: Sat, 31 Jul 2021 03:38:26 -0400
Subject: [PATCH] Fixed BUG-47280: Recalculated Change Payments info wrongly on
 finish pay action in SCO mode

---
 .../js/panels/scanProductPanel.js                   | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/web/com.openbravo.decathlon.retail.selfcheckout.returns/js/panels/scanProductPanel.js b/web/com.openbravo.decathlon.retail.selfcheckout.returns/js/panels/scanProductPanel.js
index 0b887c1..6875d03 100644
--- a/web/com.openbravo.decathlon.retail.selfcheckout.returns/js/panels/scanProductPanel.js
+++ b/web/com.openbravo.decathlon.retail.selfcheckout.returns/js/panels/scanProductPanel.js
@@ -39,6 +39,19 @@ OB.SCO.APP.PANELRIGHT.ScanProductPanel.extend({
       ? this.receipt
       : OB.MobileApp.model.receipt;
 
+    if (
+      receipt.get('change') &&
+      receipt.get('changePayments') &&
+      receipt.get('changePayments').length > 0
+    ) {
+      receipt.get('changePayments').forEach(function(changePayment) {
+        changePayment.amount = receipt.get('change');
+        changePayment.amountRounded = OB.DEC.mul(receipt.get('change'), OB.MobileApp.model.paymentnames[changePayment.key].mulrate, OB.MobileApp.model.paymentnames[changePayment.key].obposPosprecision);
+        changePayment.origAmount = receipt.get('change');
+        changePayment.label = receipt.get('change') + OB.MobileApp.model.paymentnames[changePayment.key].symbol;
+      });
+    }
+
     if (receipt.get('gross') < 0) {
       var returnPaymentMethodExists = false;
       var paymentArray = OB.MobileApp.model.paymentnames;
-- 
2.28.0

