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 ;