DISTRIBUICAO SEQUENCIAL

MARCIOFERRER 16/04/2014 17:36:15
#437363
Boa tarde,

Primeiramente gostaria de informar que sou novo no fórum e em programação, e que estou tentando criar um sistema para facilitar o meu trabalho. Vamos a questão. Tenho 3 funcionários que são responsáveis por fazer a transferência de aluno de cada período (Matutino, vespertino e noturno). Até ai tudo bem, pois vinculei o período que o aluno estuda ao período que o funcionário trabalha, ou seja, a pessoa que trabalha no matutino faz a transferência do aluno que estuda no matutino e assim com os outros turnos, mas isso com relação ao aluno corrente (2014). A situação se complica quando alguém vem solicitar a transferência de alunos que estudaram em anos anteriores a 2014, (2013, 2012, 2011, 2010, ......), estas transferências devem seguir uma sequência entre os funcionários, ou seja, chegou uma pessoa e solicitou uma transferência, esta sera direcionada para a funcionaria 1, chegou outra pessoa e pediu outra, esta sera direcionada para a funcionaria 2, chegou outra pessoa e pediu outra, esta sera direcionada para a funcionaria 3, o próximo pedido, como já chegou a ultima funcionaria (3) devera ser novamente direcionado para a funcionaria 1. Espero
FILMAN 16/04/2014 20:39:58
#437370
Na realidade você deve fazer como um controle de guichês

Primeiro
O Aluno solicita a senha no requisito estipulado (Matutino, vespertino e noturno).
- Solicitou a senha já esta na fila ou seja guardou em uma tabela!

Segundo
A funcionária realizará a chamada da senha
-Quando o aluno chegou e pegou a senha entrou na fila ai a funcionária que estiver livre entra em um sistema de controle da senha e faz a chamada da senha seguinte.
- Quando ela chamar a senha aponta qual a funcionário que chamou, visto que ela estará logada no sistema!


A ideia é essa e não se automático pelo sistema sempre 1,2,3 acabou então 1,2,3. Pode ser 1,2,3,2,1,3...

Espero ter ajudado
MARCIOFERRER 16/04/2014 22:00:55
#437383
Este é um controle de pedido de transferência para uma escola. As transferências do ano em curso (2014) são distribuídas de acordo com o turno, ou seja, se o aluno estuda de manha, sera a funcionaria da manha que fara a transferência do aluno, se o aluno estuda a tarde, sera a funcionaria da tarde e se o aluno estuda a noite sera a funcionaria do noturno. Até ai ja vinculei a responsável pela confecção da transferência de acordo com o turno que o aluno estuda, Agora temos pedidos de transferência que são de alunos que não foram feitas na época oportuna, ou seja, estudaram em anos anteriores a 2014, (2013, 2012, 2011, etc). Ex.: O aluno estudou na escola em 2012 e veio solicitar a transferência hoje, dai tenho vincular um pedido para cada funcionária de forma que o sistema sempre faça nesta 1,2,3 e depois volte novamente para o 1. Ex.: chega o joão e pede a transferência, o sistema destina esta transferência para a funcionaria 1, quando o pedro vier solicitar, o sistema destina para a funcionaria 2, quando a maria vier solicitar a transferência, o sistema destina a funcionaria 3, quando o próximo vier solicitar a transferência o sistema volte para o inicio da fila ou seja, novamente para a funcionaria 1.
FILMAN 16/04/2014 23:49:29
#437387
Até ai entendi.

Agora vamos pensar assim

O João chegou e pediu a transferência, mas ainda não chegou nem o Pedro e nem a Maria, mas o João terminou de fazer a transferência.
Então fica a pergunta. quando o Pedro chegar ele vai para a Funcionária 2 ou 1?
MARCIOFERRER 17/04/2014 18:50:43
#437407
Funcionaria 1 trabalha no período matutino e faz as transferências dos alunos que estudam no período matutino no ano de 2014,
Funcionaria 2 trabalha no período vespertino e faz as transferências dos alunos que estudam no período vespertino no ano de 2014,
Funcionaria 3 trabalha no período Noturno e faz as transferências dos alunos que estudam no período noturno no ano de 2014,
Até ai esta tudo funcionando perfeitamente. Outra coisa importante de lembrar é que cada funcionaria trabalha em apenas 1 turno. Então a questão está nas transferências de anos anteriores a 2014, ou seja, 2013 para tás que devera ser distribuída igualmente para as 3 funcionárias a cada pedido. Vamos supor que 3 pessoas vem solicitar transferência, então preciso de um código para que distribua 1 transferência para cada funcionário. E assim sucessivamente. A questão é que a cada transferência solicitada o sistema distribua para os funcionários igualmente, para que fique dividido entre eles. tipo assim;
chegou uma pessoa para solicitar, o sistema distribui para a funcionaria 01, chegou outra o sistema distribui para o funcionária 2, chegou outra o sistema distribua para a funcionaria 3, e que no próximo ele volte para a funcionaria 1. Segue o que eu fiz para o ano em curso, que esta vinculado ao turno que o aluno estuda.


Private Sub CmbTurno_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbTurno.SelectedIndexChanged
TxtResponsavel.Text = CmbTurno.Text
Select Case CmbTurno.SelectedIndex
Case 0
TxtResponsavel.Text = [Ô]func1[Ô]
Case 1
TxtResponsavel.Text = [Ô]func2[Ô]
Case 2
TxtResponsavel.Text = [Ô]func3[Ô]
End Select
End Sub
FFCOUTO 17/04/2014 21:41:28
#437411
Resposta escolhida
Marcio, crie uma tabela da seguinte forma:
id = auto_numeração
id_func = id do funcionário que irá fazer o atendimento
id_aluno = id do aluno
and_ref = ano de referência
data_pedido = data e hora do pedido

Quando o João fizer o seu pedido você irá gravar:
1, 1, 1, 2013, 17/04/2014 14:00

Quando o Pedro fizer o pedido, você irá fazer uma consulta da seguinte forma:
sql = [Ô]SELECT TOP 1 id_func FROM tabela ORDER BY data_pedido DESC;

Desta forma você irá pegar o último funcionário que ficou responsável pelo serviço.
Basta fazer a condição:
If r([Ô]id_func[Ô]) = 3 Then
novoID = 1
Else
novoID = r([Ô]id_func[Ô]) + 1
End If


Agora você faz a inserção normalmente
2, 2, 10, 2012, 18/04/2014 09:00

Para cada novo pedido realize a consulta e grave os novos valores.

Espero que tenha entendido o raciocínio e qualquer coisa poste as dúvidas.
JABA 18/04/2014 23:04:41
#437423
E na parte de interação com a tela do sistema, como ficará? Tipo: Quais controles serão necessários? Ela vai manipular algum controle? Vai ser necessário mostrar alguma coisa? etc.

Com relação a lógica do sistema, talvez seja melhor reorganizar a distribuição por turnos ao invés de ser por funcionários.


MARCIOFERRER 19/04/2014 22:01:24
#437449
segue tela do sistema.
MARCIOFERRER 22/04/2014 21:44:53
#437511
If r([Ô]id_func[Ô]) = 3 Then
novoID = 1
Else
novoID = r([Ô]id_func[Ô]) + 1
End If

O que é esse r dessa função
FILMAN 23/04/2014 21:35:04
#437549
vamos pensar assim

O Aluno chegou até a escola/faculdade e vai solicitar a transferência.

O que o aluno faz antes de solicitar?
O que o aluno faz para informar a funcionário que quer solicitar a transferência?
O aluno vai pegar uma senha? Se (SIM): Quem entrega a senha, é via sistema?
FFCOUTO 23/04/2014 21:43:41
#437550

Citação:

O que é esse r dessa função



Márcio, esse r é o objeto recordset que você vai utilizar.

sql = [Ô]SELECT TOP 1 id_func FROM tabela ORDER BY data_pedido DESC;
Set r = db.OpenRecordset(sql);

If r([Ô]id_func[Ô]) = 3 Then
novoID = 1
Else
novoID = r([Ô]id_func[Ô]) + 1
End If


Qualquer dúvida poste novamente.
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas