DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `vn`.`travel_hasUniqueAwb`(
	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 ;