28 lines
781 B
MySQL
28 lines
781 B
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `bs`.`carteras_add`()
|
||
|
BEGIN
|
||
|
/**
|
||
|
* Inserta en la tabla @bs.carteras las ventas desde el año pasado
|
||
|
* agrupadas por trabajador, año y mes
|
||
|
*/
|
||
|
DECLARE vYear INT DEFAULT YEAR(util.VN_CURDATE()) - 1;
|
||
|
|
||
|
DELETE FROM bs.carteras WHERE Año >= vYear;
|
||
|
|
||
|
CALL util.time_generate(
|
||
|
MAKEDATE(vYear, 1),
|
||
|
(SELECT MAX(fecha) FROM ventas)
|
||
|
);
|
||
|
|
||
|
INSERT INTO carteras(Año, Mes , CodigoTrabajador, Peso)
|
||
|
SELECT t.`year`, t.`month`, w.code, SUM(v.importe)
|
||
|
FROM tmp.time t
|
||
|
JOIN ventas v on t.dated = v.fecha
|
||
|
JOIN vn.client c on c.id = v.Id_Cliente
|
||
|
JOIN vn.worker w ON w.id = c.salesPersonFk
|
||
|
GROUP BY w.code, t.`year`, t.`month`;
|
||
|
|
||
|
DROP TEMPORARY TABLE tmp.time;
|
||
|
END$$
|
||
|
DELIMITER ;
|