2024-02-15 09:04:15 +00:00
|
|
|
DELIMITER $$
|
2024-08-20 08:06:10 +00:00
|
|
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`getTaxBases`()
|
2024-02-15 09:04:15 +00:00
|
|
|
BEGIN
|
|
|
|
/**
|
|
|
|
* Calcula y devuelve en número de bases imponibles postivas y negativas
|
|
|
|
* Requiere la tabla temporal tmp.ticketToInvoice(id)
|
|
|
|
*
|
|
|
|
* returns tmp.taxBases
|
|
|
|
*/
|
|
|
|
|
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tmp.ticket
|
|
|
|
(KEY (ticketFk))
|
|
|
|
ENGINE = MEMORY
|
|
|
|
SELECT id ticketFk
|
|
|
|
FROM tmp.ticketToInvoice;
|
|
|
|
|
|
|
|
CALL ticket_getTax(NULL);
|
|
|
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.taxBases;
|
|
|
|
CREATE TEMPORARY TABLE tmp.taxBases
|
|
|
|
ENGINE = MEMORY
|
|
|
|
SELECT
|
|
|
|
SUM(taxableBase > 0) as positive,
|
|
|
|
SUM(taxableBase < 0) as negative
|
|
|
|
FROM(
|
|
|
|
SELECT SUM(taxableBase) taxableBase
|
|
|
|
FROM tmp.ticketTax
|
|
|
|
GROUP BY pgcFk
|
|
|
|
) t;
|
|
|
|
|
|
|
|
END$$
|
|
|
|
DELIMITER ;
|