salix/db/.archive/224702/00-ticket_closeByTicket.sql

36 lines
832 B
MySQL
Raw Normal View History

2022-10-13 07:30:31 +00:00
drop procedure `vn`.`ticket_closeByTicket`;
2022-10-25 12:09:21 +00:00
DELIMITER $$
$$
2022-10-13 07:30:31 +00:00
create
2022-10-25 12:09:21 +00:00
definer = `root`@`localhost` procedure `vn`.`ticket_closeByTicket`(IN vTicketFk int)
2022-10-13 07:30:31 +00:00
BEGIN
/**
* Inserta el ticket en la tabla temporal
* para ser cerrado.
*
* @param vTicketFk Id del ticket
*/
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_close;
CREATE TEMPORARY TABLE tmp.ticket_close ENGINE = MEMORY (
SELECT
t.id AS ticketFk
FROM ticket t
JOIN agencyMode am ON am.id = t.agencyModeFk
LEFT JOIN ticketState ts ON ts.ticketFk = t.id
JOIN alertLevel al ON al.id = ts.alertLevel
WHERE al.code = 'PACKED' OR (am.code = 'refund' AND al.code != 'delivered')
AND t.id = vTicketFk
AND t.refFk IS NULL
GROUP BY t.id);
CALL ticket_close();
DROP TEMPORARY TABLE tmp.ticket_close;
2022-10-25 12:09:21 +00:00
END$$
DELIMITER ;
2022-10-13 07:30:31 +00:00