Skip to content
Snippets Groups Projects
Commit 97a44e08 authored by Bouchaira Neirouz's avatar Bouchaira Neirouz
Browse files

questions

parent 68f9ca30
Branches
No related tags found
No related merge requests found
%% Cell type:code id: tags:
```
```
%% Cell type:code id: tags:
```
``` python
import sqlite3
# Connect to the database
conn = sqlite3.connect('company.db')
# Create a cursor object
cursor = conn.cursor()
print("Connected to company.db")
```
%% Output
Connected to company.db
%% Cell type:markdown id: tags:
# Requêtes SQL 5 et 6
%% Cell type:code id: tags:
```
``` python
import pandas as pd
from datetime import datetime, timedelta
chrismas_day = datetime(2024, 12, 25)
cursor.execute("SELECT NUMERO_EMPLOYE, NOM, PRENOM, CS_PRODUCTION,CS_JOURNEE, DATE_DEBUT FROM EMPLOYE")
employees = cursor.fetchall()
# Create a list to store the data
prime_totale = []
prime_partielle=[]
# Calculate the prime de noel for each employee
for employee in employees:
NUMERO_EMPLOYE, NOM, PRENOM,CS_PRODUCTION,CS_JOURNEE, DATE_DEBUT = employee
start_date = datetime.strptime(DATE_DEBUT, '%Y-%m-%d')
delta = chrismas_day - start_date
if delta.days >= 365:
if CS_JOURNEE is not None:
cursor.execute(f"SELECT SALAIRE_SEMAINE_BASE FROM GRILLE_SALAIRE_HORAIRE WHERE CS_HORAIRE = {CS_JOURNEE}")
salaire_base=cursor.fetchone()[0]
prime_noel= salaire_base*4.5
prime_totale.append((NUMERO_EMPLOYE, NOM, PRENOM, DATE_DEBUT, prime_noel))
if CS_PRODUCTION is not None:
cursor.execute(f"SELECT SALAIRE_SEMAINE_BASE FROM GRILLE_SALAIRE_PROD WHERE CS_PRODUCTION = {CS_PRODUCTION}")
salaire_base=cursor.fetchone()[0]
prime_noel= salaire_base*4.5
prime_totale.append((NUMERO_EMPLOYE, NOM, PRENOM, DATE_DEBUT, prime_noel))
else:
if CS_JOURNEE is not None:
cursor.execute(f"SELECT SALAIRE_SEMAINE_BASE FROM GRILLE_SALAIRE_HORAIRE WHERE CS_HORAIRE = {CS_JOURNEE}")
salaire_base=cursor.fetchone()[0]
prime_noel= salaire_base * 100 * delta.days / 365
prime_noel= max(0, salaire_base * delta.days / 365 )
prime_partielle.append((NUMERO_EMPLOYE, NOM, PRENOM, DATE_DEBUT, prime_noel))
if CS_PRODUCTION is not None:
cursor.execute(f"SELECT SALAIRE_SEMAINE_BASE FROM GRILLE_SALAIRE_PROD WHERE CS_PRODUCTION = {CS_PRODUCTION}")
salaire_base=cursor.fetchone()[0]
prime_noel= salaire_base*100 * delta.days / 365
prime_noel=max(0, salaire_base*100 * delta.days / 365 )
prime_partielle.append((NUMERO_EMPLOYE, NOM, PRENOM, DATE_DEBUT, prime_noel))
# Create the dataframe
prime_totale = pd.DataFrame(prime_totale, columns=['NUMERO_EMPLOYE','NOM', 'PRENOM' ,'DATE_DEBUT', 'PRIME_NOEL'])
prime_partielle = pd.DataFrame(prime_partielle, columns=['NUMERO_EMPLOYE','NOM', 'PRENOM' , 'DATE_DEBUT', 'PRIME_NOEL'])
prime_totale.head()
```
%% Output
NUMERO_EMPLOYE NOM PRENOM DATE_DEBUT PRIME_NOEL
0 1 Dubois Michel 2020-11-13 2160.00
1 2 Bouchaira Neirouz 2021-11-13 2160.00
2 3 Caty Jeanne 2019-11-03 3712.50
3 5 Mourin Julie 2023-11-13 2126.25
4 7 Jura Charlie 2022-11-28 3712.50
%% Cell type:code id: tags:
```
``` python
prime_partielle.head()
```
%% Output
NUMERO_EMPLOYE NOM PRENOM DATE_DEBUT PRIME_NOEL
0 6 Bowers Matthew 2024-11-20 46.027397
1 8 Fabien Dupont 2025-01-31 0.000000
2 9 Philippe Philip 2025-03-21 0.000000
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment