28 lines
679 B
SQL
28 lines
679 B
SQL
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 ;
|