Adicionando detalhes do produto
davinTI/app-dono-modulos/pipeline/head There was a failure building this commit

This commit is contained in:
Sarah Magalhães
2026-06-03 15:05:10 -03:00
parent 079df5da8a
commit b19e261a35
+184 -1
View File
@@ -2661,7 +2661,190 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
},
detalhe: (args) => {
return {
sql: /*sql*/ ``
sql: /*sql*/ `
SELECT
l.codigo AS idempresa,
FNC_NOMEPESSOAS(l.codigo) AS nomeempresa,
cat.nome AS categoria,
(
SELECT MAX(e.dataentrada)
FROM entradas e
INNER JOIN 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,
NULL AS precoatacado,
pp.precovenda AS precovarejo,
COALESCE(prom.precopromocao, 0) AS precopromoc,
pp.precovenda AS preconormal,
(
SELECT pf.precofidelidade
FROM produtos_fidelidade pf
WHERE pf.codigo = p.codigo
AND TRUNC(SYSDATE) BETWEEN pf.datainicial AND pf.datafinal
AND (pf.codigo_tipo = 0 OR pf.codigo_tipo = 2)
AND pf.loja = l.codigo
) AS precomeuMambo,
0 AS vlrprecovenctoprox,
pp.custoliquido AS custoliquido,
pp.sugestao AS margem,
0 AS margematacado,
pp.lucro AS margemnormal,
(
SELECT api.margemprecopromocao_clubevm
FROM produtos_fidelidade pf
INNER JOIN autorizacao_promocao_itens api
ON api.codigo = pf.codigo
AND api.chave = pf.chaveorigem
WHERE pf.codigo = p.codigo
AND api.datafinal >= SYSDATE
AND api.datainicial <= SYSDATE
AND pf.loja = l.codigo
) AS margemmeuMambo,
subg.sugestao AS margemlucrodivisao,
est.quantidade AS estoqueDisponivel,
(
SELECT est2.quantidade
FROM loja l2
INNER JOIN produtos_estoque est2 ON est2.loja = l2.codigo
WHERE l2.lojanota = l.codigo
AND l2.statusloja = 3
AND est2.codigo = p.codigo
) AS estoquetroca,
FNC_QTD_EMTRANSITO(p.codigo, l.codigo) AS estoquetransito,
0 AS estoquefuturo,
0 AS estoquereservado,
0 AS reserva,
pew.estoque AS estoquedisponivelcd,
0 AS estoquefuturocd,
pvm.mediasempromocao AS mdv,
pvm.mediacompromocao AS mdvpromoc,
pvm.diasestoque AS ddv,
NULL AS ddvminimo,
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 entradas ent
INNER JOIN entradas_itens eit ON ent.chave = eit.chaveentrada
INNER JOIN operacoes_entradas op ON ent.operacao = op.codigo
INNER JOIN 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 entradas ent2
INNER JOIN entradas_itens eit2 ON ent2.chave = eit2.chaveentrada
INNER JOIN operacoes_entradas op2 ON ent2.operacao = op2.codigo
INNER JOIN 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,
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 produtos p
INNER JOIN produtos_loja pl
ON pl.codigo = p.codigo
INNER JOIN loja l
ON l.codigo = pl.loja
INNER JOIN produtos_precos pp
ON pp.codigo = p.codigo
AND pp.loja = l.codigo
LEFT JOIN produtos_estoque est
ON est.codigo = p.codigo
AND est.loja = l.codigo
LEFT JOIN produtos_venda_media pvm
ON pvm.codigo = p.codigo
AND pvm.loja = l.codigo
LEFT JOIN (
SELECT codigo,
loja,
MAX(data) AS ultimavenda
FROM produtos_movimento
GROUP BY codigo, loja
) pm
ON pm.codigo = p.codigo
AND pm.loja = l.codigo
LEFT JOIN (
SELECT pr.codigo,
pr.loja,
pr.precopromocao
FROM promocao pr
WHERE pr.datafinal >= TRUNC(SYSDATE)
OR pr.indeterminada = 'S'
) prom
ON prom.codigo = p.codigo
AND prom.loja = l.codigo
LEFT JOIN produtos_ean ean
ON ean.codigo = p.codigo
AND ean.comprapadrao = 'S'
LEFT JOIN categoria cat
ON cat.codigo = p.categoria
LEFT JOIN subgrupo subg
ON subg.codigo = p.subgrupo
AND subg.setor = p.setor
AND subg.grupo = p.grupo
LEFT JOIN 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'
`
}
},
detalhe_custo_liquido: (args) => {