fix consulta product sql
davinTI/app-dono-modulos/pipeline/head This commit looks good

This commit is contained in:
2026-03-11 17:19:46 -03:00
parent 9318e734a5
commit 55d3c84cf3
+14 -187
View File
@@ -284,199 +284,30 @@ export default moduleFactory
SELECT SELECT
CAST(p.SEQPRODUTO AS NUMERIC(15)) AS code, CAST(p.SEQPRODUTO AS NUMERIC(15)) AS code,
p.DESCCOMPLETA AS title p.DESCCOMPLETA AS title
FROM DIN_ABASTECIMENTO_PRODUTOS p FROM
WHERE 1=1 DIN_ABASTECIMENTO_PRODUTOS p
AND ( WHERE
(${args.filtro} IS NULL OR ${args.filtro} = '') 1 = 1
OR ( AND p.SEQPRODUTO LIKE '%' || ${args.filtro} || '%'
p.SEQPRODUTO LIKE '%' || ${args.filtro} || '%'
OR UPPER(p.DESCCOMPLETA) LIKE UPPER('%' || ${args.filtro} || '%') OR UPPER(p.DESCCOMPLETA) LIKE UPPER('%' || ${args.filtro} || '%')
OR EXISTS ( OR EXISTS (
SELECT 1 SELECT
FROM CONSINCO.MAP_PRODCODIGO A 1
WHERE A.SEQPRODUTO = p.SEQPRODUTO FROM
CONSINCO.MAP_PRODCODIGO A
WHERE
A.SEQPRODUTO = p.SEQPRODUTO
AND ISNUMERIC(A.CODACESSO) = 'S' AND ISNUMERIC(A.CODACESSO) = 'S'
AND A.CODACESSO = ${args.ean} AND A.CODACESSO = ${args.ean}
) )
) ORDER BY
) 2
ORDER BY 2
`, `,
}; };
}, },
detalhe: (args) => { detalhe: (args) => {
return { return {
sql: /*sql*/ ` 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, select pemp.nroempresa,
tcomp.comprador, tcomp.comprador,
nvl(mff.fornecedor, 'N/A') fornecedor, nvl(mff.fornecedor, 'N/A') fornecedor,
@@ -697,11 +528,7 @@ where 1=1
--and pemp.nroempresa = 202 --and pemp.nroempresa = 202
and md.nrodivisao in (2,4) and md.nrodivisao in (2,4)
and (${args.codproduto} is null or pemp.seqproduto = ${args.codproduto}) and (${args.codproduto} is null or pemp.seqproduto = ${args.codproduto})
and (${args.ctx_user_companies} is null or me.nroempresa in ( and (${args.ctx_user_companies} is null or me.nroempresa in ${args.ctx_user_companies})
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) and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
from mrl_prodempseg pes3 from mrl_prodempseg pes3