diff --git a/app.py b/app.py index 1424436..956ab16 100644 --- a/app.py +++ b/app.py @@ -7,13 +7,12 @@ load_dotenv() app = Flask(__name__) def obtener_turnos(): - 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 = 3 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") + 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 = 12 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") datos = cursor.fetchall() cursor.close() conn.close() @@ -21,6 +20,22 @@ def obtener_turnos(): except Exception as e: print(f"Error al conectar: {e}") return None + +def obtener_pie(): + conn = get_connection() + if not conn: + return [] + try: + cursor = conn.cursor() + cursor.execute("SELECT MENSAJE FROM CSMK_MONITOR_PIE WHERE MONITOR_ID = 12 AND INACTIVO = 0 ORDER BY MONITOR_PIE_ID ASC") + mensajes = [fila[0] for fila in cursor.fetchall()] + mensaje_final = " ".join(mensajes) + cursor.close() + conn.close() + return mensaje_final + except Exception as e: + print(f"Error al conectar: {e}") + return None @app.route('/') def index(): @@ -31,5 +46,10 @@ def api_datos(): filas = obtener_turnos() return jsonify(filas) +@app.route('/api/footer') +def api_pie(): + mensaje = obtener_pie() + return jsonify(mensaje) + if __name__ == '__main__': app.run(debug=True) \ No newline at end of file diff --git a/static/js/scripts.js b/static/js/scripts.js index 672281c..d085490 100644 --- a/static/js/scripts.js +++ b/static/js/scripts.js @@ -7,6 +7,14 @@ function cargarTabla() { .then(filas => { const tbody = document.getElementById("turnos"); tbody.innerHTML = ""; + + let sizeClass =""; + if (filas.length <= 7){ + sizeClass ="text-7xl px-4 py-2"; + } else { + sizeClass ="text-5xl px-3 py-1" + } + filas.forEach(fila => { const id = fila[0]; @@ -14,7 +22,7 @@ function cargarTabla() { const td1 = document.createElement("td"); td1.textContent = fila[0]; - td1.className = "border px-4 py-2 bg-[#114b94] align-middle"; + td1.className = `border bg-[#114b94] align-middle ${sizeClass}`; tr.appendChild(td1); const td2 = document.createElement("td"); @@ -24,18 +32,17 @@ function cargarTabla() { if (estadoConsulta == 0) { td2.textContent = "-"; - td2.className = "border px-4 py-2 bg-[#a9a9a9] align-middle"; + td2.className = `border bg-[#a9a9a9] align-middle ${sizeClass}`; } else if (estadoConsulta == 1) { td2.textContent = fila[2]; if (estadoTurno == 1) { - sonido.play(); - td2.className = "border px-4 py-2 blink-yellow align-middle"; + td2.className = `border blink-yellow align-middle ${sizeClass}`; } else { - td2.className = "border px-4 py-2 bg-[#0a6eb2] align-middle"; + td2.className = `border bg-[#0a6eb2] align-middle ${sizeClass}`; } } else { td2.textContent = fila[2]; - td2.className = "border px-4 py-2 bg-[#a9a9a9] align-middle"; + td2.className = `border bg-[#a9a9a9] align-middle ${sizeClass}`; } if (estadoAnterior[id] === 2 && estadoTurno === 1) { @@ -43,7 +50,7 @@ function cargarTabla() { } estadoAnterior[id] = estadoTurno; - + tr.appendChild(td2); tbody.appendChild(tr); }); @@ -62,4 +69,4 @@ function cargarFooter() { cargarFooter(); cargarTabla(); setInterval(cargarTabla, 30000); -setInterval(cargarFooter, 60000); +setInterval(cargarFooter, 60000); \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 4aee3ee..051a833 100644 --- a/templates/index.html +++ b/templates/index.html @@ -27,13 +27,13 @@ TURNO - + \ No newline at end of file