Selecao DevMedia QUERO SER PRIME

Fórum Problema com módulo de alarme #341630

11/05/2007

0

Um usuário pediu para implementar um módulo de alarme num sistema para alertar sempre que determinado campo data numa tabela passasse de um limite de tempo pré-estabelecido (no caso 1 mês). Normalmente não teria problema nenhum em fazer isso, só que nesse caso ele quer que passe 1 mês e alerte, passe outro mês e alerte novamente e assim por diante, até o registro ser atualizado. Se a quantidade de meses fosse fixa era só fazer um laço na hora de testar as datas, o que não é o caso aqui. Alguém tem uma idéia de como posso implementar isso de forma prática no sistema? Pode ser tanto na aplicação Delphi como no próprio banco (uso Firebird 1.5).


Gandalf.nho

Gandalf.nho

Responder

Posts

11/05/2007

Ara.es

Você pode pegar da data somente o dia e verificar se o dia da data e menor ou igual a data atual senão você emite o alarme, não sei qual o comando que serve para isso no Firebird, pois trabalho com SQL, nele é DATEPART.

Ate mais, precisar e so falar...


Responder

Gostei + 0

11/05/2007

Gandalf.nho

O problema de fazer isso é que o alarme vai tocar todos os dias e ele só pode tocar uma vez a cada mês que passar do limite.


Responder

Gostei + 0

11/05/2007

Massuda

Cada vez que o alarme é disparado você podia ´rearmar´ ele para disparar em outra data no futuro.


Responder

Gostei + 0

14/05/2007

Gandalf.nho

Cada vez que o alarme é disparado você podia ´rearmar´ ele para disparar em outra data no futuro.

E como eu poderia fazer isso?


Responder

Gostei + 0

14/05/2007

Ipc$

Vc pode guardar a informação no regedit.


Responder

Gostei + 0

14/05/2007

Massuda

Como você decide que tem que dar o alarme? Você poderia guardar quando foi o último alarme e ter uma regra do tipo ´um alarme só pode ser dados após x dias do último alarme´.


Responder

Gostei + 0

14/05/2007

Gandalf.nho

Como você decide que tem que dar o alarme? Você poderia guardar quando foi o último alarme e ter uma regra do tipo ´um alarme só pode ser dados após x dias do último alarme´.

Eu tenho que pesquisar numa tabela do banco para verificar se existe algum registro com um valor pré-determinado num campo X e cujo campo data tenha vencido em 1 ou mais meses. Se encontrar, tenho que avisar e retornar a lista dos registros encontrados.


Responder

Gostei + 0

15/05/2007

Gandalf.nho

Alguma sugestão de como posso fazer isso (de preferência que não seja algo demorado, já que essa verificação terá que ser feita diariamente)?


Responder

Gostei + 0

15/05/2007

Massuda

Não consigo imaginar um jeito de fazer isso sem ter uma tabela de alarmes pendentes pelo sistema.

A rotina hoje existente teria que checar quais alarmes precisam ser gerados (incluindo itens na tabela de alarmes se for preciso) e quais alarmes não são mais necessários (removendo itens da tabela de alarmes).

Numa segunda etapa, você analisaria a tabela de alarmes e geraria os alarmes, lembrando de anotar quando foi o último ou quando será o próximo; logo, uma alarme só seria gerado se estiver na tabela e se está no dia de avisar (ou se passou muito tempo desde a última vez que gerou o alarme).

Imagino que tenha uma forma de associar cada alarme com o registro que originou o alarme.

Num mexo muito com BD, deve ter forma mais simples de fazer isso.


Responder

Gostei + 0

16/05/2007

Gandalf.nho

Mas esse método não ficaria muito lento?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar