45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
import streamlit as st
|
|
import pandas as pd
|
|
from data.scriptloader import get_sql
|
|
from data.db import load_data
|
|
from auth_runtime import require_login
|
|
from ui.sidebar import build_sidebar, hide_sidebar_if_logged_out
|
|
from auth import get_fullname_for_user
|
|
|
|
# hide_sidebar_if_logged_out()
|
|
|
|
st.set_page_config(page_title="Co-App Home", page_icon="🏠", layout="wide")
|
|
|
|
authenticator = require_login()
|
|
st.session_state["authenticator"] = authenticator
|
|
|
|
@st.cache_data
|
|
def cache_data():
|
|
return load_data("ora_kostenobjekte","oracle")
|
|
|
|
def render_report():
|
|
df = cache_data()
|
|
|
|
zgrp1_options = st.multiselect(
|
|
"Zuordnungsgruppe1",
|
|
["SPI", "KULA", "AT"]
|
|
)
|
|
|
|
year = 2026
|
|
|
|
df_actual_year = df[df["jahr"] == year]
|
|
df_actual_year = df_actual_year.sort_values(
|
|
by="obj",
|
|
key=lambda s: pd.to_numeric(s, errors="coerce")
|
|
)
|
|
|
|
if zgrp1_options:
|
|
df_view = df_actual_year[df_actual_year["zgrp1"].isin(zgrp1_options)]
|
|
else:
|
|
df_view = df_actual_year
|
|
|
|
st.dataframe(df_view, height=600, hide_index=True, width="stretch")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
df = render_report() |