36 lines
832 B
SQL
36 lines
832 B
SQL
drop procedure `vn`.`ticket_closeByTicket`;
|
|
|
|
DELIMITER $$
|
|
$$
|
|
create
|
|
definer = `root`@`localhost` procedure `vn`.`ticket_closeByTicket`(IN vTicketFk int)
|
|
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;
|
|
END$$
|
|
DELIMITER ;
|
|
|
|
|