Locadora de Veiculos

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
EANDRIOLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 109
Registrado em: 22 Jun 2007 18:31
Localização: Sorriso-MT

Locadora de Veiculos

Mensagem por EANDRIOLI »

Boa tarde senhores:

Alguem teria por acaso alguma rotina que verifique se um veiculo está em reserva ou nao, dentro de um periodo entre data inicial e final. Lembrando que o veiculo pode estar com dois periodos de reserva.

Poderia inclusive postar aki mesmo esta informaçao. Tenho urgencia.

Obrigado.


Erasmo Andrioli
Programador Clipper

-------------------------------
Nota de Moderação (Toledo): mensagem editada para formatação do texto em letras minúsculas
Leia as Regras do Fórum:
7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio. Letras maiúsculas equivalem a GRITAR e portanto são consideradas uma falta de respeito com os demais membros do fórum.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

LOCADORA DE VEICULOS

Mensagem por Pablo César »

Não sabemos como é a sua rotina de tratamento de arquivos, nem a estrutura do seu BD. Pelo visto você quer algo pronto, não detalhou como e quais são seus arquivos no sistema. Acho dificil alguém possuir exatamente o que você está precisando.

Imagino que o usuário lança num dbf as reservas e poderão ter vários registros para o mesmo veículo, mas se a sua questão é impedir que seja reservado no mesmo periodo o mesmo veículo, você ao menos precisará data_inicial e hora_inicial da locação e data_final e hora_final para que antes de reservar verifique através da placa do veículo se este ja não tem reserva nesse período. Sabemos que podemos comparar datas identificando se é maior ou menor e a hora se convertemos em segundos para ter um valor preciso.

Agora se você quer obter os períodos que estão reservados para o mesmo veículo e listar-los ou disponibilizando em tela. Você pode localizar de uma determinada data e atribuir a uma matriz onde conterá, data, hora, cliente.

Em ambos os casos você utilizar o comando LOCATE para localizar data_ini>=dta_inicial .and. data_fim<=dta_fim .and. placa_veiculo=placa para que possa posicionar-se no registro que atenda tal condição. Isto se o seu BD for relativamente pequeno. Na minha opinião, o RESERVAS.DBF teoricamente é pequeno, considerando que as reservas que foram locadas, sejam deletadas do BD.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
EANDRIOLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 109
Registrado em: 22 Jun 2007 18:31
Localização: Sorriso-MT

Re: LOCADORA DE VEICULOS

Mensagem por EANDRIOLI »

VALEU PELA RESPOSTA A JATO... RSS.....

SEGUINTE, TENHO PARTE DO SISTEMA ASSIM:

No arquivo de RESERVAS é gravado: O veiculo, a data inicial e final da reserva.
Posso fazer varias reservas em vários períodos. Ex. Uma reserva iniciando em 01/10/2008 e findando em 31/10/2008.
Preciso fazer um teste para que se o usuario entrar por exemplo, com uma reserva entre 01/09/2008 a 31/12/2008 o programa não aceite.
Vejam que a primeira reserva fica dentro do período da segunda.

Obrigado!!!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

LOCADORA DE VEICULOS

Mensagem por Pablo César »

Então, se o seu arquivo RESERVAS é pequeno (não for pesado em número de registros), você poderia fazer com o LOCATE como mencionei na minha msg anterior:

LOCATE for data_ini>=dta_inicial .and. data_fim<=dta_fim .and. placa_veiculo=placa

Também sugiro que seu BD tenha mais dois campos (hora_ini e hora_fim) pois você poderia ter várias reservas num só dia. Ou isso não acontece ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder