21 lines
678 B
SQL
21 lines
678 B
SQL
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 ;
|