2024-03-05 11:41:54 +00:00
|
|
|
DELIMITER $$
|
|
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`rateView`()
|
|
|
|
BEGIN
|
2024-04-12 05:58:18 +00:00
|
|
|
/**
|
|
|
|
* Muestra información sobre tasas de cambio de Dolares
|
|
|
|
*/
|
2024-03-05 12:21:53 +00:00
|
|
|
SELECT
|
2024-03-05 11:41:54 +00:00
|
|
|
t.year,
|
|
|
|
t.month,
|
2024-04-17 09:00:00 +00:00
|
|
|
pay.dollars,
|
|
|
|
pay.changePractical,
|
2024-03-05 11:41:54 +00:00
|
|
|
CAST(SUM(iit.foreignValue ) / SUM(iit.taxableBase) AS DECIMAL(5,4)) cambioTeorico,
|
2024-04-17 09:00:00 +00:00
|
|
|
pay.changeOfficial
|
2024-03-05 11:41:54 +00:00
|
|
|
FROM invoiceIn ii
|
|
|
|
JOIN time t ON t.dated = ii.issued
|
|
|
|
JOIN invoiceInTax iit ON ii.id = iit.invoiceInFk
|
|
|
|
JOIN
|
2024-03-05 12:21:53 +00:00
|
|
|
( SELECT
|
|
|
|
t.year,
|
|
|
|
t.month,
|
2024-04-12 10:13:07 +00:00
|
|
|
CAST(SUM(p.divisa) AS DECIMAL(10,2)) dollars,
|
|
|
|
CAST(SUM(p.divisa) / SUM(p.amount) AS DECIMAL(5,4)) changePractical,
|
2024-03-05 12:21:53 +00:00
|
|
|
CAST(rr.value * 0.998 AS DECIMAL(5,4)) changeOfficial
|
|
|
|
FROM payment p
|
|
|
|
JOIN time t ON t.dated = p.received
|
|
|
|
JOIN referenceRate rr ON rr.dated = p.received
|
|
|
|
JOIN currency c ON c.id = rr.currencyFk
|
2024-04-12 10:13:07 +00:00
|
|
|
WHERE p.divisa
|
2024-03-05 12:21:53 +00:00
|
|
|
AND c.code = 'USD'
|
|
|
|
GROUP BY t.year, t.month
|
2024-04-17 09:00:00 +00:00
|
|
|
) pay ON t.year = pay.year AND t.month = pay.month
|
2024-03-05 11:41:54 +00:00
|
|
|
JOIN currency c ON c.id = ii.currencyFk
|
|
|
|
WHERE c.code = 'USD'
|
|
|
|
AND iit.foreignValue
|
|
|
|
AND iit.taxableBase
|
|
|
|
GROUP BY t.year, t.month;
|
|
|
|
END$$
|
|
|
|
DELIMITER ;
|