40 lines
1.1 KiB
MySQL
40 lines
1.1 KiB
MySQL
|
DELIMITER $$
|
||
|
$$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`entry_updateComission`(vCurrency INT)
|
||
|
BEGIN
|
||
|
/**
|
||
|
* Actualiza la comision de las entradas de hoy a futuro y las recalcula
|
||
|
*
|
||
|
* @param vCurrency id del tipo de moneda(SAR,EUR,USD,GBP,JPY)
|
||
|
*/
|
||
|
DECLARE vCurrencyName VARCHAR(25);
|
||
|
DECLARE vComission INT;
|
||
|
|
||
|
CREATE OR REPLACE TEMPORARY TABLE tmp.recalcEntryCommision
|
||
|
SELECT e.id
|
||
|
FROM vn.entry e
|
||
|
JOIN vn.travel t ON t.id = e.travelFk
|
||
|
JOIN vn.warehouse w ON w.id = t.warehouseInFk
|
||
|
WHERE t.shipped >= util.VN_CURDATE()
|
||
|
AND e.currencyFk = vCurrency;
|
||
|
|
||
|
SET vComission = currency_getCommission(vCurrency);
|
||
|
|
||
|
UPDATE vn.entry e
|
||
|
JOIN tmp.recalcEntryCommision tmp ON tmp.id = e.id
|
||
|
SET e.commission = vComission;
|
||
|
|
||
|
SELECT `name` INTO vCurrencyName
|
||
|
FROM currency
|
||
|
WHERE id = vCurrency;
|
||
|
|
||
|
CALL entry_recalc();
|
||
|
SELECT util.notification_send(
|
||
|
'entry-update-comission',
|
||
|
JSON_OBJECT('currencyName', vCurrencyName, 'referenceCurrent', vComission),
|
||
|
account.myUser_getId()
|
||
|
);
|
||
|
|
||
|
DROP TEMPORARY TABLE tmp.recalcEntryCommision;
|
||
|
END$$
|
||
|
DELIMITER ;
|