Projet e-stok  0.2
BTS SNIR LaSalle Avignon 2020
Supervision.h
Aller à la documentation de ce fichier.
1 #ifndef SUPERVISION_H
2 #define SUPERVISION_H
3 
18 #include <QObject>
19 #include <QString>
20 #include <QVector>
21 
22 #define DEBUG_SUPERVISION
23 //#define CHANGE_PASSWORD_BEFORE
24 #define SUPERVISION_TEST_POIDS
25 
26 #define PRECISION 0
27 
28 class Armoire;
29 class Article;
30 class Ihm;
31 class Bdd;
32 class CodeBarre;
33 class Communication;
34 class Rfid;
35 class Utilisateur;
36 class Communication;
37 class Casier;
38 
53 {
54  Q_OBJECT
55 
56 public:
57  Supervision(Ihm *parent = nullptr);
58  ~Supervision();
59 
61  void creerCasiers();
62  QStringList getInformationsArmoire();
63  QVector<Casier*> getCasiers();
64 
65 public slots:
66  void verifierAuthentificationBadge(QString badge);
67  void verifierAuthentificationIdentifiant(QString identifiant, QString motDePasse);
68  void rechercherArticle(QString recherche);
69  void selectionnerArticle(QString nomArticle);
70  void traiterTramePoids(QString trame);
72  void ajouterObjetAvecCodeBarre(QString codeBarre);
73 
74 signals:
75  void reponseDemandeDeConnexion(bool, QString);
77  void articlesTrouves(QVector<QStringList>);
78  void donneesArticleSelectionne(QVector<QStringList>);
79  void donneesArticleSelectionne(QStringList);
84 
85 private:
86  Ihm *ihm;
87  Bdd *bdd;
93  QVector<Casier*> casiers;
94 
95  void connecterSignauxSlots();
96 
97  // Athentification
98  QStringList recupererDonneesUtilisateur(QString requeteBDD);
99  void crypterMotDepasse(QString &motDePasse);
100  bool verifierDateValidite(QString stringDateValidite);
101  bool verifierDonneesUtilisateur(QStringList &donnees);
102  void connecterUtilisateur(QStringList &donnees);
103 
104  QString extrairePoids(QString trame);
105  QString extraireNumeroCasier(QString trame);
106  int compter(QString poidArticle, QString poidTotal, QString tare);
107  unsigned int comptageAutomatiqueAjouterOuPrendre(QString nbArticleAvant, int nbArticleApres);
108  unsigned int comptageAutomatiqueQuantite(QString nbArticleAvant, int nbArticleApres);
109  void mettreAJourMouvement(QString idUtilisateur, QString idStock, QString idAction, QString quantite);
110 
111  void ajouterDonneesArticle(Article *article, QVector<QStringList> &donneesArticle, QStringList &donnees);
112 
113  bool verifierArticlePresentDansCasier(QString numCasier, QString idArticle);
114 
115  QString recupererHorodatage();
116  QString recupererIdStockAvecNumeroCasier(int numeroCasier);
118 
119 };
120 
121 #endif // SUPERVISION_H
void erreurQuantiteTropElevee()
void verifierAuthentificationIdentifiant(QString identifiant, QString motDePasse)
Définition de la méthode verifierAuthentificationIdentifiant.
void donneesArticleSelectionne(QVector< QStringList >)
void creerCasiers()
Définition de la méthode creerCasiers.
Definition: Supervision.cpp:83
La classe Article traite les articles.
Definition: Article.h:62
unsigned int comptageAutomatiqueQuantite(QString nbArticleAvant, int nbArticleApres)
Définition de la méthode comptageAutomatiqueQuantite.
void mettreAJourMouvement(QString idUtilisateur, QString idStock, QString idAction, QString quantite)
Définition de la méthode mettreAJourMouvement.
int rechercherCasierOuvert()
Définition de la méthode rechercherCasierOuvert.
void prendreObjetAvecCodeBarre(QString codeBarre)
Définition de la méthode prendreObjetAvecCodeBarre.
unsigned int comptageAutomatiqueAjouterOuPrendre(QString nbArticleAvant, int nbArticleApres)
Définition de la méthode comptageAutomatiqueAjouterOuPrendre.
Armoire * armoire
association d&#39;un objet Armoire
Definition: Supervision.h:91
void connecterSignauxSlots()
Définition de la méthode connecterSignauxSlots.
bool verifierDonneesUtilisateur(QStringList &donnees)
Définition de la méthode verifierDonneesUtilisateur.
~Supervision()
Définition du destructeur de Supervision.
Definition: Supervision.cpp:59
CodeBarre * codeBarre
association d&#39;un objet CodeBarre
Definition: Supervision.h:90
Communication * communication
association d&#39;un objet Communication
Definition: Supervision.h:92
La classe Supervision permet de superviser l&#39;ensemble de l&#39;application.
Definition: Supervision.h:52
void erreurAucunArticleAvecCodeBarre()
void traiterTramePoids(QString trame)
Définition de la méthode traiterTramePoids.
La classe Casier gère le casier contenant des articles.
Definition: Casier.h:34
Bdd * bdd
association d&#39;un objet Bdd (accès à la base de données)
Definition: Supervision.h:87
QString extraireNumeroCasier(QString trame)
Définition de la méthode extraireNumeroCasier.
void crypterMotDepasse(QString &motDePasse)
Définition de la méthode crypterMotDepasse.
void connecterUtilisateur(QStringList &donnees)
Définition de la méthode connecterUtilisateur.
QVector< Casier * > casiers
les casiers de l&#39;armoire
Definition: Supervision.h:93
int compter(QString poidArticle, QString poidTotal, QString tare)
Définition de la méthode compter.
void erreurArticleInsuffisants()
void verifierAuthentificationBadge(QString badge)
Définition de la méthode verifierAuthentificationBadge.
void ajouterDonneesArticle(Article *article, QVector< QStringList > &donneesArticle, QStringList &donnees)
Définition de la méthode ajouterDonneesArticle.
bool verifierArticlePresentDansCasier(QString numCasier, QString idArticle)
Définition de la méthode verifierArticlePresentDansCasier.
Rfid * rfid
association d&#39;un objet Rfid (le lecteur de badge)
Definition: Supervision.h:88
Déclaration de la classe CodeBarre.
Definition: CodeBarre.h:35
void rechercherArticle(QString recherche)
Définition de la méthode rechercherArticle.
void deconnecterUtilisateur()
Méthode qui permet la déconnexion de l&#39;utilisateur.
Definition: Supervision.cpp:69
QStringList getInformationsArmoire()
Définition de la méthode getInformationsArmoire.
Déclaration de la classe Ihm.
Definition: Ihm.h:68
bool verifierDateValidite(QString stringDateValidite)
Définition de la méthode verifierDateValidite.
Supervision(Ihm *parent=nullptr)
Définition du constructeur de la classe Supervision.
Definition: Supervision.cpp:36
La classe Utilisateur gère les données relative à l&#39;utilisateur.
Definition: Utilisateur.h:52
QString extrairePoids(QString trame)
Définition de la méthode extrairePoids.
void ajouterObjetAvecCodeBarre(QString codeBarre)
Définition de la méthode ajouterObjetAvecCodeBarre.
void selectionnerArticle(QString nomArticle)
Définition de la méthode selectionnerArticle.
QStringList recupererDonneesUtilisateur(QString requeteBDD)
Définition de la méthode recupererDonneesUtilisateur.
void articlesTrouves(QVector< QStringList >)
La classe Communication permet de communiquer avec le port série.
Definition: Communication.h:48
void reponseDemandeDeConnexion(bool, QString)
QVector< Casier * > getCasiers()
Définition de la méthode getCasiers.
Ihm * ihm
association d&#39;un objet Ihm (fenêtre princiaple de l&#39;application)
Definition: Supervision.h:86
La classe Armoire traite les articles.
Definition: Armoire.h:49
Déclaration de la classe utilisant la base de données.
Definition: Bdd.h:42
void erreurDepassementQuantite()
La classe Rfid traite la trame reçue d&#39;un lecteur Rfid.
Definition: Rfid.h:35
QString recupererHorodatage()
Définition de la méthode recupererHorodatage.
void erreurAucunCasierOuvert()
Utilisateur * utilisateur
association d&#39;un objet Utilisateur (l&#39;utilisateur authentifié)
Definition: Supervision.h:89
QString recupererIdStockAvecNumeroCasier(int numeroCasier)
Définition de la méthode recupererIdStockAvecNumeroCasier.