From 79ea19a36040bc9111fa8485d4e86cdbadf66873 Mon Sep 17 00:00:00 2001 From: sergiodt Date: Tue, 28 Jan 2025 11:14:08 +0100 Subject: [PATCH 1/3] fix: refs #7569 saveSign use lastState --- modules/ticket/back/methods/ticket/saveSign.js | 13 +++++++------ .../back/methods/ticket/specs/saveSign.spec.js | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/ticket/back/methods/ticket/saveSign.js b/modules/ticket/back/methods/ticket/saveSign.js index 93202d042..fd5a95e68 100644 --- a/modules/ticket/back/methods/ticket/saveSign.js +++ b/modules/ticket/back/methods/ticket/saveSign.js @@ -161,20 +161,21 @@ module.exports = Self => { if (stateCode == 'DELIVERED' && ticket.priority) { const orderState = await models.State.findOne({ where: {code: 'DELIVERED'}, - fields: ['id'] + fields: ['order'] }, myOptions); const ticketIncorrect = await Self.rawSql(` - SELECT t.id - FROM ticket t - JOIN ticketState ts ON ts.ticketFk = t.id - JOIN state s ON s.code = ts.code + SELECT tls.ticketFk + FROM ticketLastState tls + JOIN ticketTracking tt ON tt.id = tls.ticketTrackingFk + JOIN ticket t ON t.id = tt.ticketFk + JOIN state s ON s.id = tt.stateFk WHERE t.routeFk = ? AND s.\`order\` < ? AND priority <(SELECT t.priority FROM ticket t WHERE t.id = ?)` - , [ticket.routeFk, orderState.id, ticket.id], myOptions); + , [ticket.routeFk, orderState.order, ticket.id], myOptions); if (ticketIncorrect?.length > 0) await sendMail(ticket.routeFk, ticket.id, ticket.zone().name); diff --git a/modules/ticket/back/methods/ticket/specs/saveSign.spec.js b/modules/ticket/back/methods/ticket/specs/saveSign.spec.js index 092ff95fd..66ab39d0d 100644 --- a/modules/ticket/back/methods/ticket/specs/saveSign.spec.js +++ b/modules/ticket/back/methods/ticket/specs/saveSign.spec.js @@ -60,7 +60,7 @@ describe('Ticket saveSign()', () => { expect(ticketTrackingAfter.name).toBe('Entregado en parte'); }); - it('should send an email to notify that the delivery order is not correct', async() => { + fit('should send an email to notify that the delivery order is not correct', async() => { const tx = await models.Ticket.beginTransaction({}); const ticketFk = 8; const priority = 5; From 3f0f155113b8c8f7c1d0da37a611584e636af154 Mon Sep 17 00:00:00 2001 From: sergiodt Date: Tue, 28 Jan 2025 11:15:29 +0100 Subject: [PATCH 2/3] fix: refs #7569 saveSign use lastState --- modules/ticket/back/methods/ticket/specs/saveSign.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ticket/back/methods/ticket/specs/saveSign.spec.js b/modules/ticket/back/methods/ticket/specs/saveSign.spec.js index 66ab39d0d..092ff95fd 100644 --- a/modules/ticket/back/methods/ticket/specs/saveSign.spec.js +++ b/modules/ticket/back/methods/ticket/specs/saveSign.spec.js @@ -60,7 +60,7 @@ describe('Ticket saveSign()', () => { expect(ticketTrackingAfter.name).toBe('Entregado en parte'); }); - fit('should send an email to notify that the delivery order is not correct', async() => { + it('should send an email to notify that the delivery order is not correct', async() => { const tx = await models.Ticket.beginTransaction({}); const ticketFk = 8; const priority = 5; From 1575c509d13e952067d6e219820aaf9d68059bd2 Mon Sep 17 00:00:00 2001 From: sergiodt Date: Tue, 28 Jan 2025 11:19:45 +0100 Subject: [PATCH 3/3] fix: refs #7569 saveSign use lastState --- .../ticket/back/methods/ticket/saveSign.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/ticket/back/methods/ticket/saveSign.js b/modules/ticket/back/methods/ticket/saveSign.js index fd5a95e68..d619e2037 100644 --- a/modules/ticket/back/methods/ticket/saveSign.js +++ b/modules/ticket/back/methods/ticket/saveSign.js @@ -166,16 +166,16 @@ module.exports = Self => { const ticketIncorrect = await Self.rawSql(` SELECT tls.ticketFk - FROM ticketLastState tls - JOIN ticketTracking tt ON tt.id = tls.ticketTrackingFk - JOIN ticket t ON t.id = tt.ticketFk - JOIN state s ON s.id = tt.stateFk - WHERE t.routeFk = ? - AND s.\`order\` < ? - AND priority <(SELECT t.priority - FROM ticket t - WHERE t.id = ?)` - , [ticket.routeFk, orderState.order, ticket.id], myOptions); + FROM ticketLastState tls + JOIN ticketTracking tt ON tt.id = tls.ticketTrackingFk + JOIN ticket t ON t.id = tt.ticketFk + JOIN state s ON s.id = tt.stateFk + WHERE t.routeFk = ? + AND s.\`order\` < ? + AND priority < (SELECT priority + FROM ticket + WHERE id = ?) + `, [ticket.routeFk, orderState.order, ticket.id], myOptions); if (ticketIncorrect?.length > 0) await sendMail(ticket.routeFk, ticket.id, ticket.zone().name);