changed sql query and filter

This commit is contained in:
2026-03-02 11:21:03 -03:00
parent 28bba63131
commit 49eca1605a
+56 -37
View File
@@ -14,14 +14,14 @@ export default moduleFactory
display: { display: {
type: "list", type: "list",
search_bar: { search_bar: {
placeholder: "Digite o nome do produto", placeholder: "Digite o nome, código ou EAN do produto",
}, },
rows: { rows: {
title: "title", title: "title",
code: "code", code: "seqproduto",
}, },
}, },
params: ["nome_produto"], params: ["filtro"],
}, },
}, },
entrypoint: "consulta", entrypoint: "consulta",
@@ -31,42 +31,61 @@ export default moduleFactory
consulta: (args) => { consulta: (args) => {
return { return {
sql: /*sql*/ ` sql: /*sql*/ `
select --mpc.codacesso as code, SELECT
pro.seqproduto, pro.seqproduto,
Upper(NVL(PRODIMAG.DESCRICAO,PRO.DESCCOMPLETA)) title, UPPER(NVL(PRODIMAG.DESCRICAO, PRO.DESCCOMPLETA)) AS title,
Upper(pro.desccompleta) Pesquisa, UPPER(pro.desccompleta) AS pesquisa,
coalesce(mapi.urlecommerceimg, '') IMAGEMURL, COALESCE(mapi.urlecommerceimg, '') AS imagemurl,
NVL(cpa.seqcategoria,0) CATEGORIAID, NVL(cpa.seqcategoria,0) AS categoriaid,
NVL(cpa.categoria,'SEM CATEGORIA') CATEGORIADESC NVL(cpa.categoria,'SEM CATEGORIA') AS categoriadesc
from map_produto pro FROM map_produto pro
LEFT JOIN map_produtoimagem mapi
/* inner join map_prodcodigo mpc ON mapi.seqproduto = pro.seqproduto
on mpc.seqfamilia = pro.seqfamilia AND mapi.indpricipal = 'S'
and mpc.seqproduto = pro.seqproduto LEFT JOIN CONSINCO.GMGB_VW_MOBILE_PRODIMAGE PRODIMAG
AND mpc.tipcodigo = 'E'
and mpc.indutilvenda = 'S'*/
left join map_produtoimagem mapi
on mapi.seqproduto = pro.seqproduto
and mapi.indpricipal = 'S'
LEFT JOIN CONSINCO.GMGB_VW_MOBILE_PRODIMAGE PRODIMAG
ON PRODIMAG.ID = PRO.SEQPRODUTO ON PRODIMAG.ID = PRO.SEQPRODUTO
LEFT JOIN (
left join (select fdc.seqfamilia, fdc.seqcategoria, c.categoria SELECT fdc.seqfamilia, fdc.seqcategoria, c.categoria
from map_famdivcateg fdc FROM map_famdivcateg fdc
inner join consinco.map_categoria c INNER JOIN consinco.map_categoria c
on fdc.seqcategoria = c.seqcategoria ON fdc.seqcategoria = c.seqcategoria
and fdc.nrodivisao = c.nrodivisao AND fdc.nrodivisao = c.nrodivisao
where c.nrodivisao = 2 WHERE c.nrodivisao = 2
and c.categoria not in (' A CLASSIFICAR','ATIVO FIXO','ALMOXARIFADO','LANCHONETE','SERVI OS') AND c.categoria NOT IN (
and c.nivelhierarquia = 1 ' A CLASSIFICAR',
and c.statuscategor = 'A' 'ATIVO FIXO',
and c.tipcategoria = 'M' 'ALMOXARIFADO',
and fdc.status = 'A' 'LANCHONETE',
and title = ${args.nome_produto} 'SERVI OS'
) cpa )
on cpa.seqfamilia = pro.seqfamilia`, AND c.nivelhierarquia = 1
AND c.statuscategor = 'A'
AND c.tipcategoria = 'M'
AND fdc.status = 'A'
) cpa
ON cpa.seqfamilia = pro.seqfamilia
WHERE 1=1
AND (
UPPER(pro.desccompleta) LIKE UPPER('%' || ${args.filtro} || '%')
OR pro.seqproduto = CASE
WHEN REGEXP_LIKE(${args.filtro}, '^[0-9]+$')
THEN TO_NUMBER(${args.filtro})
ELSE NULL
END
OR EXISTS (
SELECT 1
FROM CONSINCO.MAP_PRODCODIGO A
WHERE A.SEQPRODUTO = pro.SEQPRODUTO
AND ISNUMERIC(A.CODACESSO) = 'S'
AND TO_NUMBER(A.CODACESSO) = CASE
WHEN REGEXP_LIKE(${args.filtro}, '^[0-9]+$')
THEN TO_NUMBER(${args.filtro})
ELSE NULL
END
)
)
ORDER BY title
`,
}; };
}, },
}, },