Responsabilidade (em atualização)

Foi implementado uma funcionalidade no processo de tarefa que permite que o atendimento de uma tarefa possa ser continuado mesmo que o acesso ao banco de dados esteja off-line.

Quando o usuário registrar sua saída para atendimento externo será gravado em disco o conjunto dos datasets necessários para realizar o atendimento da tarefa mesmo que não haja acesso ao banco de dados.

Enquanto estiver em cliente, o usuário realizará o atendimento que caso seja feito em modo off-line deverá continuar sendo gravado em disco e somente quando for reestabelecida a conexão será feita a sincronização entre banco e arquivo em disco.

Para que esta implementação seja utilizada, deve-se observar os seguintes pontos:

Foi incluído o campo Pessoa da tarefa na grade de Responsabilidades. Neste campo deverá ser selecionada a pessoa envolvida na tarefa que será autorizada a realizar apontamentos na situações da tarefa. Caso este campo esteja preenchido, os demais campos serão apagados.
Cada uma das situações de atendimento externo que exigem restrição deverão ser configuradas para que somente o responsável possa apontar.
O objeto Tarefa passará a validar se a pessoa que está apontando é a mesma configurada no campo Pessoa da tarefa caso esse seja preenchido.
Opções de configuração da pessoa da tarefa: 
Responsável
Agente
Entidade
Solicitante
Favorecido
Foi utilizado o seguinte conceito na persistência em disco:

A persistência dos dados da tarefa em disco local leva em consideração três momentos distintos. São eles: 
a) A geração do cache a partir do banco de dados; 
b) A operação usando e atualizando os dados do cache; 
c) A recuperação dos dados do cache atualizando o banco de dados.

Persistência: Ação que consiste em manter em meio físico recuperável, como banco de dados ou arquivo, de modo a garantir a permanência das informações de um determinado estado de um objeto lógico (fonte: http://pt.wikipedia.org/).

Para que seja configurado a persistência em disco, foi criado o campo Aponta em disco local na grade Situações do fluxo de tarefa que indicará se a tarefa usará ou não a persistência em disco. Caso esta opção seja marcada, os apontamentos a serem realizados na tarefa com esta situação, serão controlados diretamente pelo disco local da pessoa autorizada a realizar apontamentos, indicada pelo campo Pessoa da tarefa.

A persistência em disco ocorrerá da seguinte forma:

Geração do cache a partir do banco de dados.

Será criada a pasta Tarefa caso ela não exista na árvore em que se encontrar o aplicativo engine.exe (caminho: C:\UNUM\Tarefa).
Três arquivos serão gravados para garantir a recuperação dos dados em disco, são eles: tarefas.ds, chave da tarefa.ds e chave da tarefa.~ds.
Para cada tarefa haverá um arquivo chave da tarefa.ds, um arquivo chave da tarefa.~ds e um registro no dataset contido no arquivo tarefa.ds.
Operação com os dados do cache.

As consultas ao banco somente poderão ser feitas se houver conexão com o banco de dados (connection.isOnline).
O método gravar passará ao invés de realizar o apply em banco realizar a gravação em disco dos arquivos.
A recuperação dos dados do cache atualizando o banco de dados.

Recuperará todos os apontamentos gravados em disco os realizando no banco de dados.
Apagará os arquivos que forem recuperados.
Caminho do processo: Unum - Tarefa - Configurações e manutenções - Fluxos de tarefas
Comments