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