Inserto función para obtener los turnos
This commit is contained in:
Binary file not shown.
@@ -1,31 +1,35 @@
|
||||
from flask import Flask, render_template, jsonify
|
||||
import os
|
||||
from conexion import get_connection
|
||||
from dotenv import load_dotenv
|
||||
import cx_Oracle
|
||||
|
||||
load_dotenv()
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
user = os.getenv("DB_USER")
|
||||
password = os.getenv("DB_PASSWORD")
|
||||
host = os.getenv("DB_HOST")
|
||||
port = os.getenv("DB_PORT", "1521")
|
||||
sid = os.getenv("DB_SID")
|
||||
def obtener_turnos():
|
||||
|
||||
dsn = cx_Oracle.makedsn(host, port, sid=sid)
|
||||
|
||||
def conectar_oracle(user, password, dsn):
|
||||
conn = get_connection()
|
||||
if not conn:
|
||||
return []
|
||||
try:
|
||||
connection = cx_Oracle.connect(user=user, password=password, dsn=dsn)
|
||||
return connection
|
||||
except cx_Oracle.DatabaseError as e:
|
||||
print(f"Error de conexión: {e}")
|
||||
raise
|
||||
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 = 3 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")
|
||||
datos = cursor.fetchall()
|
||||
cursor.close()
|
||||
conn.close()
|
||||
return datos
|
||||
except Exception as e:
|
||||
print(f"Error al conectar: {e}")
|
||||
return None
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return render_template("index.html")
|
||||
|
||||
@app.route('/api/datos')
|
||||
def api_datos():
|
||||
filas = obtener_turnos()
|
||||
return jsonify(filas)
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(debug=True)
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
import cx_Oracle
|
||||
|
||||
load_dotenv()
|
||||
|
||||
def get_connection():
|
||||
try:
|
||||
user = os.getenv("DB_USER")
|
||||
password = os.getenv("DB_PASSWORD")
|
||||
host = os.getenv("DB_HOST")
|
||||
port = os.getenv("DB_PORT", "1521")
|
||||
sid = os.getenv("DB_SID")
|
||||
|
||||
dsn = cx_Oracle.makedsn(host, port, sid=sid)
|
||||
|
||||
connection = cx_Oracle.connect(user=user, password=password, dsn=dsn)
|
||||
|
||||
return connection
|
||||
except cx_Oracle.DatabaseError as e:
|
||||
print(f"Error al conectar a la base de datos: {e}")
|
||||
raise
|
||||
Reference in New Issue
Block a user