feat: refs #7709 revision
gitea/salix/pipeline/pr-dev There was a failure building this commit Details

This commit is contained in:
Carlos Andrés 2024-12-18 19:49:05 +01:00
parent d3daf83706
commit 48a7596d30
1 changed files with 84 additions and 83 deletions

View File

@ -1,5 +1,5 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`supplierPackaging_ReportSource`( CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`supplierPackaging_reportSource`(
vFromDated DATE, vFromDated DATE,
vNif VARCHAR(50) vNif VARCHAR(50)
) )
@ -12,11 +12,7 @@ BEGIN
*/ */
DECLARE vEntityId INT; DECLARE vEntityId INT;
SELECT id INTO vEntityId CREATE OR REPLACE TEMPORARY TABLE tPackaging
FROM supplier
WHERE nif = vNif;
CREATE OR REPLACE TEMPORARY TABLE tSupplierPackaging
SELECT itemFk, SELECT itemFk,
longName, longName,
`name`, `name`,
@ -24,7 +20,7 @@ BEGIN
landed, landed,
`in`, `in`,
`out`, `out`,
CAST(sref AS CHAR) sref, CAST(cmrFk AS CHAR) sref,
buyingValue buyingValue
FROM ( FROM (
SELECT s.itemFk, SELECT s.itemFk,
@ -34,7 +30,7 @@ BEGIN
DATE(t.shipped) landed, DATE(t.shipped) landed,
-LEAST(s.quantity, 0) `in`, -LEAST(s.quantity, 0) `in`,
GREATEST(s.quantity, 0) `out`, GREATEST(s.quantity, 0) `out`,
t.cmrFk sref, t.cmrFk,
s.price * (100 - s.discount) / 100 buyingValue s.price * (100 - s.discount) / 100 buyingValue
FROM sale s FROM sale s
JOIN item i ON i.id = s.itemFk JOIN item i ON i.id = s.itemFk
@ -50,8 +46,8 @@ BEGIN
c.name, c.name,
'T previous', 'T previous',
vFromDated, vFromDated,
SUM(-LEAST(s.quantity,0)) `in`, SUM(-LEAST(s.quantity, 0)),
SUM(GREATEST(s.quantity,0)) `out`, SUM(GREATEST(s.quantity, 0)),
NULL, NULL,
AVG(s.price * (100 - s.discount) / 100) AVG(s.price * (100 - s.discount) / 100)
FROM sale s FROM sale s
@ -68,10 +64,10 @@ BEGIN
SELECT p.itemFk, SELECT p.itemFk,
i.longName, i.longName,
c.name, c.name,
CONCAT('TP',tp.ticketFk) entryFk, CONCAT('TP', tp.ticketFk),
DATE(t.shipped), DATE(t.shipped),
-LEAST(tp.quantity,0) `in`, -LEAST(tp.quantity, 0),
GREATEST(tp.quantity,0) `out`, GREATEST(tp.quantity, 0),
t.cmrFk, t.cmrFk,
0 0
FROM ticketPackaging tp FROM ticketPackaging tp
@ -106,13 +102,16 @@ BEGIN
)sub )sub
WHERE `out` OR `in`; WHERE `out` OR `in`;
IF vEntityId IS NULL THEN SELECT id INTO vEntityId
FROM supplier
WHERE nif = vNif;
IF vEntityId IS NULL THEN
SELECT id INTO vEntityId SELECT id INTO vEntityId
FROM client FROM client
WHERE fi = vNif; WHERE fi = vNif;
INSERT INTO tSupplierPackaging INSERT INTO tPackaging
SELECT itemFk, SELECT itemFk,
longName, longName,
`name`, `name`,
@ -125,12 +124,12 @@ BEGIN
FROM ( FROM (
SELECT sp.itemFk, SELECT sp.itemFk,
sp.longName, sp.longName,
sp.supplier name, sp.supplier,
CONCAT('E',sp.entryFk) entryFk, CONCAT('E', sp.entryFk),
sp.landed, sp.landed,
sp.`in`, sp.`in`,
sp.`out`, sp.`out`,
e.invoiceNumber sref, e.invoiceNumber,
sp.buyingValue sp.buyingValue
FROM supplierPackaging sp FROM supplierPackaging sp
JOIN entry e ON e.id = sp.entryFk JOIN entry e ON e.id = sp.entryFk
@ -155,7 +154,6 @@ BEGIN
ORDER BY itemFk , landed, entryFk ORDER BY itemFk , landed, entryFk
) sub ) sub
WHERE `out` OR `in`; WHERE `out` OR `in`;
END IF; END IF;
SELECT vEntityId, SELECT vEntityId,
@ -168,11 +166,14 @@ BEGIN
CAST(`out` AS DECIMAL(10, 0)) `out`, CAST(`out` AS DECIMAL(10, 0)) `out`,
sref, sref,
buyingValue, buyingValue,
CAST(SUM(IF(`in`=0, -`out`, `in`)) OVER (PARTITION BY itemFk ORDER BY itemFk , landed, entryFk) AS DECIMAL(10,2)) balance CAST(SUM(IF(`in` = 0, -`out`, `in`)) OVER (
FROM tSupplierPackaging PARTITION BY itemFk
WHERE NOT (landed < util.VN_CURDATE() - INTERVAL 1 YEAR) ORDER BY itemFk , landed, entryFk
) AS DECIMAL(10,2)) balance
FROM tPackaging
WHERE landed >= util.VN_CURDATE() - INTERVAL 1 YEAR
ORDER BY itemFk, landed, entryFk; ORDER BY itemFk, landed, entryFk;
DROP TEMPORARY TABLE tSupplierPackaging; DROP TEMPORARY TABLE tPackaging;
END$$ END$$
DELIMITER ; DELIMITER ;