<< Click to Display Table of Contents >> SupervisorAgente |
![]() ![]() ![]() |
Programa #3 – SupervisorAgente
Local do fonte
$\Projetos\Delphi\Sistemas\Supervisor\Market Supervisor Agente\MarketSupervisorAgente.bdsproj
Local onde roda
Em cada servidor de loja (é chamado pelo supervisor ao pressionar o botão "Processar Caixas")
Importante
O nome do executável é diferente do nome do projeto (dpr). Assim se você recompilar o projeto tem que renomeá-lo:
MarketSupervisorAgente.exe -> SupervisorAgente.exe
Parâmetros
•O primeiro parâmetro não é mais utilizado, passe qualquer coisa (geralmente “S”)
•Segundo parâmetro indica se a tela do agente deve ficar “fixada” ou minimizada – não faz diferença no processamento
Carrega o parâmetro da base através do arquivo base_super.mkt que fica no subdiretório config da pasta do executável. Exemplo, se o exe do SupervisorAgente fica em c:\Market\Super, então o Agente procurará c:\Market\Super\Config\Base_Super.mkt.
Exemplo de um Base_Super.mkt:
[Log]
ConexaoPG=192.168.60.1/super
Assim, a pasta de preços será sempre a local + “Precos” (c:\Market\Super\Precos\)
Funcionamento
Depois de conectar na base do supervisor com sucesso, o SupervisorAgente lê vários parâmetros do supervisor, mas o importante são estes:
•Pasta “base” onde todas as outras pastas serão filhas é lida do parâmetro no supervisor:
Parâmetros -> Sistema -> Pastas servidor -> “Pasta MARKET no Servidor”
Assim fica definido:
•Pasta Recebe = Pasta “base” + \Recebe
•Pasta Vendas = Pasta “base” + \Logs_Super
•Pasta Não Processados = Pasta “base” + \LogsNaoProcessados
Depois o programa vai pegar os endereços dos caixas ativos cadastrados no supervisor (Cadastros -> Caixas)
Percorre caixa por caixa e acessa a pasta c:\envia e copia para pasta Recebe
Depois de processar todos os caixas, o SupervisorAgente ativa outra rotina interna que lista todos os arquivos da pasta Recebe e inicia uma transação na base do supervisor.
E com a transação aberta transfere todo o conteúdo destes logs para base do supervisor e por fim move os arquivos para a pasta Vendas adicionando ao caminho o ano\mês
Exemplo, se for dia 12/08/2010: C:\market\super\logs_super\2010\08
Caso o log não foi processado, ele fica na pasta Pasta não processados + Ano\Mês. Exemplo:
C:\market\super\ LogsNaoProcessados\2010\08
Terminada a verificação da pasta Recebe, o SupervisorAgente “extrai” um programa de dentro de si, chamado AgenteSync.exe (veja mais abaixo) e o programa de FTP chamado MarketFTP.exe. E executa o programa AgenteSync passando por parâmetro o caminho da base. Exemplo: AgenteSync.exe 192.168.60.1/super.
Após estas operações o processo todo se repete
Tela
este é o ícone que fica no systray
Veja também