Ir para conteúdo
  • Cadastre-se

dev botao

Refactoring no componente ACBrANe


Recommended Posts

  • Consultores

Olá Pessoal,

O componente ACBrANe passou por um Refactoring.

A motivação para esse Refactoring é tornar o componente mais fácil e prático no que se refere a implementar novas seguradoras bem como realizar manutenção no código sem correr o risco de gerar um efeito colateral nas seguradoras já implementadas.

Antes tínhamos apenas uma unit responsável por gerar o arquivo de envio para todas as seguradoras. Isso gerava riscos na implementação e manutenção das seguradoras existentes.

Agora temos uma unit para cada seguradora que gera o arquivo. Assim, podemos fazer as devidas melhorias bem como as correções sem afetar as outras seguradoras.

Pasta dos fontes:

Outro ponto importante é a localização das Units que compõe o componente:

Pasta Descrição
ACBrANe Pasta raiz dos fontes do componente.
  Seguradoras Pasta que contem as units das seguradoras: (NomeSeguradora.Provider).
  Base Pasta que contem as units de classes, conversão e constantes. 
    Base\Seguradoras Pasta que contem as units bases e manager.
    Base\WebServices Pasta que contem as units base e response do webservice

 

Situação atual:

Hoje o componente já conta com as seguintes seguradoras implementadas: ATM e ELT.

Até tem a PortoSeguro, mas não esta funcional, se faz necessário finalizar a sua implementação.

 

Desafios a frente:

Implementar e testar novas seguradoras.

 

Para que isso ocorra, contamos com a colaboração de todos.

  • Curtir 9
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Olá Pessoal,

Com esse refactoring mudou a forma de ler as informações de retorno ao averbar um documento.

Para pegar o retorno do envio, agora fazemos da seguinte forma:

ACBrANe1.WebService.Enviar.****

onde **** é os campos: Numero, Serie, Filial, etc

Veja este fragmento de código do programa exemplo:

            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Numero        : ' + Numero);
            memoLog.Lines.Add('Serie         : ' + Serie);
            memoLog.Lines.Add('Filial        : ' + Filial);
            memoLog.Lines.Add('CNPJ Cliente  : ' + CNPJCliente);
            memoLog.Lines.Add('Tipo Documento: ' + tpDoc);
            memoLog.Lines.Add('Data/Hora     : ' + DateTimeToStr(DataHora));
            memoLog.Lines.Add('Numero do Prot: ' + Protocolo);
            memoLog.Lines.Add('CTe           : ' + CTe);
            memoLog.Lines.Add('Sucesso       : ' + BoolToStr(Sucesso, True));

Temos também os dados do seguro que é lido da seguinte forma:

ACBrANe1.WebService.Enviar.DadosSeguro.****

    if aDadosSeguro.Count > 0 then
    begin
      memoLog.Lines.Add(' ');
      memoLog.Lines.Add('Dados do Seguro:');
      for i := 0 to aDadosSeguro.Count -1 do
      begin
        memoLog.Lines.Add('Numero Averbação: ' + aDadosSeguro[i].NumeroAverbacao);
        memoLog.Lines.Add('CNPJ Seguradora : ' + aDadosSeguro[i].CNPJSeguradora);
        memoLog.Lines.Add('Nome Seguradora : ' + aDadosSeguro[i].NomeSeguradora);
        memoLog.Lines.Add('Numero Apolice  : ' + aDadosSeguro[i].NumApolice);
        memoLog.Lines.Add('Tipo Movimento  : ' + aDadosSeguro[i].TpMov);
        memoLog.Lines.Add('Tipo de DDR     : ' + aDadosSeguro[i].TpDDR);
        memoLog.Lines.Add('Valor Averbado  : ' + FloatToStr(aDadosSeguro[i].ValorAverbado));
        memoLog.Lines.Add('Ramo Averbado   : ' + aDadosSeguro[i].RamoAverbado);

        memoLog.Lines.Add('---------');
      end;
    end;

Recomento fortemente que estudem o programa exemplo.

No que se refere ao retorno vejam a procedure ChecarResposta.

  • Curtir 3
  • Obrigado 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...