From 0b3dda43f9cbba0ad9b51dbb61ab26244d8bf277 Mon Sep 17 00:00:00 2001 From: DAVIDB Date: Fri, 3 Oct 2025 13:00:09 +0200 Subject: [PATCH] Update: Modifico el tiempo de refresco con una variable. --- app.py | 10 ++++++---- example.env | 6 ++++-- static/js/scripts.js | 10 +++++++--- templates/index.html | 2 ++ 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/app.py b/app.py index 618630b..8737682 100644 --- a/app.py +++ b/app.py @@ -8,13 +8,15 @@ load_dotenv() ip = os.getenv("IPSERVER") puerto = os.getenv("PORT") modo = os.getenv("MODE", "1") -no_estado = os.getenv("NESTADO","0") +no_estado1 = os.getenv("NESTADO1","0") +no_estado2 = os.getenv("NESTADO2","0") monitor1 = os.getenv("MONITOR_ID_1") monitor2 = os.getenv("MONITOR_ID_2") es_quirofano_1 = os.getenv("IS_QUIRO_1") es_quirofano_2 = os.getenv("IS_QUIRO_2") tema = os.getenv("THEME", "csm") extender = os.getenv("EXTEND") +interval_refresh = os.getenv("TIME_REFRESH", 10000) query = "" tema_styles = { "csm": { @@ -67,12 +69,12 @@ def obtener_pie(mon_id1, mon_id2): @app.route('/') def index(): tema_colores = tema_styles.get(tema, tema_styles["csm"]) - return render_template("index.html", mode=modo, theme=tema, theme_colors=tema_colores, quiro1=es_quirofano_1, quiro2=es_quirofano_2) + return render_template("index.html", mode=modo, theme=tema, theme_colors=tema_colores, quiro1=es_quirofano_1, quiro2=es_quirofano_2, refresh_interval = interval_refresh) @app.route('/api/datos1') def api_datos1(): - if no_estado == "1": + if no_estado1 == "1": cons_estado = "SELECT * FROM (SELECT D.*, ROW_NUMBER () OVER (PARTITION BY ESTANCIA_ID ORDER BY RN) AS ORDEN FROM (SELECT ROW_NUMBER () OVER (PARTITION BY ESTADO.ESTANCIA_ID ORDER BY ESTADO.CONSULTA_ESTADO_ID DESC) AS RN, ESTADO.ESTADO_ID, ESTANCIA.* FROM CSMK_CONSULTA_ESTADO ESTADO JOIN CSMK_ESTANCIA ESTANCIA ON ESTADO.ESTANCIA_ID = ESTANCIA.ESTANCIA_ID WHERE ESTADO.FECHA = TRUNC (SYSDATE) AND ESTANCIA.MONITOR_ID = :monitor UNION ALL SELECT 1 AS RN, 1 AS ESTADO_ID, ESTANCIA.* FROM CSMK_ESTANCIA ESTANCIA WHERE ESTANCIA.MONITOR_ID = :monitor) D) WHERE ORDEN = 1" else: cons_estado = "SELECT ROW_NUMBER () OVER (PARTITION BY ESTADO.ESTANCIA_ID ORDER BY ESTADO.CONSULTA_ESTADO_ID DESC) AS RN, ESTADO.ESTADO_ID, ESTANCIA.* FROM CSMK_CONSULTA_ESTADO ESTADO JOIN CSMK_ESTANCIA ESTANCIA ON ESTADO.ESTANCIA_ID = ESTANCIA.ESTANCIA_ID WHERE ESTADO.FECHA = TRUNC (SYSDATE) AND ESTANCIA.MONITOR_ID = :monitor" @@ -91,7 +93,7 @@ def api_datos1(): def api_datos2(): global monitor2 - if no_estado == "1": + if no_estado2 == "1": cons_estado = "SELECT * FROM (SELECT D.*, ROW_NUMBER () OVER (PARTITION BY ESTANCIA_ID ORDER BY RN) AS ORDEN FROM (SELECT ROW_NUMBER () OVER (PARTITION BY ESTADO.ESTANCIA_ID ORDER BY ESTADO.CONSULTA_ESTADO_ID DESC) AS RN, ESTADO.ESTADO_ID, ESTANCIA.* FROM CSMK_CONSULTA_ESTADO ESTADO JOIN CSMK_ESTANCIA ESTANCIA ON ESTADO.ESTANCIA_ID = ESTANCIA.ESTANCIA_ID WHERE ESTADO.FECHA = TRUNC (SYSDATE) AND ESTANCIA.MONITOR_ID = :monitor UNION ALL SELECT 1 AS RN, 1 AS ESTADO_ID, ESTANCIA.* FROM CSMK_ESTANCIA ESTANCIA WHERE ESTANCIA.MONITOR_ID = :monitor) D) WHERE ORDEN = 1" else: cons_estado = "SELECT ROW_NUMBER () OVER (PARTITION BY ESTADO.ESTANCIA_ID ORDER BY ESTADO.CONSULTA_ESTADO_ID DESC) AS RN, ESTADO.ESTADO_ID, ESTANCIA.* FROM CSMK_CONSULTA_ESTADO ESTADO JOIN CSMK_ESTANCIA ESTANCIA ON ESTADO.ESTANCIA_ID = ESTANCIA.ESTANCIA_ID WHERE ESTADO.FECHA = TRUNC (SYSDATE) AND ESTANCIA.MONITOR_ID = :monitor" diff --git a/example.env b/example.env index bd6e2c6..aba6c36 100644 --- a/example.env +++ b/example.env @@ -11,6 +11,8 @@ THEME="csm" MONITOR_ID_1=0 MONITOR_ID_2=0 EXTEND=0 -NESTADO=0 +NESTADO1=0 +NESTADO2=1 IS_QUIRO_1=0 -IS_QUIRO_2=0 \ No newline at end of file +IS_QUIRO_2=0 +TIME_REFRESH=10000 \ No newline at end of file diff --git a/static/js/scripts.js b/static/js/scripts.js index 7dca3c5..6bd83ad 100644 --- a/static/js/scripts.js +++ b/static/js/scripts.js @@ -34,6 +34,7 @@ function cargarTabla(endpoint, tablaId, esQuiro) { const td2 = document.createElement("td"); const estadoConsulta = fila[1]; + const turno = fila[2]; const estadoTurno = fila[3]; if (estadoConsulta == 0) { @@ -100,12 +101,15 @@ function cargarTabla(endpoint, tablaId, esQuiro) { td2.className = `border bg-[#a9a9a9] align-middle ${sizeClass}`; } - if (estadoAnterior[id] === 2 && estadoTurno === 1) { + if ( + (estadoAnterior[id]?.estado !== 1 && estadoTurno === 1) || + (estadoAnterior[id]?.turno !== turno && estadoTurno === 1) + ) { sonido.currentTime = 0; sonido.play().catch(err => console.warn("No se pudo reproducir el sonido: ", err)); } - estadoAnterior[id] = estadoTurno; + estadoAnterior[id] = {estado: estadoTurno, turno: turno}; tr.appendChild(td2); tbody.appendChild(tr); }); @@ -139,5 +143,5 @@ function actualizarTablas() { //cargarFooter(); actualizarTablas(); -setInterval(actualizarTablas, 20000); +setInterval(actualizarTablas, window.refreshInterval); //setInterval(cargarFooter, 45000); \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index cc2b67f..153a63a 100644 --- a/templates/index.html +++ b/templates/index.html @@ -8,6 +8,7 @@ @@ -95,4 +96,5 @@ \ No newline at end of file