Segue abaixo fluxo realizado pelo Serviço de Captura DUE:
1- Serviço é iniciado
a. Classe Service() é instanciada.
2- Serviço carrega ?Falso? em variável global para indicar que não está em processamento
a. _isProcess = false;
3- Serviço carrega Parâmetros da tabela CFG_Parâmetros
a. LoadCfgParametros()
4- Serviço configura parâmetros conforme resultado da consulta previamente realizada
a. SetConfig()
5- Serviço atualiza usuário para acesso as informações
a. SetUserAutocam("System")
6- Serviço inicializa componentes e ajusta nome do Serviço para ?Service DUE?
a. InitializeComponent()
7- Serviço atualiza tempo de ciclos de execução e inicializa processamento (Service.Start()).
a. Valida se já está em processamento por meio da variável global _isProcess
b. Atualiza: isProcess = true
c. Instancia classe CapturaDue()
d. E realiza chamada ao método Start do CapturaDue: CapturaDue.Start()
e. Atualiza: isProcess = false
8- O método Start da classe CapturaDue inicia o processamento chamando o método Capturar()
a. Carrega as DUEs pendentes de captura (Status Consultar)
b. Entra num loop para processar todas as DUEs carregadas pela consulta anterior
c. Captura o Bearer
d. Captura a DUE (retorno em JSON)
e. Limpa dados da DUE Capturada com o método LimparDadosDue(d, json);
i. Caso o DUE já possuía dados como Histórico cadastrado no Banco de Dados, estes dados são excluídos para serem reinseridos com base nos dados consultados atualizados
f. Armazena dados da DUE consultada com os métodos:
i. CapturarDadosGerais(d, json): Armazena os dados gerais recebidos da DUE no json de retorno
ii. CapturarUnidadeFederativa(d,json): Armazena os dados de Unidade Federativa recebidas do json de retorno
iii. CapturarRecintoAduaneiro(d, json): Armazena os dados de Recinto Aduaneiro recebidas do json de retorno
iv. CapturarSituacao(d, json): Armazena os dado de Situação da DUE com dados recebidos do json de retorno
v. CapturarItens(d, json): Armazena todos os Itens recebidos do json de retorno
vi. CapturarHistorico(d, json): Armazena todo os dados de Histórico recebidos do json de retorno
g. Atualiza o status de captura do DUE para Analisar
h. Caso ocorra erro no processo, o serviço atualiza o status do DUE para Erro de Consulta e armazena a Mensagem de erro.