Inativar Doador que não oferta ha 2 meses
Boa tarde a todos, estou desenvolvendo um sistema de oferta de dízimo em Delphi 7 e Firebird 2.5, onde estou com o seguinte problema;
- Preciso fazer um comando que varre a tabela de recebimento de doações, e caso o doador não ofertou sua contribuição há 2(dois) meses atrás o sistema inativa o mesmo automaticamente.
Ex:
Doador : Josenildo
DATA DA OFERTA: 10/07/2015
Quando eu abrir o sistema na data de hj 23/09/2015, gostaria que o comando varresse a tabela e ao achar o doador Josenildo automaticamente inativasse o mesmo, pois ele já não contribui a 2 meses atras.
Alguém pode me ajudar. ?
- Preciso fazer um comando que varre a tabela de recebimento de doações, e caso o doador não ofertou sua contribuição há 2(dois) meses atrás o sistema inativa o mesmo automaticamente.
Ex:
Doador : Josenildo
DATA DA OFERTA: 10/07/2015
Quando eu abrir o sistema na data de hj 23/09/2015, gostaria que o comando varresse a tabela e ao achar o doador Josenildo automaticamente inativasse o mesmo, pois ele já não contribui a 2 meses atras.
Alguém pode me ajudar. ?
Josenildo Rosa
Curtidas 0
Respostas
Mateus Carvalho
23/09/2015
Um algorítimo um pouco chato de fazer, mais não complicado.
- Esse "inativo" para você, o que seria? Você vai remover os dados do banco?
Os passos, serão o seguinte:
Primeiro, teremos que fazer uma subtração da data da ultima contribuição com a data atual de cada usuário. Se o sistema achar um usuário com tempo maior que 60 dias, ai ele deve desabilitá-lo, caso contrário, ele vai para o próximo.
- Esse "inativo" para você, o que seria? Você vai remover os dados do banco?
Os passos, serão o seguinte:
Primeiro, teremos que fazer uma subtração da data da ultima contribuição com a data atual de cada usuário. Se o sistema achar um usuário com tempo maior que 60 dias, ai ele deve desabilitá-lo, caso contrário, ele vai para o próximo.
GOSTEI 0
Josenildo Rosa
23/09/2015
Exatamente isso meu amigo MAC, mas não vou remover do banco de dados apenas inativar o dizimista.
GOSTEI 0
Mateus Carvalho
23/09/2015
Ok. Desculpe a demora.
Você já tem o código para realizar a subtração? Você pretende realizar a operação de verificação em segundo plano?
Att!
Você já tem o código para realizar a subtração? Você pretende realizar a operação de verificação em segundo plano?
Att!
GOSTEI 0
Paulo Freire
23/09/2015
Olá Josenildo, também tenho um sistema de Igrejas chamado Shalom e ShalomWeb feitos em Delphi, no meu caso , no meu caso eu tenho uma store procedure, que apartir do resultado faço o update para inativar o membros que não ofertas ou dizimam a mais de 2 meses.
Exemplo:
Minha SELECT
WHERE
--Pegando membros que não dizimam e nem ofertas por mais de 2 meses
DATEDIFF(month, TBL_DIZIMOS.[DATA], getdate()) < 2
Se encontrar membros com esse paramentro dou o UPDATE
Exemplo:
Minha SELECT
WHERE
--Pegando membros que não dizimam e nem ofertas por mais de 2 meses
DATEDIFF(month, TBL_DIZIMOS.[DATA], getdate()) < 2
Se encontrar membros com esse paramentro dou o UPDATE
GOSTEI 0
Josenildo Rosa
23/09/2015
Olá Paulo eu até pensei fazer essa store procedure mas não sabia como faze-la, teria como me passar a estrutura dessa procedure se não for encomodo
GOSTEI 0
Josenildo Rosa
23/09/2015
Meu amigo MAC, sim eu desejo executar em segundo plano ou seja, como uma store procedure ou trigger.
GOSTEI 0