From 2ce6cb08078082eef18adbe013202c0fb21003cf Mon Sep 17 00:00:00 2001 From: "sarah.magalhaes" Date: Tue, 9 Jun 2026 14:21:29 -0300 Subject: [PATCH] Ajustando estoque inicial detalhe mdv --- src/products/products.module.ts | 36 ++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/src/products/products.module.ts b/src/products/products.module.ts index e7a4f4b..ddb0e84 100644 --- a/src/products/products.module.ts +++ b/src/products/products.module.ts @@ -2915,23 +2915,38 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1) detalhe_mdv: (args) => { return { sql: /*sql*/ ` - SELECT - TRUNC(pm.data) AS data, - pm.loja AS nroempresa, - pm.codigo AS seqproduto, + WITH cte_extrato AS ( + SELECT /*+ MATERIALIZE */ + TRUNC(pe.datamovimento) AS dia, + MAX(pe.saldo + pe.quantidade) + KEEP (DENSE_RANK FIRST ORDER BY pe.integradorflaginc) AS estoque_inicial + FROM verdemar.produtos_extrato pe + WHERE pe.codigo = :codproduto + AND pe.loja = :nrempresa + AND pe.tipoorigem = 0 + AND pe.datamovimento >= TRUNC(SYSDATE) - 365 -- mesma janela do movimento + GROUP BY + TRUNC(pe.datamovimento) + ) + SELECT + TRUNC(pm.data) AS data, + pm.loja AS nroempresa, + pm.codigo AS seqproduto, DECODE(TO_CHAR(TRUNC(pm.data), 'D'), '1', 'Domingo', '2', 'Segunda', - '3', 'Terça', + '3', 'Ter�a', '4', 'Quarta', '5', 'Quinta', '6', 'Sexta', - '7', 'Sábado' - ) AS diasemana, - SUM(pm.quantidade) AS qtd, - 0 AS qtd_inicial + '7', 'S�bado' + ) AS diasemana, + SUM(pm.quantidade) AS qtd, + NVL(ext.estoque_inicial, 0) AS qtd_inicial FROM verdemar.produtos_movimento pm + LEFT JOIN cte_extrato ext + ON ext.dia = TRUNC(pm.data) WHERE pm.quantidade > 0 AND TRUNC(pm.data) >= TRUNC(SYSDATE) - 365 @@ -2941,7 +2956,8 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1) GROUP BY TRUNC(pm.data), pm.loja, - pm.codigo + pm.codigo, + NVL(ext.estoque_inicial, 0) ORDER BY TRUNC(pm.data) DESC `