Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Gestion de Turnos (https://www.clubdelphi.com/foros/showthread.php?t=91616)

sa_pirata 20-03-2017 02:33:23

Gestion de Turnos
 
Buenos dias (tardes o noche, según corresponda :D ), necesito de vuestra ayuda, ya estuve revisando algunos hilos y la verdad es que no pude encontrar algo que me sirva. por eso recurrí a escribir for help.
Estoy desarrollando un sistema para consultorios médicos, lo estoy haciendo por puro vicio de hacer algo (no porque me lo hayan pedido), y me encuentro varado en la gestión de los turnos porque la verdad es que no se me ocurre una manera eficiente de crear las tablas en la BD para responder a la administración de los mismos.
estaba pensando en crear algo como: una tabla de medico, tabla de días de la semana, parámetros de atención (horario entrada, horario salida, intervalo de turno). Pero no se como cruzar todo esto como para mostrar por ejemplo en un DBGrid los turnos del dia (tanto vacíos como ocupados).
Os agradecería si me pudieran pasar un ejemplo de las tablas (sea en acces, excel o lo que sea) solamente de esto de los turnos como para guiarme un poco. Solo quiero un poco de luz como para seguir.
Desde ya gracias a todos que siempre prestan su ayuda desinteresadamente.

AgustinOrtu 20-03-2017 04:54:29

Yo guardaria en una tabla los turnos reservados, entre los datos que guardes no pueden faltan la fecha y la hora. El resto es informacion que definis vos. Con esos datos podes calcular todas las atenciones de un dia. Los turnos ocupados son los que estan en tu tabla; los turnos libres es justamente lo contrario, es lo que no esta en tu tabla. Por decirlo de alguna manera: dia entero - turnos ocupados = turnos libres.

Osea no deberias guardar "cuando no esta libre". Asume que el dia esta todo libre a menos que haya un turno en ese mismo horario. Par la parte de la operatoria que consiste en comparar las horas para determinar "esta libre este horario?" intenta pensarla como lo harias cotidianamente, y luego traducelo a codigo

sa_pirata 20-03-2017 05:36:42

Agustin, muchas gracias por la respuesta. Justamente como lo dices es como lo tengo planteado, mi problema es el "como" mostrar los turnos libres...
Imagina una agenda diaria, en donde están todos los horarios laborables del dia... los turnos ocupados son aquellos que saco de la bd, con ello no hay problema, pero como muestro el turno que esta libre en esa agenda?
es decir, tengo un grid y si quisiera mostrar desde las 8:00 hasta las 18:00 de un dia, con intervalo de media hora cada turno, y que me muestre todos los intervalos, tanto ocupados como libres... eso es lo que necesito... el mostrar el ocupado, como dijimos, no hay problema, pero por ejemplo si a las 8:30 tuviera un lugar libre como lo muestro en el grid?
podría hacerse desde la misma consulta SQL para que ingresando el intervalo muestre todo? o deberé cruzar algún dato o parámetro desde el mismo delphi para lograrlo?

AgustinOrtu 21-03-2017 00:43:14

Eso es como queres diseñar la interfaz grafica. Yo lo que haria es dejar el casillero en blanco, o pones ponerle leyenda "libre", o colores. Hay muchas formas pero va en tus gustos o en los requerimientos, no hay una respuesta definitiva


La franja horaria es GMT +2. Ahora son las 11:26:37.

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