diff --git a/src/data-consult/data-consult.repository.ts b/src/data-consult/data-consult.repository.ts index b19e770..d1571dd 100644 --- a/src/data-consult/data-consult.repository.ts +++ b/src/data-consult/data-consult.repository.ts @@ -110,6 +110,10 @@ export class DataConsultRepository { } async findProducts(filter: string): Promise { + const cleanFilter = filter.replace(/[^\d]/g, ''); + const likeFilter = filter + '%'; + const codAux = filter.replace(/[^\d]/g, ''); + const queries = [ { sql: ` @@ -117,10 +121,10 @@ export class DataConsultRepository { PCPRODUT.CODPROD || ' - ' || PCPRODUT.DESCRICAO || ' ( ' || REGEXP_REPLACE(PCPRODUT.CODAUXILIAR, '[^0-9]', '') || ' )' as "description" FROM PCPRODUT - WHERE PCPRODUT.CODPROD = REGEXP_REPLACE(?, '[^0-9]', '') + WHERE PCPRODUT.CODPROD = ? ORDER BY PCPRODUT.DESCRICAO `, - params: [filter], + params: [cleanFilter], }, { sql: ` @@ -128,10 +132,10 @@ export class DataConsultRepository { PCPRODUT.CODPROD || ' - ' || PCPRODUT.DESCRICAO || ' ( ' || REGEXP_REPLACE(PCPRODUT.CODAUXILIAR, '[^0-9]', '') || ' )' as "description" FROM PCPRODUT - WHERE PCPRODUT.CODAUXILIAR = REGEXP_REPLACE(?, '[^0-9]', '') + WHERE PCPRODUT.CODAUXILIAR = ? ORDER BY PCPRODUT.DESCRICAO `, - params: [filter], + params: [codAux], }, { sql: ` @@ -142,17 +146,17 @@ export class DataConsultRepository { WHERE PCPRODUT.DESCRICAO LIKE ? ORDER BY PCPRODUT.DESCRICAO `, - params: [filter + '%'], + params: [likeFilter], }, ]; - + for (const { sql, params } of queries) { const result = await this.executeQuery(sql, params); if (result.length > 0) { return result; } } - + return []; } -} +} \ No newline at end of file