diff --git a/src/domain/entity/tables/pcclient.entity.ts b/src/domain/entity/tables/pcclient.entity.ts index dbe9944..f5570be 100644 --- a/src/domain/entity/tables/pcclient.entity.ts +++ b/src/domain/entity/tables/pcclient.entity.ts @@ -1637,6 +1637,9 @@ export class Pcclient { @Column({ name: 'CODSUBCATEGORIA' }) codsubcategoria: number; + @Column({ name: 'TIPOENDERECO' }) + tipoendereco: string; + @OneToMany(() => Pcnfsaid, notas => notas.pcclient) notas: Pcnfsaid[]; diff --git a/src/domain/entity/tables/pcclientendent.entity.ts b/src/domain/entity/tables/pcclientendent.entity.ts index 971f0f6..bc7ca99 100644 --- a/src/domain/entity/tables/pcclientendent.entity.ts +++ b/src/domain/entity/tables/pcclientendent.entity.ts @@ -76,6 +76,9 @@ export class Pcclientendent { @Column({name: 'CODPAISRECEBEDOR'}) codpaisrecebedor: number; + @Column({name: 'TIPOENDERECO'}) + tipoendereco: string; + @OneToMany(() => Pcpedc, pedidos => pedidos.pcclientendent) pedidos: Pcpedc[]; diff --git a/src/domain/models/address.model.ts b/src/domain/models/address.model.ts index a06f6e3..7710dc5 100644 --- a/src/domain/models/address.model.ts +++ b/src/domain/models/address.model.ts @@ -23,5 +23,6 @@ export class Address { emailRecebedor: string; latitude: number; longitude: number; + addressType?: string; } \ No newline at end of file diff --git a/src/domain/models/customer.model.ts b/src/domain/models/customer.model.ts index c112b45..e86eb10 100644 --- a/src/domain/models/customer.model.ts +++ b/src/domain/models/customer.model.ts @@ -19,14 +19,16 @@ export class Customer { public category: Category, public subCategory: SubCategory, public place: Place, + public placeId: number, public sellerId: number, public ibgeCode: string, - public birthdate: Date, - public ramo: Ramo, + public birthdate?: Date, + public ramo?: Ramo, public communicate?: string, public idUser?: number, public latitude?: number, public longitude?: number, + public addressType?: string, ){} } diff --git a/src/partner/partner.service.ts b/src/partner/partner.service.ts index b23f72b..49aa9fe 100644 --- a/src/partner/partner.service.ts +++ b/src/partner/partner.service.ts @@ -234,6 +234,7 @@ export class PartnerService { null, null, data.place, + data.place.id, data.sellerId, data.ibgeCode, null, diff --git a/src/sales/address-customer/address-customer.service.ts b/src/sales/address-customer/address-customer.service.ts index 850f6b9..b8feb24 100644 --- a/src/sales/address-customer/address-customer.service.ts +++ b/src/sales/address-customer/address-customer.service.ts @@ -37,6 +37,7 @@ export class AddressCustomerService { .addSelect('\"pcclientendent\".codpracaent', 'placeId') .addSelect('\"pcclientendent\".latitude', 'latitude') .addSelect('\"pcclientendent\".longitude', 'longitude') + .addSelect('\"pcclientendent\".tipoendereco', 'addressType') .where("\"pcclientendent\".codcli = :idCustomer", { idCustomer }) .getRawMany(); return new ResultModel(true, null, addresses, null); @@ -79,6 +80,7 @@ export class AddressCustomerService { ' ,pcclientendent.codpracaent as "placeId" ' + ' ,pcclientendent.latitude as "latitude" ' + ' ,pcclientendent.longitude as "longitude" ' + + ' ,pcclientendent.tipoendereco as "addressType" ' + ' FROM pcclientendent ' + ' WHERE pcclientendent.codcli = :idCustomer ' + ' AND pcclientendent.codendentcli = :idAddress '; @@ -122,6 +124,7 @@ export class AddressCustomerService { ' ,pcclientendent.codpracaent as "placeId" ' + ' ,pcclientendent.latitude as "latitude" ' + ' ,pcclientendent.longitude as "longitude" ' + + ' ,pcclientendent.tipoendereco as "addressType" ' + ' FROM pcclientendent ' + ' WHERE pcclientendent.codcli = :idCustomer ' + " AND REGEXP_REPLACE(pcclientendent.cepent, '[^0-9]', '') = REGEXP_REPLACE(:cepent, '[^0-9]', '')"; @@ -183,6 +186,7 @@ export class AddressCustomerService { emailRecebedor: customer[0].email, latitude: ( data.latitude ) ? data.latitude.toString() : '0', longitude:( data.longitude ) ? data.longitude.toString() : '0', + tipoendereco: data.addressType }) .where("\"PCCLIENTENDENT\".codcli = :codcli and \"PCCLIENTENDENT\".codendentcli = :codendentcli", { codcli: data.idCustomer, codendentcli: data.idAddress }) @@ -250,6 +254,7 @@ export class AddressCustomerService { newPcclientendent.emailRecebedor = customer.email; newPcclientendent.latitude = ( data.latitude ) ? data.latitude.toString() : '0'; newPcclientendent.longitude = ( data.longitude ) ? data.longitude.toString() : '0'; + newPcclientendent.tipoendereco = data.addressType; await queryRunner.manager .createQueryBuilder() @@ -257,6 +262,7 @@ export class AddressCustomerService { .into(Pcclientendent) .values(newPcclientendent) .execute(); + const newAddress: Address = { idCustomer: data.idCustomer, idAddress: id, @@ -282,6 +288,7 @@ export class AddressCustomerService { emailRecebedor: customer.email, latitude: data.latitude, longitude: data.longitude, + addressType: data.addressType, } return newAddress; diff --git a/src/sales/customer/customer.service.ts b/src/sales/customer/customer.service.ts index 9e93355..60d5f7d 100644 --- a/src/sales/customer/customer.service.ts +++ b/src/sales/customer/customer.service.ts @@ -49,6 +49,7 @@ export class CustomerService { ' ,pcclient.longitude as "longitude" ' + ' ,pcclient.codmunicipio as "ibgeCode" ' + ' ,pcclient.codcidade as "cityId" ' + + ' ,pcclient.tipoendereco as "addressType" ' + ' FROM pcclient, pccidade ' + ' WHERE pcclient.codcidade = pccidade.codcidade (+)'; let where = ` AND ( pcclient.cliente like '%'||'${auxName.replace('@', '%')}'||'%' OR ` + @@ -59,7 +60,18 @@ export class CustomerService { const pagination = ` OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY`; const customers = await queryRunner.manager .query(sql + where + orderBy + pagination) as Customer[]; - return customers; + let customerList: Customer[] = []; + for (let i = 0; i < customers.length; i++) { + let customer = customers[i]; + const place = await queryRunner.query(`SELECT PCPRACA.CODPRACA as "placeId" + ,PCPRACA.PRACA as "name" + FROM PCPRACA + WHERE PCPRACA.CODPRACA = ${customer.placeId}`); + + customer.place = place[0]; + customerList.push(customer); + } + return customerList; } catch (error) { console.log(error); throw error; @@ -102,6 +114,7 @@ export class CustomerService { ' ,pcclient.longitude as "longitude" ' + ' ,pcclient.codmunicipio as "ibgeCode" ' + ' ,pcclient.codcidade as "cityId" ' + + ' ,pcclient.tipoendereco as "addressType" ' + ' FROM pcclient, pccidade ' + ' WHERE pcclient.codcidade = pccidade.codcidade (+)'; const where = ` AND REGEXP_REPLACE(pcclient.cgcent, '[^0-9]', '') =REGEXP_REPLACE('${cpf}', '[^0-9]', '')`; @@ -150,11 +163,17 @@ export class CustomerService { ' ,pcclient.longitude as "longitude" ' + ' ,pcclient.codmunicipio as "ibgeCode" ' + ' ,pcclient.codcidade as "cityId" ' + + ' ,pcclient.tipoendereco as "addressType" ' + ' FROM pcclient, pccidade ' + ' WHERE pcclient.codcidade = pccidade.codcidade (+)'; const where = ` AND pcclient.codcli = ${idCustomer}`; const customer = await queryRunner.query(sql + where); - return customer[0]; + const place = await queryRunner.query(`SELECT PCPRACA.CODPRACA as "placeId" + ,PCPRACA.PRACA as "name" + FROM PCPRACA + WHERE PCPRACA.CODPRACA = ${customer[0].placeId}`); + + return {...customer[0], place: place[0]}; } catch (error) { console.log(error); throw error; @@ -216,6 +235,7 @@ export class CustomerService { .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") .getRawMany(); @@ -304,6 +324,7 @@ export class CustomerService { newCustomer.dtultalter = new Date(); newCustomer.latitude = customer.latitude; newCustomer.longitude = customer.longitude; + newCustomer.tipoendereco = customer.addressType; const oldCustomer = await this.findCustomerByCpf(newCustomer.cgcent); if (oldCustomer) { @@ -321,7 +342,8 @@ export class CustomerService { 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 + latitude: customer.latitude, longitude: customer.longitude, ibgeCode: customer.ibgeCode, + addressType: customer.addressType, }; } else { const idCustomer = await this.generateIdCustomer(); @@ -340,7 +362,8 @@ export class CustomerService { 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 + ramo: customer.ramo, latitude: customer.latitude, longitude: customer.longitude, + ibgeCode: customer.ibgeCode, addressType: customer.addressType, }; } } catch (error) { @@ -400,7 +423,8 @@ export class CustomerService { codfuncultalter: client.codfuncultalter, dtultalter: client.dtultalter, latitude: client.latitude, - longitude: client.longitude, + longitude: client.longitude, + tipoendereco: client.tipoendereco }) .where({ codcli: client.codcli }) .execute(); diff --git a/vendaweb-api.rar b/vendaweb-api.rar new file mode 100644 index 0000000..21f5445 Binary files /dev/null and b/vendaweb-api.rar differ