From bf95494ab3fb017fc76db1b24c0f5c9dcbfd31df Mon Sep 17 00:00:00 2001 From: "sebastian.serfling" Date: Wed, 5 Mar 2025 10:33:58 +0000 Subject: [PATCH] Many Changes --- .streamlit/config.toml | 4 +- app.py | 155 ++++++++--- .../ticket_export/exports/RE2025.00012.1.docx | Bin 0 -> 38776 bytes .../ticket_export/exports/RE2025.00014.1.docx | Bin 0 -> 38774 bytes apps/ticket_export/main.py | 29 +- apps/ticket_export/template.docx | Bin 37296 -> 42664 bytes docker-compose.yaml | 14 +- sites/__pycache__/lastrun.cpython-39.pyc | Bin 0 -> 2536 bytes sites/__pycache__/server.cpython-39.pyc | Bin 0 -> 3907 bytes .../services_reporting.cpython-39.pyc | Bin 0 -> 10345 bytes sites/__pycache__/tickets.cpython-39.pyc | Bin 0 -> 4306 bytes sites/__pycache__/userlist.cpython-39.pyc | Bin 0 -> 3245 bytes sites/server.py | 58 +++- sites/services_reporting.py | 261 +++++++++++++++--- sites/tickets.py | 4 +- streamlit.sh | 1 + style.css | 16 ++ 17 files changed, 445 insertions(+), 97 deletions(-) create mode 100644 apps/ticket_export/exports/RE2025.00012.1.docx create mode 100644 apps/ticket_export/exports/RE2025.00014.1.docx create mode 100644 sites/__pycache__/lastrun.cpython-39.pyc create mode 100644 sites/__pycache__/server.cpython-39.pyc create mode 100644 sites/__pycache__/services_reporting.cpython-39.pyc create mode 100644 sites/__pycache__/tickets.cpython-39.pyc create mode 100644 sites/__pycache__/userlist.cpython-39.pyc create mode 100644 streamlit.sh diff --git a/.streamlit/config.toml b/.streamlit/config.toml index 6bb3aa9..b3b75b8 100644 --- a/.streamlit/config.toml +++ b/.streamlit/config.toml @@ -5,5 +5,7 @@ backgroundColor="#2c3e50" secondaryBackgroundColor="#34495e" textColor="#ffffff" font="sans serif" +layout="wide" -layout="wide" \ No newline at end of file +[browser] +serverAddress = "reporting.stines.de" \ No newline at end of file diff --git a/app.py b/app.py index 429cc27..c126d8b 100644 --- a/app.py +++ b/app.py @@ -1,52 +1,145 @@ import streamlit as st +from streamlit_option_menu import option_menu import sites.services_reporting as sr import sites.userlist as us import sites.server as s import sites.tickets as ti import sites.lastrun as lr +from datetime import datetime +from dateutil.relativedelta import relativedelta +import mysql.connector +import pandas as pd +import os + # Page Settings -st.set_page_config(page_title="Reporting",layout="wide") +st.set_page_config(page_title="Reporting", layout="wide") + +start_date = datetime.today().replace(day=1) - relativedelta(months=1) +end_date = datetime.today().replace(day=1) - relativedelta(days=1) + +# Datumsformatierung +start_date_format = start_date.strftime("%Y-%m-%d") +end_date_format = end_date.strftime("%Y-%m-%d") # Load custom CSS def load_css(file_name): with open(file_name) as f: st.markdown(f'', unsafe_allow_html=True) -load_css('style.css') -# Define page functions +def get_customer_used_service(): + mydb = mysql.connector.connect( + host=os.getenv("MYSQL_HOST"), + user=os.getenv("MYSQL_USER"), + password=os.getenv("MYSQL_PASSWORD"), + database=os.getenv("MYSQL_DATABASE") + ) + + mycursor = mydb.cursor() + + mycursor.execute(f"""SELECT c.companyname, c.customer_ID, cs.services_ID,s.name from Kunden.`customers.services` cs + JOIN Kunden.company c ON c.customer_ID = cs.customer_ID + JOIN Kunden.services s ON s.service_ID = cs.services_ID + where 1=1 GROUP by c.companyname , c.customer_ID, cs.services_ID, s.name """) + + myresult = mycursor.fetchall() + mydb.close() + return myresult + +def load_user_service_list(service_id, customer_id, start_date, end_date): + mydb = mysql.connector.connect( + host=os.getenv("MYSQL_HOST"), + user=os.getenv("MYSQL_USER"), + password=os.getenv("MYSQL_PASSWORD"), + database=os.getenv("MYSQL_DATABASE") + ) + + query = f""" + SELECT COUNT(*) AS max_count + FROM ( + SELECT + u.user_id, + u.username, + active_users.last_active_timestamp, + active_users.status + FROM Kunden.`users` u + JOIN ( + SELECT + us.user_id, + us.`timestamp` AS last_active_timestamp, + us.status + FROM Kunden.`users.services` us + JOIN ( + SELECT + user_id, + MAX(`timestamp`) AS last_active_timestamp + FROM Kunden.`users.services` + WHERE `timestamp` <= '{end_date}' + AND customer_id = {customer_id} + AND service_ID = {service_id} + AND user_id NOT IN ( + SELECT user_id + FROM Kunden.`users.status` + WHERE status = 0 + AND `timestamp` < '{start_date}' + AND customer_id = {customer_id} + ) + GROUP BY user_id + ) max_timestamps + ON us.user_id = max_timestamps.user_id + AND us.`timestamp` = max_timestamps.last_active_timestamp + WHERE us.customer_id = {customer_id} + AND us.service_ID = {service_id} + AND us.status = 1 + ) active_users + ON u.user_id = active_users.user_id + ) AS max_count; + + """ + max_user_count = pd.read_sql_query(query, mydb) + mydb.close() + return max_user_count.iloc[0]['max_count'] if not max_user_count.empty else 0 + def home(): - st.title("Home Page") - st.write("Welcome to the Home Page!") + st.title("Dashboard") + edit_start_date = start_date.strftime("%d.%m.%Y") + edit_end_date = end_date.strftime("%d.%m.%Y") + st.subheader(f"Übersicht {edit_start_date} - {edit_end_date}") + previous_value = None + columns = None + c = 0 + for i in get_customer_used_service(): + if previous_value != i[1]: + st.subheader(f"{i[0]}") + columns = st.columns(3) + c = 0 + if not (load_user_service_list(i[2], i[1], start_date, end_date)): + st.info(f"Kunde {i[0]} - Service {i[3]} - Not Data found!") + else: + columns[c].metric(label=f"Aktive {i[3]} User", value=load_user_service_list(i[2], i[1], start_date, end_date)) + c +=1 + previous_value = i[1] +# Navigation bar using streamlit-option-menu +with st.sidebar: + selected_page = option_menu( + menu_title="Navigation", # required + options=["Dashboard", "Services Reporting", "User Filter", "Server", "Tickets", "Last-Run"], # required + icons=["house", "bar-chart", "filter", "server", "ticket", "clock"], # optional + menu_icon="cast", # optional + default_index=0, # optional + orientation="vertikal", # horizontal navigation + ) -if 'page' not in st.session_state: - st.session_state.page = 'Home' - -# Sidebar navigation -st.sidebar.title("Navigation") -if st.sidebar.button('Home'): - st.session_state.page = 'Home' -if st.sidebar.button('Services Reporting'): - st.session_state.page = 'Services Reporting' -if st.sidebar.button('User Filter'): - st.session_state.page = 'User Filter' -if st.sidebar.button('Server'): - st.session_state.page = 'Server' -if st.sidebar.button('Tickets'): - st.session_state.page = 'Tickets' -if st.sidebar.button('Last-Run'): - st.session_state.page = 'Last-Run' - -# Page display logic -if st.session_state.page == 'Home': +# Page display logic based on selected option +if selected_page == "Dashboard": home() -elif st.session_state.page == 'Services Reporting': +elif selected_page == "Services Reporting": sr.services_reporting() -elif st.session_state.page == 'User Filter': +elif selected_page == "User Filter": us.user_filter() -elif st.session_state.page == 'Server': +elif selected_page == "Server": s.server_filter() -elif st.session_state.page == 'Tickets': +elif selected_page == "Tickets": ti.ticket_filter() -elif st.session_state.page == 'Last-Run': - lr.user_filter() \ No newline at end of file +elif selected_page == "Last-Run": + lr.user_filter() diff --git a/apps/ticket_export/exports/RE2025.00012.1.docx b/apps/ticket_export/exports/RE2025.00012.1.docx new file mode 100644 index 0000000000000000000000000000000000000000..eb19088e5d9e89d1b57225e599c9f8c34ba3f2b9 GIT binary patch literal 38776 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 UKa5`igj5*1xM*`3`Rmtz0XYZfF#rGn literal 0 HcmV?d00001 diff --git a/apps/ticket_export/exports/RE2025.00014.1.docx b/apps/ticket_export/exports/RE2025.00014.1.docx new file mode 100644 index 0000000000000000000000000000000000000000..d81fbb896e5671dbfe8bdef262d32e74ed1edefd GIT binary patch literal 38774 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

-`9^ zAa_Q@Gn)fQPgRBOWV)6bArufgL4qZr#%m}=>% zO!Da54Uoq8%3-x>yXig&V3P^N){G;NOv8!j>*u1*`~#!vWo&d?nXmjYzGR@%g! zTtv`c@d<=ANdJwFPIki>(Mb|%{?W**7p0N?F1Wdr$0g)xB>bWE9ccgX6BeyerYnfg zWY|u^#U(G@I|pkpGfa^iiK5kf(8~I~W-)jFZrqSMxF-Bl0i`sDK|3y014&ZNnD_VC z)rmu{?P>SwQY_ePC1kp%co-i6!6{Ca&g=3X^CE7md9SqNB3$Q(WsW^07{>khu42l6P)?7p)(yHeyNo-YOJ1Ov)F?IYqO<*oU%Z z>~+PS9#Uqh-YWG;?y9Hn!qtG{Uon^r|LU{8%8DplUL$br!|%vLhHntW$U2 zQuqhSB0WM-WYR3lQLVs;yc(=e7%91^MUZFi_MsJeGeVW8Ac0=atwlO#jXsEvwQE0LpHkkHSYV|5Z%?F5?e^jLk(MjD~7r?u(p z`fNm&i|BPR)jd|PY-?}@x8NA+ECD}+5`&!zeumfS)hf`7U@=w@4Nj_+oTrxHdt`*q z?{O`P^}C>xPctVLgWlsF3gKkJmde2fo@CIjx%w^*w~_$ejM6t53-1!R_b~Og)G2A> z8c`Ma#>RqfIc4Q~z&tx`Ki1U>Rr7a5(Tf3a%FOS{Vp37x-*OWt){qqM1j|Z9{RqXG zUvg%$U{q2Kp*&u^(_<%2O5L%HlXZ`#I)rj9OO)4ATF3T=W4RiR%7B4fHl7(9IS7(! zDt-Oqi8_s`@dI2-6h@7FKueh0%P^{X)ZEQxRFxRg6zNZQKa||UAa5nI zO2eBbFv===0S=)RO;4?mGBas-icEWDC-_WK5BH7@?>fvi(TRpvt){VIs!-C@&9Z%J zi#OK_N8Oi)C+i?j*#F>F@0P_=9}gr4STkjzw=4eu+Sr>~)lV603->}X_i{SFDCok9 z7-i-j&Bonu9O}d3{jy5(%zeC1k(bEa)ZRg#m)>+j?Y)f$MY7=m#;D^XvzFz60e_s? zm*07lC2)@NyvLnaoCkS*3o3=4SuhE&LZ~uO_5L;%PR+p*5FvFQ`&CzK_6?Jtqd0kn z1kDxqX~NK9&#j{w%v~8}^~a+WbOB`j5t;&xqF(#NxA4xK7ET`8P{KU~6Q#u%bhM{0eZefE=iw- z6$z4c&u&%qY%dtn%PTuP$*r>+T#Fla*=R1iP6$!VAPb$|J9RotoW?@zulj~b77tk- zrg$Q!IUuMjOht?->MTX-gRe(|VpNRa3NJJFt#0o<)CY0IDl-wNyyI+U(+orndqRS` z57`lO+};O5xy~&H)e+u`_qx=fz1UzC*0FUYVM1phqh8dZV&M1)iOdPLrh+N5P0OGC zQ?jzu{A%H~{uF!ATb_^YBU}d69htT-qlmX@6W3X4vGH#^)A<^;-t6nDctY2+j)P@< z^FIajYZ09j(`t^nB41V4QR>AWkIf`^0uc{0ROT#*dLJP2p%D_vo|E6P+JyAqx{=|n z<7-Xx3$n+|NOB{}k!>edZtY~S`RW&2RFpzPb;3}c9U6yV@O1B@uF|!)?T*9kK6gHl zg0+mudC{L|W0Jk<^WOAvjb#Ti@4qC@V z-zUx!yR-iE@ss|L7OEq%k5`t-+84t~F*9h&J)iV;<$=^)Z3kFUJ`zgX8PO>%ZO`@d$4`^}PMA z7xhm1ggr`UprUqMSrLgMqf|IzEtgNt#pu&yVbrrSF7IJBVvy>qxmv=fpWS{cfETg! zP8o?iGGJ2qI|;pLg(nTO4Ng zl86izfIFHiy&ug=IY`Kw;lIsGGuU5>y9NaJs>>B% z=u-yJ;IA3^dxT+bqK}}XSimNQTb=-Xau zt@#80%%zJ9Q~|o3mnui_zi;Uu-Y1X;8cUb_K+qrjh0O${fu+GqS_5%G0}6#e1z= DATE_SUB(CURDATE(), INTERVAL 32 DAY) ORDER by t.createdate ASC """) tickets = cursor.fetchall() @@ -136,7 +137,7 @@ def set_cell_border(cell, **kwargs): def fill_template(doc_path, output_path, data, tickets): doc = Document(doc_path) - + print("Korrekt") # Platzhalter in normalem Text ersetzen for paragraph in doc.paragraphs: for key, value in data.items(): @@ -161,8 +162,15 @@ def fill_template(doc_path, output_path, data, tickets): second_table = doc.tables[1] for ticket in tickets: row = second_table.add_row() + ticket_number, title, createdate, _, _, _, timerange, _, _, tags = ticket + + print(ticket[9]) + row.cells[0].text = ticket[0] # Ticketnummer - row.cells[1].text = ticket[1] # Tickettitel + if ticket[9]: + row.cells[1].text = f"{ticket[1]} - {ticket[9]}" # Tickettitel + else: + row.cells[1].text = ticket[1] row.cells[2].text = ticket[2].strftime("%d.%m.%Y") # createdate als String formatieren row.cells[3].text = str(ticket[6]) # timerange (time_unit) @@ -227,12 +235,16 @@ if __name__ == "__main__": service_ID = next(iter(set(ticket[8] for ticket in tickets))) price = next(iter(set(ticket[7] for ticket in tickets))) customer_ids = set(ticket[4] for ticket in tickets) + + print(tickets) + print(customer_ids) for customer_id in customer_ids: customer_data = fetch_customer_data(customer_id) customer_servicetime = fetch_customer_servicetime(customer_id) customer_price = fetch_customer_price(price, customer_id, service_ID) customer_tickets = [ticket for ticket in tickets if ticket[4] == customer_id] + print(customer_data) if not customer_data: print(f"Keine Kundendaten für Kunden-ID {customer_id} gefunden!") @@ -257,22 +269,21 @@ if __name__ == "__main__": "city": customer_data[4], "customernumber": customer_data[5], "year": datetime.now().year, - "ordernumber": "0001", + "ordernumber": "1", "startdate": startdate.strftime("%d.%m.%Y"), "enddate": enddate.strftime("%d.%m.%Y"), "today": datetime.now().strftime("%d.%m.%Y"), "price_per_minute": customer_price, "servicetime": customer_servicetime[0], "gesamt_time_unit": 0, - "price_ex_mwst": 0, + "price_ex_mwst": "0,00", "sl_time_unit": 0, "sl_minus_unit": 0, "zl_time_unit": 0, "time_unit_sum": 0, - "mwst_set": 0, - "sum": 0, + "mwst_set": "0,00", + "sum": "0,00", } - - output_path = f"apps/ticket_export/exports/RE2024.{customer_data[5]}.{data['ordernumber']}.docx" + output_path = f"apps/ticket_export/exports/RE2025.{customer_data[5]}.{data['ordernumber']}.docx" fill_template('apps/ticket_export/template.docx', output_path, data, customer_tickets) print("True") diff --git a/apps/ticket_export/template.docx b/apps/ticket_export/template.docx index 18a9b430f98406fc0173e7b24c9038805d485a72..6fd4bf722896d8a96554f29da7ba8183bb9e1ce9 100644 GIT binary patch literal 42664 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


I<2|{-qJ~vL$PK4{hB(!z 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 literal 37296 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 literal 0 HcmV?d00001 diff --git a/sites/__pycache__/tickets.cpython-39.pyc b/sites/__pycache__/tickets.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..163a8abab71412937b755aa8ca6c053aa548f481 GIT binary patch literal 4306 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 literal 0 HcmV?d00001 diff --git a/sites/__pycache__/userlist.cpython-39.pyc b/sites/__pycache__/userlist.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84e7adfe411b7aa1b63c9d8a8fcc4bad5b465664 GIT binary patch literal 3245 zcmb7G&2JM&6yI;J*Ny`LO4F8V`XPkX;6N{x5TH8Pl(fVFJCtG}nT=-?HeGwo%s3Eh za|-IA5`RI3l=Rdbd+VRk^IUu4+TIYNeKY$JJ84vPEzi7p^XAQ)_kQ!jTjDH#ozJxz*LxUBp21;9%z1G%cZ?sM5wZQ6GZA*=1a_t=O^uX@r+j&*- z@;eI57}$KSv>j~W9P|Zj<2>|5thSW0^9uAUjk3yZ>@tt}JrC$Y5W2X7L+152ySk7_ zJ`4IB{BOXY{s0YAHq;G`>AMD2_f*+yNv|ipv8Q75g|V$;YuktvvJe?K7b!m}FSRce z;HYE;ICi9F9F432Cm(4U$H0z|W#+CG8IiuHZJUw4o7;oqMJ61h(BRI}gVx>Kom zPypejtdlV(mLI?GgxFWj<$HI~!UHfy?vqWH6ZL4h0duKq(6xk}F{+K4n9qzjkT}*n zdDz4y(j#ancZqc_)3Y72=0vJ9sp4A zW)WO~dNU4SiY!#Cw{Gm)-0W@9CjrlQ!+ziEvXJmxLUJvn+*#z^YbJO*?iL* zgoM$H-}-du2J_Sh^v(;xz^AM-*y1x_P-o2#m`6O^ktzxzD}4-&qFSmQ|K3=(Q8Lt$ zn*MFI2s7jyNOgs1`k6pvsqG;Q{zqz4AhoG7IjNBX$w|YxZC#FaIfk^CBr7d4)-*_1 zc7qtO2NAmxkyVMQ(^7&= zpu_*nQ5mYkY=iMjlfr=}um^<`xS!ZuY9LeKfwD|DGtoVJO`EJmGI_Fk^OW%cN0x3DeDC&k;)Bqm>MiclD^;(2SmOiLEfR9~O z6g^d8+K%#2+g7$A`Wrgdu>M?D-4}oakTOK&T~{L&=In#HU2{)4E6}1xI?jEsk#Dim zKfx?f*l-?-rZcPTs8IBThJw_fWoyjHlxu!W)|eA(EV-t*uHdPkRoEdH<)rj)iF9s4 z+6HMGm-bZhhUKBWT9Lh@Z|9@@hC}~^xk3cis7l`fx`?L*jTOM~iN@&cJqQT8DQ_XV z(sS24#9x2Ru5`ga*(YcL_7?oxg1@%$~eFhZqG`@?q*E+h0xFH}e zBe}0~orF&hht|FtxV=^EUS9&mf5BfFofF9*Nez{&LD+QzdL4*Z?v*eH-Z+N)%%`L2 zmKQ*_LpKs!a=jV^N30hYR9cUKIBLB-hat})9wTOBED*E`XcX1a9BoE7R1J!c_P6ua$bBeB#kYnPQ us.latest_inactive_timestamp)) + OR us.latest_inactive_timestamp IS NULL + ) + AND u.username NOT IN ( + SELECT sr.username + FROM Kunden.`services.reporting` sr + WHERE sr.service_ID = {service_id} + AND sr.reportingdate BETWEEN '{start_date}' AND '{end_date}' + ) + AND u.user_ID != 95 + AND u.user_ID != 102 + AND u.customer_ID = {customer_id} + AND u.username NOT LIKE "%ad-test-user%" + """ + + not_active_users = pd.read_sql_query(query, mydb) + user_not_online_count = not_active_users.shape[0] + mydb.close() + return not_active_users, user_not_online_count + def get_initial_data(): mydb = mysql.connector.connect( host=os.getenv("MYSQL_HOST"), @@ -43,6 +202,7 @@ def get_initial_data(): password=os.getenv("MYSQL_PASSWORD"), database=os.getenv("MYSQL_DATABASE") ) + # Fetch unique service IDs and names service_id_query = """ SELECT DISTINCT s.service_ID, s.name @@ -71,61 +231,98 @@ def get_initial_data(): return service_ids, customers, date_range -def generate_month_range(min_date, max_date): - months = pd.date_range(start=min_date, end=max_date, freq='MS').strftime("%Y-%m").tolist() - return months - def services_reporting(): st.title("Reporting :mag_right:") + # Get initial data for widgets initial_service_ids, customers, initial_date_range = get_initial_data() - # Combine service_ID and name for display service_options = initial_service_ids.apply(lambda row: f"{row['service_ID']} - {row['name']}", axis=1) - # Add selection widget for customer ID + # Selection widget for customer ID + customer_dict = {f"{row['companyname']} - {row['customer']}": row['customer_ID'] for _, row in customers.iterrows()} + + # Selectbox with only the customer name and company displayed selected_customer = st.selectbox( 'Select Customer', - customers.apply(lambda row: f"{row['customer_ID']} - {row['companyname']} - {row['customer']}", axis=1).tolist() + list(customer_dict.keys()) # Display only companyname and customer ) - # Extract customer_ID from selected option - selected_customer_id = int(selected_customer.split(' - ')[0]) + # Get the corresponding customer ID + selected_customer_id = customer_dict[selected_customer] - # Add selection widget for service ID + # Selection widget for service ID selected_service = st.selectbox( 'Select Service', service_options.tolist() ) - - # Extract service_ID from selected option selected_service_id = int(selected_service.split(' - ')[0]) # Convert date range to datetime objects min_date = initial_date_range['min_date'][0] max_date = initial_date_range['max_date'][0] - # Generate month options for dropdown - month_options = generate_month_range(min_date, max_date) + # Date input for start and end date + start_date = st.date_input('Start Date', min_date) + end_date = st.date_input('End Date', max_date) - # Add dropdown for start and end months - start_month = st.selectbox('Start Month', month_options) - end_month = st.selectbox('End Month', month_options, index=len(month_options) - 1) - - # Convert 'YYYY-MM' to 'YYYY-MM-DD' format for SQL query - start_date = datetime.strptime(start_month, '%Y-%m').date().replace(day=1) - end_date = datetime.strptime(end_month, '%Y-%m').date().replace(day=1) - end_date = (end_date.replace(day=28) + pd.DateOffset(days=4)).replace(day=1) - pd.DateOffset(days=1) # last day of the month - - # Add a button to apply filters if st.button('Apply Filters'): # Fetch filtered data from the database filtered_data = get_filtered_data(selected_customer_id, selected_service_id, start_date, end_date) - # Sort the data by month - filtered_data = filtered_data.sort_values('month') + # Fetch max user count in the selected range + max_count = get_max_user_count(selected_customer_id, selected_service_id, start_date, end_date) + + # Sort the data by day + filtered_data = filtered_data.sort_values('day') - # Create a bar chart with the filtered data if not filtered_data.empty: - st.bar_chart(filtered_data.set_index('month')['count']) + # Highlight the max value in the chart + filtered_data['color'] = filtered_data['count'].apply(lambda x: 'red' if x == max_count else 'steelblue') + + # Create an Altair bar chart + bars = alt.Chart(filtered_data).mark_bar().encode( + x='day:O', + y='count:Q', + color=alt.Color('color:N', scale=None, legend=None) + ) + + # Add text labels to bars + text = bars.mark_text( + align='center', + baseline='middle', + dy=-10 + ).encode( + text='count:Q' + ) + + # Combine bars and text into a single chart + chart = (bars + text).properties( + title='Daily Service Usage with Highlighted Maximum' + ) + + # Fetch the data for users not online, online, and active users + not_user_online, max_count_user_not_online = get_user_not_online(selected_customer_id, selected_service_id, start_date, end_date) + user_online, user_online_count = get_user_online(selected_customer_id, selected_service_id, start_date, end_date) + active_users_data, user_active_count = get_active_users(selected_customer_id, selected_service_id, start_date, end_date) + # Create three columns for each DataFrame + col1, col2, col3, col4, col5 = st.columns([2,2,2,2,2]) + + # Display each DataFrame in a separate column + with col4: + st.subheader(f"{selected_service.split(' - ')[1]} - User not Online") + st.metric(label="1",label_visibility="hidden", value=max_count_user_not_online) + st.data_editor(not_user_online['username'],use_container_width=True, hide_index=True) + + with col2: + st.subheader(f"{selected_service.split(' - ')[1]} - User Online") + st.metric(label="1",label_visibility="hidden", value=user_online_count) + st.data_editor(user_online['username'],use_container_width=True, hide_index=True) + + with col3: + st.subheader(f"{selected_service.split(' - ')[1]} - Active Users") + st.metric(label="1",label_visibility="hidden", value=user_active_count) + st.data_editor(active_users_data['username'],key=active_users_data,use_container_width=True, hide_index=True) + + st.altair_chart(chart, use_container_width=True) else: - st.write("No data available for the selected filters.") \ No newline at end of file + st.write("No data available for the selected filters.") diff --git a/sites/tickets.py b/sites/tickets.py index 60ccc79..b1c026e 100644 --- a/sites/tickets.py +++ b/sites/tickets.py @@ -20,7 +20,7 @@ def get_filtered_users(customer_id, start_date, end_date): # Prepare the base query with date filter query = f""" SELECT number, title, createdate, time FROM Kunden.tickets - WHERE createdate BETWEEN '{start_date}' AND '{end_date}' + WHERE closedate BETWEEN '{start_date}' AND '{end_date}' """ if customer_id: query += f" AND customer_ID = {customer_id}" @@ -149,4 +149,4 @@ def ticket_filter(): st.write("No data available for the selected filters.") if __name__ == "__main__": - ticket_filter() + ticket_filter() \ No newline at end of file diff --git a/streamlit.sh b/streamlit.sh new file mode 100644 index 0000000..6f9039d --- /dev/null +++ b/streamlit.sh @@ -0,0 +1 @@ +streamlit run app.py --server.port=80 --server.address=0.0.0.0 diff --git a/style.css b/style.css index 6f30cc1..c2bec67 100644 --- a/style.css +++ b/style.css @@ -32,4 +32,20 @@ } .st-d7 , .st-d6 ,.st-d5 ,.st-d4 { border-color: #fcbb2e; +} + +.st-emotion-cache-1gwvy71{ + padding: 0; + padding-left: 30px; +} +.e1f1d6gn4 > .stButton > button{ + width: 100%; + justify-content: left; + border: 0; +} +[data-testid="baseButton-secondary"]:focus{ + background-color: #f4f3f366 !important; +} +[data-testid="baseButton-secondary"]:active{ + background-color: #f4f3f366!important; } \ No newline at end of file