171 lines
6.8 KiB
TypeScript
171 lines
6.8 KiB
TypeScript
/* 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();
|
|
}
|
|
}
|
|
|
|
|
|
}
|