feat: refs #7150 #2224
|
@ -1,14 +1,19 @@
|
|||
DELIMITER $$
|
||||
robert marked this conversation as resolved
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `bi`.`greuge_dif_porte_add`()
|
||||
BEGIN
|
||||
|
||||
/**
|
||||
robert marked this conversation as resolved
Outdated
carlosap
commented
usar INTERVAL usar INTERVAL
|
||||
* Calculates the greuge based on a specific date in the 'grievanceConfig' table
|
||||
*/
|
||||
|
||||
carlosap
commented
daysSinceLastRecalculation ? el recalculo se hace diariamente, esa descripción es confusa daysSinceLastRecalculation ? el recalculo se hace diariamente, esa descripción es confusa
robert
commented
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 TIMESTAMPADD(DAY,-1,util.VN_CURDATE());
|
||||
DECLARE vDateEnded DATETIME DEFAULT (util.VN_CURDATE() - INTERVAL 1 DAY);
|
||||
DECLARE vDaysSinceLastRecalculation INT;
|
||||
robert marked this conversation as resolved
Outdated
carlosap
commented
usar INTERVAL usar INTERVAL
|
||||
|
||||
SELECT daysSinceLastRecalculation INTO vDaysSinceLastRecalculation
|
||||
FROM vn.greugeConfig;
|
||||
|
||||
SET vDateStarted = TIMESTAMPADD(DAY, -vDaysSinceLastRecalculation, util.VN_CURDATE());
|
||||
SET vDateStarted = util.VN_CURDATE() - INTERVAL vDaysSinceLastRecalculation DAY;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.dp;
|
||||
|
||||
|
@ -17,28 +22,29 @@ BEGIN
|
|||
(PRIMARY KEY (ticketFk))
|
||||
ENGINE = MEMORY
|
||||
SELECT t.id ticketFk,
|
||||
SUM((t.zonePrice - t.zoneBonus) * ebv.ratio) AS teorico,
|
||||
00000.00 as practico,
|
||||
00000.00 as greuge,
|
||||
SUM((t.zonePrice - t.zoneBonus) * ebv.ratio) teorico,
|
||||
00000.00 practico,
|
||||
robert marked this conversation as resolved
Outdated
carlosap
commented
eliminar las dependencias de vn2008 eliminar las dependencias de vn2008
|
||||
00000.00 greuge,
|
||||
t.clientFk,
|
||||
t.shipped
|
||||
FROM vn.ticket t
|
||||
JOIN vn2008.Clientes cli ON cli.Id_cliente = t.clientFk
|
||||
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
carlosap
commented
Sin números Sin números
|
||||
JOIN vn.expeditionBoxVol ebv ON ebv.boxFk = e.freightItemFk
|
||||
robert marked this conversation as resolved
Outdated
carlosap
commented
NOT NOT
|
||||
JOIN vn.zone z ON t.zoneFk = z.id
|
||||
WHERE t.shipped between vDateStarted AND vDateEnded
|
||||
AND cli.`real`
|
||||
AND t.companyFk IN (442 , 567)
|
||||
AND z.isVolumetric = FALSE
|
||||
JOIN vn.companyFk 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)) AS teorico,
|
||||
00000.00 as practico,
|
||||
00000.00 as greuge,
|
||||
SUM(IFNULL(sv.freight,0)) teorico,
|
||||
00000.00 practico,
|
||||
00000.00 greuge,
|
||||
sv.clientFk,
|
||||
sv.shipped
|
||||
FROM vn.saleVolume sv
|
||||
|
@ -52,11 +58,12 @@ BEGIN
|
|||
CREATE TEMPORARY TABLE tmp.dp_aux
|
||||
(PRIMARY KEY (ticketFk))
|
||||
robert marked this conversation as resolved
Outdated
carlosap
commented
Si estamos refactorizando no deben de aparecer números, JOIN al código de componente correspondiente Si estamos refactorizando no deben de aparecer números, JOIN al código de componente correspondiente
|
||||
ENGINE = MEMORY
|
||||
SELECT dp.ticketFk, sum(Cantidad * Valor) as valor
|
||||
SELECT dp.ticketFk, SUM(s.quantity * sc.value) valor
|
||||
FROM tmp.dp
|
||||
JOIN vn2008.Movimientos m ON m.Id_Ticket = dp.ticketFk
|
||||
JOIN vn2008.Movimientos_componentes mc using(Id_Movimiento)
|
||||
WHERE mc.Id_Componente = 15
|
||||
JOIN vn.sale s ON s.ticketFk = t.id
|
||||
JOIN vn.saleComponent sc ON sc.saleFk = s.id
|
||||
JOIN vn.component c ON c.id = sc.componentFk
|
||||
WHERE c.code = 'delivery'
|
||||
GROUP BY dp.ticketFk;
|
||||
|
||||
UPDATE tmp.dp
|
||||
|
@ -68,10 +75,11 @@ BEGIN
|
|||
CREATE TEMPORARY TABLE tmp.dp_aux
|
||||
(PRIMARY KEY (ticketFk))
|
||||
ENGINE = MEMORY
|
||||
SELECT dp.ticketFk, sum(g.amount) Importe
|
||||
SELECT dp.ticketFk, SUM(g.amount) Importe
|
||||
FROM tmp.dp
|
||||
JOIN vn.greuge g ON g.ticketFk = dp.ticketFk
|
||||
WHERE g.greugeTypeFk = 1 -- dif_porte
|
||||
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
carlosap
commented
funciones en mayúsculas funciones en mayúsculas
|
||||
|
||||
UPDATE tmp.dp
|
||||
|
@ -80,8 +88,8 @@ BEGIN
|
|||
|
||||
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) as Importe,
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue
Faltan comentarios