add product detail query
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:
@@ -23,6 +23,214 @@ export default moduleFactory
|
|||||||
},
|
},
|
||||||
params: ["filtro", "ean"],
|
params: ["filtro", "ean"],
|
||||||
},
|
},
|
||||||
|
detalhe: {
|
||||||
|
name: "Detalhes do Produto",
|
||||||
|
display: {
|
||||||
|
type: "detail",
|
||||||
|
stores: [
|
||||||
|
{
|
||||||
|
store_id: "idempresa",
|
||||||
|
store_name: "nomeempresa",
|
||||||
|
category: "categoria",
|
||||||
|
last_entry: "dataultimaentrada",
|
||||||
|
last_sale: "dataultimavenda",
|
||||||
|
sections: [
|
||||||
|
{
|
||||||
|
label: "Preço Atacado",
|
||||||
|
column: "precoatacado",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Preço Varejo",
|
||||||
|
column: "precovarejo",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "MDV",
|
||||||
|
column: "mdv",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Margem",
|
||||||
|
column: "margem",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Margem Atacado",
|
||||||
|
column: "margematacado",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Classe Abastecimento",
|
||||||
|
column: "classeabastecimento",
|
||||||
|
format: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Descrição Embalagem",
|
||||||
|
column: "descricaoembalagem",
|
||||||
|
format: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Quantidade Embalagem",
|
||||||
|
column: "quantidadeembalagem",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Estoque Disponível",
|
||||||
|
column: "estoqueDisponivel",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Estoque Troca",
|
||||||
|
column: "estoquetroca",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Estoque Trânsito",
|
||||||
|
column: "estoquetransito",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Estoque Futuro",
|
||||||
|
column: "estoquefuturo",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Estoque Reservado",
|
||||||
|
column: "estoquereservado",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "DDV",
|
||||||
|
column: "ddv",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "DDV Mínimo",
|
||||||
|
column: "ddvminimo",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "DDV Máximo",
|
||||||
|
column: "ddvmaximo",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Forma Abastecimento",
|
||||||
|
column: "formaabastecimento",
|
||||||
|
format: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Situação",
|
||||||
|
column: "situacao",
|
||||||
|
format: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Estoque Disponível CD",
|
||||||
|
column: "estoquedisponivelcd",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Estoque Futuro CD",
|
||||||
|
column: "estoquefuturocd",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Custo Líquido",
|
||||||
|
column: "custoliquido",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Status Venda",
|
||||||
|
column: "statusvenda",
|
||||||
|
format: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Status Compra",
|
||||||
|
column: "statuscompra",
|
||||||
|
format: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Qtde Atacado",
|
||||||
|
column: "qtdeatacado",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "ID Base",
|
||||||
|
column: "idbase",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Tipo Troca",
|
||||||
|
column: "tipotroca",
|
||||||
|
format: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Quantidade Compra",
|
||||||
|
column: "quantidadecompra",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Reserva",
|
||||||
|
column: "reserva",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Validade Dias",
|
||||||
|
column: "validadedias",
|
||||||
|
format: "number",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Margem Lucro Divisão",
|
||||||
|
column: "margemlucrodivisao",
|
||||||
|
format: "percentage",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Preço Promoção",
|
||||||
|
column: "precopromoc",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Preço Normal",
|
||||||
|
column: "preconormal",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Preço Meu Mambo",
|
||||||
|
column: "precomeuMambo",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Margem Meu Mambo",
|
||||||
|
column: "margemmeuMambo",
|
||||||
|
format: "percentage",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Margem Normal",
|
||||||
|
column: "margemnormal",
|
||||||
|
format: "percentage",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "MDV Promoção",
|
||||||
|
column: "mdvpromoc",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Preço Vencimento Próximo",
|
||||||
|
column: "vlrprecovenctoprox",
|
||||||
|
format: "currency_short",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Data Validade",
|
||||||
|
column: "dtavalidade",
|
||||||
|
format: "date",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
params: ["codproduto"],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
entrypoint: "consulta",
|
entrypoint: "consulta",
|
||||||
})
|
})
|
||||||
@@ -46,7 +254,7 @@ export default moduleFactory
|
|||||||
FROM CONSINCO.MAP_PRODCODIGO A
|
FROM CONSINCO.MAP_PRODCODIGO A
|
||||||
WHERE A.SEQPRODUTO = p.SEQPRODUTO
|
WHERE A.SEQPRODUTO = p.SEQPRODUTO
|
||||||
AND ISNUMERIC(A.CODACESSO) = 'S'
|
AND ISNUMERIC(A.CODACESSO) = 'S'
|
||||||
AND CAST(A.CODACESSO AS NUMBER) = CAST(${args.ean} AS NUMBER)
|
AND A.CODACESSO = ${args.ean}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -54,5 +262,413 @@ export default moduleFactory
|
|||||||
`,
|
`,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
detalhe: (args) => {
|
||||||
|
return {
|
||||||
|
sql: /*sql*/ `
|
||||||
|
select 200 nroempresa,
|
||||||
|
tcomp.comprador,
|
||||||
|
nvl(mff.fornecedor, 'N/A') fornecedor,
|
||||||
|
consinco.gmgbfcategoriafamilian1(pro.seqfamilia, me.nrodivisao, 1) categoria,
|
||||||
|
pro.seqproduto,
|
||||||
|
initcap(pro.desccompleta) Descricao,
|
||||||
|
nvl(mapi.urlecommerceimg,'') ImagemUrl,
|
||||||
|
0 PrecoAtacado,
|
||||||
|
|
||||||
|
0 PrecoVarejo,
|
||||||
|
|
||||||
|
round(sum(pemp.medvdiaforapromoc),3) MDV,
|
||||||
|
0 Margem,
|
||||||
|
|
||||||
|
0 MargemAtacado,
|
||||||
|
'Sem valor' ClasseAbastecimento,
|
||||||
|
'UN' DescricaoEmbalagem,
|
||||||
|
1 QuantidadeEmbalagem,
|
||||||
|
sum(pemp.estqloja) EstoqueDisponivel,
|
||||||
|
|
||||||
|
sum(NVL(pemp.estqtroca,0)) EstoqueTroca,
|
||||||
|
sum(NVL(pemp.qtdpedrectransito,0)) EstoqueTransito,
|
||||||
|
sum(pemp.qtdpendpedcompra) EstoqueFuturo,
|
||||||
|
sum(NVL(pemp.qtdreservadavda,0)) + sum(nvl(pemp.estqoutro,0)) EstoqueReservado,
|
||||||
|
case
|
||||||
|
when round(sum(pemp.medvdiaforapromoc),3) = 0 then 1
|
||||||
|
else trunc(sum(pemp.estqloja) / round(sum(pemp.medvdiaforapromoc),3),3)
|
||||||
|
end DDV,
|
||||||
|
|
||||||
|
0 DDVMinimo,
|
||||||
|
0 DDVMaximo,
|
||||||
|
'GERAL' FormaAbastecimento,
|
||||||
|
|
||||||
|
'GERAL' Situacao,
|
||||||
|
pempcd.estqdeposito - nvl(pempcd.qtdreservadavda,0) EstoqueDisponivelCD,
|
||||||
|
pempcd.qtdpendpedcompra EstoqueFuturoCD,
|
||||||
|
|
||||||
|
null DATAULTIMAENTRADA,
|
||||||
|
null DATAULTIMAVENDA,
|
||||||
|
0 custoliquido,
|
||||||
|
'A' STATUSVENDA,
|
||||||
|
--case when (pemp.statuscompra='A') then 1 else 0 end STATUSCOMPRA,
|
||||||
|
'A' statuscompra,
|
||||||
|
0 QtdeAtacado,
|
||||||
|
0 IdBase,
|
||||||
|
'GERAL' TIPOTROCA,
|
||||||
|
0 QUANTIDADECOMPRA,
|
||||||
|
0 RESERVA,
|
||||||
|
0 VALIDADEDIAS,
|
||||||
|
0 margemlucrodivisao,
|
||||||
|
0 PrecoPromoc,
|
||||||
|
0 PrecoNormal,
|
||||||
|
0 PrecoMeuMambo,
|
||||||
|
0 MargemMeuMambo,
|
||||||
|
0 MargemNormal,
|
||||||
|
0 MdvPromoc,
|
||||||
|
0 VLRPRECOVENCTOPROX,
|
||||||
|
NULL dtavalidade
|
||||||
|
|
||||||
|
from max_divisao md
|
||||||
|
|
||||||
|
inner join max_empresa me
|
||||||
|
on me.nrodivisao = md.nrodivisao
|
||||||
|
and me.status = 'A'
|
||||||
|
and me.dtainiciomovestoque <= trunc(sysdate)-1
|
||||||
|
and me.nrodivisao in (2)
|
||||||
|
and me.nroempresa >= 202
|
||||||
|
and me.nroempresa < 290
|
||||||
|
and me.nroempresa not in (291,298,910,911,920,930,931,940,980)
|
||||||
|
|
||||||
|
inner join mad_segmento seg
|
||||||
|
on md.nrodivisao = me.nrodivisao
|
||||||
|
and me.nrosegmentoprinc = seg.nrosegmento
|
||||||
|
|
||||||
|
inner join mrl_produtoempresa pemp
|
||||||
|
on pemp.nroempresa = me.nroempresa
|
||||||
|
|
||||||
|
left join mrl_produtoempresa pempcd
|
||||||
|
on pempcd.seqproduto = pemp.seqproduto
|
||||||
|
and pempcd.nroempresa in (979)
|
||||||
|
|
||||||
|
left join map_classeabastec mcab
|
||||||
|
on mcab.classeabastqtd = pemp.classeabastqtd
|
||||||
|
and mcab.nroempresa = pemp.nroempresa
|
||||||
|
and mcab.classeabastvlr = pemp.classeabastvlr
|
||||||
|
|
||||||
|
inner join map_produto pro
|
||||||
|
on pro.seqproduto = pemp.seqproduto
|
||||||
|
|
||||||
|
inner join map_famdivisao mfdv
|
||||||
|
on mfdv.seqfamilia = pro.seqfamilia
|
||||||
|
and mfdv.nrodivisao = me.nrodivisao
|
||||||
|
|
||||||
|
inner join max_comprador mco
|
||||||
|
on mco.seqcomprador = mfdv.seqcomprador
|
||||||
|
|
||||||
|
left join tb_comprador tcomp
|
||||||
|
on tcomp.COMPRADOR = mco.comprador
|
||||||
|
|
||||||
|
left join map_produtoimagem mapi
|
||||||
|
on mapi.seqproduto = pro.seqproduto
|
||||||
|
and mapi.indpricipal = 'S'
|
||||||
|
|
||||||
|
inner join mrl_prodempseg pes
|
||||||
|
on pes.seqproduto = pemp.seqproduto
|
||||||
|
and pes.nroempresa = pemp.nroempresa
|
||||||
|
and pes.nrosegmento = seg.nrosegmento
|
||||||
|
and pes.qtdembalagem = 1
|
||||||
|
|
||||||
|
inner join mrl_prodempseg pes2
|
||||||
|
on pes2.nroempresa = pes.nroempresa
|
||||||
|
and pes2.seqproduto = pes.seqproduto
|
||||||
|
and pes2.nrosegmento = pes.nrosegmento
|
||||||
|
|
||||||
|
left join mrl_prodempseg pes3
|
||||||
|
on pes3.seqproduto = pemp.seqproduto
|
||||||
|
and pes3.nroempresa = pemp.nroempresa
|
||||||
|
and pes3.nrosegmento = 15
|
||||||
|
and pes3.qtdembalagem = 1
|
||||||
|
|
||||||
|
inner join map_famembalagem emb
|
||||||
|
on emb.seqfamilia = pro.seqfamilia
|
||||||
|
and emb.qtdembalagem = 1
|
||||||
|
|
||||||
|
left join (select mffTemp.Seqfamilia,
|
||||||
|
mfdvTemp.Nrodivisao,
|
||||||
|
mffTemp.indindenizavaria,
|
||||||
|
mfdvTemp.pzomedvisitarep,
|
||||||
|
mfdvTemp.pzomedentrega,
|
||||||
|
mfdvTemp.pzomedatraso,
|
||||||
|
gp.fantasia fornecedor
|
||||||
|
|
||||||
|
from map_famfornec mffTemp
|
||||||
|
|
||||||
|
inner join ge_pessoa gp
|
||||||
|
on gp.seqpessoa = mffTemp.Seqfornecedor
|
||||||
|
|
||||||
|
left join maf_fornecdivisao mfdvTemp
|
||||||
|
on mfdvTemp.Seqfornecedor = mffTemp.Seqfornecedor
|
||||||
|
and mffTemp.Principal = 'S'
|
||||||
|
|
||||||
|
) mff
|
||||||
|
on mff.seqfamilia = pro.seqfamilia
|
||||||
|
and mff.nrodivisao = md.nrodivisao
|
||||||
|
|
||||||
|
where 1=1
|
||||||
|
--and pemp.SEQPRODUTO = 136011
|
||||||
|
--and pemp.nroempresa = 202
|
||||||
|
and md.nrodivisao in (2,4)
|
||||||
|
and (${args.codproduto} is null or pemp.seqproduto = ${args.codproduto})
|
||||||
|
|
||||||
|
and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
|
||||||
|
from mrl_prodempseg pes3
|
||||||
|
where pes3.nroempresa = pes.nroempresa
|
||||||
|
and pes3.seqproduto = pes.seqproduto
|
||||||
|
and pes3.nrosegmento = pes.nrosegmento
|
||||||
|
and pes3.statusvenda = 'A')
|
||||||
|
|
||||||
|
group by tcomp.comprador,
|
||||||
|
nvl(mff.fornecedor, 'N/A'),
|
||||||
|
consinco.gmgbfcategoriafamilian1(pro.seqfamilia, me.nrodivisao, 1),
|
||||||
|
pro.seqproduto,
|
||||||
|
initcap(pro.desccompleta),
|
||||||
|
nvl(mapi.urlecommerceimg,''),
|
||||||
|
pempcd.estqdeposito,
|
||||||
|
nvl(pempcd.qtdreservadavda,0),
|
||||||
|
pempcd.qtdpendpedcompra
|
||||||
|
|
||||||
|
union all
|
||||||
|
|
||||||
|
select pemp.nroempresa,
|
||||||
|
tcomp.comprador,
|
||||||
|
nvl(mff.fornecedor, 'N/A') fornecedor,
|
||||||
|
consinco.gmgbfcategoriafamilian1(pro.seqfamilia, me.nrodivisao, 1) categoria,
|
||||||
|
pro.seqproduto,
|
||||||
|
initcap(pro.desccompleta) Descricao,
|
||||||
|
nvl(mapi.urlecommerceimg,'') ImagemUrl,
|
||||||
|
case when trunc(case
|
||||||
|
when pes2.precovalidpromoc > 0.00 then nvl(pes2.precovalidpromoc,0)
|
||||||
|
when pes2.precovalidpromoc = 0.00 then nvl(pes2.precovalidnormal,0)
|
||||||
|
end / pes2.qtdembalagem,2) = 0 then
|
||||||
|
trunc(case
|
||||||
|
when pes.precovalidpromoc > 0.00 then nvl(pes.precovalidpromoc,0)
|
||||||
|
when pes.precovalidpromoc = 0.00 then nvl(pes.precovalidnormal,0)
|
||||||
|
end, 2)
|
||||||
|
else
|
||||||
|
trunc(case
|
||||||
|
when pes2.precovalidpromoc > 0.00 then nvl(pes2.precovalidpromoc,0)
|
||||||
|
when pes2.precovalidpromoc = 0.00 then nvl(pes2.precovalidnormal,0)
|
||||||
|
end / pes2.qtdembalagem,2)
|
||||||
|
end PrecoAtacado,
|
||||||
|
|
||||||
|
trunc(case
|
||||||
|
when pes.precovalidpromoc > 0.00 then nvl(pes.precovalidpromoc,0)
|
||||||
|
when pes.precovalidpromoc = 0.00 then nvl(pes.precovalidnormal,0)
|
||||||
|
end, 2) PrecoVarejo,
|
||||||
|
|
||||||
|
trunc(nvl(pemp.medvdiaforapromoc,0),4) MDV,
|
||||||
|
nvl(gmgb_fn_buscamargemproduto(pemp.nroempresa,pemp.seqproduto),0) Margem,
|
||||||
|
|
||||||
|
case
|
||||||
|
when trunc(case
|
||||||
|
when pes.precovalidpromoc > 0.00 then nvl(pes.precovalidpromoc,0)
|
||||||
|
when pes.precovalidpromoc = 0.00 then nvl(pes.precovalidnormal,0)
|
||||||
|
end, 2) = trunc(case
|
||||||
|
when pes2.precovalidpromoc > 0.00 then nvl(pes2.precovalidpromoc,0)
|
||||||
|
when pes2.precovalidpromoc = 0.00 then nvl(pes2.precovalidnormal,0)
|
||||||
|
end / pes2.qtdembalagem,2
|
||||||
|
) then nvl(gmgb_fn_buscamargemproduto(pemp.nroempresa,pemp.seqproduto),0)
|
||||||
|
else
|
||||||
|
nvl(CONSINCO.GMGB_FN_BUSCAMARGEMPRODUTO_AT2(pemp.nroempresa,pemp.seqproduto),0)
|
||||||
|
end MargemAtacado,
|
||||||
|
nvl(pemp.codclassifpreco,'Sem valor') ClasseAbastecimento,
|
||||||
|
emb.embalagem DescricaoEmbalagem,
|
||||||
|
trunc(nvl(emb.qtdembalagem,0)) QuantidadeEmbalagem,
|
||||||
|
case
|
||||||
|
when pemp.nroempresa in (979, 980, 981) then trunc(nvl(pemp.estqdeposito - pemp.qtdreservadavda,0),3)
|
||||||
|
else trunc(nvl(pemp.estqloja,0), 3) - (NVL(pemp.qtdreservadavda,0))
|
||||||
|
end EstoqueDisponivel,
|
||||||
|
|
||||||
|
NVL(pemp.estqtroca,0) EstoqueTroca,
|
||||||
|
NVL(pemp.qtdpedrectransito,0) EstoqueTransito,
|
||||||
|
pemp.qtdpendpedcompra EstoqueFuturo,
|
||||||
|
NVL(pemp.qtdreservadavda,0) + nvl(pemp.estqoutro,0) EstoqueReservado, --24/05/2024 - cfreitas - Inclu�do estqoutro para n�o ser necess�rio utilizar MADV_COMPOSICAORESERVASELINV
|
||||||
|
ROUND(nvl(case
|
||||||
|
when NVL(pemp.medvdiaforapromoc, 0) = 0 then 0
|
||||||
|
when NVL(pemp.medvdiaforapromoc,0) > 0 then (nvl(case when me.nroempresa in (979, 980, 981) then trunc(nvl(pemp.estqdeposito,0), 3) else trunc(nvl(pemp.estqloja,0), 3) end,0) - NVL(pemp.qtdreservadavda,0) ) / trunc(nvl(pemp.medvdiaforapromoc,1),4)
|
||||||
|
end, 0), 3) DDV,
|
||||||
|
|
||||||
|
nvl(pemp.estqminimodv,0) DDVMinimo,
|
||||||
|
nvl(pemp.estqmaximodv, 0) DDVMaximo,
|
||||||
|
case
|
||||||
|
WHEN (select count(1) from mlo_prodembwm w where w.nroempresa = 979 and w.seqproduto = pemp.seqproduto and w.codlinhasepar = 'FR') > 0 THEN 'FRACIONADO'
|
||||||
|
when pemp.formaabastecimento = 'I' then 'ARMAZENAGEM'
|
||||||
|
when pemp.formaabastecimento = 'C' then 'CROSS'
|
||||||
|
when pemp.formaabastecimento = 'N' then 'CENTRAL-EDL'
|
||||||
|
when pemp.formaabastecimento = 'E' then 'LOJA-EDL'
|
||||||
|
when pemp.formaabastecimento is null then gmgb_fn_busca_forma_abastecfam(pro.seqfamilia, md.nrodivisao)
|
||||||
|
end FormaAbastecimento,
|
||||||
|
|
||||||
|
case
|
||||||
|
when pes.precovalidpromoc > 0.00 then 'PROMOCAO'
|
||||||
|
when pes.precovalidpromoc = 0.00 then 'NORMAL'
|
||||||
|
end Situacao,
|
||||||
|
pempcd.estqdeposito - nvl(pempcd.qtdreservadavda,0) EstoqueDisponivelCD,
|
||||||
|
pempcd.qtdpendpedcompra EstoqueFuturoCD,
|
||||||
|
|
||||||
|
consinco.gmgb_fn_busca_dtult_entrada(pemp.nroempresa,pemp.seqproduto) DATAULTIMAENTRADA,
|
||||||
|
pemp.dtaultvenda DATAULTIMAVENDA,
|
||||||
|
consinco.fmrl_custoprodempatual(pro.seqproduto, pemp.nroempresa, 'L') custoliquido,
|
||||||
|
CASE WHEN (select count(*) from mrl_prodempseg pest where pest.seqproduto = pemp.seqproduto and pest.nroempresa = pemp.nroempresa and pest.nrosegmento = seg.nrosegmento and pest.statusvenda = 'A' ) > 0 then 'A' ELSE 'I' end STATUSVENDA,
|
||||||
|
--case when (pemp.statuscompra='A') then 1 else 0 end STATUSCOMPRA,
|
||||||
|
pemp.statuscompra,
|
||||||
|
nvl((select min(qtdembalagem) from mrl_prodempseg where nroempresa=me.nroempresa and nrosegmento=me.nrosegmentoprinc and seqproduto=pro.seqproduto and statusvenda='A' and qtdembalagem>1), 1) QtdeAtacado,
|
||||||
|
nvl(pro.seqprodutobase,0) IdBase,
|
||||||
|
case
|
||||||
|
when mfdv.indnegavariacentral = 'S' THEN 'TROCA FISICA'
|
||||||
|
ELSE
|
||||||
|
|
||||||
|
case when mff.indindenizavaria = 'S' then
|
||||||
|
case when (me.nroempresa >= 400 and me.nroempresa <=499) or (me.nroempresa >= 600 and me.nroempresa <= 699) then
|
||||||
|
'SEM TROCA'
|
||||||
|
else
|
||||||
|
'TROCA FINANC'
|
||||||
|
end
|
||||||
|
when mff.indindenizavaria = 'N' then
|
||||||
|
'NF DEVOL'
|
||||||
|
else
|
||||||
|
'SEM TROCA'
|
||||||
|
end
|
||||||
|
END TIPOTROCA,
|
||||||
|
mfdv.padraoembcompra QUANTIDADECOMPRA,
|
||||||
|
pemp.qtdreservadavda RESERVA,
|
||||||
|
NVL(pro.pzovalidadedia, 0) VALIDADEDIAS,
|
||||||
|
mfdv.margemlucrodivisao,
|
||||||
|
nvl(pes.precovalidpromoc,0) PrecoPromoc,
|
||||||
|
nvl(pes.precovalidnormal,0) PrecoNormal,
|
||||||
|
nvl(pes3.precovalidpromoc,0) PrecoMeuMambo,
|
||||||
|
case when pes3.precovalidpromoc > 0 then
|
||||||
|
nvl(consinco.mbo_fn_buscamargemprodutoseg(pemp.nroempresa,pemp.seqproduto,15),0)
|
||||||
|
else
|
||||||
|
0
|
||||||
|
end MargemMeuMambo,
|
||||||
|
nvl(consinco.mbo_fn_buscamargemprodutoseg(pemp.nroempresa,pemp.seqproduto,2,'S'),0) MargemNormal,
|
||||||
|
trunc(nvl(pemp.medvdiapromoc,0),4) MdvPromoc,
|
||||||
|
NVL(vncto.vlrprecovenctoprox,0) VLRPRECOVENCTOPROX,
|
||||||
|
vncto.dtavalidade
|
||||||
|
|
||||||
|
from max_divisao md
|
||||||
|
|
||||||
|
inner join max_empresa me
|
||||||
|
on me.nrodivisao = md.nrodivisao
|
||||||
|
and me.nroempresa not in (104,200,291,298,910,911,920,930,931,940,980)
|
||||||
|
and me.dtainiciomovestoque <= trunc(sysdate)
|
||||||
|
and me.status = 'A'
|
||||||
|
|
||||||
|
inner join mad_segmento seg
|
||||||
|
on md.nrodivisao = me.nrodivisao
|
||||||
|
and me.nrosegmentoprinc = seg.nrosegmento
|
||||||
|
|
||||||
|
inner join mrl_produtoempresa pemp
|
||||||
|
on pemp.nroempresa = me.nroempresa
|
||||||
|
|
||||||
|
left join mrl_produtoempresa pempcd
|
||||||
|
on pempcd.seqproduto = pemp.seqproduto
|
||||||
|
and pempcd.nroempresa in (979)
|
||||||
|
|
||||||
|
left join map_classeabastec mcab
|
||||||
|
on mcab.classeabastqtd = pemp.classeabastqtd
|
||||||
|
and mcab.nroempresa = pemp.nroempresa
|
||||||
|
and mcab.classeabastvlr = pemp.classeabastvlr
|
||||||
|
|
||||||
|
inner join map_produto pro
|
||||||
|
on pro.seqproduto = pemp.seqproduto
|
||||||
|
|
||||||
|
inner join map_famdivisao mfdv
|
||||||
|
on mfdv.seqfamilia = pro.seqfamilia
|
||||||
|
and mfdv.nrodivisao = me.nrodivisao
|
||||||
|
|
||||||
|
inner join max_comprador mco
|
||||||
|
on mco.seqcomprador = mfdv.seqcomprador
|
||||||
|
|
||||||
|
left join tb_comprador tcomp
|
||||||
|
on tcomp.COMPRADOR = mco.comprador
|
||||||
|
|
||||||
|
left join map_produtoimagem mapi
|
||||||
|
on mapi.seqproduto = pro.seqproduto
|
||||||
|
and mapi.indpricipal = 'S'
|
||||||
|
|
||||||
|
inner join mrl_prodempseg pes
|
||||||
|
on pes.seqproduto = pemp.seqproduto
|
||||||
|
and pes.nroempresa = pemp.nroempresa
|
||||||
|
and pes.nrosegmento = seg.nrosegmento
|
||||||
|
and pes.qtdembalagem = 1
|
||||||
|
|
||||||
|
inner join mrl_prodempseg pes2
|
||||||
|
on pes2.nroempresa = pes.nroempresa
|
||||||
|
and pes2.seqproduto = pes.seqproduto
|
||||||
|
and pes2.nrosegmento = pes.nrosegmento
|
||||||
|
|
||||||
|
left join mrl_prodempseg pes3
|
||||||
|
on pes3.seqproduto = pemp.seqproduto
|
||||||
|
and pes3.nroempresa = pemp.nroempresa
|
||||||
|
and pes3.nrosegmento = 15
|
||||||
|
and pes3.qtdembalagem = 1
|
||||||
|
|
||||||
|
inner join map_famembalagem emb
|
||||||
|
on emb.seqfamilia = pro.seqfamilia
|
||||||
|
and emb.qtdembalagem = 1
|
||||||
|
|
||||||
|
left join (select mffTemp.Seqfamilia,
|
||||||
|
mfdvTemp.Nrodivisao,
|
||||||
|
mffTemp.indindenizavaria,
|
||||||
|
mfdvTemp.pzomedvisitarep,
|
||||||
|
mfdvTemp.pzomedentrega,
|
||||||
|
mfdvTemp.pzomedatraso,
|
||||||
|
gp.fantasia fornecedor
|
||||||
|
|
||||||
|
from map_famfornec mffTemp
|
||||||
|
|
||||||
|
inner join ge_pessoa gp
|
||||||
|
on gp.seqpessoa = mffTemp.Seqfornecedor
|
||||||
|
|
||||||
|
left join maf_fornecdivisao mfdvTemp
|
||||||
|
on mfdvTemp.Seqfornecedor = mffTemp.Seqfornecedor
|
||||||
|
and mffTemp.Principal = 'S'
|
||||||
|
|
||||||
|
) mff
|
||||||
|
on mff.seqfamilia = pro.seqfamilia
|
||||||
|
and mff.nrodivisao = md.nrodivisao
|
||||||
|
|
||||||
|
left join (select pvencto.nroempresa,
|
||||||
|
pvencto.seqproduto,
|
||||||
|
min(pvencto.vlrpreco) vlrprecovenctoprox,
|
||||||
|
min(pvencto.dtavalidade) dtavalidade
|
||||||
|
from consinco.mrl_prodempvencimento pvencto
|
||||||
|
where 1=1
|
||||||
|
and pvencto.dtavalidade >= trunc(sysdate)
|
||||||
|
and pvencto.qtdembalagem = 1
|
||||||
|
group by pvencto.nroempresa,
|
||||||
|
pvencto.seqproduto
|
||||||
|
) vncto
|
||||||
|
ON vncto.nroempresa = pemp.nroempresa
|
||||||
|
and vncto.seqproduto = pemp.seqproduto
|
||||||
|
|
||||||
|
where 1=1
|
||||||
|
--and pemp.SEQPRODUTO = 136011
|
||||||
|
--and pemp.nroempresa = 202
|
||||||
|
and md.nrodivisao in (2,4)
|
||||||
|
and (${args.codproduto} is null or pemp.seqproduto = ${args.codproduto})
|
||||||
|
and (${args.ctx_user_companies} is null or me.nroempresa in (
|
||||||
|
select to_number(regexp_substr(:${args.ctx_user_companies}, '[^,]+', 1, level))
|
||||||
|
from dual
|
||||||
|
connect by regexp_substr(:${args.ctx_user_companies}, '[^,]+', 1, level) is not null
|
||||||
|
))
|
||||||
|
|
||||||
|
and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
|
||||||
|
from mrl_prodempseg pes3
|
||||||
|
where pes3.nroempresa = pes.nroempresa
|
||||||
|
and pes3.seqproduto = pes.seqproduto
|
||||||
|
and pes3.nrosegmento = pes.nrosegmento
|
||||||
|
and pes3.statusvenda = 'A')
|
||||||
|
`
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user