drop procedure `vn`.`invoiceFromClient`;

DELIMITER $$
$$
create
    definer = root@`%` procedure `vn`.`invoiceFromClient`(IN vMaxTicketDate datetime, IN vClientFk INT, IN vCompanyFk INT)
BEGIN
	DECLARE vMinTicketDate DATE DEFAULT TIMESTAMPADD(YEAR, -3, CURDATE());
    SET vMaxTicketDate = util.dayend(vMaxTicketDate);
    
	DROP TEMPORARY TABLE IF EXISTS `ticketToInvoice`;
	CREATE TEMPORARY TABLE `ticketToInvoice`
		(PRIMARY KEY  (`id`))
        ENGINE = MEMORY
			SELECT id FROM ticket t
				WHERE t.clientFk = vClientFk
                    AND t.refFk IS NULL
                    AND t.companyFk = vCompanyFk
                    AND (t.shipped BETWEEN vMinTicketDate AND vMaxTicketDate);
END;;$$
DELIMITER ;
