Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-07-2022
steelha steelha is offline
Miembro
 
Registrado: mar 2012
Posts: 158
Poder: 13
steelha Va por buen camino
Proceso Llamada Turnos alguna idea o ayuda

Buenos dias, tarde o noche , tiempo sin programar. Pero acá estamos con una dudo o problemas.
Estoy creando una aplicación de generación de Turnos Automatizados, hasta ahora todo bien hasta que llegue a este punto (Parte en rojo del dibujo).
Explicación: La persona debe seleccionar luego de digitar su identificación, el área del servicio a solicitar dependiendo de ellos le genera una secuencia dependiendo de cuantos hayan en cola para esa área. Luego un representante atenderá los turnos aleatoriamente según área. Acá es donde empieza. Una vez el representante presione el botón LLAMAR debería enviar a pantalla el numero que se esta llamando según la configuración de su pc donde envía la llamada; es decir que un representante en un 3er nivel no vera los del primer y viceversa.

Necesito ideas de como resolver esto, he pensado en un servicio pero de ese tema no manejo mucho. Incluso cree uno que solo corre un proceso del SQL para actualizar datos de una tablas, pero no pude presentar nada en pantalla y según lo leído los servicios no interactúan T_T alguna idea PLEASE. Muchas gracias por cualquier comentario que me ayude o encamine a una posible solución en verdad se los agradezco .

Última edición por steelha fecha: 08-07-2022 a las 18:13:09. Razón: No subi imagnes
Responder Con Cita
  #2  
Antiguo 08-07-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que nadie entenderá lo que preguntas
Responder Con Cita
  #3  
Antiguo 08-07-2022
steelha steelha is offline
Miembro
 
Registrado: mar 2012
Posts: 158
Poder: 13
steelha Va por buen camino
aaah no subio la imagen para que se vea mejor el planteamiento. El tema es que no se que hacer o como hacer para enviar la informacion en este caso una secuencia mas un string que seria el area y este se visualice en la pantalla de presentacion segun corresponda y segun el tipo que se envia seria TONO o VOZ esto esta en la configuracion de la patalla del representante.
Responder Con Cita
  #4  
Antiguo 09-07-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que sigue sin entenderse el problema que tienes o lo que quieres resolver.
Responder Con Cita
  #5  
Antiguo 11-07-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por steelha Ver Mensaje
Parte en rojo del dibujo.
No hay dibujo.

Cita:
Empezado por steelha Ver Mensaje
La persona debe seleccionar luego de digitar su identificación, el área del servicio a solicitar dependiendo de ellos le genera una secuencia dependiendo de cuantos hayan en cola para esa área. Luego un representante atenderá los turnos aleatoriamente según área. Acá es donde empieza. Una vez el representante presione el botón LLAMAR debería enviar a pantalla el numero que se esta llamando según la configuración de su pc donde envía la llamada; es decir que un representante en un 3er nivel no vera los del primer y viceversa.
Creo que estás intentando explicar la problemática desde el nivel conceptual, pero faltan muchos datos para poder entender el roceso que estás desarrollando.
Tal vez sea más sencillo si te centras en el problema técnico.

Cita:
Empezado por steelha Ver Mensaje
...he pensado en un servicio pero de ese tema no manejo mucho
Como bien comentas, un servicio corre continuamente y no interactua con el usuario (temas visuales), por lo que no veo qué te puede aportar hacer este trabajo en un servicio o en una aplicación.

Cita:
Empezado por steelha Ver Mensaje
El tema es que no se que hacer o como hacer para enviar la informacion en este caso una secuencia mas un string que seria el area y este se visualice en la pantalla de presentacion segun corresponda
Para que el "proceso A" genere datos y como comentas esos datos aparezcan "en una pantalla B", lo más sencillo, si estás trabajando con Base de Datos, es que utilices una tabla para el intercambio de información.
Si todos los terminales/pantallas están revisando la tabla "TURNOS" (por ponerle un nombre) , lo único que tiene que hacer el "proceso A" es añadir un registro a esa tabla, y luego el resto de terminales/pantallas leer continuamente esa tabla y cuando aparezca un "turno nuevo", revisar si es suyo y mostrarlo.

Es algo muy genérico porque con lo que explicas tampoco se puede "afinar" mucho más. Es más, tampoco estoy seguro de haber entendido lo que necesitas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 11-07-2022
steelha steelha is offline
Miembro
 
Registrado: mar 2012
Posts: 158
Poder: 13
steelha Va por buen camino
T_T perdón por no darme a entender pero con el planteamiento que me da Neftali se me ocurrió una idea de como realizar la llamada/visualización del turno sin necesidad de que haya ningún proceso (servicio) que intervenga. Si no hay mas aportes podremos dar como finalizado el hilo. Muchas gracias por la ayuda y mis disculpa por hacerles perder el tiempo y no pensar mas estaba abrumado con mucho trabajo
Responder Con Cita
  #7  
Antiguo 11-07-2022
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
Corrigeme si esta no es la idea:

1.- Cuando llega el cliente, introduce sus datos y selecciona la(s) operaciones que desea realizar. De acuerdo a esto se le asigna un turno al área adecuada.

2.- El cliente espera, observando una pantalla para que le indique cuando llegó su turno y el lugar a donde debe de dirigirse.

Si es eso, imaginalo como un patrón pub-sub.

Nota: Este es un ejemplo bastante simple, pero podría servir para aclarar ideas o como punto de partida.

1.- En donde en la entrada, el usuario se registra, este dispositivo estaría publicaría al tema, /surcursal<No>/add/turn algo como
Código:
{
  client: "Numero de cliente o datos del cliente",
  operation: ["Operacion(es)","a","realizar"]
}
Y este mismo dispositivo estaría suscrito a /sucursal<No>/confirmed/turn

En el cual recibe la confirmación de una forma similar a

Código:
{
  client: "Numero de cliente o datos del cliente",
  operation: ["Operacion(es)","a","realizar"],
  turn: "Codificación del turno",
  area: "Area a donde se tiene que dirigir",
  print: "Yes/No"
}
2.- La pantalla que indica a donde debes de dirigirte que estaría suscrito a un tema como /sucursal<No>/current_turn/turn con algo como

Código:
{
  turn: "Codificación del turno",
  area: "Area a donde se tiene que dirigir",
  agent: "Agente, Caja, o Representante al que tiene que acudir"
}
También para facilitar la ubicación del lugar donde tienes que asistir se podría agregar una codificación de colores, para que, desde una distancia adecuada puedas ir directamente con el representante que te toca, entonces se le podría agregar algo como

Código:
{
  turn: "Codificación del turno",
  area: "Area a donde se tiene que dirigir",
  agent: "Agente, Caja, o Representante al que tiene que acudir",
  color: "Color en formato RGB"
}
3.- El boton de llamar cliente que publicaría a /sucursal<No>/area/agent/next_client con la información de su área

Código:
{
    area: "Area",
    agent: "Representante",
    location: "..."
}
Y que estaría suscrito a algo como /sucursal<No>/area/agent/current_client que contenga los datos del cliente y lo que prentende hacer

Código:
{
  client: "Numero de cliente o datos del cliente",
  operation: ["Operacion(es)","a","realizar"],
  turn: "Codificación del turno",
  color: "Color en formato RGB" <-- opcional, por si se agrega codificación por color
}
4.- Un mini servidor que se puede hacer con dispositivos como el Raspberry Pi (hasta el más económico) que se encargue de la base de datos y de asignar los turnos de acuerdo con la información que le este llegando. Así por ejemplo estaría suscrito a los temas a los que publican los demás dispositivos además y publicaría a los temas a los que los demás dispositivos están suscritos.


Para esto existen protocolos como MQTT.
Responder Con Cita
  #8  
Antiguo 12-07-2022
steelha steelha is offline
Miembro
 
Registrado: mar 2012
Posts: 158
Poder: 13
steelha Va por buen camino
Gracias por la explicaciones tsk, leeré sobre el protocolo MQTT. Pero resolví agregando dos campos extras a la tabla TURNOS ahora mismo estoy desarrollando la aplicación que debería hacer el llamado cualquier problema que aparezca abro otro hilo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con delphi XE2... alguna idea? gramajo Varios 7 30-07-2013 22:51:10
Alguna idea.. (WORD) Libarra Servers 3 23-09-2008 15:46:41
Alguna idea?? Libarra MySQL 8 22-01-2008 19:44:50
Alguna Idea porfavor angeluz Conexión con bases de datos 8 12-12-2007 19:01:34
Alguna Idea alejodb Impresión 3 10-06-2004 17:29:43


La franja horaria es GMT +2. Ahora son las 20:33:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi