33 lines
1.2 KiB
SQL
33 lines
1.2 KiB
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `bs`.`m3Add`()
|
|
BEGIN
|
|
|
|
DECLARE datSTART DATE;
|
|
DECLARE datEND DATE;
|
|
|
|
SELECT TIMESTAMPADD(WEEK, -1,MAX(fecha)) INTO datSTART
|
|
FROM bs.m3;
|
|
|
|
SET datEND = TIMESTAMPADD(DAY,-1,util.VN_CURDATE());
|
|
|
|
DELETE FROM bs.m3
|
|
WHERE fecha >= datSTART;
|
|
|
|
INSERT INTO bs.m3 (fecha, provinceFk, warehouseFk, m3, year, month, week, day, dayName, euros)
|
|
SELECT v.fecha, a.provinceFk, t.warehouseFk, sum(s.quantity * ic.cm3delivery) / 1000000 AS m3,
|
|
tm.year, tm.month, tm.week, tm.day, dayname(v.fecha), sum(importe)
|
|
FROM vn.ticket t
|
|
JOIN vn.sale s ON s.ticketFk = t.id
|
|
JOIN vn.item i ON i.id = s.itemFk
|
|
JOIN vn.itemType it ON it.id = i.typeFk
|
|
JOIN bs.ventas v ON v.Id_Movimiento = s.id -- Filtra solo por ventas "buenas"
|
|
JOIN vn.time tm ON tm.dated = v.fecha
|
|
JOIN vn.itemCost ic ON ic.itemFk = s.itemFk AND ic.warehouseFk = t.warehouseFk
|
|
JOIN vn.address a ON a.id = t.addressFk
|
|
WHERE v.fecha BETWEEN datSTART AND datEND
|
|
AND s.quantity > 0 -- evita abonos
|
|
AND t.companyFk = 442 -- Verdnatura
|
|
GROUP BY t.warehouseFk, v.fecha, a.provinceFk;
|
|
END$$
|
|
DELIMITER ;
|