RotinaMultaLocacao
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#]
[#VIDEO-149#]
Carlos Faria
Curtidas 0
Respostas
Wesley Yamazack
22/09/2009
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
Você mandou o banco de dados, e o sistema, mas não mandou sua duvida. O que seria ?
Abraço
Wesley Y
GOSTEI 0
Carlos Faria
22/09/2009
tentei renviar outra video tenta ai
GOSTEI 0
Wesley Yamazack
22/09/2009
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
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
GOSTEI 0
Carlos Faria
22/09/2009
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
GOSTEI 0
Carlos Faria
22/09/2009
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
GOSTEI 0
Carlos Faria
22/09/2009
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
GOSTEI 0
Carlos Faria
22/09/2009
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
GOSTEI 0
Wesley Yamazack
22/09/2009
OK carlos,
Vou analisar melhor, e logo te retornarei.
Att,
Wesley Y
Vou analisar melhor, e logo te retornarei.
Att,
Wesley Y
GOSTEI 0
Carlos Faria
22/09/2009
Tudo bem, quando tiver a resposta vc posta aqui
GOSTEI 0
Wesley Yamazack
22/09/2009
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
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
GOSTEI 0
Carlos Faria
22/09/2009
Ola Wesley
vou estudar essa rotina e ja te retorno
GOSTEI 0