From 3f0383a7b2ab4fabc88b4ecdf8afa58d68c4b7d0 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Tue, 3 Mar 2026 10:00:21 -0300 Subject: [PATCH] fixed searchProduct sql --- src/products/products.module.ts | 68 +++++++-------------------------- 1 file changed, 14 insertions(+), 54 deletions(-) diff --git a/src/products/products.module.ts b/src/products/products.module.ts index 60e54f2..93e9645 100644 --- a/src/products/products.module.ts +++ b/src/products/products.module.ts @@ -31,60 +31,20 @@ export default moduleFactory consulta: (args) => { return { sql: /*sql*/ ` -SELECT - pro.seqproduto, - UPPER(NVL(PRODIMAG.DESCRICAO, PRO.DESCCOMPLETA)) AS title, - UPPER(pro.desccompleta) AS pesquisa, - COALESCE(mapi.urlecommerceimg, '') AS imagemurl, - NVL(cpa.seqcategoria,0) AS categoriaid, - NVL(cpa.categoria,'SEM CATEGORIA') AS categoriadesc -FROM map_produto pro -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 -LEFT JOIN ( - SELECT fdc.seqfamilia, fdc.seqcategoria, c.categoria - FROM map_famdivcateg fdc - INNER JOIN consinco.map_categoria c - ON fdc.seqcategoria = c.seqcategoria - AND fdc.nrodivisao = c.nrodivisao - WHERE c.nrodivisao = 2 - AND c.categoria NOT IN ( - ' A CLASSIFICAR', - 'ATIVO FIXO', - 'ALMOXARIFADO', - 'LANCHONETE', - 'SERVI OS' - ) - 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 + SELECT + CAST(p.SEQPRODUTO AS NUMERIC(15)) AS PRODUTO, + p.DESCCOMPLETA AS NOME + FROM DIN_ABASTECIMENTO_PRODUTOS p + WHERE + CAST(p.SEQPRODUTO AS VARCHAR(50)) LIKE '%' || ${args.filtro} || '%' + OR UPPER(p.DESCCOMPLETA) LIKE '%' || UPPER(${args.filtro}) || '%' + OR p.SEQPRODUTO IN ( + SELECT A.SEQPRODUTO + FROM CONSINCO.MAP_PRODCODIGO A + WHERE ISNUMERIC(A.CODACESSO) = 'S' + AND CAST(A.CODACESSO AS NUMERIC) = CAST(${args.filtro} AS NUMERIC) + ) + ORDER BY p.DESCCOMPLETA `, }; },