2024-03-01 13:26:36 +00:00
|
|
|
DELIMITER $$
|
2024-08-20 08:06:10 +00:00
|
|
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` FUNCTION `vn`.`travel_hasUniqueAwb`(
|
2024-03-01 13:26:36 +00:00
|
|
|
vSelf INT
|
|
|
|
)
|
|
|
|
RETURNS BOOL
|
|
|
|
READS SQL DATA
|
|
|
|
BEGIN
|
|
|
|
/**
|
|
|
|
* Comprueba que el travel pasado tiene un AWB lógico,
|
|
|
|
* no se pueden tener varios AWB asociados al mismo DUA
|
|
|
|
*
|
|
|
|
* @param vSelf Id del travel
|
|
|
|
*/
|
|
|
|
DECLARE vHasUniqueAwb BOOL DEFAULT TRUE;
|
|
|
|
|
|
|
|
SELECT NOT COUNT(t2.awbFk) INTO vHasUniqueAwb
|
|
|
|
FROM entry e
|
|
|
|
JOIN travel t ON t.id = e.travelFk
|
|
|
|
JOIN duaEntry de ON de.entryFk = e.id
|
|
|
|
JOIN duaEntry de2 ON de2.duaFk = de.duaFk
|
|
|
|
JOIN entry e2 ON e2.id = de2.entryFk
|
|
|
|
JOIN travel t2 ON t2.id = e2.travelFk
|
|
|
|
WHERE t.id = vSelf
|
|
|
|
AND t2.awbFk <> t.awbFk;
|
|
|
|
|
|
|
|
RETURN vHasUniqueAwb;
|
|
|
|
END$$
|
|
|
|
DELIMITER ;
|