feat/ajuste para retornar em lista

This commit is contained in:
Felipe Batista 2026-01-08 17:19:06 -03:00
parent 0b729ef6d4
commit 7bd0d85386
6 changed files with 7919 additions and 10025 deletions

5
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"recommendations": [
"cweijan.dbclient-jdbc"
]
}

14563
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -2,17 +2,17 @@ import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import { ConnectionOptions } from 'typeorm';
export const typeOrmConfig: TypeOrmModuleOptions = {
type: "oracle",
type: 'oracle',
// host: "192.168.100.40",
// username: "LIVIA",
// password: "LIVIA",
host: "10.1.1.241",
username: "SEVEN",
password: "USR54SEV",
host: '10.1.1.241',
username: 'SEVEN',
password: 'USR54SEV',
// username: "API",
// password: "E05H5KIEQV3YKDJR",
port: 1521,
sid: "WINT",
serviceName: 'WINT',
synchronize: false,
logging: false,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
@ -20,14 +20,13 @@ export const typeOrmConfig: TypeOrmModuleOptions = {
};
export const connectionOptions: ConnectionOptions = {
type: "oracle",
host: "10.1.1.241",
username: "SEVEN",
password: "USR54SEV",
type: 'oracle',
host: '10.1.1.241',
username: 'SEVEN',
password: 'USR54SEV',
port: 1521,
sid: "WINT",
serviceName: 'WINT',
synchronize: false,
logging: false,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
}
};

View File

@ -1,14 +1,22 @@
import { Body, Controller, Get, HttpException, HttpStatus, Param, Post, Query } from '@nestjs/common';
import { CustomerService } from './customer.service';
import { ResultModel } from '../../domain/models/result.model';
import {
Body,
Controller,
Get,
HttpException,
HttpStatus,
Param,
Post,
Query,
} from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { error } from 'console';
import { Customer } from 'src/domain/models/customer.model';
import { ApiTags } from '@nestjs/swagger';
import { ResultModel } from '../../domain/models/result.model';
import { CustomerService } from './customer.service';
@ApiTags('Customer')
@Controller('api/v1/customer')
export class CustomerController {
constructor(private readonly customerService: CustomerService) {}
@Get(':name')
@ -17,8 +25,15 @@ export class CustomerController {
const customers = await this.customerService.findCustomerByName(name);
return new ResultModel(true, null, customers, null);
} catch (err) {
throw new HttpException(new ResultModel(false, 'Não foi possível consultar o cadastro de clientes.', {}, error),
HttpStatus.INTERNAL_SERVER_ERROR);
throw new HttpException(
new ResultModel(
false,
'Não foi possível consultar o cadastro de clientes.',
{},
error,
),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
@ -28,8 +43,10 @@ export class CustomerController {
const categories = await this.customerService.getCategory();
return categories;
} catch (err) {
throw new HttpException(new ResultModel(false, err.message, {}, error),
HttpStatus.INTERNAL_SERVER_ERROR);
throw new HttpException(
new ResultModel(false, err.message, {}, error),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
@ -39,23 +56,29 @@ export class CustomerController {
const subCategories = await this.customerService.getSubCategory();
return subCategories;
} catch (err) {
throw new HttpException(new ResultModel(false, err.message, {}, error),
HttpStatus.INTERNAL_SERVER_ERROR);
throw new HttpException(
new ResultModel(false, err.message, {}, error),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
@Get()
async getCustomer(@Query() query) {
try {
const field = query['field'];
const textSearch = query['textsearch'];
const customers = await this.customerService.findCustomerByQuery(field, textSearch);
const customers = await this.customerService.findCustomerByQuery(
field,
textSearch,
);
return new ResultModel(true, null, customers, null);
} catch (err) {
// 'Não foi possível consultar o cadastro de clientes.'
throw new HttpException(new ResultModel(false, err.message, {}, error),
HttpStatus.INTERNAL_SERVER_ERROR);
throw new HttpException(
new ResultModel(false, err.message, {}, error),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
@ -65,21 +88,36 @@ export class CustomerController {
const customers = await this.customerService.findCustomerById(id);
return new ResultModel(true, null, customers, null);
} catch (err) {
throw new HttpException(new ResultModel(false, 'Não foi possível consultar o cadastro de clientes.', {}, error),
HttpStatus.INTERNAL_SERVER_ERROR);
throw new HttpException(
new ResultModel(
false,
'Não foi possível consultar o cadastro de clientes.',
{},
error,
),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
@Get('cpf/:cpf')
async getCustomerByCpf(@Param('cpf') cpf: string) {
try {
console.log("pesquisando por cpf");
console.log('pesquisando por cpf');
const customer = await this.customerService.findCustomerByCpf(cpf);
if (!customer) return new ResultModel(false, 'Cliente não cadastrado', null, null);
if (!customer)
return new ResultModel(false, 'Cliente não cadastrado', null, null);
return new ResultModel(true, null, customer, null);
} catch (err) {
throw new HttpException(new ResultModel(false, 'Não foi possível consultar o cadastro de clientes.', {}, error),
HttpStatus.INTERNAL_SERVER_ERROR);
throw new HttpException(
new ResultModel(
false,
'Não foi possível consultar o cadastro de clientes.',
{},
error,
),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
@Get('create/proxnumcli')
@ -93,7 +131,6 @@ export class CustomerController {
}
}
@Post('create')
async createCustomer(@Body() customer: Customer) {
try {
@ -102,8 +139,10 @@ export class CustomerController {
return new ResultModel(true, null, result, null);
//return new ResultModel(true, null, id, null);
} catch (err) {
throw new HttpException(new ResultModel(false, 'Erro ao cadastrar cliente.', {}, err),
HttpStatus.INTERNAL_SERVER_ERROR);
throw new HttpException(
new ResultModel(false, 'Erro ao cadastrar cliente.', {}, err),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
}

View File

@ -1,28 +1,26 @@
import { HttpStatus } from '@nestjs/common';
import { Injectable, HttpException } from '@nestjs/common';
import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
import { Connection } from 'typeorm';
import { connectionOptions } from '../../configs/typeorm.config';
import { Customer } from '../../domain/models/customer.model';
import { Connection } from 'typeorm';
//import { DataSource } from 'typeorm';
import { EntityManager } from 'typeorm';
import { Pcclient } from '../../domain/entity/tables/pcclient.entity';
import { Estcategoriacliente } from '../../domain/entity/tables/estcategoriacliente.entity';
import { Estsubcategoriacliente } from '../../domain/entity/tables/estsubcategoriacliente.entity';
import { Pcclient } from '../../domain/entity/tables/pcclient.entity';
@Injectable()
export class CustomerService {
async findCustomerByName(name: string) {
let auxName = '';
for (let i = 0; i < name.length; i++) {
auxName += name[i].replace("@", "%");
auxName += name[i].replace('@', '%');
}
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = ' SELECT pcclient.cliente as "name" ' +
const sql =
' SELECT pcclient.cliente as "name" ' +
' ,pcclient.codcli as "customerId" ' +
' ,pcclient.emailnfe as "email" ' +
' ,pcclient.cgcent as "cpfCnpj" ' +
@ -52,17 +50,22 @@ export class CustomerService {
' ,pcclient.tipoendereco as "addressType" ' +
' FROM pcclient, pccidade ' +
' WHERE pcclient.codcidade = pccidade.codcidade (+)';
let where = ` AND ( pcclient.cliente like '%'||'${auxName.replace('@', '%')}'||'%' OR ` +
let where =
` AND ( pcclient.cliente like '%'||'${auxName.replace(
'@',
'%',
)}'||'%' OR ` +
` REGEXP_REPLACE(pcclient.cgcent, '[^0-9]', '') = REGEXP_REPLACE('${name}', '[^0-9]') OR ` +
` pcclient.codcli = REGEXP_REPLACE('${name}', '[^0-9]') )`;
where += ` AND pcclient.codcli NOT IN (2) AND pcclient.DTEXCLUSAO IS NULL `;
const orderBy = ` ORDER BY pcclient.cliente `;
const pagination = ` OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY`;
const customers = await queryRunner.manager
.query(sql + where + orderBy + pagination) as Customer[];
let customerList: Customer[] = [];
const customers = (await queryRunner.manager.query(
sql + where + orderBy + pagination,
)) as Customer[];
const customerList: Customer[] = [];
for (let i = 0; i < customers.length; i++) {
let customer = customers[i];
const customer = customers[i];
const place = await queryRunner.query(`SELECT PCPRACA.CODPRACA as "placeId"
,PCPRACA.PRACA as "name"
FROM PCPRACA
@ -87,7 +90,8 @@ export class CustomerService {
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = ' SELECT pcclient.cliente as "name" ' +
const sql =
' SELECT pcclient.cliente as "name" ' +
' ,pcclient.codcli as "customerId" ' +
' ,pcclient.emailnfe as "email" ' +
' ,pcclient.cgcent as "cpfCnpj" ' +
@ -115,11 +119,12 @@ export class CustomerService {
' ,pcclient.codmunicipio as "ibgeCode" ' +
' ,pcclient.codcidade as "cityId" ' +
' ,pcclient.tipoendereco as "addressType" ' +
' ,DECODE(pcclient.dtexclusao, NULL, 1, 0) as "deletedCustomer" ' +
' FROM pcclient, pccidade ' +
' WHERE pcclient.codcidade = pccidade.codcidade (+)';
const where = ` AND REGEXP_REPLACE(pcclient.cgcent, '[^0-9]', '') =REGEXP_REPLACE('${cpf}', '[^0-9]', '')`;
const customer = await queryRunner.query(sql + where);
return customer[0];
return customer as Customer[];
} catch (error) {
console.log(error);
throw error;
@ -135,8 +140,8 @@ export class CustomerService {
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = ' SELECT pcclient.cliente as "name" ' +
const sql =
' SELECT pcclient.cliente as "name" ' +
' ,pcclient.codcli as "customerId" ' +
' ,pcclient.emailnfe as "email" ' +
' ,pcclient.cgcent as "cpfCnpj" ' +
@ -184,25 +189,37 @@ export class CustomerService {
}
async findCustomerByQuery(field: string, textSearch: string) {
let where = "";
let where = '';
switch (field) {
case "name":
where += "\"pcclient\".cliente like '" + textSearch + "%'";
case 'name':
where += '"pcclient".cliente like \'' + textSearch + "%'";
break;
case "document":
where += "REGEXP_REPLACE(\"pcclient\".cgcent, '[^0-9]', '') = REGEXP_REPLACE('" + textSearch + "', '[^0-9]', '')";
case 'document':
where +=
"REGEXP_REPLACE(\"pcclient\".cgcent, '[^0-9]', '') = REGEXP_REPLACE('" +
textSearch +
"', '[^0-9]', '')";
break;
case "phone":
where += "REGEXP_REPLACE(\"pcclient\".telent, '[^0-9]', '') = REGEXP_REPLACE('" + textSearch + "', '[^0-9]', '')";
case 'phone':
where +=
"REGEXP_REPLACE(\"pcclient\".telent, '[^0-9]', '') = REGEXP_REPLACE('" +
textSearch +
"', '[^0-9]', '')";
break;
case "cellphone":
where += "REGEXP_REPLACE(\"pcclient\".telcelent, '[^0-9]', '') = REGEXP_REPLACE('" + textSearch + "', '[^0-9]', '')";
case 'cellphone':
where +=
"REGEXP_REPLACE(\"pcclient\".telcelent, '[^0-9]', '') = REGEXP_REPLACE('" +
textSearch +
"', '[^0-9]', '')";
break;
case "customerId":
where += "\"pcclient\".codcli = " + textSearch;
case 'customerId':
where += '"pcclient".codcli = ' + textSearch;
break;
default:
throw new HttpException('Não foi informado um campo válido para pesquisa.', HttpStatus.BAD_REQUEST);
throw new HttpException(
'Não foi informado um campo válido para pesquisa.',
HttpStatus.BAD_REQUEST,
);
}
const connection = new Connection(connectionOptions);
@ -213,31 +230,33 @@ export class CustomerService {
const customers = await queryRunner.manager
.getRepository(Pcclient)
.createQueryBuilder('pcclient')
.select("\"pcclient\".codcli as \"customerId\"")
.addSelect("\"pcclient\".cliente as \"name\"")
.addSelect("\"pcclient\".emailnfe as \"email\"")
.addSelect("\"pcclient\".cgcent as \"cpfCnpj\"")
.addSelect("\"pcclient\".sexo as \"gender\"")
.addSelect("\"pcclient\".enderent as \"address\"")
.addSelect("\"pcclient\".numeroent as \"addressNumber\"")
.addSelect("\"pcclient\".bairroent as \"neighborhood\"")
.addSelect("\"pcclient\".complementoent as \"complement\"")
.addSelect("\"pcclient\".municent as \"city\"")
.addSelect("\"pcclient\".estent as \"state\"")
.addSelect("\"pcclient\".cepent as \"zipCode\"")
.addSelect("\"pcclient\".telent as \"phone\"")
.addSelect("\"pcclient\".telcelent as \"cellPhone\"")
.addSelect("\"pcclient\".codcategoria as \"categoryId\"")
.addSelect("\"pcclient\".codsubcategoria as \"subCategoryId\"")
.addSelect("\"pcclient\".codpraca as \"placeId\"")
.addSelect("\"pcclient\".ieent as \"numberState\"")
.addSelect("\"pcclient\".latitude as \"latitude\"")
.addSelect("\"pcclient\".longitude as \"longitude\"")
.addSelect("\"pcclient\".codmunicipio as \"ibgeCode\"")
.addSelect("\"pcclient\".codcidade as \"cityId\"")
.addSelect("\"pcclient\".esc_tipoeclieente as \"addressType\"")
.select('"pcclient".codcli as "customerId"')
.addSelect('"pcclient".cliente as "name"')
.addSelect('"pcclient".emailnfe as "email"')
.addSelect('"pcclient".cgcent as "cpfCnpj"')
.addSelect('"pcclient".sexo as "gender"')
.addSelect('"pcclient".enderent as "address"')
.addSelect('"pcclient".numeroent as "addressNumber"')
.addSelect('"pcclient".bairroent as "neighborhood"')
.addSelect('"pcclient".complementoent as "complement"')
.addSelect('"pcclient".municent as "city"')
.addSelect('"pcclient".estent as "state"')
.addSelect('"pcclient".cepent as "zipCode"')
.addSelect('"pcclient".telent as "phone"')
.addSelect('"pcclient".telcelent as "cellPhone"')
.addSelect('"pcclient".codcategoria as "categoryId"')
.addSelect('"pcclient".codsubcategoria as "subCategoryId"')
.addSelect('"pcclient".codpraca as "placeId"')
.addSelect('"pcclient".ieent as "numberState"')
.addSelect('"pcclient".latitude as "latitude"')
.addSelect('"pcclient".longitude as "longitude"')
.addSelect('"pcclient".codmunicipio as "ibgeCode"')
.addSelect('"pcclient".codcidade as "cityId"')
.addSelect('"pcclient".esc_tipoeclieente as "addressType"')
.where(where)
.andWhere("\"pcclient\".CODCLI NOT IN (2) AND \"pcclient\".DTEXCLUSAO IS NULL")
.andWhere(
'"pcclient".CODCLI NOT IN (2) AND "pcclient".DTEXCLUSAO IS NULL',
)
.getRawMany();
return customers;
} catch (error) {
@ -251,10 +270,11 @@ export class CustomerService {
async createCustomer(customer: Customer) {
try {
console.log("Dados consumer: " + JSON.stringify(customer));
console.log('Dados consumer: ' + JSON.stringify(customer));
const newCustomer = await this.InitializeCustomer();
newCustomer.tipofj = (customer.company == 'true' ? "J" : "F");
newCustomer.ieent = (customer.company == 'true' ? customer.numberState : "ISENTO");
newCustomer.tipofj = customer.company == 'true' ? 'J' : 'F';
newCustomer.ieent =
customer.company == 'true' ? customer.numberState : 'ISENTO';
newCustomer.inscestadual = newCustomer.ieent;
newCustomer.cgcent = customer.cpfCnpj;
newCustomer.sexo = customer.gender;
@ -267,13 +287,18 @@ export class CustomerService {
newCustomer.telcelent = customer.cellPhone;
newCustomer.celularwhatsapp = customer.cellPhone;
newCustomer.codusur1 = customer.sellerId;
newCustomer.codatv1 = ( customer.ramo != null && customer.ramo.id > 0 ) ? customer.ramo.id : newCustomer.codatv1;
newCustomer.codatv1 =
customer.ramo != null && customer.ramo.id > 0
? customer.ramo.id
: newCustomer.codatv1;
//Endereço de entrega
newCustomer.cepent = customer.zipCode;
newCustomer.enderent = customer.address.toUpperCase();
newCustomer.numeroent = customer.addressNumber;
if (customer.complement !== null && customer.complement.length > 80) {
newCustomer.complementoent = customer.complement.substring(0, 80 ).toUpperCase();
newCustomer.complementoent = customer.complement
.substring(0, 80)
.toUpperCase();
} else {
if (customer.complement != null) {
newCustomer.complementoent = customer.complement.toUpperCase();
@ -287,7 +312,9 @@ export class CustomerService {
newCustomer.endercom = customer.address.toUpperCase();
newCustomer.numerocom = customer.addressNumber.toUpperCase();
if (customer.complement !== null && customer.complement.length > 80) {
newCustomer.complementocom = customer.complement.substring(0, 80 ).toUpperCase();
newCustomer.complementocom = customer.complement
.substring(0, 80)
.toUpperCase();
} else {
if (customer.complement != null) {
newCustomer.complementocom = customer.complement.toUpperCase();
@ -301,7 +328,9 @@ export class CustomerService {
newCustomer.endercob = customer.address.toUpperCase();
newCustomer.numerocob = customer.addressNumber;
if (customer.complement !== null && customer.complement.length > 80) {
newCustomer.complementocob = customer.complement.substring(0, 80 ).toUpperCase();
newCustomer.complementocob = customer.complement
.substring(0, 80)
.toUpperCase();
} else {
if (customer.complement) {
newCustomer.complementocob = customer.complement.toUpperCase();
@ -310,10 +339,15 @@ export class CustomerService {
newCustomer.bairrocob = customer.neighborhood.toUpperCase();
newCustomer.municcob = customer.city.toUpperCase();
newCustomer.estcob = customer.state.toUpperCase();
newCustomer.codcategoria = (customer.category != null) ? customer.category.id : null;
newCustomer.codsubcategoria = (customer.subCategory != null) ? customer.subCategory.id : null;
newCustomer.codcategoria =
customer.category != null ? customer.category.id : null;
newCustomer.codsubcategoria =
customer.subCategory != null ? customer.subCategory.id : null;
newCustomer.codpraca = customer.place.id;
newCustomer.codcidade = customer.ibgeCode != null ? await this.findCity(customer.ibgeCode) : null;
newCustomer.codcidade =
customer.ibgeCode != null
? await this.findCity(customer.ibgeCode)
: null;
newCustomer.codmunicipio = Number.parseInt(customer.ibgeCode);
newCustomer.codcidadecom = newCustomer.codcidade;
newCustomer.dtnasc = customer.birthdate;
@ -333,37 +367,66 @@ export class CustomerService {
await this.updateCustomer(newCustomer);
return {
customerId: oldCustomer.customerId,
company: customer.company, name: customer.name, sexo: customer.gender,
cpfCnpj: customer.cpfCnpj, numberState: customer.numberState,
email: customer.email, zipCode: customer.zipCode, address: customer.address,
addressNumber: customer.addressNumber, complement: customer.complement,
company: customer.company,
name: customer.name,
sexo: customer.gender,
cpfCnpj: customer.cpfCnpj,
numberState: customer.numberState,
email: customer.email,
zipCode: customer.zipCode,
address: customer.address,
addressNumber: customer.addressNumber,
complement: customer.complement,
neighborhood: customer.neighborhood,
city: customer.city, state: customer.state,
allowMessage: customer.allowMessage, cellPhone: customer.cellPhone,
category: customer.category, subCategory: customer.subCategory,
place: customer.place, ramo: customer.ramo, meiocomunicacao: customer.communicate,
latitude: customer.latitude, longitude: customer.longitude, ibgeCode: customer.ibgeCode,
city: customer.city,
state: customer.state,
allowMessage: customer.allowMessage,
cellPhone: customer.cellPhone,
category: customer.category,
subCategory: customer.subCategory,
place: customer.place,
ramo: customer.ramo,
meiocomunicacao: customer.communicate,
latitude: customer.latitude,
longitude: customer.longitude,
ibgeCode: customer.ibgeCode,
addressType: customer.addressType,
};
} else {
const idCustomer = await this.generateIdCustomer();
if (idCustomer == -1)
return new HttpException("Erro ao gerar númeração de cliente.", HttpStatus.INTERNAL_SERVER_ERROR);
return new HttpException(
'Erro ao gerar númeração de cliente.',
HttpStatus.INTERNAL_SERVER_ERROR,
);
newCustomer.codcli = idCustomer;
await this.insertCustomer(newCustomer);
return {
customerId: idCustomer,
company: customer.company, name: customer.name,
cpfCnpj: customer.cpfCnpj, gender: customer.gender, numberState: customer.numberState,
email: customer.email, zipCode: customer.zipCode, address: customer.address,
addressNumber: customer.addressNumber, complement: customer.complement,
company: customer.company,
name: customer.name,
cpfCnpj: customer.cpfCnpj,
gender: customer.gender,
numberState: customer.numberState,
email: customer.email,
zipCode: customer.zipCode,
address: customer.address,
addressNumber: customer.addressNumber,
complement: customer.complement,
neighborhood: customer.neighborhood,
city: customer.city, state: customer.state,
allowMessage: customer.allowMessage, cellPhone: customer.cellPhone,
category: customer.category, subCategory: customer.subCategory,
place: customer.place, meiocomunicacao: customer.communicate,
ramo: customer.ramo, latitude: customer.latitude, longitude: customer.longitude,
ibgeCode: customer.ibgeCode, addressType: customer.addressType,
city: customer.city,
state: customer.state,
allowMessage: customer.allowMessage,
cellPhone: customer.cellPhone,
category: customer.category,
subCategory: customer.subCategory,
place: customer.place,
meiocomunicacao: customer.communicate,
ramo: customer.ramo,
latitude: customer.latitude,
longitude: customer.longitude,
ibgeCode: customer.ibgeCode,
addressType: customer.addressType,
};
}
} catch (error) {
@ -378,7 +441,7 @@ export class CustomerService {
await queryRunner.connect();
await queryRunner.startTransaction();
try {
console.log("MEIO DE COMUNICACAO: " + client.meiocomunicacao);
console.log('MEIO DE COMUNICACAO: ' + client.meiocomunicacao);
await queryRunner.manager
.createQueryBuilder()
.update(Pcclient)
@ -424,7 +487,7 @@ export class CustomerService {
dtultalter: client.dtultalter,
latitude: client.latitude,
longitude: client.longitude,
tipoendereco: client.tipoendereco
tipoendereco: client.tipoendereco,
})
.where({ codcli: client.codcli })
.execute();
@ -440,7 +503,6 @@ export class CustomerService {
await queryRunner.release();
await connection.close();
}
}
async findCity(ibgeCode: string) {
@ -452,7 +514,10 @@ export class CustomerService {
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const city = await queryRunner.query('SELECT PCCIDADE.CODCIDADE as "codigoCidade" FROM PCCIDADE WHERE PCCIDADE.codibge = :1', [ibgeCode]);
const city = await queryRunner.query(
'SELECT PCCIDADE.CODCIDADE as "codigoCidade" FROM PCCIDADE WHERE PCCIDADE.codibge = :1',
[ibgeCode],
);
let cityId = 0;
if (city.length > 0) {
cityId = city[0].codigoCidade;
@ -471,68 +536,67 @@ export class CustomerService {
cliente.codusur1 = 1;
cliente.codplpag = 10;
cliente.codpraca = 119;
cliente.codcob = "D";
cliente.codcob = 'D';
cliente.dtcadastro = new Date();
cliente.codcontab = "1";
cliente.aceitavendafracao = "N";
cliente.codcontab = '1';
cliente.aceitavendafracao = 'N';
//cliente.Meiocomunicacao = "N";
cliente.bloqueio = "N";
cliente.bloqueiosefaz = "N";
cliente.bloqueiosefazped = "N";
cliente.bloqvendapf = "N";
cliente.condvenda1 = "S";
cliente.condvenda5 = "S";
cliente.condvenda7 = "S";
cliente.condvenda8 = "S";
cliente.contribuinte = "N";
cliente.validarmultiplovenda = "N";
cliente.bloqueio = 'N';
cliente.bloqueiosefaz = 'N';
cliente.bloqueiosefazped = 'N';
cliente.bloqvendapf = 'N';
cliente.condvenda1 = 'S';
cliente.condvenda5 = 'S';
cliente.condvenda7 = 'S';
cliente.condvenda8 = 'S';
cliente.contribuinte = 'N';
cliente.validarmultiplovenda = 'N';
cliente.codfunccad = 1;
cliente.codfunccadastro = 1;
cliente.horacadastro = new Date();
cliente.dtcadastro = new Date();
cliente.dtultvisita = new Date();
cliente.codatv1 = 7;
cliente.aceitatrocanegativa = "N";
cliente.consumidorfinal = "S";
cliente.aplicadescnf = "S";
cliente.simplesnacional = "N";
cliente.sexo = "M";
cliente.isencaosuframa = "T";
cliente.clicrm = "N";
cliente.tv10usacustoproduto = "N";
cliente.inscestadual = "ISENTO";
cliente.aceitatrocanegativa = 'N';
cliente.consumidorfinal = 'S';
cliente.aplicadescnf = 'S';
cliente.simplesnacional = 'N';
cliente.sexo = 'M';
cliente.isencaosuframa = 'T';
cliente.clicrm = 'N';
cliente.tv10usacustoproduto = 'N';
cliente.inscestadual = 'ISENTO';
cliente.codpais = 1058; //Brasil
cliente.observacao = "Importado do E-Commerce";
cliente.aceitachterceiros = "S";
cliente.agregarvalorstdescfin = "N";
cliente.anvisa = "N";
cliente.aplicredbaseicmstransp = "N";
cliente.atendedomingo = "N";
cliente.atendequarta = "N";
cliente.atendequinta = "N";
cliente.atendesabado = "N";
cliente.atendesegunda = "N";
cliente.atendesexta = "N";
cliente.atendeterca = "N";
cliente.atualizasaldoccdescfin = "N";
cliente.bloqremcob = "N";
cliente.clientedan = "N";
cliente.clientefontest = "N";
cliente.clientemonitorado = "N";
cliente.clientprotesto = "S";
cliente.fretedespacho = "0";
cliente.aceitavendafracao = "S";
cliente.validarmultiplovenda = "S";
cliente.observacao = 'Importado do E-Commerce';
cliente.aceitachterceiros = 'S';
cliente.agregarvalorstdescfin = 'N';
cliente.anvisa = 'N';
cliente.aplicredbaseicmstransp = 'N';
cliente.atendedomingo = 'N';
cliente.atendequarta = 'N';
cliente.atendequinta = 'N';
cliente.atendesabado = 'N';
cliente.atendesegunda = 'N';
cliente.atendesexta = 'N';
cliente.atendeterca = 'N';
cliente.atualizasaldoccdescfin = 'N';
cliente.bloqremcob = 'N';
cliente.clientedan = 'N';
cliente.clientefontest = 'N';
cliente.clientemonitorado = 'N';
cliente.clientprotesto = 'S';
cliente.fretedespacho = '0';
cliente.aceitavendafracao = 'S';
cliente.validarmultiplovenda = 'S';
return cliente;
}
async generateIdCustomer() {
console.log("Gerando idcustomer");
console.log('Gerando idcustomer');
const connection = new Connection(connectionOptions);
const queryRunner = connection.createQueryRunner();
try {
await connection.connect();
await queryRunner.connect();
@ -540,7 +604,6 @@ export class CustomerService {
// lets now open a new transaction:
await queryRunner.startTransaction();
let sql = `SELECT PROXNUMCLI as "proxnumcli" FROM PCCONSUM WHERE 1 = 1 FOR UPDATE`;
let param = await queryRunner.query(sql);
@ -563,7 +626,6 @@ export class CustomerService {
// commit transaction now:
await queryRunner.commitTransaction();
return idCustomer;
} catch (err) {
// since we have errors let's rollback changes we made
if (queryRunner.isTransactionActive) {
@ -571,7 +633,6 @@ export class CustomerService {
}
console.log(err);
return -1;
} finally {
if (queryRunner.isTransactionActive) {
await queryRunner.rollbackTransaction();
@ -612,16 +673,15 @@ export class CustomerService {
}
async getCategory() {
const connectionDb = new Connection(connectionOptions)
const connectionDb = new Connection(connectionOptions);
await connectionDb.connect();
const queryRunner = connectionDb.createQueryRunner();
await queryRunner.connect();
try {
return await queryRunner.manager
.getRepository(Estcategoriacliente)
.createQueryBuilder("estcategoriacliente")
.createQueryBuilder('estcategoriacliente')
.getMany();
} catch (err) {
console.log(err);
throw err;
@ -632,16 +692,15 @@ export class CustomerService {
}
async getSubCategory() {
const connectionDb = new Connection(connectionOptions)
const connectionDb = new Connection(connectionOptions);
await connectionDb.connect();
const queryRunner = connectionDb.createQueryRunner();
await queryRunner.connect();
try {
return await queryRunner.manager
.getRepository(Estsubcategoriacliente)
.createQueryBuilder("estsubcategoriacliente")
.createQueryBuilder('estsubcategoriacliente')
.getMany();
} catch (err) {
console.log(err);
throw err;
@ -650,5 +709,4 @@ export class CustomerService {
await connectionDb.close();
}
}
}

View File

@ -13,7 +13,9 @@
"paths": {
"src/*": ["./src/*"]
},
"incremental": true
"incremental": true,
"skipLibCheck": true,
"strict": false
},
"exclude": ["node_modules", "dist"]
}