Closed tfiliano closed 4 years ago
@tfiliano , nao me oponho a remodelagens, DESDE QUE as interfaces de entrada/saida da lib sejam as mesmas (justamente por questoes de compatibilidade). Ao idealizar a lib, eu e o @lhfioravanso sempre tivemos em mente que a compatibilidade dela deve andar junto com as versoes dos DFes, ou seja, so pode ser quebrado se a versao da DFe quebrar.
Essa MR pode ser aprovada apenas se os 2 core members aprovarem.
Tranquilo, eu acabei alterando algumas interfaces, mas não foi nada de mudança brusca, algumas propriedades como descEventoField por exemplo, coloquei descEvento, e adicionei novas interfaces, para poder trabalhar os xmls para os eventos.
Existe um motivo for para ter o Field na frente das props? se tiver, posso dar um jeito de usar com eles.
Estou trabalhando aqui na carta de correção. flw
SonarCloud Quality Gate failed.
0 Bugs
0 Vulnerabilities (and 0 Security Hotspots to review)
19 Code Smells
No Coverage information
58.3% Duplication
Opa, desculpem a demora. Não me oponho também, visto que manteve a compatibilidade da lib.
Obrigado pela contribuição @tfiliano !
Beleza pessoal.
@tfiliano , apenas existe conflito nessa branch. Para realizarmos o merge, precisamos que sejam resolvidos.
Beleza pessoal.
@tfiliano , apenas existe conflito nessa branch. Para realizarmos o merge, precisamos que sejam resolvidos.
Não estou encontrando aqui no git a indicação dos conflitos pra corrigir.
Posso fazer um novo request comparando meu repositório inteiro, nele já fiz uma serie de outras melhorias, mas mantendo mesma estrutura, das interfaces, etc?
Guilheme,
Implementei inicialmente o evento de cancelamento, mas deixei algumas coisas preparadas para outros eventos tbm. Realizei o teste por hora apenas em SP, onde tenho um certificado para testar.
Nesse pull request, tomei a liberdade de estruturar algumas coisas da seguinte maneira: nfeProcessor2 ( centraliza os demais processors nele ) ou seja enviaProcessor ( responsavel apenas por enviar DFe e receber o nro de recibo ) retornoProvessor ( responsavel por processar o retorno da DFe, consultando o nro de recbido ) eventoProcessor ( responsavel por realizar os eventos do DFe )
o nfeProcessor na minha opiniao seria substituido pelo nfeProcessor2, deixei ambos por questao de compatibilidade.
o nfeProcessor2 possui o metodo processarDocumento tbm, para questao de compatibilidade, pq nessa nova estrutura, chamei o metodo principal de executar, exemplo: eventoProcessor.executar( evento )
Da forma que implementei, o create precisa receber um objeto do tipo Configuracoes, assim com apenas 1 parametro, recebemos tudo que eh necessario.
O usuario pode emitir um DFe de 2 formas:
Opcao:
instancia o nfeProcessor e executa o metodo .executar ( aqui jah faz envio e o retorno como antes, porém, coloquei uma melhoria no intuito de evitar consumo indevido ), essa melhoria consiste em um parametro, onde é possivel determinar a quantidade de tentativas, e o intervalo de tempo entre cada tentativa de consulta do lote.
Bom cara, teria mais coisas que poderia discutir, qqr coisa me passa teu email e mantemos contato melhor. meu: tfiliano@gmail.com