6444-MigrateVn2008.intrastat_netoFunctionToVn #1972
|
@ -1,21 +1,32 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `vn`.`intrastat_estimateNet`(vIntrastat INT, vUnidades INT)
|
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `vn`.`intrastat_estimateNet`(
|
||||||
|
|||||||
|
vSelf INT,
|
||||||
|
vUnits INT
|
||||||
guillermo
commented
Al final crec que es millor ficar vStems per a seguir la mateixa nomenclatura Al final crec que es millor ficar vStems per a seguir la mateixa nomenclatura
|
|||||||
|
)
|
||||||
RETURNS double
|
RETURNS double
|
||||||
DETERMINISTIC
|
DETERMINISTIC
|
||||||
BEGIN
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Calcula un valor neto estimado en función de
|
||||||
|
* datos históricos de facturas intrastat.
|
||||||
|
*
|
||||||
|
* @param vSelf Id de intrastat
|
||||||
|
* @param vUnits Número de unidades
|
||||||
|
* @return vNet
|
||||||
|
*/
|
||||||
DECLARE vNet DOUBLE;
|
DECLARE vNet DOUBLE;
|
||||||
|
|
||||||
SELECT ROUND(vUnidades / (SUM(media) / COUNT(media)), 2) INTO vNet
|
SELECT ROUND(vUnits / (SUM(average) / COUNT(average)), 2) INTO vNet
|
||||||
FROM (SELECT *, unidades / neto media
|
FROM (
|
||||||
FROM vn2008.intrastat_data
|
SELECT *, stems / net average
|
||||||
WHERE intrastat_id = vIntrastat
|
FROM invoiceInIntrastat
|
||||||
AND neto
|
WHERE intrastatFk = vSelf
|
||||||
AND unidades > 0
|
AND net
|
||||||
ORDER BY odbc_date DESC
|
AND stems > 0
|
||||||
LIMIT 20) t;
|
ORDER BY dated DESC
|
||||||
|
LIMIT 20
|
||||||
|
) sub;
|
||||||
|
|
||||||
RETURN vNet/2;
|
RETURN vNet/2;
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
Loading…
Reference in New Issue
Falta cambiar los nombres de las variables y formatear mejor el código
Las variables deben de ir en ingles, de todas formas si quieres cuando vengas comentamos