salix/db/routines/vn/procedures/ticketStateToday_setState.sql

31 lines
694 B
SQL

DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticketStateToday_setState`(vTicketFk INT, vStateCode VARCHAR(45))
BEGIN
/* Modifica el estado de un ticket de hoy
*
* @param vTicketFk el id del ticket
* @param vStateCode estado a modificar del ticket
*
*/
DECLARE vAlertLevel INT;
DECLARE vAlertLevelPacked INT;
SELECT s.alertLevel, al.id
INTO vAlertLevel, vAlertLevelPacked
FROM state s
JOIN ticketStateToday tst ON tst.state = s.id
JOIN alertLevel al ON al.code = 'PACKED'
WHERE tst.ticketFk = vTicketFk
LIMIT 1;
IF vAlertLevel < vAlertLevelPacked THEN
CALL vn.ticket_setState(vTicketFk, vStateCode);
END IF;
END$$
DELIMITER ;