import streamlit as st import streamlit.components.v1 as components from banco import SessionLocal from models import LogAcesso from datetime import datetime # ===================================================== # AUDITORIA # ===================================================== def registrar_auditoria(acao): db = SessionLocal() try: db.add(LogAcesso( usuario=st.session_state.get("usuario", "desconhecido"), acao=acao, tabela="bi", data_hora=datetime.now() )) db.commit() finally: db.close() # ===================================================== # APP PRINCIPAL # ===================================================== def main(): st.title("πŸ“Š Business Intelligence") st.caption("Indicadores e dashboards oficiais") # πŸ” Auditoria de acesso registrar_auditoria("ACESSO_BI") # ===================================================== # SELEÇÃO DE DASHBOARD # ===================================================== dashboards = { "πŸ“ˆ Performance Operacional": { "url": "https://app.powerbi.com/view?r=SEU_LINK_AQUI", "height": 800 }, "πŸ“Š Qualidade e Erros": { "url": "https://app.powerbi.com/view?r=SEU_LINK_AQUI", "height": 800 }, "πŸ“¦ Produtividade FPSO": { "url": "https://app.powerbi.com/view?r=SEU_LINK_AQUI", "height": 900 } } opcao = st.selectbox("Selecione o Dashboard", dashboards.keys()) dash = dashboards[opcao] st.divider() # ===================================================== # EMBED DO POWER BI # ===================================================== components.html( f""" """, height=dash["height"] + 20 )