feat: refs #8119 Requested changes
gitea/salix/pipeline/pr-master This commit looks good Details

This commit is contained in:
Guillermo Bonet 2024-10-23 08:23:28 +02:00
parent 6227ef0821
commit baec188ff5
1 changed files with 11 additions and 16 deletions

View File

@ -8,20 +8,19 @@ proc: BEGIN
* @param vDateTo Fecha hasta
* @param vCampaign Código de la campaña
*/
DECLARE vCurdate DATE;
DECLARE vYesterday DATE;
DECLARE vCampaign VARCHAR(100);
DECLARE vScopeDays INT;
DECLARE vPreviousDays INT;
DECLARE vDateSumFrom DATE;
DECLARE vDateSumTo DATE;
DECLARE vScopeDays INT;
SET vCurdate = util.VN_CURDATE();
SET vYesterday = util.yesterday();
SELECT dated, code, scopeDays, previousDays
INTO vDateSumTo, vCampaign, vScopeDays, vPreviousDays
FROM campaign
WHERE dated > vCurdate
WHERE dated >= vYesterday
ORDER BY dated
LIMIT 1;
@ -29,30 +28,26 @@ proc: BEGIN
CALL util.throw('Missing data in campaign table');
END IF;
IF NOT vCurdate BETWEEN vDateSumTo - INTERVAL vPreviousDays DAY
IF NOT vYesterday BETWEEN vDateSumTo - INTERVAL vPreviousDays DAY
AND vDateSumTo THEN
LEAVE proc;
END IF;
SET vDateSumFrom = vDateSumTo - INTERVAL vScopeDays DAY;
SET vYesterday = util.yesterday();
REPLACE itemCampaign(dated, itemFk, quantity, total, campaign)
SELECT DATE(s.created),
INSERT INTO itemCampaign(dated, itemFk, quantity, total, campaign)
SELECT vYesterday,
s.itemFk,
SUM(CASE WHEN t.shipped BETWEEN vDateSumFrom AND vDateSumTo
THEN s.quantity
END) quantity,
SUM(CASE WHEN t.shipped BETWEEN vDateSumFrom AND vDateSumTo
THEN (s.quantity * s.price) * (100 - s.discount) / 100
END) total,
SUM(s.quantity) quantity,
SUM((s.quantity * s.price) * (100 - s.discount) / 100) total,
vCampaign
FROM sale s
JOIN ticket t ON t.id = s.ticketFk
JOIN client c ON c.id = t.clientFk
WHERE s.created BETWEEN vYesterday AND util.dayEnd(vYesterday)
WHERE t.shipped BETWEEN vDateSumFrom AND vDateSumTo
AND c.typeFk = 'normal'
GROUP BY DATE(s.created), s.itemFk
AND NOT t.isDeleted
GROUP BY s.itemFk
HAVING quantity;
END$$
DELIMITER ;