Situación
1. Tenemos en un ordenador y varios periféricos que trabajan en red local. El servidor corre con Windows xp (no es posible actualizar ni conectar a la red pública), este ordenador funciona como servidor de un POS. 2. Este POS, a través de distintos terminales, crea pedidos (Tickets) y los manda a la cola de impresión del servidor. 3. La cola de impresión, lanza cada trabajo a su impresora correspondiente mediante una IP. (Disponemos de 9 impresoras)
4. Los documentos se imprimen en su impresora correspondiente
5. Después se genera un registro en un carpeta local con formato (.nombredelaimpresora) pero que al abrir con notepad o wordpad, es un fichero con todos los tickets que se han mandado a imprimir. (Nota: Si se borra este fichero y se manda un nuevo ticket se vuelve a generar automáticamente)
Necesidades
Se requiere un script, programa o impresora virtual que capte los ficheros que van a una impresora concreta. (Puede captarlos en la cola de impresión (Punto 2) o una vez generado el registro en el archivo (.nombredelaimpresora) (Punto 5)
Estos ficheros o fichero, deben copiarse a una carpeta alojada en un terminal en red y una vez allí, subirse a una Base de datos privada en un servidor online.
Cada vez que se actualice el fichero o se cree uno nuevo, debe crearse un nuevo registro en una base de datos y visualizarse el contenido del fichero en una PWA o App Android. Este registro quedará asociado a un reloj que comenzará automáticamente.
Desde un dispositivo, un administrador podrá visualizar la información. Editar su estado (en curso, en cola, etc..) Se podrá marcar como finalizado y ocultar el ticket.
Los datos se dividen de la siguiente forma
Existen varias categorías que tienen una configuración. Nombre Cat + Tiempo Idóneo + Puesto Asociado
Existen varias subcategorías que tienen una configuración. Nombre Subcat + Tiempo Idóneo + Puesto Asociado
Existen varios Items dentro de cada categoría/subcategoría que tienen su propia configuración. Nombre + Tiempo Preparación + Puesto Asociado
Ejemplo:
Entrantes
Tiempo idóneo: 15 min
Puestos asociados: Ensaladas, Entrantes, etc..
Ensaladas
Tiempo idóneo: 15 min
Puestos asociados: Ensaladas
Ensalada Clásica
Tiempo Preparación: 4 min
Puestos asociados: Ensaladas
Entonces, si se ha determinado que el tiempo idóneo para un Entrante es de 15 min, el sistema lo comparará con el resto de subcategorías que lo acompañen. Entonces restará el tiempo de preparación y avisará (mediante cambio de color) para lograr que todos los Items se elaboren y finalicen coordinadamente.
El administrador será el encargado de estar pendiente de este "Aviso" para coordinar a un equipo.
Ejemplo:
Entra un ticket tomado a las 22:00 y comienza a contar su tiempo.
El ticket está formado por 2 Entrantes (tiempo idóneo: 15 min) que pertenen a subcategorías diferentes (Ensaladas y Platos frios) y tienen tiempos de elaboración diferentes.
La ensalada tarda 5 min en elaborarse
El plato frio tarda 1 min en elaborarse
El sistema comienza a contar el tiempo.
Cuando quedan 5 min para acabar, cambia el estado de la Ensalada para avisar al administrador. El admin lo marca como "Comunicado"
Cuando queda 1 min para acabar , cambia el estado del Plato frio para avisar al administrador. El admin lo marca como "Comunicado"
Ambos platos deberían terminarse al mismo tiempo.
El admin puede marcar ambos items como "En camino". Una vez todos los items estén marcados como Finalizados. El ticket debe ocultarse.
Adjuntamos wireframe explicativo.