diff --git a/app.py b/app.py index df64083..74e8fbd 100644 --- a/app.py +++ b/app.py @@ -4,17 +4,19 @@ from dotenv import load_dotenv import os load_dotenv() -monitor = os.getenv("MONITOR_ID") + +monitor1 = os.getenv("MONITOR_ID_1") +monitor2 = os.getenv("MONITOR_ID_2") app = Flask(__name__) -def obtener_turnos(): +def obtener_turnos(mon_id): conn = get_connection() if not conn: return [] try: cursor = conn.cursor() - cursor.execute("SELECT CONS_ESTAD.CODIGO_IMPRESION CONSULTA, CONS_ESTAD.ESTADO_ID ESTADO_CONSULTA, TM.CODIGO_TURNO TURNO, TM.ESTADO_ID ESTADO_TURNO FROM CSMK_TURNO_MON TM, (SELECT ROW_NUMBER() OVER (PARTITION BY ESTADO.ESTANCIA_ID ORDER BY CONSULTA_ESTADO_ID DESC) AS RN, ESTADO.ESTADO_ID, ESTANCIA.* FROM CSMK_CONSULTA_ESTADO ESTADO, CSMK_ESTANCIA ESTANCIA WHERE ESTADO.FECHA = TRUNC (SYSDATE) AND ESTADO.ESTANCIA_ID = ESTANCIA.ESTANCIA_ID AND ESTANCIA.MONITOR_ID = :monitor ORDER BY ESTADO.CONSULTA_ESTADO_ID DESC) CONS_ESTAD WHERE CONS_ESTAD.RN = 1 AND TM.ESTANCIA_ID = CONS_ESTAD.ESTANCIA_ID AND TM.MONITOR_ID = CONS_ESTAD.MONITOR_ID AND TM.ESTADO_ID IN (1,2) AND TM.FECHA = TRUNC(SYSDATE) ORDER BY CONSULTA ASC",{'monitor':monitor}) + cursor.execute("SELECT CONS_ESTAD.CODIGO_IMPRESION CONSULTA, CONS_ESTAD.ESTADO_ID ESTADO_CONSULTA, TM.CODIGO_TURNO TURNO, TM.ESTADO_ID ESTADO_TURNO FROM CSMK_TURNO_MON TM, (SELECT ROW_NUMBER() OVER (PARTITION BY ESTADO.ESTANCIA_ID ORDER BY CONSULTA_ESTADO_ID DESC) AS RN, ESTADO.ESTADO_ID, ESTANCIA.* FROM CSMK_CONSULTA_ESTADO ESTADO, CSMK_ESTANCIA ESTANCIA WHERE ESTADO.FECHA = TRUNC (SYSDATE) AND ESTADO.ESTANCIA_ID = ESTANCIA.ESTANCIA_ID AND ESTANCIA.MONITOR_ID = :monitor ORDER BY ESTADO.CONSULTA_ESTADO_ID DESC) CONS_ESTAD WHERE CONS_ESTAD.RN = 1 AND TM.ESTANCIA_ID = CONS_ESTAD.ESTANCIA_ID AND TM.MONITOR_ID = CONS_ESTAD.MONITOR_ID AND TM.ESTADO_ID IN (1,2) AND TM.FECHA = TRUNC(SYSDATE) ORDER BY CONSULTA ASC",{'monitor':mon_id}) datos = cursor.fetchall() cursor.close() conn.close() @@ -23,15 +25,15 @@ def obtener_turnos(): print(f"Error al conectar: {e}") return None -def obtener_pie(): +def obtener_pie(mon_id): conn = get_connection() if not conn: return [] try: cursor = conn.cursor() - cursor.execute("SELECT MENSAJE FROM CSMK_MONITOR_PIE WHERE MONITOR_ID = :monitor AND INACTIVO = 0 ORDER BY MONITOR_PIE_ID ASC",{'monitor':monitor}) + cursor.execute("SELECT MENSAJE FROM CSMK_MONITOR_PIE WHERE MONITOR_ID = :monitor AND INACTIVO = 0 ORDER BY MONITOR_PIE_ID ASC",{'monitor':mon_id}) mensajes = [fila[0] for fila in cursor.fetchall()] - mensaje_final = " ".join(mensajes) + mensaje_final = "          ".join(mensajes) cursor.close() conn.close() return mensaje_final @@ -43,15 +45,20 @@ def obtener_pie(): def index(): return render_template("index.html") -@app.route('/api/datos') -def api_datos(): - filas = obtener_turnos() +@app.route('/api/datos1') +def api_datos1(): + filas = obtener_turnos(monitor1) + return jsonify(filas) + +@app.route('/api/datos2') +def api_datos2(): + filas = obtener_turnos(monitor2) return jsonify(filas) @app.route('/api/footer') def api_pie(): - mensaje = obtener_pie() + mensaje = obtener_pie(1) return Response(mensaje, mimetype='text/plain') if __name__ == '__main__': - app.run(debug=True) \ No newline at end of file + app.run(debug=True,host='192.168.82.156') \ No newline at end of file diff --git a/example.env b/example.env index f7a8f50..66b9d32 100644 --- a/example.env +++ b/example.env @@ -3,4 +3,5 @@ DB_PASSWORD=CSMKIOSCOS DB_HOST=192.168.1.76 DB_PORT=1521 DB_SID=REALRAC1 -MONITOR_ID=12 \ No newline at end of file +MONITOR_ID_1=1 +MONITOR_ID_2=2 \ No newline at end of file diff --git a/static/css/styles.css b/static/css/styles.css index e3d1a95..1a0484f 100644 --- a/static/css/styles.css +++ b/static/css/styles.css @@ -8,11 +8,9 @@ } .animate-scroll { - display: inline-block; animation: scroll 45s linear infinite; } - @keyframes blink { 0%, 100% { background-color: #0a6eb2} 50% { background-color: #ffff00; color: black; } diff --git a/static/js/scripts.js b/static/js/scripts.js index 935b4bb..fc9ee67 100644 --- a/static/js/scripts.js +++ b/static/js/scripts.js @@ -3,11 +3,11 @@ const estadoAnterior = {}; let ultimoFooter = ""; -function cargarTabla() { - fetch("/api/datos") +function cargarTabla(endpoint, tablaId) { + fetch(endpoint) .then(res => res.json()) .then(filas => { - const tbody = document.getElementById("turnos"); + const tbody = document.getElementById(tablaId); tbody.innerHTML = ""; let sizeClass = ""; @@ -75,7 +75,11 @@ function cargarFooter() { }); } +function actualizarTablas(){ + cargarTabla("/api/datos1","turnos1"); + cargarTabla("/api/datos2","turnos2"); +} cargarFooter(); -cargarTabla(); -setInterval(cargarTabla, 30000); +actualizarTablas(); +setInterval(actualizarTablas, 30000); setInterval(cargarFooter, 45000); \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 045af5b..58eb8eb 100644 --- a/templates/index.html +++ b/templates/index.html @@ -15,9 +15,21 @@
-
+ +
+ + + + + + + + + +
CONSULTATURNO
@@ -27,18 +39,22 @@ - +
TURNO
-