ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

(Resolvido}Ajuda com criacao de agendamento de horarios

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
leo_bruno
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Abril de 2010
Mensagens: 666

MensagemEnviada: Qua Mai 05, 2010 12:01 pm    Assunto: (Resolvido}Ajuda com criacao de agendamento de horarios Responder com Citação

Olá pessoal.

Estou com um problema que julgo ser dificil de resolver.

Trata-se de agendamento de horarios de atendimentos.

Preciso criar parametros customizaveis para agendamento de horarios, por funcionario.

Exemplo ....

O funcionario x inicia o atendimento da parte da manha as 08:00 e termina as 12:00, a duracao para cada atendimento é de 30 minutos.

na parte da tarde ele inicia o atendimento as 14:00 e termina as 17:00, porem a duracao é de 20 minutos.

Ja o funcionario y na parte da manha comeca as 10:00 e termina as 13:00, porem a duracao é de 15 minutos.

Tendo configurado estes parametros, deverei montar um grid pra cada funcionario, contendo todos os horarios. Ao agendar um horario, ele devera ficar marcado no grid com o nome do cliente agendado, e o tipo de servico a ser executado. O grid devera conter tanto os marcados , quanto os disponiveis, pra facilitar a marcacao de horarios pela telefonista.

Eu imaginei 2 maneiras pra isso, 1 delas envolveria o insert na tabela de agendamentos, no momento da configuracao da agenda, contendo 1 linha pra cada atendimento possivel, pra cada atendente possivel.

Apesar deste modelo ser facil, pois apenas envolve um insert e um DBGrid, nao é um modelo muito bom, pela grande quantidade de linhas geradas no banco.

Do outro modo que imaginei, eu pegaria da tabela de configuracao da agenda, 3 campos em time, sendo primeiro campo inicio do periodo, o segundo campo o fim do periodo e o terceiro campo, o intervalo entre um atendimento e outro. Os outros campos, sao a data inicial e final e o cod_atendente. Com estes dados, eu faria um while somando a duracao à hora inicial ate que a soma chegue a hora final menos a duracao.

Assim, apenas irei gravar no banco as linhas contendo atendimentos agendados, apesar de o grid tb mostrar os vagos, visto que os horarios disponiveis foram populados em tempo de execucao.

Ate aqui é facil e ja esta implementado.

O que preciso agora, é conseguir que o valor hora do atendimento (primeira coluna) que foi gerado em tempo de execucao, seja passado pra ADOQuery q grava no banco, junto com o restante dos dados que estao no dataset. (data, atendente, cliente, etc) e tambem o inverso,
ou seja, eu conseguir relacionar que o atendimento gravado no banco por exemplo com o horario '09:00:00' corresponde à linha que contem a primeira coluna com o mesmo valor.

Alguem pode ajudar ?


Editado pela última vez por leo_bruno em Dom Set 26, 2010 10:30 am, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fitlbanger
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 6 de Junho de 2007
Mensagens: 232
Localização: Cuiabá-MT

MensagemEnviada: Qua Mai 05, 2010 1:03 pm    Assunto: Responder com Citação

Tente usar um StringGrid, ai você deixa fixada quantas colunas e linhas necessitar.

Só que você vai ter que alimentar manualmente as linhas, pois o StringGrid não é um componente DB.

Você terá mais informações sobre o StringGrid em:

http://www.edudelphipage.com.br/dicas_titulos.php?categoria=24

Espero ter ajudado.

Att.
Carlos Fitl.
_________________
Acredite em você, pois podemos conquistar tudo desde que tenha interesse e dedicação.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
leo_bruno
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Abril de 2010
Mensagens: 666

MensagemEnviada: Sáb Mai 08, 2010 7:24 pm    Assunto: Responder com Citação

fitlbanger escreveu:
Tente usar um StringGrid, ai você deixa fixada quantas colunas e linhas necessitar.

Só que você vai ter que alimentar manualmente as linhas, pois o StringGrid não é um componente DB.

Você terá mais informações sobre o StringGrid em:

http://www.edudelphipage.com.br/dicas_titulos.php?categoria=24

Espero ter ajudado.

Att.
Carlos Fitl.


Olá amigo, me desculpe a demora pra agradecer, mas estava em viagem esta semana.

Bom, cheguei e estou tentando implementar a agenda.

Estou fazendo como string grid.

Vou tentar detalhar ao maximo o funcionamento.

Seguinte:

Pra este formulario eu estou usando principalmente, 2 tabelas, 1 delas contem as regras dos horarios que estao disponiveis pra ser agendados pra cada atendente.

a outra, é onde eu gravo os agendamentos, contendo a hora, data , codigo do cliente e do atendente.

na tabela onde eu parametrizo a agenda, os dados sao :

codigo do atendente, sequencia da agenda, horario inicial, horario final, duracao do atendimento.

No formulario de atendimentos, eu coloquei um combo pra selecionar o atendente e um month calendar pra selecionar a data.

Coloquei o string grid, e pus no evento onchange do combo, o adoquery pra ele buscar os dados no cadastro de agenda, amarrando pelo codigo do atendente.

Os horarios, ele esta colocando na primeira coluna do grid. O numero de linhas, ele esta contando o intervalo de atendimentos, e atribuindo a quantidade correta de linhas a serem montadas.

Esta parte esta funcionando beleza.

Agora eu preciso ligar a tabela que conterá os agendamentos, com o grid.


A data, irei passar pra ADOQueryAtendimento, o valor que está no calendar.

Como o atendente ja foi selecionado pra gerar os horarios, este dado ja está no dataset, entao é so passar pra ADOQueryAtendimento.

O que eu preciso fazer agora e não sei como :

1 - Ligar o resultado da ADOQueryAtendimento, com a coluna que tem o horario, usando os horarios que estao na query para alinhar as ROWS.

2 - Quando isso tiver pronto, aí que eu vou implementar a parte de gravar o agendamento no banco, outra coisa que também nao sei como fazer.

Visto que o código que tenho pronto, é só o calculo dos horarios sendo buscados em outra tabela, nao vejo necessidade de coloca-lo aqui. Mas se voce achar necessário eu coloco.

Eu fui no link que vc me mandou, mas a informacao que eu preciso, nao tem la.

Vc por acaso nao teria mais algum material ?

Desde já agradeço a sua colaboração.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fitlbanger
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 6 de Junho de 2007
Mensagens: 232
Localização: Cuiabá-MT

MensagemEnviada: Seg Mai 10, 2010 9:10 am    Assunto: Responder com Citação

Segue alguns links que falam sobre o StringGrid.

http://www.planetadelphi.com.br/dica/3637/simplex---stringgrid

http://www.babooforum.com.br/forum/index.php?showtopic=326859

http://www.delphibr.com.br/exemplos.php

http://fabiomassalino.blogspot.com/2007/12/dica-delphi-ordenando-stringgrid.html

http://sheepdogguides.com/dt2k.htm

http://www.techtips.com.br/programacao/movendo-colunas-e-linhas-em-um-stringgrid/

http://www.bradtrupp.com/delphi-hax252.html

http://www.ramosdainformatica.com.br/art_recentes01.php?CDA=23

http://www.activedelphi.com.br/forum/viewtopic.php?p=272978&sid=0883b48a2fc5cfc3e5743c80a88971dc

Att.
Carlos Fitl.
_________________
Acredite em você, pois podemos conquistar tudo desde que tenha interesse e dedicação.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB