6444-MigrateVn2008.intrastat_netoFunctionToVn #1972

Merged
ivanm merged 10 commits from 6444-MigrateVn2008.intrastat_netoFunctionToVn into dev 2024-02-06 13:21:24 +00:00
1 changed files with 22 additions and 11 deletions
Showing only changes of commit 1a869766b9 - Show all commits

View File

@ -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
)
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 ;