Compare commits

...

6 Commits

Author SHA1 Message Date
Robert Ferrús 5e21e4e368 Merge pull request 'feat: refs #8127 entry_getCommission' (!3128) from 8127-entry_updateComission into dev
gitea/salix/pipeline/head This commit looks good Details
Reviewed-on: #3128
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-18 08:48:50 +00:00
Robert Ferrús 329488d700 Merge branch 'dev' into 8127-entry_updateComission
gitea/salix/pipeline/pr-dev This commit looks good Details
2024-11-18 08:46:49 +00:00
Robert Ferrús 923296e85e Merge branch 'dev' into 8127-entry_updateComission
gitea/salix/pipeline/pr-dev This commit looks good Details
2024-11-15 10:34:34 +00:00
Robert Ferrús c5f1b05671 feat: refs #8127 quitar esquemas
gitea/salix/pipeline/pr-dev There was a failure building this commit Details
2024-11-15 11:32:20 +01:00
Robert Ferrús f7a5fc7e31 Merge branch 'dev' into 8127-entry_updateComission
gitea/salix/pipeline/pr-dev This commit looks good Details
2024-11-15 10:06:45 +00:00
Robert Ferrús 7e0f19b368 feat: refs #8127 entry_getCommission
gitea/salix/pipeline/pr-dev There was a failure building this commit Details
2024-10-18 08:21:09 +02:00
2 changed files with 36 additions and 43 deletions

View File

@ -1,48 +1,22 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`vn`@`localhost` FUNCTION `vn`.`entry_getCommission`(vTravelFk INT,
vCurrencyFk INT,
vSupplierFk INT
vCurrencyFk INT,
vSupplierFk INT
)
RETURNS int(11)
NOT DETERMINISTIC
READS SQL DATA
BEGIN
DECLARE vCommission INT;
DECLARE vCurrentCommission INT;
DECLARE vIsCurrencyUsd INT;
DECLARE vLastEntryFk INT;
DECLARE vCommission INT;
DECLARE vCurrentCommission INT;
DECLARE vIsNotEUR INT;
DECLARE vLastEntryFk INT;
SELECT count(*) INTO vIsCurrencyUsd
FROM currency c
WHERE c.code = 'USD' AND id = vCurrencyFk;
IF NOT vIsCurrencyUsd THEN
SELECT e.id INTO vLastEntryFk
FROM vn.entry e
JOIN vn.travel tr ON tr.id = e.travelFk
WHERE e.supplierFk = vSupplierFk
ORDER BY tr.landed DESC
LIMIT 1;
IF vLastEntryFk THEN
SELECT commission INTO vCurrentCommission
FROM vn.entry
WHERE id = vLastEntryFk;
ELSE
SELECT commission INTO vCurrentCommission
FROM supplier s
WHERE s.id = vSupplierFk;
END IF;
RETURN vCurrentCommission;
ELSE
SELECT count(*) INTO vIsNotEUR
FROM currency c
WHERE c.code <> 'EUR' AND id = vCurrencyFk;
IF vIsNotEUR THEN
SELECT ROUND(-100 * (1 - (1 / r.value))) INTO vCommission
FROM travel t
LEFT JOIN referenceCurrent r ON r.currencyFk = vCurrencyFk AND r.`dated` <= t.shipped
@ -51,8 +25,27 @@ BEGIN
LIMIT 1;
RETURN IFNULL(vCommission, 0);
ELSE
SELECT e.id INTO vLastEntryFk
FROM `entry` e
JOIN travel tr ON tr.id = e.travelFk
WHERE e.supplierFk = vSupplierFk
ORDER BY tr.landed DESC
LIMIT 1;
END IF;
IF vLastEntryFk THEN
SELECT commission INTO vCurrentCommission
FROM `entry`
WHERE id = vLastEntryFk;
ELSE
SELECT commission INTO vCurrentCommission
FROM supplier s
WHERE s.id = vSupplierFk;
END IF;
RETURN vCurrentCommission;
END IF;
END$$
DELIMITER ;

View File

@ -22,7 +22,7 @@ BEGIN
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()
WHERE t.landed >= util.VN_CURDATE()
AND e.currencyFk = vCurrency
AND NOT e.isBooked;