From bac2c74190aaf98dcdb7d9370fbd171412464178 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Tue, 3 Mar 2026 16:40:42 -0300 Subject: [PATCH] fix search product module --- src/products/products.module.ts | 38 +++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/products/products.module.ts b/src/products/products.module.ts index 93e9645..da9e441 100644 --- a/src/products/products.module.ts +++ b/src/products/products.module.ts @@ -18,10 +18,10 @@ export default moduleFactory }, rows: { title: "title", - code: "seqproduto", + code: "code", }, }, - params: ["filtro"], + params: ["filtro", "ean"], }, }, entrypoint: "consulta", @@ -31,20 +31,26 @@ export default moduleFactory consulta: (args) => { return { sql: /*sql*/ ` - 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 + SELECT + CAST(p.SEQPRODUTO AS NUMERIC(15)) AS code, + p.DESCCOMPLETA AS title + FROM DIN_ABASTECIMENTO_PRODUTOS p + WHERE 1=1 + AND ( + (${args.filtro} IS NULL OR ${args.filtro} = '') + OR ( + p.SEQPRODUTO LIKE '%' || ${args.filtro} || '%' + OR UPPER(p.DESCCOMPLETA) LIKE UPPER('%' ||${args.filtro} || '%') + OR EXISTS ( + SELECT 1 + FROM CONSINCO.MAP_PRODCODIGO A + WHERE A.SEQPRODUTO = p.SEQPRODUTO + AND ISNUMERIC(A.CODACESSO) = 'S' + AND CAST(A.CODACESSO AS NUMBER) = CAST(${args.ean} AS NUMBER) + ) + ) + ) + ORDER BY 2 `, }; },