/* eslint-disable prettier/prettier */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* https://docs.nestjs.com/providers#services */ import { Injectable } from '@nestjs/common'; import { typeOrmConfig } from 'src/core/configs/typeorm.config'; import { DataSource } from 'typeorm'; @Injectable() export class DataConsultService { async stores() { const dataSource = new DataSource(typeOrmConfig); await dataSource.initialize(); const queryRunner = dataSource.createQueryRunner(); await queryRunner.connect(); try { const sql = `SELECT PCFILIAL.CODIGO as "id" ,PCFILIAL.RAZAOSOCIAL as "name" ,PCFILIAL.CODIGO || ' - ' || PCFILIAL.FANTASIA as "store" FROM PCFILIAL WHERE PCFILIAL.CODIGO NOT IN ('99', '69') ORDER BY TO_NUMBER(PCFILIAL.CODIGO)`; const stores = await queryRunner.manager.query(sql); return stores; } finally { await queryRunner.release(); await dataSource.destroy(); } } async sellers() { const dataSource = new DataSource(typeOrmConfig); await dataSource.initialize(); const queryRunner = dataSource.createQueryRunner(); await queryRunner.connect(); try { const sql = `SELECT PCUSUARI.CODUSUR as "id" ,PCUSUARI.NOME as "name" FROM PCUSUARI WHERE PCUSUARI.DTTERMINO IS NULL AND PCUSUARI.TIPOVEND NOT IN ('P') ORDER BY PCUSUARI.NOME`; const sellers = await queryRunner.manager.query(sql); return sellers; } finally { await queryRunner.release(); await dataSource.destroy(); } } async billings() { const dataSource = new DataSource(typeOrmConfig); await dataSource.initialize(); const queryRunner = dataSource.createQueryRunner(); await queryRunner.connect(); try { const sql = `SELECT PCCOB.CODCOB as "id" ,PCCOB.CODCOB||' - '||PCCOB.COBRANCA as "description" FROM PCCOB WHERE PCCOB.CODCOB NOT IN ('DEVP', 'DEVT', 'DESD') ORDER BY PCCOB.COBRANCA`; const sellers = await queryRunner.manager.query(sql); return sellers; } finally { await queryRunner.release(); await dataSource.destroy(); } } async customers(filter: string) { const dataSource = new DataSource(typeOrmConfig); await dataSource.initialize(); const queryRunner = dataSource.createQueryRunner(); await queryRunner.connect(); try { let sql = `SELECT PCCLIENT.CODCLI as "id" ,PCCLIENT.CODCLI || ' - '|| PCCLIENT.CLIENTE|| ' ( '||REGEXP_REPLACE(PCCLIENT.CGCENT, '[^0-9]', '')||' )' as "name" FROM PCCLIENT WHERE PCCLIENT.CODCLI = REGEXP_REPLACE('${filter}', '[^0-9]', '') ORDER BY PCCLIENT.CLIENTE`; let customers = await queryRunner.manager.query(sql); if (customers.length == 0) { sql = `SELECT PCCLIENT.CODCLI as "id" ,PCCLIENT.CODCLI || ' - '|| PCCLIENT.CLIENTE|| ' ( '||REGEXP_REPLACE(PCCLIENT.CGCENT, '[^0-9]', '')||' )' as "name" FROM PCCLIENT WHERE REGEXP_REPLACE(PCCLIENT.CGCENT, '[^0-9]', '') = REGEXP_REPLACE('${filter}', '[^0-9]', '') ORDER BY PCCLIENT.CLIENTE`; customers = await queryRunner.manager.query(sql); } if (customers.length == 0) { sql = `SELECT PCCLIENT.CODCLI as "id" ,PCCLIENT.CODCLI || ' - '|| PCCLIENT.CLIENTE|| ' ( '||REGEXP_REPLACE(PCCLIENT.CGCENT, '[^0-9]', '')||' )' as "name" FROM PCCLIENT WHERE PCCLIENT.CLIENTE LIKE '${filter.toUpperCase().replace('@', '%')}%' ORDER BY PCCLIENT.CLIENTE`; customers = await queryRunner.manager.query(sql); } return customers; } finally { await queryRunner.release(); await dataSource.destroy(); } } async products(filter: string) { const dataSource = new DataSource(typeOrmConfig); await dataSource.initialize(); const queryRunner = dataSource.createQueryRunner(); await queryRunner.connect(); try { let sql = `SELECT PCPRODUT.CODPROD as "id" ,PCPRODUT.CODPROD || ' - '|| PCPRODUT.DESCRICAO|| ' ( '||REGEXP_REPLACE(PCPRODUT.CODAUXILIAR, '[^0-9]', '')||' )' as "description" FROM PCPRODUT WHERE PCPRODUT.CODPROD = REGEXP_REPLACE('${filter}', '[^0-9]', '') ORDER BY PCPRODUT.DESCRICAO`; let products = await queryRunner.manager.query(sql); if (products.length == 0) { sql = `SELECT PCPRODUT.CODPROD as "id" ,PCPRODUT.CODPROD || ' - '|| PCPRODUT.DESCRICAO|| ' ( '||REGEXP_REPLACE(PCPRODUT.CODAUXILIAR, '[^0-9]', '')||' )' as "description" FROM PCPRODUT WHERE PCPRODUT.CODAUXILIAR = REGEXP_REPLACE('${filter}', '[^0-9]', '') ORDER BY PCPRODUT.DESCRICAO`; products = await queryRunner.manager.query(sql); } if (products.length == 0) { sql = `SELECT PCPRODUT.CODPROD as "id" ,PCPRODUT.CODPROD || ' - '|| PCPRODUT.DESCRICAO|| ' ( '||REGEXP_REPLACE(PCPRODUT.CODAUXILIAR, '[^0-9]', '')||' )' as "description" FROM PCPRODUT WHERE PCPRODUT.DESCRICAO LIKE '${filter}%' ORDER BY PCPRODUT.DESCRICAO`; products = await queryRunner.manager.query(sql); } return products; } finally { await queryRunner.release(); await dataSource.destroy(); } } }