diff --git a/modules/ticket/back/methods/ticket/saveSign.js b/modules/ticket/back/methods/ticket/saveSign.js index 93202d042..d619e2037 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 - WHERE t.routeFk = ? - AND s.\`order\` < ? - AND priority <(SELECT t.priority - FROM ticket t - WHERE t.id = ?)` - , [ticket.routeFk, orderState.id, ticket.id], myOptions); + 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 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);