Compare commits

...

2 Commits

Author SHA1 Message Date
Luis Eduardo Estevao
03519ae299 Merge branch 'main' of https://git.simplifiquehc.com.br/simplifique/Vendaweb-api
All checks were successful
Build (develop) / Promote (main) / build-and-push-deploy (push) Successful in 1m24s
2026-02-11 15:28:13 -03:00
Luis Eduardo Estevao
33f0271a0e feat: implement order creation and cancellation functionality with new entities for city, sales order items, and temporary order items. 2026-02-11 15:28:05 -03:00
5 changed files with 162 additions and 170 deletions

View File

@@ -26,9 +26,6 @@ export class Pccidade {
@Column({ name: 'CODMUNSIAFI' }) @Column({ name: 'CODMUNSIAFI' })
codmunsiafi: number; codmunsiafi: number;
@Column({ name: 'DTMXSALTER' })
dtmxsalter: Date;
@Column({ name: 'LATITUDE' }) @Column({ name: 'LATITUDE' })
latitude: string; latitude: string;

View File

@@ -2,94 +2,91 @@ import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("PCORCAVENDAI") @Entity("PCORCAVENDAI")
export class Pcorcavendai { export class Pcorcavendai {
@PrimaryColumn({name: 'NUMORCA'}) @PrimaryColumn({ name: 'NUMORCA' })
numorca: number; numorca: number;
@PrimaryColumn({name: 'CODPROD'}) @PrimaryColumn({ name: 'CODPROD' })
codprod: number; codprod: number;
@PrimaryColumn({name: 'NUMSEQ'}) @PrimaryColumn({ name: 'NUMSEQ' })
numseq: number; numseq: number;
@Column({name: 'DATA'}) @Column({ name: 'DATA' })
data: Date; data: Date;
@Column({name: 'CODCLI'}) @Column({ name: 'CODCLI' })
codcli: number; codcli: number;
@Column({name: 'CODUSUR'}) @Column({ name: 'CODUSUR' })
codusur: number; codusur: number;
@Column({name: 'QT'}) @Column({ name: 'QT' })
qt: number; qt: number;
@Column({name: 'PVENDA'}) @Column({ name: 'PVENDA' })
pvenda: number; pvenda: number;
@Column({name: 'PTABELA'}) @Column({ name: 'PTABELA' })
ptabela: number; ptabela: number;
@Column({name: 'NUMCAR'}) @Column({ name: 'NUMCAR' })
numcar: number; numcar: number;
@Column({name: 'POSICAO'}) @Column({ name: 'POSICAO' })
posicao: string; posicao: string;
@Column({name: 'ST'}) @Column({ name: 'ST' })
st: number; st: number;
@Column({name: 'VLCUSTOFIN'}) @Column({ name: 'VLCUSTOFIN' })
vlcustofin: number; vlcustofin: number;
@Column({name: 'VLCUSTOREAL'}) @Column({ name: 'VLCUSTOREAL' })
vlcustoreal: number; vlcustoreal: number;
@Column({name: 'PERCOM'}) @Column({ name: 'PERCOM' })
percom: number; percom: number;
@Column({name: 'PERDESC'}) @Column({ name: 'PERDESC' })
perdesc: number; perdesc: number;
@Column({name: 'PVENDABASE'}) @Column({ name: 'PVENDABASE' })
pvendabase: number; pvendabase: number;
@Column({name: 'CODST'}) @Column({ name: 'CODST' })
codst: number; codst: number;
@Column({name: 'CUSTOFINEST'}) @Column({ name: 'CUSTOFINEST' })
custofinest: number; custofinest: number;
@Column({name: 'CODAUXILIAR'}) @Column({ name: 'CODAUXILIAR' })
codauxiliar: number; codauxiliar: number;
@Column({name: 'CODFILIALRETIRA'}) @Column({ name: 'CODFILIALRETIRA' })
codfilialretira: string; codfilialretira: string;
@Column({name: 'PORIGINAL'}) @Column({ name: 'PORIGINAL' })
poriginal: number; poriginal: number;
@Column({name: 'VLCUSTOCONT'}) @Column({ name: 'VLCUSTOCONT' })
vlcustocont: number; vlcustocont: number;
@Column({name: 'VLCUSTOREP'}) @Column({ name: 'VLCUSTOREP' })
vlcustorep: number; vlcustorep: number;
@Column({name: 'PBASERCA'}) @Column({ name: 'PBASERCA' })
pbaserca: number; pbaserca: number;
@Column({name: 'PVENDA1'}) @Column({ name: 'PVENDA1' })
pvenda1: number; pvenda1: number;
@Column({name: 'TIPOENTREGA'}) @Column({ name: 'TIPOENTREGA' })
tipoentrega: string; tipoentrega: string;
@Column({name: 'COMPLEMENTO'}) @Column({ name: 'COMPLEMENTO' })
complemento: string; complemento: string;
@Column({name: 'AMBIENTE'}) @Column({ name: 'AMBIENTE' })
ambiente: string; ambiente: string;
@Column({name: 'RETIRAPOSTERIOR_IMEDIATA'})
rp_imediata: string;
} }

View File

@@ -3,167 +3,165 @@ import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCPEDITEMP') @Entity('PCPEDITEMP')
export class Pcpeditemp { export class Pcpeditemp {
@Column({ name: 'TIPOINTEGRACAO' }) @Column({ name: 'TIPOINTEGRACAO' })
tipointegracao: string; tipointegracao: string;
@Column({ name: 'OBSERVACAO_PC' }) @Column({ name: 'OBSERVACAO_PC' })
observacao_pc: string; observacao_pc: string;
@Column({ name: 'NUMPEDCLI' }) @Column({ name: 'NUMPEDCLI' })
numpedcli: string; numpedcli: string;
@PrimaryColumn({ name: 'NUMPEDRCA' }) @PrimaryColumn({ name: 'NUMPEDRCA' })
numpedrca: number; numpedrca: number;
@Column({ name: 'CODCLI' }) @Column({ name: 'CODCLI' })
codcli: number; codcli: number;
@Column({ name: 'CODUSUR' }) @Column({ name: 'CODUSUR' })
codusur: number; codusur: number;
@Column({ name: 'DATA' }) @Column({ name: 'DATA' })
data: Date; data: Date;
@PrimaryColumn({ name: 'CODPROD' }) @PrimaryColumn({ name: 'CODPROD' })
codprod: number; codprod: number;
@Column({ name: 'QT' }) @Column({ name: 'QT' })
qt: number; qt: number;
@Column({ name: 'QT_FATURADA' }) @Column({ name: 'QT_FATURADA' })
qt_faturada: number; qt_faturada: number;
@Column({ name: 'PVENDA' }) @Column({ name: 'PVENDA' })
pvenda: number; pvenda: number;
@Column({ name: 'PTABELA' }) @Column({ name: 'PTABELA' })
ptabela: number; ptabela: number;
@Column({ name: 'PERDESC' }) @Column({ name: 'PERDESC' })
perdesc: number; perdesc: number;
@PrimaryColumn({ name: 'NUMSEQ' }) @PrimaryColumn({ name: 'NUMSEQ' })
numseq: number; numseq: number;
@Column({ name: 'CODAUXILIAR' }) @Column({ name: 'CODAUXILIAR' })
codauxiliar: number; codauxiliar: number;
@Column({ name: 'CODCERTIFIC' }) @Column({ name: 'CODCERTIFIC' })
codcertific: number; codcertific: number;
@Column({ name: 'CODFILIALRETIRA' }) @Column({ name: 'CODFILIALRETIRA' })
codfilialretira: string; codfilialretira: string;
@Column({ name: 'NUMLOTE' }) @Column({ name: 'NUMLOTE' })
numlote: string; numlote: string;
@Column({ name: 'COMPLEMENTO' }) @Column({ name: 'COMPLEMENTO' })
complemento: string; complemento: string;
@Column({ name: 'CODPLPAG' }) @Column({ name: 'CODPLPAG' })
codplpag: number; codplpag: number;
@Column({ name: 'CODPROMOCAO' }) @Column({ name: 'CODPROMOCAO' })
codpromocao: string; codpromocao: string;
@Column({ name: 'PRAZOMEDIO' }) @Column({ name: 'PRAZOMEDIO' })
prazomedio: number; prazomedio: number;
@Column({ name: 'LOCALIZACAO' }) @Column({ name: 'LOCALIZACAO' })
localizacao: string; localizacao: string;
@Column({ name: 'PBONIFIC' }) @Column({ name: 'PBONIFIC' })
pbonific: number; pbonific: number;
@Column({ name: 'CODDEGUSTACAO' }) @Column({ name: 'CODDEGUSTACAO' })
coddegustacao: number; coddegustacao: number;
@Column({ name: 'PESOBRUTO' }) @Column({ name: 'PESOBRUTO' })
pesobruto: number; pesobruto: number;
@Column({ name: 'EANCODPROD' }) @Column({ name: 'EANCODPROD' })
eancodprod: number; eancodprod: number;
@Column({ name: 'CODNAOATENDIMENTO' }) @Column({ name: 'CODNAOATENDIMENTO' })
codnaoatendimento: number; codnaoatendimento: number;
@Column({ name: 'OBSINTEGRACAO1' }) @Column({ name: 'OBSINTEGRACAO1' })
obsintegracao1: string; obsintegracao1: string;
@Column({ name: 'OBSINTEGRACAO2' }) @Column({ name: 'OBSINTEGRACAO2' })
obsintegracao2: string; obsintegracao2: string;
@Column({ name: 'NUMPEDWEB' }) @Column({ name: 'NUMPEDWEB' })
numpedweb: number; numpedweb: number;
@Column({ name: 'TRANSACAO' }) @Column({ name: 'TRANSACAO' })
transacao: number; transacao: number;
@Column({ name: 'IDVENDA' }) @Column({ name: 'IDVENDA' })
idvenda: number; idvenda: number;
@Column({ name: 'INTEGRADORA' }) @Column({ name: 'INTEGRADORA' })
integradora: number; integradora: number;
@Column({ name: 'CODRETORNO' }) @Column({ name: 'CODRETORNO' })
codretorno: number; codretorno: number;
@Column({ name: 'COMISSAOATIM' }) @Column({ name: 'COMISSAOATIM' })
comissaoatim: number; comissaoatim: number;
@Column({ name: 'TIPOENTREGA' }) @Column({ name: 'TIPOENTREGA' })
tipoentrega: string; tipoentrega: string;
@Column({ name: 'CODRETORNOS' }) @Column({ name: 'CODRETORNOS' })
codretornos: string; codretornos: string;
@Column({ name: 'DTINCLUSAO' }) @Column({ name: 'DTINCLUSAO' })
dtinclusao: Date; dtinclusao: Date;
@Column({ name: 'CODPRODCESTA' }) @Column({ name: 'CODPRODCESTA' })
codprodcesta: number; codprodcesta: number;
@Column({ name: 'BONIFIC' }) @Column({ name: 'BONIFIC' })
bonific: string; bonific: string;
@Column({ name: 'DTIMP' }) @Column({ name: 'DTIMP' })
dtimp: Date; dtimp: Date;
@Column({ name: 'PBASERCA' }) @Column({ name: 'PBASERCA' })
pbaserca: number; pbaserca: number;
@Column({ name: 'VLFRETE' }) @Column({ name: 'VLFRETE' })
vlfrete: number; vlfrete: number;
@Column({ name: 'FATORCONVERSAO' }) @Column({ name: 'FATORCONVERSAO' })
fatorconversao: number; fatorconversao: number;
@Column({ name: 'IDKITPRODUTO' }) @Column({ name: 'IDKITPRODUTO' })
idkitproduto: string; idkitproduto: string;
@Column({ name: 'MOVIMENTACONTACORRENTERCA' }) @Column({ name: 'MOVIMENTACONTACORRENTERCA' })
movimentacontacorrenterca: string; movimentacontacorrenterca: string;
@Column({ name: 'PORIGINAL' }) @Column({ name: 'PORIGINAL' })
poriginal: number; poriginal: number;
@Column({ name: 'ESC_EMBALAGEMPRESENTE' }) @Column({ name: 'ESC_EMBALAGEMPRESENTE' })
esc_embalagempresente: string; esc_embalagempresente: string;
@Column({ name: 'QTUNITEMB' }) @Column({ name: 'QTUNITEMB' })
qtunitemb: number; qtunitemb: number;
@Column({ name: 'IDREMESSAWEB' }) @Column({ name: 'IDREMESSAWEB' })
idremessaweb: number; idremessaweb: number;
@Column({ name: 'CODFILIAL' }) @Column({ name: 'CODFILIAL' })
codfilial: string; codfilial: string;
@Column({ name: 'CODCLIPARTILHA' }) @Column({ name: 'CODCLIPARTILHA' })
codclipartilha: number; codclipartilha: number;
@Column({name: 'RETIRAPOSTERIOR_IMEDIATA'})
rp_imediata: string;
} }

View File

@@ -586,7 +586,7 @@ export class OrderService {
itemOrder.codauxiliar = componente.ean; itemOrder.codauxiliar = componente.ean;
itemOrder.codfilialretira = item.idStock; itemOrder.codfilialretira = item.idStock;
itemOrder.tipoentrega = (item.deliveryMethod == 'RA') ? "RP" : item.deliveryMethod; itemOrder.tipoentrega = (item.deliveryMethod == 'RA') ? "RP" : item.deliveryMethod;
itemOrder.rp_imediata = (item.deliveryMethod == 'RA') ? "S" : "N"; // itemOrder.rp_imediata = (item.deliveryMethod == 'RA') ? "S" : "N";
if (item.deliveryMethod == 'RA') { if (item.deliveryMethod == 'RA') {
preOrder.dtentrega = new Date(); preOrder.dtentrega = new Date();
} }
@@ -619,7 +619,7 @@ export class OrderService {
itemOrder.codauxiliar = item.ean; itemOrder.codauxiliar = item.ean;
itemOrder.codfilialretira = item.idStock; itemOrder.codfilialretira = item.idStock;
itemOrder.tipoentrega = (item.deliveryMethod == 'RA') ? "RP" : item.deliveryMethod; itemOrder.tipoentrega = (item.deliveryMethod == 'RA') ? "RP" : item.deliveryMethod;
itemOrder.rp_imediata = (item.deliveryMethod == 'RA') ? "S" : "N"; //itemOrder.rp_imediata = (item.deliveryMethod == 'RA') ? "S" : "N";
if (item.deliveryMethod == 'RA') { if (item.deliveryMethod == 'RA') {
preOrder.dtentrega = new Date(); preOrder.dtentrega = new Date();
} }

View File

@@ -70,7 +70,7 @@ export class PreOrderService {
cart.id, cart.preCustomerName, cart.preCustomerPhone, cart.idSeller, idPreOrder]); cart.id, cart.preCustomerName, cart.preCustomerPhone, cart.idSeller, idPreOrder]);
} }
} else { } else {
if ( cart.preCustomerDocument != null ) { if (cart.preCustomerDocument != null) {
await queryRunner.query(`DELETE FROM ESTVENDAPRECLIENTE WHERE IDCART = :1 AND REGEXP_REPLACE(:CPF, '[^0-9]', '')`, await queryRunner.query(`DELETE FROM ESTVENDAPRECLIENTE WHERE IDCART = :1 AND REGEXP_REPLACE(:CPF, '[^0-9]', '')`,
[cart.id, cart.preCustomerDocument]); [cart.id, cart.preCustomerDocument]);
} }
@@ -92,7 +92,7 @@ export class PreOrderService {
itemPreOrder.codcli = cart.idCustomer; itemPreOrder.codcli = cart.idCustomer;
itemPreOrder.codprod = item.idProduct; itemPreOrder.codprod = item.idProduct;
itemPreOrder.codauxiliar = item.ean; itemPreOrder.codauxiliar = item.ean;
itemPreOrder.codusur = ( idRca > 0 ) ? idRca : cart.idSeller; itemPreOrder.codusur = (idRca > 0) ? idRca : cart.idSeller;
itemPreOrder.qt = item.quantity; itemPreOrder.qt = item.quantity;
itemPreOrder.pvenda = item.salePrice; itemPreOrder.pvenda = item.salePrice;
itemPreOrder.ptabela = item.listPrice; itemPreOrder.ptabela = item.listPrice;
@@ -120,7 +120,7 @@ export class PreOrderService {
itemPreOrder.pvenda1 = 0; itemPreOrder.pvenda1 = 0;
itemPreOrder.tipoentrega = item.deliveryMethod; itemPreOrder.tipoentrega = item.deliveryMethod;
// eslint-disable-next-line @typescript-eslint/camelcase // eslint-disable-next-line @typescript-eslint/camelcase
itemPreOrder.rp_imediata = (item.deliveryMethod == "RA") ? "S" : "N"; // itemPreOrder.rp_imediata = (item.deliveryMethod == "RA") ? "S" : "N";
itemPreOrder.complemento = item.descriptionAux; itemPreOrder.complemento = item.descriptionAux;
itemPreOrder.ambiente = item.environment; itemPreOrder.ambiente = item.environment;
@@ -144,7 +144,7 @@ export class PreOrderService {
itemPreOrder.codcli = cart.idCustomer; itemPreOrder.codcli = cart.idCustomer;
itemPreOrder.codprod = 48500; itemPreOrder.codprod = 48500;
itemPreOrder.codauxiliar = 48500; itemPreOrder.codauxiliar = 48500;
itemPreOrder.codusur = ( idRca > 0 ) ? idRca : cart.idSeller; itemPreOrder.codusur = (idRca > 0) ? idRca : cart.idSeller;
itemPreOrder.qt = 1; itemPreOrder.qt = 1;
itemPreOrder.pvenda = Number.parseFloat(cart.shippingValue.toString()); itemPreOrder.pvenda = Number.parseFloat(cart.shippingValue.toString());
itemPreOrder.ptabela = Number.parseFloat(cart.shippingValue.toString()); itemPreOrder.ptabela = Number.parseFloat(cart.shippingValue.toString());
@@ -201,7 +201,7 @@ export class PreOrderService {
preOrder.minuto = new Date().getMinutes(); preOrder.minuto = new Date().getMinutes();
preOrder.dtentrega = cart.shippingDate; // dateDelivery; preOrder.dtentrega = cart.shippingDate; // dateDelivery;
preOrder.codfilial = cart.saleStore, preOrder.codfilial = cart.saleStore,
preOrder.codusur = ( idRca > 0 ) ? idRca : cart.idSeller; preOrder.codusur = (idRca > 0) ? idRca : cart.idSeller;
preOrder.codemitente = cart.userId; preOrder.codemitente = cart.userId;
preOrder.codusur3 = cart.idProfessional; preOrder.codusur3 = cart.idProfessional;
preOrder.tipoprioridadeentrega = cart.shippingPriority; preOrder.tipoprioridadeentrega = cart.shippingPriority;
@@ -352,11 +352,11 @@ export class PreOrderService {
sql += ` AND PCORCAVENDAC.NUMORCA = ${idPreOrder} `; sql += ` AND PCORCAVENDAC.NUMORCA = ${idPreOrder} `;
} }
if ( document.length > 0 ) { if (document.length > 0) {
sql += ` AND REGEXP_REPLACE(PCCLIENT.CGCENT, '[^0-9]', '') = REGEXP_REPLACE(${document}, '[^0-9]', '') `; sql += ` AND REGEXP_REPLACE(PCCLIENT.CGCENT, '[^0-9]', '') = REGEXP_REPLACE(${document}, '[^0-9]', '') `;
} }
if ( nameCustomer.length > 0 ) { if (nameCustomer.length > 0) {
sql += ` AND PCCLIENT.CLIENTE LIKE UPPER('${nameCustomer}')||'%' `; sql += ` AND PCCLIENT.CLIENTE LIKE UPPER('${nameCustomer}')||'%' `;
} }