Adicionando detalhes do produto
davinTI/app-dono-modulos/pipeline/head There was a failure building this commit
davinTI/app-dono-modulos/pipeline/head There was a failure building this commit
This commit is contained in:
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user