Correção da query de consulta "ISNUMERIC" para REGEX, verificando se é um código
davinTI/app-dono-modulos/pipeline/head This commit looks good
davinTI/app-dono-modulos/pipeline/head This commit looks good
This commit is contained in:
@@ -1813,38 +1813,39 @@ and pes2.qtdembalagem = (select nvl(max(pes3.qtdembalagem), 1)
|
|||||||
consulta: (args) => {
|
consulta: (args) => {
|
||||||
return {
|
return {
|
||||||
sql: /*sql*/ `
|
sql: /*sql*/ `
|
||||||
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 CONSINCO.MAP_PRODUTO p
|
||||||
FROM
|
WHERE 1 = 1
|
||||||
CONSINCO.MAP_PRODUTO p
|
AND (
|
||||||
WHERE
|
-- Bloco 1: Filtro por Código Interno ou Descrição
|
||||||
1 = 1
|
(
|
||||||
AND (
|
${args.filtro} IS NOT NULL
|
||||||
(
|
AND (
|
||||||
${args.filtro} IS NOT NULL
|
p.SEQPRODUTO LIKE '%' || ${args.filtro} || '%'
|
||||||
AND (
|
OR UPPER(p.DESCCOMPLETA) LIKE UPPER('%' || ${args.filtro} || '%')
|
||||||
p.SEQPRODUTO LIKE '%' || ${args.filtro} || '%'
|
)
|
||||||
OR UPPER(p.DESCCOMPLETA) LIKE UPPER('%' || ${args.filtro} || '%')
|
)
|
||||||
)
|
OR
|
||||||
)
|
-- Bloco 2: Filtro por EAN (Código de Barras)
|
||||||
OR (
|
(
|
||||||
${args.ean} IS NOT NULL
|
${args.ean} IS NOT NULL
|
||||||
AND EXISTS (
|
AND EXISTS (
|
||||||
SELECT 1
|
SELECT 1
|
||||||
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 REGEXP_LIKE(A.CODACESSO, '^[0-9]+$')
|
||||||
AND A.CODACESSO = ${args.ean}
|
AND A.CODACESSO = ${args.ean}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
OR (
|
OR
|
||||||
${args.filtro} IS NULL
|
-- Bloco 3: Caso ambos os filtros estejam nulos (Traz tudo)
|
||||||
AND ${args.ean} IS NULL
|
(
|
||||||
)
|
${args.filtro} IS NULL
|
||||||
)
|
AND ${args.ean} IS NULL
|
||||||
ORDER BY
|
)
|
||||||
2
|
)
|
||||||
|
ORDER BY 2
|
||||||
`,
|
`,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user