DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`energyMeter_record`(vInput INT, vActiveTime INT)
BEGIN
	DECLARE vConsumption INT;
    
    SELECT consumption INTO vConsumption
		FROM energyInput
		WHERE input = vInput;

	INSERT INTO vn.energyMeter 
		SET 
		  `input` = vInput, 
		  `period` = DATE_FORMAT(util.VN_NOW(), '%Y-%m-%d %H:00:00'), 
		  `activeTime` = vActiveTime,
          `consumption` = CAST(IFNULL((vConsumption / 3600) * vActiveTime, 0) AS DECIMAL(10,2))
		ON DUPLICATE KEY UPDATE 
		  `activeTime` = `activeTime` + vActiveTime,
          `consumption` = `consumption` + CAST(VALUES(`consumption`) AS DECIMAL(10,2));
END$$
DELIMITER ;