Commit 9a79748c authored by Matthieu Solan's avatar Matthieu Solan
Browse files

menu done, to debug

parent 4cd9a809
......@@ -3,6 +3,9 @@
<component name="ChangeListManager">
<list default="true" id="aeea92aa-27be-4175-b152-bf084e18ac80" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Menu.py" beforeDir="false" afterPath="$PROJECT_DIR$/Menu.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PretDataMapper.py" beforeDir="false" afterPath="$PROJECT_DIR$/PretDataMapper.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/RessourceDataMapper.py" beforeDir="false" afterPath="$PROJECT_DIR$/RessourceDataMapper.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......
from typing import Tuple
from AdherentDataMapper import *
from UserDataMapper import UserDataMapper, Roles
from StatistiquesDataMapper import StatistiquesDataMapper
......@@ -13,7 +15,17 @@ def UserConnection():
mdp = input("Entrer votre mot de passe:")
return (login,mdp)
def affiche(listTuple:list, headers:Tuple):
print("====================================================================================================================================")
for header in headers:
print("{:>30s}".format(header), end="")
print("")
print("====================================================================================================================================")
if listTuple:
for row in listTuple:
for data in row:
print("{:>30s}".format(str(data)),end="")
print(" ")
def addAdherent():
print("--------------Ajout d'un adherent--------------------------")
login = input("Entrer un nouveaux login:")
......@@ -41,7 +53,8 @@ def addPersonnel():
def actionAdherent():
print("------------------------MENU--------------------------------")
print("1 : Voir les exemplaires disponibles")
print("2 : Voir les explaires que vous avez emprunté")
print("2 : Voir les explaires que vous avez empruntés")
print("-1 :Se déconnecter de son compte.")
action = int(input("veuillez saisir le numéro de votre action:"))
return(action)
......@@ -61,9 +74,8 @@ def actionMember():
def sanction():
print("---------------------Gérer les sanctions---------------------------")
print("1 : Saisir une sanction.")
print("2 : Blacklister un adhérent.")
print("3 : Historique des sanctions.")
print("1 : Blacklister un adhérent.")
print("2 : Historique des sanctions.")
action = int(input("veuillez saisir le numéro de votre action:"))
return (action)
......@@ -176,34 +188,44 @@ def Menu():
dataMapper= PretDataMapper()
act = pretmanager()
if(act==1):
dataMapper.creerPret(login, ressources, duree, date)
login = input("Entrez le login de l'adhérent : ")
ressources_str = input("Entrez les ids d'exemplaire séparés par une virgule (ex : 7,8,9,10) :")
ressources = ressources_str.split(",")
duree = input("Entrez le nombre de jours pour le prêt : ")
dataMapper.creerPret(login, ressources, duree)
elif(act==2):
pseudo = input("Entrez le login de l'adhérent : ")
data = dataMapper.getPrets(pseudo)
affiche(data, ('NbArticle', 'Id', 'Date', 'login'))
pretID = input("Entrez le numéro de prêt : ")
dataMapper.retourPret(pretID)
elif(act==3):
dataMapper.getExemplairesPret(pretID)
pretID = input("Entrez le numéro du prêt")
data = dataMapper.getExemplairesPret(pretID)
affiche(data, ("Réf.", "N° Pret"))
elif(act==4):
ref = input("Entrez la référence de l'exemplaire : ")
etat = input("Saisissez l'état de l'exemplaire ('Abimé', 'Perdu', 'Bon', 'Neuf') :")
dataMapper.miseAJourEtatExemplaire(ref, etat)
elif(action==2):
dataMapper = SanctionDataMapper()
act = sanction()
if (act == 1):
print("ok")
elif (act == 2):
login = input("Saisir le login de l'adherent à ajouter à la blacklist:")
dataMapper.blacklister(login)
elif (act == 3):
elif (act == 2):
data = dataMapper.getSanctions()
print(data)
affiche(data, ("Id", "Adhérent", "Date de la sanction", "En cours"))
elif (action == 3):
dataMapper = RessourceDataMapper()
act = loaning()
if (act == 1):
data = dataMapper.getAvailableExemplaires()
print(data)
affiche(data, ("Nb articles", "Titre", "Editeur", "Genre"))
elif (act == 2):
data = dataMapper.getRepartitionEmprunts()
print(data)
affiche(data, ("Document", "Nb d'emprunts", "Part d'emprunts"))
elif (act == 3):
codeunique, titre, dateapparition, editeur, genre, codeclassification, isbn, resume, langue = addLivre()
dataMapper.ajouterRessource(codeunique, titre, dateapparition, editeur, genre,codeclassification)
......@@ -223,47 +245,50 @@ def Menu():
act = Statistiques()
if(act==1):
data=dataMapper.ressourcesPopulaires()
print(data)
affiche(data, ("Ressource", "Nb emprunts"))
elif(act==2):
data=dataMapper.nombreEmpruntRessource(CodeUnique=2)
print(data)
codeunique = input("Entrez la référence de la ressource : ")
data=dataMapper.nombreEmpruntRessource(codeunique)
print(f"La ressource a été empruntée {data} fois")
elif (act == 3):
data=dataMapper.genresPopulaires()
print(data)
affiche(data, ("Genre", "Nb emprunts"))
elif (act == 4):
genre = input("Entrer :")
data=dataMapper.nombreEmpruntRessourcegenre(genre)
print(data)
print(f"Le nombre d'emprunt pour le genre {genre} est de {data}.")
elif (act == 5):
login = input("Entrer le login d'un adherent:")
data=dataMapper.genrePrefereAdherent(login)
print(data)
print(f"Le genre prefere de l'adherent {login} est '{data}'.")
elif (act == 6):
data=dataMapper.ageMoyenAdherent()
print(data)
print(f"L'age moyen des adherents est de {data}.")
elif (act == 7):
data=dataMapper.typeDocumentPopulaire()
print(data)
print(f"Les documents les plus empruntés sont les {data}.")
elif (act == 8):
login = input("Entrer le login d'un adherent:")
data=dataMapper.dureeMoyenneEmpruntParAdherent(login)
print(data)
print(f"La duree moyenne d'un emprunt par l'adherent {login} est de {data} jours.")
elif (act == 9):
data=dataMapper.dureeMoyenneEmprunt()
print(data)
print(f"La duree moyenne d'un emprunt est de {data} jours.")
elif (act == 10):
login = input("Entrer le login d'un adherent:")
data=dataMapper.dureeMaxEmpruntParAdherent(login)
print(data)
print(f"Le pret le plus long fu de {data} jours.")
elif (act == 11):
data=dataMapper.dureeMaxPret()
print(data)
print(f"Le pret le plus long fu de {data} jours.")
elif (act == 12):
data=dataMapper.dureeMoyenneEmpruntParRessource(codeUnique=2)
print(data)
codeunique = input("Entrer le code de la resource:")
data=dataMapper.dureeMoyenneEmpruntParRessource(codeunique)
print(f"Cette ressource a été empruntée {data} jours en moyenne.")
elif (act == 13):
data=dataMapper.dureeMaxEmpruntParRessource(codeUnique=2)
print(data)
codeunique = input("Entrer le code de la resource:")
data=dataMapper.dureeMaxEmpruntParRessource(codeunique)
print(f"Cette ressource a été empruntée au maximum {data} jours.")
elif (action == 5):
dataMapper = UserDataMapper()
......@@ -282,6 +307,10 @@ def Menu():
elif (act == 4):
login = input("entrer le login du membre du personnel à supprimer:")
dataMapper.deletePersonnel(login)
elif (act == 5):
adherentDataMapper = AdherentDataMapper()
data = adherentDataMapper.selectAdherents()
affiche(data, ("Login", "N° carte", "Date de naissance", "Tél.", "Date d'adhésion", "Blacklisté"))
elif(role==Roles.ADHERENT):
action=0
while(action!=-1):
......@@ -289,11 +318,11 @@ def Menu():
action=actionAdherent()
if (action == 1):
data=dataMapper.getAvailableExemplaires()
print(data)
affiche(data, ('Reference','Titre','Editeur','Genre'))
elif (action == 2):
dataMapper= AdherentDataMapper()
data=dataMapper.getPrets(login)
print(data)
affiche(data, ('NbArticle','Id','Date','login'))
elif(role==Roles.UNAUTHORIZED):
print("Vous n'êtes pas enregistré à la bibliothéque.")
elif(role==Roles.BLACKLISTED):
......
......@@ -4,7 +4,7 @@ from DataMapper import *
class PretDataMapper(DataMapper):
def creerPret(self, login, ressources : list, duree, date) :
def creerPret(self, login, ressources : list, duree) :
# vérifier que l'adhérent ne soit pas suspendu
# l'adhérent n'a pas accès au système s'il est blacklisté
connection = self.connect()
......@@ -15,7 +15,7 @@ class PretDataMapper(DataMapper):
if row != None:
print('L\'adhérent est suspendu')
sql1 = "INSERT INTO Pret(date, duree, adherent) VALUES ({0}, '{1}', '{2}') RETURNING id".format(date, duree, codeUnique)
sql1 = "INSERT INTO Pret(date, duree, adherent) VALUES (CURRENT_TIMESTAMP, '{1}', '{2}') RETURNING id".format(duree, login)
cursor.execute(sql1)
row = cursor.fetchone()
pretID = row[0]
......
......@@ -9,7 +9,7 @@ class RessourceDataMapper(DataMapper):
connection = self.connect()
try:
cursor: psycopg2.extensions.cursor = connection.cursor()
cursor.execute("SELECT Exemplaires_Disponibles")
cursor.execute("SELECT * FROM Exemplaires_Disponibles")
return cursor.fetchall()
except Exception as err:
print(err)
......@@ -20,7 +20,7 @@ class RessourceDataMapper(DataMapper):
connection = self.connect()
try:
cursor: psycopg2.extensions.cursor = connection.cursor()
cursor.execute("SELECT Repartition_Emprunts")
cursor.execute("SELECT * FROM Repartition_Emprunts")
return cursor.fetchall()
except Exception as err:
print(err)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment