11092025 - UPDATE: Integración de quirofanos
This commit is contained in:
@@ -10,6 +10,8 @@ puerto = os.getenv("PORT")
|
||||
modo = os.getenv("MODE", "1")
|
||||
monitor1 = os.getenv("MONITOR_ID_1")
|
||||
monitor2 = os.getenv("MONITOR_ID_2")
|
||||
es_quirofano_1 = os.getenv("IS_QUIRO_1")
|
||||
es_quirofano_2 = os.getenv("IS_QUIRO_2")
|
||||
tema = os.getenv("THEME", "csm")
|
||||
tema_styles = {
|
||||
"csm": {
|
||||
@@ -24,13 +26,17 @@ tema_styles = {
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
def obtener_turnos(mon_id):
|
||||
def obtener_turnos(mon_id, es_quiro):
|
||||
conn = get_connection()
|
||||
if not conn:
|
||||
return []
|
||||
try:
|
||||
cursor = conn.cursor()
|
||||
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})
|
||||
if es_quiro == "1":
|
||||
cursor.execute("SELECT QUIROFANOS.CODIGO_INTERNO AS CONSULTA, 1 AS ESTADO_CONSULTA, NVL (TURNOS.CODIGO_TURNO, NULL) AS TURNO, NVL (TURNOS.ESTADO_ID, 2) AS ESTADO_TURNO FROM (SELECT DISTINCT(CSMK_TURNO.CODIGO_PERSONAL), FP.CODIGO_INTERNO FROM CSMK_TURNO, NOVAHIS.FPERSONA FP WHERE ESTANCIA_ID = 639 AND FECHA = TRUNC(SYSDATE) AND CSMK_TURNO.CODIGO_PERSONAL = FP.CODIGO_PERSONAL) QUIROFANOS LEFT JOIN (SELECT t.* FROM (SELECT CT.CODIGO_PERSONAL, CTM.*, ROW_NUMBER () OVER (PARTITION BY CT.CODIGO_PERSONAL ORDER BY CTM.TURNO_MON_ID DESC) AS RN FROM CSMK_TURNO_MON CTM, CSMK_TURNO CT WHERE CTM.FECHA = TRUNC (SYSDATE) AND CTM.ESTADO_ID IN (1, 2) AND CTM.MONITOR_ID = :monitor AND CTM.TURNO_ID = CT.TURNO_ID) t WHERE t.RN = 1) TURNOS ON QUIROFANOS.CODIGO_PERSONAL = TURNOS.CODIGO_PERSONAL ORDER BY QUIROFANOS.CODIGO_INTERNO ASC",{'monitor':mon_id})
|
||||
else:
|
||||
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()
|
||||
@@ -62,16 +68,16 @@ def obtener_pie(mon_id1, mon_id2):
|
||||
@app.route('/')
|
||||
def index():
|
||||
tema_colores = tema_styles.get(tema, tema_styles["csm"])
|
||||
return render_template("index.html", mode=modo, theme=tema, theme_colors=tema_colores)
|
||||
return render_template("index.html", mode=modo, theme=tema, theme_colors=tema_colores, quiro1=es_quirofano_1, quiro2=es_quirofano_2)
|
||||
|
||||
@app.route('/api/datos1')
|
||||
def api_datos1():
|
||||
filas = obtener_turnos(monitor1)
|
||||
filas = obtener_turnos(monitor1, es_quirofano_1)
|
||||
return jsonify(filas)
|
||||
|
||||
@app.route('/api/datos2')
|
||||
def api_datos2():
|
||||
filas = obtener_turnos(monitor2)
|
||||
filas = obtener_turnos(monitor2, es_quirofano_2)
|
||||
return jsonify(filas)
|
||||
|
||||
@app.route('/api/footer')
|
||||
|
||||
Reference in New Issue
Block a user