Ajustando estoque inicial detalhe estoque disponivel
davinTI/app-dono-modulos/pipeline/head This commit looks good

This commit is contained in:
sarah.magalhaes
2026-06-09 14:48:45 -03:00
parent 311a5e8815
commit 8d11ef3365
+28 -27
View File
@@ -3021,34 +3021,35 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
detalhe_estoque_disponivel: (args) => {
return {
sql: /*sql*/ `
SELECT
e.dataentrada AS dtaentradasaida,
e.loja AS nroempresa,
ei.codigo AS seqproduto,
SUM(CASE WHEN oe.tiponota = 'E' OR oe.tiponota IS NULL
THEN ei.quantidade ELSE 0 END) AS qtdentrada,
SUM(CASE WHEN oe.tiponota = 'S'
THEN ei.quantidade ELSE 0 END) AS qtdsaida,
SUM(CASE WHEN oe.tiponota = 'E' OR oe.tiponota IS NULL
THEN ei.quantidade ELSE 0 END)
- SUM(CASE WHEN oe.tiponota = 'S'
THEN ei.quantidade ELSE 0 END) AS qtdsaldo
FROM entradas e
INNER JOIN entradas_itens ei
ON ei.chaveentrada = e.chave
INNER JOIN operacoes_entradas oe
ON oe.codigo = e.operacao
WHERE e.dataentrada >= TRUNC(SYSDATE) - 365
AND e.status = 'S'
AND e.loja = ${args.nrempresa}
AND ei.codigo = ${args.codproduto}
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,
MAX(pe.saldo)
KEEP (DENSE_RANK LAST ORDER BY pe.integradorflaginc) AS estoque_final,
SUM(CASE WHEN pe.tipoorigem IN (1, 3, 4, 5)
THEN pe.quantidade ELSE 0 END) AS qtdentrada,
SUM(CASE WHEN pe.tipoorigem IN (0, 2)
THEN pe.quantidade ELSE 0 END) AS qtdsaida
FROM verdemar.produtos_extrato pe
WHERE pe.codigo = ${args.codproduto}
AND pe.loja = ${args.nrempresa}
AND pe.datamovimento >= TRUNC(SYSDATE) - 365
GROUP BY
e.dataentrada,
e.loja,
ei.codigo
ORDER BY e.dataentrada DESC
TRUNC(pe.datamovimento)
)
SELECT
ext.dia AS dtaentradasaida,
${args.nrempresa} AS nroempresa,
${args.codproduto} AS seqproduto,
NVL(ext.qtdentrada, 0) AS qtdentrada,
NVL(ext.qtdsaida, 0) AS qtdsaida,
NVL(ext.estoque_final, 0) AS qtdsaldo
FROM cte_extrato ext
ORDER BY ext.dia DESC
`
}
},