diff --git a/code_interface/streamlit_app.py b/code_interface/streamlit_app.py index 07c6682718b4d0f18a21076791750facb44023b1..402af52dad18bfae58666ae62e7b55b6d5f91c41 100644 --- a/code_interface/streamlit_app.py +++ b/code_interface/streamlit_app.py @@ -11,41 +11,51 @@ tab1, tab2, tab3,tab4 = st.tabs(["Suivi des employés","Employés avec 3 ans d'a with tab1: st.title("Suivi Employés") + popover = st.popover("Filtre employés à afficher") + total = popover.checkbox("Salaires des employés par semaine", True) + dimin = popover.checkbox("Salaires des employés ayant eu une diminution par semaine", True) conn= sqlite3.connect(r'C:\Users\neiro\Documents\+\GitHub\sgbd-usine\donnees\company.db') cursor = conn.cursor() - tab11,tab12 = st.tabs(["Totalité des employés","Employés avec une diminution de salaire"]) cursor.execute("SELECT DATE_LUNDI,SALAIRE_SEMAINE.NUMERO_EMPLOYE,NOM,PRENOM,SALAIRE_BASE,SALAIRE_AVANT, SALAIRE_APRES,NB_HEURES, NB_PRODUCTION,RETARD,ANCIENNETE,NOEL, DATE_DEBUT FROM SALAIRE_SEMAINE JOIN EMPLOYE ON EMPLOYE.NUMERO_EMPLOYE = SALAIRE_SEMAINE.NUMERO_EMPLOYE") employees = cursor.fetchall() # Convert the employee records to a DataFrame df = pd.DataFrame(employees, columns=[desc[0] for desc in cursor.description]) df.columns = ['Date du lundi', 'Numéro employé', 'Nom', 'Prénom', 'Salaire base', 'Salaire avant primes','Salaire réel', 'Nombre d\'heures', 'Nombre de production', 'Retard','Ancienneté', 'Bonus de Noël', 'Date de début'] - with tab11: + if total: # Add code for "Suivi Employés" page here - st.write("Page de suivi des salaires des employés par semaine (question 1)") + st.write("Salaires des employés par semaine (question 1)") st.dataframe(df) - with tab12: - st.write("Page de suivi des salaires des employés ayant eu une diminution par semaine (question 3)") + if dimin: + st.write("Salaires des employés ayant eu une diminution par semaine (question 3)") st.dataframe(df[df['Salaire avant primes']<df['Salaire base']]) conn.close() with tab2: conn= sqlite3.connect(r'C:\Users\neiro\Documents\+\GitHub\sgbd-usine\donnees\company.db') cursor = conn.cursor() - st.write("Page des employés avec 3 ans d'anciénneté (question 2)") - - # Fetch all employee records + on = st.toggle("Employés avec 3 ans d'anciénneté") cursor.execute("SELECT NUMERO_EMPLOYE,NOM,PRENOM,TYPE,DATE_DEBUT FROM EMPLOYE") employees = cursor.fetchall() df=pd.DataFrame(employees, columns=[desc[0] for desc in cursor.description]) from datetime import datetime today = datetime.today() df['DATE_DEBUT'] = pd.to_datetime(df['DATE_DEBUT']) - df = df[(today - df['DATE_DEBUT']).dt.days > 3 * 365] - df.columns = ['Numéro employé', 'Nom', 'Prénom', 'Type du contrat', 'Date de début'] - st.write("Liste des employés journaliers") - st.dataframe(df[df['Type du contrat']==1]) - st.write("Liste des employés par production") - st.dataframe(df[df['Type du contrat'] == 2]) + if on: + st.header("Liste des employés avec 3 ans d'anciénneté (question 2)") + df = df[(today - df['DATE_DEBUT']).dt.days > 3 * 365] + df.columns = ['Numéro employé', 'Nom', 'Prénom', 'Type du contrat', 'Date de début'] + st.write("Liste des employés journaliers") + st.dataframe(df[df['Type du contrat']==1]) + st.write("Liste des employés par production") + st.dataframe(df[df['Type du contrat'] == 2]) + else: + + df.columns = ['Numéro employé', 'Nom', 'Prénom', 'Type du contrat', 'Date de début'] + st.header("Liste de la totalité des employés") + st.write("Liste des employés journaliers") + st.dataframe(df[df['Type du contrat']==1]) + st.write("Liste des employés par production") + st.dataframe(df[df['Type du contrat'] == 2]) @@ -83,33 +93,34 @@ with tab3: if st.button("Create Account"): # Connect to the database conn=sqlite3.connect(r'C:\Users\neiro\Documents\+\GitHub\sgbd-usine\donnees\company.db') - # Check if the employee already exists + cursor = conn.cursor() cursor.execute(""" - SELECT NUMERO_EMPLOYE FROM EMPLOYE + SELECT NUMERO_EMPLOYE FROM EMPLOYE WHERE NOM = ? AND PRENOM = ? AND DATE_DEBUT = ? """, (NOM, PRENOM, date_debut)) existing_employee = cursor.fetchone() if existing_employee: st.write(f"Cet employé est déjà enregistré avec le numéro employé: {existing_employee[0]}") - st.stop() + conn.close() - # Insert the new employee record - cursor.execute(""" - INSERT INTO EMPLOYE (NUMERO_EMPLOYE, TYPE, NOM, PRENOM, CS_PRODUCTION, CS_JOURNEE, DATE_DEBUT) - VALUES (?, ?, ?, ?, ?, ?, ?) - """, (NUMERO_EMPLOYE, TYPE, NOM, PRENOM, CS_PRODUCTION if CS_PRODUCTION is not None else None, CS_JOURNEE if CS_JOURNEE is not None else None, date_debut)) - # Commit the transaction - conn.commit() - - st.write("Nouvel employé enregistré!") - st.write(f"Numéro employé: {NUMERO_EMPLOYE}") - st.write(f"Type de contrat: {'Journalier' if TYPE == 1 else 'Production'}") - st.write(f"Nom: {NOM}") - st.write(f"Prénom: {PRENOM}") - if TYPE == 2: - st.write(f"Code salarial de production: {CS_PRODUCTION}") else: - st.write(f"code salarial journalier: {CS_JOURNEE}") - st.write(f"Date du début du contrat: {date_debut}") + cursor.execute(""" + INSERT INTO EMPLOYE (NUMERO_EMPLOYE, TYPE, NOM, PRENOM, CS_PRODUCTION, CS_JOURNEE, DATE_DEBUT) + VALUES (?, ?, ?, ?, ?, ?, ?) + """, (NUMERO_EMPLOYE, TYPE, NOM, PRENOM, CS_PRODUCTION if CS_PRODUCTION is not None else None, CS_JOURNEE if CS_JOURNEE is not None else None, date_debut)) + # Commit the transaction + conn.commit() + + st.write("Nouvel employé enregistré!") + st.write(f"Numéro employé: {NUMERO_EMPLOYE}") + st.write(f"Type de contrat: {'Journalier' if TYPE == 1 else 'Production'}") + st.write(f"Nom: {NOM}") + st.write(f"Prénom: {PRENOM}") + if TYPE == 2: + st.write(f"Code salarial de production: {CS_PRODUCTION}") + else: + st.write(f"code salarial journalier: {CS_JOURNEE}") + st.write(f"Date du début du contrat: {date_debut}") + conn.close() st.stop() \ No newline at end of file diff --git a/donnees/company.db b/donnees/company.db index 27d769d25a7de4c5753fa5564fe8082977e29e0f..3629c371985555f794f3b20268c90aff8b0e4b45 100644 Binary files a/donnees/company.db and b/donnees/company.db differ