feat: refs #7150 #2224

Merged
robert merged 11 commits from 7150-greuge_dif_porte_add into dev 2024-04-10 07:01:14 +00:00
2 changed files with 43 additions and 43 deletions
Showing only changes of commit c30c0de92c - Show all commits

View File

@ -8,12 +8,12 @@ BEGIN

daysSinceLastRecalculation ? el recalculo se hace diariamente, esa descripción es confusa

daysSinceLastRecalculation ? el recalculo se hace diariamente, esa descripción es confusa

Podrías decirme que nombre crees que seria correcto?

Podrías decirme que nombre crees que seria correcto?
DECLARE vDateStarted DATETIME;
DECLARE vDateEnded DATETIME DEFAULT (util.VN_CURDATE() - INTERVAL 1 DAY);
DECLARE vDaysSinceLastRecalculation INT;
DECLARE vDaysAgoOffset INT;
robert marked this conversation as resolved Outdated

usar INTERVAL

usar INTERVAL
SELECT daysSinceLastRecalculation INTO vDaysSinceLastRecalculation
SELECT daysAgoOffset INTO vDaysAgoOffset
FROM vn.greugeConfig;
SET vDateStarted = util.VN_CURDATE() - INTERVAL vDaysSinceLastRecalculation DAY;
SET vDateStarted = util.VN_CURDATE() - INTERVAL vDaysAgoOffset DAY;
DROP TEMPORARY TABLE IF EXISTS tmp.dp;
@ -21,37 +21,37 @@ BEGIN
CREATE TEMPORARY TABLE tmp.dp
robert marked this conversation as resolved
Review

Alias 'AS' no son necesarios

Alias 'AS' no son necesarios
(PRIMARY KEY (ticketFk))
ENGINE = MEMORY
SELECT t.id ticketFk,
SUM((t.zonePrice - t.zoneBonus) * ebv.ratio) teorico,
00000.00 practico,
00000.00 greuge,
t.clientFk,
t.shipped
FROM vn.ticket t
JOIN vn.client c ON c.id = t.clientFk
LEFT JOIN vn.expedition e ON e.ticketFk = t.id
JOIN vn.expeditionBoxVol ebv ON ebv.boxFk = e.freightItemFk
JOIN vn.zone z ON t.zoneFk = z.id
JOIN vn.company cp ON cp.id = t.companyFk
WHERE t.shipped BETWEEN vDateStarted AND vDateEnded
AND c.isRelevant
AND cp.code IN ('VNL', 'VNH')
AND NOT z.isVolumetric
GROUP BY t.id;
SELECT t.id ticketFk,
SUM((t.zonePrice - t.zoneBonus) * ebv.ratio) teorico,
00000.00 practico,
robert marked this conversation as resolved Outdated

eliminar las dependencias de vn2008

eliminar las dependencias de vn2008
00000.00 greuge,
t.clientFk,
t.shipped
FROM vn.ticket t
JOIN vn.client c ON c.id = t.clientFk
LEFT JOIN vn.expedition e ON e.ticketFk = t.id
robert marked this conversation as resolved Outdated

Sin números

Sin números
JOIN vn.expeditionBoxVol ebv ON ebv.boxFk = e.freightItemFk
robert marked this conversation as resolved Outdated

NOT

NOT
JOIN vn.zone z ON t.zoneFk = z.id
JOIN vn.company cp ON cp.id = t.companyFk
WHERE t.shipped BETWEEN vDateStarted AND vDateEnded
AND c.isRelevant
AND cp.code IN ('VNL', 'VNH')
AND NOT z.isVolumetric
GROUP BY t.id;
-- Agencias que cobran por volumen
INSERT INTO tmp.dp
SELECT sv.ticketFk,
SUM(IFNULL(sv.freight,0)) teorico,
00000.00 practico,
00000.00 greuge,
sv.clientFk,
sv.shipped
FROM vn.saleVolume sv
JOIN vn.zone z ON z.id = sv.zoneFk
AND sv.shipped BETWEEN vDateStarted AND vDateEnded
AND z.isVolumetric != FALSE
GROUP BY sv.ticketFk;
SUM(IFNULL(sv.freight,0)) teorico,
00000.00 practico,
00000.00 greuge,
sv.clientFk,
sv.shipped
FROM vn.saleVolume sv
JOIN vn.zone z ON z.id = sv.zoneFk
AND sv.shipped BETWEEN vDateStarted AND vDateEnded
AND z.isVolumetric != FALSE
GROUP BY sv.ticketFk;
robert marked this conversation as resolved
Review

SUM mayúsculas

SUM mayúsculas
DROP TEMPORARY TABLE IF EXISTS tmp.dp_aux;
robert marked this conversation as resolved Outdated

vn2008 ¿?

vn2008 ¿?
@ -67,7 +67,7 @@ BEGIN
GROUP BY dp.ticketFk;
UPDATE tmp.dp
JOIN tmp.dp_aux USING(ticketFk)
JOIN tmp.dp_aux USING(ticketFk)
SET practico = IFNULL(valor,0);
DROP TEMPORARY TABLE tmp.dp_aux;
@ -77,22 +77,22 @@ BEGIN
ENGINE = MEMORY
SELECT dp.ticketFk, SUM(g.amount) Importe
FROM tmp.dp
JOIN vn.greuge g ON g.ticketFk = dp.ticketFk
JOIN vn.greugeType gt ON gt.id = g.greugeTypeFk
WHERE gt.code = 'freightDifference' -- dif_porte
GROUP BY dp.ticketFk;
JOIN vn.greuge g ON g.ticketFk = dp.ticketFk
JOIN vn.greugeType gt ON gt.id = g.greugeTypeFk
WHERE gt.code = 'freightDifference' -- dif_porte
GROUP BY dp.ticketFk;
robert marked this conversation as resolved Outdated

funciones en mayúsculas

funciones en mayúsculas
UPDATE tmp.dp
JOIN tmp.dp_aux USING(ticketFk)
JOIN tmp.dp_aux USING(ticketFk)
SET greuge = IFNULL(Importe,0);
INSERT INTO vn.greuge (clientFk,description,amount,shipped,greugeTypeFk,ticketFk)
SELECT dp.clientFk,
CONCAT('dif_porte ', dp.ticketFk),
ROUND(IFNULL(dp.teorico,0) - IFNULL(dp.practico,0) - IFNULL(dp.greuge,0),2) Importe,
date(dp.shipped),
1,
dp.ticketFk
CONCAT('dif_porte ', dp.ticketFk),
ROUND(IFNULL(dp.teorico,0) - IFNULL(dp.practico,0) - IFNULL(dp.greuge,0),2) Importe,
date(dp.shipped),
1,
dp.ticketFk
FROM tmp.dp
JOIN vn.client c ON c.id = dp.clientFk
WHERE ABS(IFNULL(dp.teorico,0) - IFNULL(dp.practico,0) - IFNULL(dp.greuge,0)) > 1

View File

@ -1,4 +1,4 @@
ALTER TABLE IF EXISTS `vn`.`greugeConfig`
ADD COLUMN IF NOT EXISTS `daysSinceLastRecalculation` int(11) NOT NULL;
ADD COLUMN IF NOT EXISTS `daysAgoOffset` int(11) NOT NULL;
UPDATE vn.greugeConfig SET daysSinceLastRecalculation=15;
UPDATE vn.greugeConfig SET daysAgoOffset=15;