32 lines
798 B
MySQL
32 lines
798 B
MySQL
|
drop procedure `vn`.`ticket_closeByTicket`;
|
||
|
|
||
|
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;
|
||
|
|