salix/db/routines/vn/functions/packaging_calculate.sql

28 lines
679 B
MySQL
Raw Normal View History

DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `vn`.`packaging_calculate`(isPackageReturnable TINYINT(1),
packagingReturnFk INT(11),
base DECIMAL(10,2),
price DECIMAL(10,2),
upload VARCHAR(255))
RETURNS decimal(10,2)
DETERMINISTIC
BEGIN
DECLARE vAmount INT DEFAULT NULL;
DECLARE vValue DECIMAL(10,2);
IF isPackageReturnable THEN
SELECT cb.freightPackagingFull INTO vAmount
FROM returnBuckets cb
WHERE cb.id = packagingReturnFk;
SET vValue = IF (vAmount IS NULL,
IFNULL(base,0),
vAmount / IFNULL(upload, 0) + IFNULL(base, 0));
ELSE
SET vValue = IFNULL(price, 0) + IFNULL(base, 0);
END IF;
RETURN vValue;
END$$
DELIMITER ;