Update: Modifico el tiempo de refresco con una variable.

This commit is contained in:
2025-10-03 13:00:09 +02:00
parent 23e37f8918
commit 0b3dda43f9
4 changed files with 19 additions and 9 deletions
+6 -4
View File
@@ -8,13 +8,15 @@ load_dotenv()
ip = os.getenv("IPSERVER") ip = os.getenv("IPSERVER")
puerto = os.getenv("PORT") puerto = os.getenv("PORT")
modo = os.getenv("MODE", "1") 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") monitor1 = os.getenv("MONITOR_ID_1")
monitor2 = os.getenv("MONITOR_ID_2") monitor2 = os.getenv("MONITOR_ID_2")
es_quirofano_1 = os.getenv("IS_QUIRO_1") es_quirofano_1 = os.getenv("IS_QUIRO_1")
es_quirofano_2 = os.getenv("IS_QUIRO_2") es_quirofano_2 = os.getenv("IS_QUIRO_2")
tema = os.getenv("THEME", "csm") tema = os.getenv("THEME", "csm")
extender = os.getenv("EXTEND") extender = os.getenv("EXTEND")
interval_refresh = os.getenv("TIME_REFRESH", 10000)
query = "" query = ""
tema_styles = { tema_styles = {
"csm": { "csm": {
@@ -67,12 +69,12 @@ def obtener_pie(mon_id1, mon_id2):
@app.route('/') @app.route('/')
def index(): def index():
tema_colores = tema_styles.get(tema, tema_styles["csm"]) 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') @app.route('/api/datos1')
def 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" 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: 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" 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(): def api_datos2():
global monitor2 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" 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: 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" 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"
+3 -1
View File
@@ -11,6 +11,8 @@ THEME="csm"
MONITOR_ID_1=0 MONITOR_ID_1=0
MONITOR_ID_2=0 MONITOR_ID_2=0
EXTEND=0 EXTEND=0
NESTADO=0 NESTADO1=0
NESTADO2=1
IS_QUIRO_1=0 IS_QUIRO_1=0
IS_QUIRO_2=0 IS_QUIRO_2=0
TIME_REFRESH=10000
+7 -3
View File
@@ -34,6 +34,7 @@ function cargarTabla(endpoint, tablaId, esQuiro) {
const td2 = document.createElement("td"); const td2 = document.createElement("td");
const estadoConsulta = fila[1]; const estadoConsulta = fila[1];
const turno = fila[2];
const estadoTurno = fila[3]; const estadoTurno = fila[3];
if (estadoConsulta == 0) { if (estadoConsulta == 0) {
@@ -100,12 +101,15 @@ function cargarTabla(endpoint, tablaId, esQuiro) {
td2.className = `border bg-[#a9a9a9] align-middle ${sizeClass}`; 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.currentTime = 0;
sonido.play().catch(err => console.warn("No se pudo reproducir el sonido: ", err)); 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); tr.appendChild(td2);
tbody.appendChild(tr); tbody.appendChild(tr);
}); });
@@ -139,5 +143,5 @@ function actualizarTablas() {
//cargarFooter(); //cargarFooter();
actualizarTablas(); actualizarTablas();
setInterval(actualizarTablas, 20000); setInterval(actualizarTablas, window.refreshInterval);
//setInterval(cargarFooter, 45000); //setInterval(cargarFooter, 45000);
+2
View File
@@ -8,6 +8,7 @@
<script> <script>
const quiro1 = "{{ quiro1 }}"; const quiro1 = "{{ quiro1 }}";
const quiro2 = "{{ quiro2 }}"; const quiro2 = "{{ quiro2 }}";
</script> </script>
<script src="{{ url_for('static', filename='js/utils.js') }}"></script> <script src="{{ url_for('static', filename='js/utils.js') }}"></script>
<script src="{{ url_for('static', filename='js/scripts.js') }}" defer></script> <script src="{{ url_for('static', filename='js/scripts.js') }}" defer></script>
@@ -95,4 +96,5 @@
</html> </html>
<script> <script>
window.themeColors = JSON.parse(document.getElementById('theme-data').textContent.trim()); window.themeColors = JSON.parse(document.getElementById('theme-data').textContent.trim());
window.refreshInterval = {{ refresh_interval | safe }};
</script> </script>