[firebase-br] RES: Verificar ciclos no firebird

Alysson Gonçalves de Azevedo agalysson em gmail.com
Seg Nov 7 13:53:26 -03 2011


Man, não mexo com fb já faz um tempo... e não tenho base de testes aqui,
então vc vai ter que se virar aew xD.

Uma vez eu postei algo parecido que te ajudaria... Adaptando a ideia ao seu
problema, deixa eu tentar explicar.

Só pra confirmar, o que você precisa é saber a data da próxima limpeza,
independente se a última cadastrada no seu banco foi ontem ou se foi ano
passado, certo?

Bem, para isso, vamos trabalhar exatamente com ciclos (isso você já sabe,
neh) de 25 dias.
Para resolver o seu problema, você precisa contar quantos ciclos passaram
desde a última limpeza até a data atual, somar 1, multiplicar por 25 e
somar o resultado à data da última limpeza, isso irá retornar a data da
próxima limpeza.

Exemplo:
Data Ul. Limpeza: 15/08/2011
Data atual: 07/11/2011

Calculando mentalmente, sabemos que se passaram 84 dias, e a data da
próxima limpeza seria daqui a 16 dias (quando completasse o quarto ciclo,
100 dias), no dia 23/11/2011

Como calcular:
Como eu disse, não tenho fb aqui, então vou passar apenas a teoria, e você
converte para sql.
Primeiro, calcule a quantidade de dias que se passaram (data_atual -
data_ult_limpeza).
Depois,divida o resultado por 25 para calcular quantos ciclos se passaram,
no nosso caso, 84/25 = 3 (o firebird arrendonda pra baixo). 3 é o número de
ciclos que se passaram até a data atual, some 1 ao resultado para ter o
ciclo da próxima limpeza, ficará 4.
Pegue esse 4 e multiplique pelo numero de dias, 25. Resultado = 100.
Some 100 à data da ultima limpeza, 15/08/2011 + 100 = 23/11/2011.

Em outras palavras,
select (((current_date-data_ult_limpeza)/25+1)*25+data_ult_limpeza) as
data_prox_limpeza from...

Imagino que isso resolverá seu problema.


Alysson Gonçalves de Azevedo
(11) 8491-7730



Em 4 de novembro de 2011 20:53, Oliveira, José Augusto Siqueira de <
contabil em sivolc.ind.br> escreveu:

> Não entendi ! Não seria fazer um SQL para verificar quais as bombas estão
> completando 25 dias naquele dia especifico ? Para saber quais bombas teria
> de efetuar manutenção no dia ?
>
> Oliveira, José Augusto Siqueira de
> Sivolc  Móveis e Complementos
> (32) 3531-4677
> contabil em sivolc.ind.br
>
> "Aviso de confidencialidade profissional" - Esta mensagem eletrônica e seus
> anexos são destinados exclusivamente ao(s) destinatário(s) acima e podem
> conter informações confidenciais sujeitas a restrição legal de comunicação
> entre as partes. Caso tenha recebido esta mensagem por engano, fica V.Sa.
> ciente de que a distribuição, divulgação ou disseminação das informações
> aqui contidas ou anexadas é terminantemente proibida, sujeitando o
> responsável às penalidades aplicáveis. Assim, solicitamos a gentileza de
> retorná-la de imediato ao remetente, eliminando-a definitivamente de seu
> sistema. Em caso de dúvida, queira por favor entrar em contato conosco."
>
> "Confidentiality notice" - This message and its attachments are addressed
> solely to the persons above and may contain privileged and confidential
> communication. If you have received the message in error, the distribution
> or dissemination of the content hereof is prohibited. Please return it
> immediately to the sender and please delete the message from your system on
> a permanent basis. Should you have any questions, please contact."
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> nome de Rafael Voltani
> Enviada em: sexta-feira, 4 de novembro de 2011 18:16
> Para: lista em firebase.com.br
> Assunto: [firebase-br] Verificar ciclos no firebird
> Prioridade: Alta
>
> Boa tarde
>
> É possível montar no firebird a verificação de ciclos a partir de uma
> data.
>
> Ex:
> Supondo que seja para uma loja de aquários.
> Numa consulta, o usuário quer saber a previsão de limpeza da bomba de
> ar de cada aquário.
>
> A limpeza se faz de 25 em 25 dias.
>
> DT_ULTIMA_LIMPEZA = 04/09/2011
>
> A partir da DT_ULTIMA_LIMPEZA faz o ciclo de 25 em 25 dias até a
> próxima data da data atual.
>
> []'s
>
> Rafael
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista