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 @@
+
 }})
@@ -18,26 +19,27 @@
-
+
+
{% if mode == '2' %}
-
+
- | CONSULTA |
- TURNO |
+ CONSULTA |
+ TURNO |
-
+
- | CONSULTA |
- TURNO |
+ CONSULTA |
+ TURNO |
@@ -49,12 +51,12 @@
-
-
+
+
- | CONSULTA |
- TURNO |
+ CONSULTA |
+ TURNO |
@@ -67,14 +69,14 @@
-->
-