This commit is contained in:
@@ -2662,26 +2662,42 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
|
||||
detalhe: (args) => {
|
||||
return {
|
||||
sql: /*sql*/ `
|
||||
WITH CTE_UltimaEntrada AS (
|
||||
SELECT /*+ MATERIALIZE */
|
||||
eit.codigo AS produto_codigo,
|
||||
ent.loja AS loja_codigo,
|
||||
ean2.quantidade AS quantidadecompra,
|
||||
ent.dataentrada AS dataultimaentrada,
|
||||
ROW_NUMBER() OVER (
|
||||
PARTITION BY eit.codigo, ent.loja
|
||||
ORDER BY ent.dataentrada DESC, ent.chave DESC
|
||||
) AS rn
|
||||
FROM verdemar.entradas ent
|
||||
INNER JOIN verdemar.entradas_itens eit ON ent.chave = eit.chaveentrada
|
||||
INNER JOIN verdemar.operacoes_entradas op ON ent.operacao = op.codigo
|
||||
INNER JOIN verdemar.produtos_ean ean2 ON eit.embalagem = ean2.chave
|
||||
WHERE ent.status = 'S'
|
||||
AND op.atualizacusto = 'S'
|
||||
AND op.tiponota NOT IN ('B', 'T', 'L')
|
||||
AND ent.dataentrada <= TRUNC(SYSDATE)
|
||||
AND eit.quantidade * ean2.quantidade > NVL(eit.quantidadedevolvida, 0)
|
||||
AND eit.codigo = ${args.codproduto}
|
||||
)
|
||||
SELECT
|
||||
l.codigo AS idempresa,
|
||||
FNC_NOMEPESSOAS(l.codigo) AS nomeempresa,
|
||||
cat.nome AS categoria,
|
||||
ult_ent.dataultimaentrada AS dataultimaentrada,
|
||||
(
|
||||
SELECT MAX(e.dataentrada)
|
||||
FROM verdemar.entradas e
|
||||
INNER JOIN verdemar.entradas_itens ei ON ei.chaveentrada = e.chave
|
||||
WHERE ei.codigo = p.codigo
|
||||
AND e.loja = l.codigo
|
||||
AND e.status = 'S'
|
||||
) AS dataultimaentrada,
|
||||
|
||||
pm.ultimavenda AS dataultimavenda,
|
||||
|
||||
SELECT MAX(pm.data)
|
||||
FROM verdemar.produtos_movimento pm
|
||||
WHERE pm.codigo = p.codigo
|
||||
AND pm.loja = l.codigo
|
||||
) AS dataultimavenda,
|
||||
NULL AS precoatacado,
|
||||
pp.precovenda AS precovarejo,
|
||||
COALESCE(prom.precopromocao, 0) AS precopromoc,
|
||||
pp.precovenda AS preconormal,
|
||||
|
||||
(
|
||||
SELECT pf.precofidelidade
|
||||
FROM verdemar.produtos_fidelidade pf
|
||||
@@ -2691,10 +2707,8 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
|
||||
AND pf.loja = l.codigo
|
||||
AND ROWNUM = 1
|
||||
) AS precomeuMambo,
|
||||
|
||||
0 AS vlrprecovenctoprox,
|
||||
pp.custoliquido AS custoliquido,
|
||||
|
||||
pp.sugestao AS margem,
|
||||
0 AS margematacado,
|
||||
pp.lucro AS margemnormal,
|
||||
@@ -2711,7 +2725,6 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
|
||||
AND ROWNUM = 1
|
||||
) AS margemmeuMambo,
|
||||
subg.sugestao AS margemlucrodivisao,
|
||||
|
||||
est.quantidade AS estoqueDisponivel,
|
||||
(
|
||||
SELECT est2.quantidade
|
||||
@@ -2728,7 +2741,6 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
|
||||
0 AS reserva,
|
||||
pew.estoque AS estoquedisponivelcd,
|
||||
0 AS estoquefuturocd,
|
||||
|
||||
pvm.mediasempromocao AS mdv,
|
||||
pvm.mediacompromocao AS mdvpromoc,
|
||||
pvm.diasestoque AS ddv,
|
||||
@@ -2736,114 +2748,62 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
|
||||
NULL AS ddvmaximo,
|
||||
NULL AS dtavalidade,
|
||||
p.numerodiasvalidade AS validadedias,
|
||||
|
||||
NULL AS classeabastecimento,
|
||||
p.tipoabastecimento AS formaabastecimento,
|
||||
ean.embalagem AS descricaoembalagem,
|
||||
ean.quantidade AS quantidadeembalagem,
|
||||
|
||||
(
|
||||
SELECT ean2.quantidade
|
||||
FROM verdemar.entradas ent
|
||||
INNER JOIN verdemar.entradas_itens eit ON ent.chave = eit.chaveentrada
|
||||
INNER JOIN verdemar.operacoes_entradas op ON ent.operacao = op.codigo
|
||||
INNER JOIN verdemar.produtos_ean ean2 ON eit.embalagem = ean2.chave
|
||||
WHERE eit.codigo = p.codigo
|
||||
AND ent.loja = l.codigo
|
||||
AND op.atualizacusto = 'S'
|
||||
AND op.tiponota NOT IN ('B', 'T', 'L')
|
||||
AND ent.status = 'S'
|
||||
AND ent.dataentrada <= TRUNC(SYSDATE)
|
||||
AND eit.quantidade * ean2.quantidade > NVL(eit.quantidadedevolvida, 0)
|
||||
AND ent.dataentrada = (
|
||||
SELECT MAX(ent2.dataentrada)
|
||||
FROM verdemar.entradas ent2
|
||||
INNER JOIN verdemar.entradas_itens eit2 ON ent2.chave = eit2.chaveentrada
|
||||
INNER JOIN verdemar.operacoes_entradas op2 ON ent2.operacao = op2.codigo
|
||||
INNER JOIN verdemar.produtos_ean ean3 ON eit2.embalagem = ean3.chave
|
||||
WHERE eit2.codigo = p.codigo
|
||||
AND ent2.loja = l.codigo
|
||||
AND op2.atualizacusto = 'S'
|
||||
AND op2.tiponota NOT IN ('B', 'T', 'L')
|
||||
AND ent2.status = 'S'
|
||||
AND ent2.dataentrada <= TRUNC(SYSDATE)
|
||||
AND eit2.quantidade * ean3.quantidade > NVL(eit2.quantidadedevolvida, 0)
|
||||
)
|
||||
AND ROWNUM = 1
|
||||
) AS quantidadecompra,
|
||||
|
||||
ult_ent.quantidadecompra AS quantidadecompra,
|
||||
0 AS qtdeatacado,
|
||||
|
||||
CASE
|
||||
WHEN COALESCE(prom.precopromocao, 0) > 0 THEN 'PROMOCAO'
|
||||
ELSE 'NORMAL'
|
||||
END AS situacao,
|
||||
|
||||
CASE WHEN p.inativo = 'N' THEN 'A' ELSE 'I' END AS statusvenda,
|
||||
NULL AS statuscompra,
|
||||
p.paicomposto AS idbase,
|
||||
NULL AS tipotroca,
|
||||
|
||||
p.codigo AS seqproduto,
|
||||
p.nome AS Descricao
|
||||
|
||||
FROM verdemar.produtos p
|
||||
|
||||
INNER JOIN verdemar.produtos_loja pl
|
||||
ON pl.codigo = p.codigo
|
||||
|
||||
INNER JOIN verdemar.loja l
|
||||
ON l.codigo = pl.loja
|
||||
|
||||
INNER JOIN verdemar.produtos_precos pp
|
||||
ON pp.codigo = p.codigo
|
||||
AND pp.loja = l.codigo
|
||||
|
||||
LEFT JOIN verdemar.produtos_estoque est
|
||||
ON est.codigo = p.codigo
|
||||
AND est.loja = l.codigo
|
||||
|
||||
LEFT JOIN verdemar.produtos_venda_media pvm
|
||||
ON pvm.codigo = p.codigo
|
||||
AND pvm.loja = l.codigo
|
||||
|
||||
LEFT JOIN (
|
||||
SELECT codigo,
|
||||
loja,
|
||||
MAX(data) AS ultimavenda
|
||||
FROM verdemar.produtos_movimento
|
||||
GROUP BY codigo, loja
|
||||
) pm
|
||||
ON pm.codigo = p.codigo
|
||||
AND pm.loja = l.codigo
|
||||
|
||||
LEFT JOIN CTE_UltimaEntrada ult_ent
|
||||
ON ult_ent.produto_codigo = p.codigo
|
||||
AND ult_ent.loja_codigo = l.codigo
|
||||
AND ult_ent.rn = 1
|
||||
LEFT JOIN (
|
||||
SELECT pr.codigo,
|
||||
pr.loja,
|
||||
pr.precopromocao
|
||||
FROM verdemar.promocao pr
|
||||
WHERE pr.datafinal >= TRUNC(SYSDATE)
|
||||
OR pr.indeterminada = 'S'
|
||||
WHERE (pr.datafinal >= TRUNC(SYSDATE) OR pr.indeterminada = 'S')
|
||||
) prom
|
||||
ON prom.codigo = p.codigo
|
||||
AND prom.loja = l.codigo
|
||||
|
||||
LEFT JOIN verdemar.produtos_ean ean
|
||||
ON ean.codigo = p.codigo
|
||||
AND ean.comprapadrao = 'S'
|
||||
|
||||
LEFT JOIN verdemar.categoria cat
|
||||
ON cat.codigo = p.categoria
|
||||
|
||||
LEFT JOIN verdemar.subgrupo subg
|
||||
ON subg.codigo = p.subgrupo
|
||||
AND subg.setor = p.setor
|
||||
AND subg.grupo = p.grupo
|
||||
|
||||
LEFT JOIN verdemar.produtos_estoque_wms pew
|
||||
ON pew.produto = p.codigo
|
||||
AND pew.cd = 892605
|
||||
|
||||
WHERE p.codigo = ${args.codproduto}
|
||||
AND l.participageradorlojas = 'S'
|
||||
AND p.inativo = 'N'
|
||||
|
||||
Reference in New Issue
Block a user