30 lines
862 B
MySQL
30 lines
862 B
MySQL
|
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 ;
|