From b769845a287f25e4c67b8c268e1a20eca429b2b2 Mon Sep 17 00:00:00 2001
From: alexm <alexm@verdnatura.es>
Date: Wed, 30 Nov 2022 14:29:44 +0100
Subject: [PATCH] hotFix: not transfer all sales if all sales is negatives

---
 modules/ticket/back/methods/ticket/componentUpdate.js | 4 +++-
 modules/ticket/front/basic-data/step-two/index.js     | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/modules/ticket/back/methods/ticket/componentUpdate.js b/modules/ticket/back/methods/ticket/componentUpdate.js
index baa6a0b41b..e33428bf03 100644
--- a/modules/ticket/back/methods/ticket/componentUpdate.js
+++ b/modules/ticket/back/methods/ticket/componentUpdate.js
@@ -137,9 +137,11 @@ module.exports = Self => {
                 const params = [args.id, args.shipped, args.warehouseFk];
                 const [salesMovable] = await Self.rawSql(query, params, myOptions);
 
+                const sales = await models.Sale.find({ticketFk: args.id}, myOptions);
                 const salesNewTicket = salesMovable.filter(sale => (sale.movable ? sale.movable : 0) >= sale.quantity);
 
-                if (salesNewTicket.length) {
+                const salesNewTicketLength = salesNewTicket.length;
+                if (salesNewTicketLength && sales.length != salesNewTicketLength) {
                     const newTicket = await models.Ticket.transferSales(ctx, args.id, null, salesNewTicket, myOptions);
                     args.id = newTicket.id;
                 }
diff --git a/modules/ticket/front/basic-data/step-two/index.js b/modules/ticket/front/basic-data/step-two/index.js
index 32d6b2cd69..4ac9f292e6 100644
--- a/modules/ticket/front/basic-data/step-two/index.js
+++ b/modules/ticket/front/basic-data/step-two/index.js
@@ -67,6 +67,7 @@ class Controller extends Component {
     ticketHaveNegatives() {
         let haveNegatives = false;
         let haveNotNegatives = false;
+        this.ticket.withoutNegatives = false;
         const haveDifferences = this.ticket.sale.haveDifferences;
 
         this.ticket.sale.items.forEach(item => {
@@ -76,8 +77,9 @@ class Controller extends Component {
                 haveNotNegatives = true;
         });
 
-        this.ticket.withoutNegatives = true;
         this.haveNegatives = (haveNegatives && haveNotNegatives && haveDifferences);
+        if (this.haveNegatives)
+            this.ticket.withoutNegatives = true;
     }
 
     onSubmit() {