diff --git a/app.py b/app.py index 14a66d4..563a1bf 100644 --- a/app.py +++ b/app.py @@ -30,7 +30,7 @@ def obtener_turnos(mon_id): 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':mon_id}) + cursor.execute("SELECT CONS_ESTADO.CODIGO_IMPRESION AS CONSULTA, CONS_ESTADO.ESTADO_ID AS ESTADO_CONSULTA, NVL(CONS_TURNOS.CODIGO_TURNO, NULL) AS TURNO, NVL(CONS_TURNOS.ESTADO_ID, 2) AS ESTADO_TURNO 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 ) CONS_ESTADO LEFT JOIN ( SELECT t.* FROM ( SELECT TM.*, ROW_NUMBER() OVER ( PARTITION BY TM.ESTANCIA_ID ORDER BY TM.TURNO_MON_ID DESC ) AS RN FROM CSMK_TURNO_MON TM WHERE TM.FECHA = TRUNC (SYSDATE) AND TM.ESTADO_ID IN (1,2) AND TM.MONITOR_ID = :monitor ) t WHERE t.RN = 1 ) CONS_TURNOS ON CONS_ESTADO.ESTANCIA_ID = CONS_TURNOS.ESTANCIA_ID AND CONS_ESTADO.MONITOR_ID = CONS_TURNOS.MONITOR_ID WHERE CONS_ESTADO.RN = 1 ORDER BY CONSULTA ASC",{'monitor':mon_id}) datos = cursor.fetchall() cursor.close() conn.close() diff --git a/static/js/scripts.js b/static/js/scripts.js index 2c3e263..472046e 100644 --- a/static/js/scripts.js +++ b/static/js/scripts.js @@ -24,7 +24,7 @@ function cargarTabla(endpoint, tablaId) { const td1 = document.createElement("td"); td1.textContent = fila[0]; - td1.className = `border align-middle ${sizeClass}`; + td1.className = `border align-middle ${sizeClass} m`; td1.style.backgroundColor = window.themeColors.bg1; tr.appendChild(td1); @@ -38,11 +38,41 @@ function cargarTabla(endpoint, tablaId) { td2.className = `border bg-[#a9a9a9] align-middle ${sizeClass}`; } else if (estadoConsulta == 1) { td2.textContent = fila[2]; + td2.style.backgroundColor = window.themeColors.bg2; + const originalText = fila[2]; + const blinkText = `PASE A
CONSULTA
`; + let blink = false; + if (estadoTurno == 1) { - td2.className = `border blink-yellow align-middle ${sizeClass}`; + td2.className = `border align-middle ${sizeClass}`; + td2.innerHTML = originalText; + td2.style.backgroundColor = '#ffff00'; + td2.style.color = "#000000"; + + if (td2.blinkInterval) { + clearInterval(td2.blinkInterval); + } + + td2.blinkInterval = setInterval(() => { + blink = !blink; + if (blink) { + td2.innerHTML = blinkText; + td2.style.fontWeight = "bold"; + } else { + td2.textContent = originalText; + td2.style.fontWeight = ""; + } + }, 1000); + } else { td2.className = `border align-middle ${sizeClass}`; td2.style.backgroundColor = window.themeColors.bg2; + td2.textContent = originalText; + + if (td2.blinkInterval) { + clearInterval(td2.blinkInterval); + td2.blinkInterval = null; + } } } else { td2.textContent = fila[2]; @@ -77,14 +107,14 @@ function cargarFooter() { }); } -function actualizarTablas(){ - cargarTabla("/api/datos1","turnos1"); - if (document.getElementById("turnos2")){ - cargarTabla("/api/datos2","turnos2"); +function actualizarTablas() { + cargarTabla("/api/datos1", "turnos1"); + if (document.getElementById("turnos2")) { + cargarTabla("/api/datos2", "turnos2"); } } -cargarFooter(); +//cargarFooter(); actualizarTablas(); setInterval(actualizarTablas, 20000); -setInterval(cargarFooter, 45000); \ No newline at end of file +//setInterval(cargarFooter, 45000); \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index d662972..4dc9da7 100644 --- a/templates/index.html +++ b/templates/index.html @@ -11,6 +11,7 @@ +
-
+ +
{% if mode == '2' %} -
+
- - + +
CONSULTATURNOCONSULTATURNO
-
+
- - + + @@ -49,12 +51,12 @@ -
-
CONSULTATURNOCONSULTATURNO
+
+
- - + + @@ -67,14 +69,14 @@
--> -
+
CONSULTATURNOCONSULTATURNO