salix/db/routines/vn/functions/addressTaxArea.sql

31 lines
863 B
SQL

DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `vn`.`addressTaxArea`(vAddresId INT, vCompanyId INT)
RETURNS varchar(25) CHARSET utf8mb3 COLLATE utf8mb3_general_ci
DETERMINISTIC
BEGIN
/**
* Devuelve el area de un Consignatario,
* intracomunitario, extracomunitario, nacional o recargo de equivalencia.
* Asumimos que no tenemos ninguna empresa
*
* @param vAddresId Id del Consignatario
* @param vCompanyId Compañia desde la que se factura
* @return Código de area
*/
DECLARE vTaxArea VARCHAR(25);
DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany;
CREATE TEMPORARY TABLE tmp.addressCompany
SELECT vAddresId addressFk, vCompanyId companyFk;
CALL vn.addressTaxArea();
SELECT areaFk INTO vTaxArea FROM tmp.addressTaxArea;
DROP TEMPORARY TABLE
tmp.addressCompany,
tmp.addressTaxArea;
RETURN vTaxArea;
END$$
DELIMITER ;