Fórum RotinaMultaLocacao #9461

22/09/2009

0

Ola pessoal Estou enviando junto com a video os link do projeto e do banco de dados nos formatos delphi 2009 e sql server 2005 Peço que mudem a coneçao para dbteste pois o banco mototaxi esta diferente esqueci de mudar a conecao antes de enviar o arquivo http://video.devmedia.com.br/discovirtual/187481/MeuProjeto092009/23-09-2009.zip http://video.devmedia.com.br/discovirtual/187481/MeuProjeto092009/DISP_BACKUP.rar

[#VIDEO-149#]
Carlos Faria

Carlos Faria

Responder

Posts

22/09/2009

Wesley Yamazack

Bom dia Carlos,
  Você mandou o banco de dados, e o sistema, mas não mandou sua duvida. O que seria ?

Abraço

Wesley Y
Responder

Gostei + 0

22/09/2009

Carlos Faria

tentei renviar outra video tenta ai
Responder

Gostei + 0

24/09/2009

Wesley Yamazack

Ola Carlos,

  Pelo que vi você quer criar uma rotina com 2 turnos de 7 as 19 e de 20 as 20:59 e 06:59 as 21 , se for isso faça o seguinte;

function TForm1.RetonarTurno(HrAtual: String): String;
begin
  if ( (StrToTime(HrAtual) >= StrToTime('07:00:00')) and (StrToTime(HrAtual) < StrToTime('19:00:00'))) then
     Result := 'Esta no Horadio do 1º Turno'
  else
  if ( (StrToTime(HrAtual) >= StrToTime('20:00:00')) and (StrToTime(HrAtual) < StrToTime('20:59:59'))) then
     Result := 'Horario de Tolerancia'
  else
  if ( (StrToTime(HrAtual) <= StrToTime('21:00:00')) and (StrToTime(HrAtual) < StrToTime('06:59:59'))) then
     Result := 'Esta no Horadio do 2º Turno'
end;
   E sobre atualizar no Relatório de Locados, você pode fazer na hora de abrir o form, sem problemas, e se possível ainda faça na hora que o sistema for aberto, para ter certeza de que será atualizado ao menos uma vez.

   Sobre as refactorys, segue abaixo o link da mesma [ video.devmedia.com.br/RodrigoCarreiro/Consultoria/Chamado778.zip ] , seguindo solicitação do Rodrigo, o mesmo falou para você salvar os videos na sua máquina, pois podem ser removidos a qualquer momento.

Att,

Wesley Y
Responder

Gostei + 0

24/09/2009

Carlos Faria

Ola Wesley Bom na verdade e quase isso mais ainda falta algo vou tentar ser mais claro pra vc entender melhor     horario de trabalho turno dias  vai das 07:00 as 19:00 tolerancia maxima para devolução do radio 20:00 se execeder cobra multa de x da mesma forma funciona o turno da noite. Na outra ipotese vamos imaginar que o camarada locou um radio de 01/01/2009 as 07:00 e devolveu as 18:00 o valor da diaria sera uma somente , outro camarada locou um radio nesse mesmo horario mais o devolveu as 21:00 o sistema tem que entender que sao duas diarias pois 21:00 exedeu o horario limite de trabalho que vai de 07:00 as 19:00 e que tem uma hora de tolerancia incerrando assim as 20:00   vamos imaginar ainda que um terceiro camarada locou um radio de 01/01/2009 as 07:00 e o devolveu no dia 02/01/2009 as 23:00 a funcao tem que entender que houve :      uma diaria no dia 01/01 que terminou as 20:00 e se inciou outra que encerrou as 08:00 e ja comecou outra que terminou as 20:00 e comecou outra concluindo         seriam 4 locacoes isso que a funcao tem que fazer, determinar que os horarios de trabalhos vao de 07:00 as 19:00 e das 19:00 as 07:00 do dia seguinte cada um com uma hora de tolerancia no maximo e que se exeditos iniciam uma nova locacao somando com aquela ja esta cadastrado no sistema como funciona na verdade um sistema de locadoras   e por ai
Responder

Gostei + 0

24/09/2009

Carlos Faria

Ola Wesley Bom na verdade e quase isso mais ainda falta algo vou tentar ser mais claro pra vc entender melhor     horario de trabalho turno dias  vai das 07:00 as 19:00 tolerancia maxima para devolução do radio 20:00 se execeder cobra multa de x da mesma forma funciona o turno da noite. Na outra ipotese vamos imaginar que o camarada locou um radio de 01/01/2009 as 07:00 e devolveu as 18:00 o valor da diaria sera uma somente , outro camarada locou um radio nesse mesmo horario mais o devolveu as 21:00 o sistema tem que entender que sao duas diarias pois 21:00 exedeu o horario limite de trabalho que vai de 07:00 as 19:00 e que tem uma hora de tolerancia incerrando assim as 20:00   vamos imaginar ainda que um terceiro camarada locou um radio de 01/01/2009 as 07:00 e o devolveu no dia 02/01/2009 as 23:00 a funcao tem que entender que houve :      uma diaria no dia 01/01 que terminou as 20:00 e se inciou outra que encerrou as 08:00 e ja comecou outra que terminou as 20:00 e comecou outra concluindo         seriam 4 locacoes isso que a funcao tem que fazer, determinar que os horarios de trabalhos vao de 07:00 as 19:00 e das 19:00 as 07:00 do dia seguinte cada um com uma hora de tolerancia no maximo e que se exeditos iniciam uma nova locacao somando com aquela ja esta cadastrado no sistema como funciona na verdade um sistema de locadoras   e por ai
Responder

Gostei + 0

24/09/2009

Carlos Faria

Ola Wesley Bom na verdade e quase isso mais ainda falta algo vou tentar ser mais claro pra vc entender melhor     horario de trabalho turno dias  vai das 07:00 as 19:00 tolerancia maxima para devolução do radio 20:00 se execeder cobra multa de x da mesma forma funciona o turno da noite. Na outra ipotese vamos imaginar que o camarada locou um radio de 01/01/2009 as 07:00 e devolveu as 18:00 o valor da diaria sera uma somente , outro camarada locou um radio nesse mesmo horario mais o devolveu as 21:00 o sistema tem que entender que sao duas diarias pois 21:00 exedeu o horario limite de trabalho que vai de 07:00 as 19:00 e que tem uma hora de tolerancia incerrando assim as 20:00   vamos imaginar ainda que um terceiro camarada locou um radio de 01/01/2009 as 07:00 e o devolveu no dia 02/01/2009 as 23:00 a funcao tem que entender que houve :      uma diaria no dia 01/01 que terminou as 20:00 e se inciou outra que encerrou as 08:00 e ja comecou outra que terminou as 20:00 e comecou outra concluindo         seriam 4 locacoes isso que a funcao tem que fazer, determinar que os horarios de trabalhos vao de 07:00 as 19:00 e das 19:00 as 07:00 do dia seguinte cada um com uma hora de tolerancia no maximo e que se exeditos iniciam uma nova locacao somando com aquela ja esta cadastrado no sistema como funciona na verdade um sistema de locadoras   e por ai   wesley sei que isso nao e com tigo nao mas fala para o pessoal responsavel pelo site que isso aqui ta meio doidao eu clico no botao gravar e nada penso que nao esta registrando o chamado e quando vou ver abri varios
Responder

Gostei + 0

24/09/2009

Carlos Faria

Ola Wesley Bom na verdade e quase isso mais ainda falta algo vou tentar ser mais claro pra vc entender melhor     horario de trabalho turno dias  vai das 07:00 as 19:00 tolerancia maxima para devolução do radio 20:00 se execeder cobra multa de x da mesma forma funciona o turno da noite. Na outra ipotese vamos imaginar que o camarada locou um radio de 01/01/2009 as 07:00 e devolveu as 18:00 o valor da diaria sera uma somente , outro camarada locou um radio nesse mesmo horario mais o devolveu as 21:00 o sistema tem que entender que sao duas diarias pois 21:00 exedeu o horario limite de trabalho que vai de 07:00 as 19:00 e que tem uma hora de tolerancia incerrando assim as 20:00   vamos imaginar ainda que um terceiro camarada locou um radio de 01/01/2009 as 07:00 e o devolveu no dia 02/01/2009 as 23:00 a funcao tem que entender que houve :      uma diaria no dia 01/01 que terminou as 20:00 e se inciou outra que encerrou as 08:00 e ja comecou outra que terminou as 20:00 e comecou outra concluindo         seriam 4 locacoes isso que a funcao tem que fazer, determinar que os horarios de trabalhos vao de 07:00 as 19:00 e das 19:00 as 07:00 do dia seguinte cada um com uma hora de tolerancia no maximo e que se exeditos iniciam uma nova locacao somando com aquela ja esta cadastrado no sistema como funciona na verdade um sistema de locadoras   e por ai   wesley sei que isso nao e com tigo nao mas fala para o pessoal responsavel pelo site que isso aqui ta meio doidao eu clico no botao gravar e nada penso que nao esta registrando o chamado e quando vou ver abri varios
Responder

Gostei + 0

26/09/2009

Wesley Yamazack

OK carlos,

Vou analisar melhor, e logo te retornarei.

Att,

Wesley Y
Responder

Gostei + 0

26/09/2009

Carlos Faria

Tudo bem, quando tiver a resposta vc posta aqui
Responder

Gostei + 0

29/09/2009

Wesley Yamazack

Olá Carlos,


Fiz aqui uma rotina para calcular quantos dias você terá entre o período, veja se é isso que você esta querendo, falta ainda as horas, mas me fale se seria isso.


procedure TForm1.CalculaDiaria(DtHrPedido: TDateTime);
Var
  DtHrAtual : TDateTime;
  Dias : Integer;
  Horas : Integer;
begin
  DtHrAtual := Date; //Data/Hora Atual para executar a devolução
  Dias  := DaysBetween(DtHrPedido,DtHrAtual);
  Horas := HoursBetween(DtHrPedido,DtHrAtual);
  if (Horas div 24) > 0 then //Dividindo as horas por 24 para saber quantos dias existem
  begin
    ShowMessage('Mais de 1 dia');
  end
  else
    ShowMessage('Menos de 1 dia');

  ShowMessage(' Dias : ' +IntToStr (Dias)+#13+
              ' Hora : ' +IntToStr (Horas));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CalculaDiaria(StrToDateTime('27/09/2009 10:00:00'));
end;




Att,

Wesley Y
Responder

Gostei + 0

01/10/2009

Carlos Faria

Ola Wesley vou estudar essa rotina e ja te retorno
Responder

Gostei + 0

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

Aceitar