Update: Modifico el código para permitir ver dos estancias en un mismo monitor

This commit is contained in:
2025-07-29 12:56:55 +02:00
parent be25cdd16d
commit 917bef33be
5 changed files with 50 additions and 24 deletions
+18 -11
View File
@@ -4,17 +4,19 @@ from dotenv import load_dotenv
import os
load_dotenv()
monitor = os.getenv("MONITOR_ID")
monitor1 = os.getenv("MONITOR_ID_1")
monitor2 = os.getenv("MONITOR_ID_2")
app = Flask(__name__)
def obtener_turnos():
def obtener_turnos(mon_id):
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 = :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':monitor})
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})
datos = cursor.fetchall()
cursor.close()
conn.close()
@@ -23,15 +25,15 @@ def obtener_turnos():
print(f"Error al conectar: {e}")
return None
def obtener_pie():
def obtener_pie(mon_id):
conn = get_connection()
if not conn:
return []
try:
cursor = conn.cursor()
cursor.execute("SELECT MENSAJE FROM CSMK_MONITOR_PIE WHERE MONITOR_ID = :monitor AND INACTIVO = 0 ORDER BY MONITOR_PIE_ID ASC",{'monitor':monitor})
cursor.execute("SELECT MENSAJE FROM CSMK_MONITOR_PIE WHERE MONITOR_ID = :monitor AND INACTIVO = 0 ORDER BY MONITOR_PIE_ID ASC",{'monitor':mon_id})
mensajes = [fila[0] for fila in cursor.fetchall()]
mensaje_final = " ".join(mensajes)
mensaje_final = "          ".join(mensajes)
cursor.close()
conn.close()
return mensaje_final
@@ -43,15 +45,20 @@ def obtener_pie():
def index():
return render_template("index.html")
@app.route('/api/datos')
def api_datos():
filas = obtener_turnos()
@app.route('/api/datos1')
def api_datos1():
filas = obtener_turnos(monitor1)
return jsonify(filas)
@app.route('/api/datos2')
def api_datos2():
filas = obtener_turnos(monitor2)
return jsonify(filas)
@app.route('/api/footer')
def api_pie():
mensaje = obtener_pie()
mensaje = obtener_pie(1)
return Response(mensaje, mimetype='text/plain')
if __name__ == '__main__':
app.run(debug=True)
app.run(debug=True,host='192.168.82.156')