29 lines
820 B
MySQL
29 lines
820 B
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`duaEntryValueUpdate`(vDuaFk INT)
|
||
|
BEGIN
|
||
|
|
||
|
UPDATE duaEntry de
|
||
|
JOIN
|
||
|
( SELECT b.entryFk, sum(b.quantity * b.buyingValue) as total
|
||
|
FROM buy b
|
||
|
JOIN duaEntry de ON de.entryFk = b.entryFk
|
||
|
WHERE duaFk = vDuaFk
|
||
|
GROUP BY b.entryFk
|
||
|
) sub ON sub.entryFk = de.entryFk
|
||
|
|
||
|
LEFT JOIN
|
||
|
(SELECT e.id, sum(iit.taxableBase) as euros
|
||
|
FROM entry e
|
||
|
JOIN invoiceInTax iit ON iit.invoiceInFk = e.invoiceInFk
|
||
|
JOIN duaEntry de ON de.entryFk = e.id
|
||
|
WHERE de.duaFk = vDuaFk
|
||
|
GROUP BY e.id
|
||
|
) sub2 ON sub2.id = de.entryFk
|
||
|
|
||
|
SET de.value = sub.total,
|
||
|
de.euroValue = sub2.euros
|
||
|
WHERE duaFk = vDuaFk;
|
||
|
|
||
|
END$$
|
||
|
DELIMITER ;
|