kaiphmaria / Database_Project-2020-2021

2020-2021

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#------Εξαρτήσεις

# Python 3
# PyQT5
# pymsql
# mysql.connector


#------Eντολές για την εγκατάσταση βιβλιοθηκών:


# pip install pyqt5
# pip install pymysql
# pip install mysql-connector-python

#---------------------------------------------------------------------------------------------------------------------
Οδηγίες χρήσης του κώδικα SQL
Για να εισάγετε τη βάση στο phpmyadmin αν επιλέξετε το αρχείο κώδικας SQL για βάση με παραδείγματα
Πρέπει να αποεπιλέξετε την επιλογή Enable foreign key checks κατά την εισαγωγή
Αν εισάγετε το αρχείο SQL για κενή βάση δεν είναι απαραίτητο
Αν θέλετε να εισάγετε το ένα αρχείο αφού εισάγατε το άλλο πηγαίνετε στη σελίδα που
φαίνονται όλοι οι πίνακες της βάσης, τους επιλέγετε όλους και πατάτε Drop έχοντας 
επιλεγμένη την επιλογή Enable foreign key checks



#--------------------------------------------------------ΕΦΑΡΜΟΓΗ ΠΕΛΑΤΗ----------------------------------------------

#--------Βασικές Λειτουργίες

# 1) Εγγραφή χρήστη 
# 2) Σύνδεση σε υπάρχοντα λογαριασμό
# 3) Ανάκτηση Λογαριασμού
# 4) Ρυθμίσεις Προφίλ
# 5) Επίβλεψη Κρατήσεων
# 6) Καινούρια Κράτηση
# 7) Αποσύνδεση


##----------------------------------------------------Περιγραφή λειτουργιών----------------------------------------------

#-----------------------------1)ΕΓΓΡΑΦΗ

# Πατώντας το κουμπί 'Create Account' μεταφέρεστε σε ένα παράθυρο εισαγωγής των στοιχείων σας. Εκει θα πρέπει να εισάγετε το username, password
# και διάφορα άλλα δεδομένα για τη δημιουργία του προσωπικού σας λογαριασμού.
# Με το που πατήσετε το κουμπί "Εγγραφή" γίνεται έλεγχος όλων των στοιχείων σας και αν είναι επιτυχής μεταφέρεστε σε ένα παράθυρο που σας ευχαριστεί για την εγγραφή σας 
# και σας προτρέπει να συνδεθείτε στον καινούριο σας λογαριασμό.


#-----------------------------2)ΣΥΝΔΕΣΗ

# Για τη σύνδεση σας απαιτούνται τα πεδία username και password.
# Αν η σύνδεση σας γίνει εφικτή θα μεταφερθείτε αυτόματα στο Κεντρικό Παράθυρο της εφαρμογής όπου θα έχετε τις εξής δυνατότητες: 1)ΡΥΘΜΙΣΕΙΣ ΠΡΟΦΙΛ 2)ΕΠΙΒΛΕΨΗ ΚΡΑΤΗΣΕΩΝ 
# 3)ΚΑΙΝΟΥΡΙΑ ΚΡΑΤΗΣΗ και 4)ΑΠΟΣΥΝΔΕΣΗ

#-----------------------------4)ΡΥΘΜΙΣΕΙΣ ΠΡΟΦΙΛ

# Με την επιλογή του κουμπιού "Ρυθμίσεις Προφίλ", του Κεντρικού Παραθύρου, μεταφέρεστε σε ένα παράθυρο που προβάλλει όλα τα στοιχεία του λογαριασμού σας και τα κουμπιά αλλαγής αυτών.
# Όλα τα πεδία μπορούν να υποστούν αλλαγή εκτός του username, το οποίο είναι μοναδικό.
# Πατώντας κάθε κουμπί εμφανίζεται ένα επιπλέον παράθυρο το οποίο εμφανίζει την παλιά έκδοση του αντίστοιχου πεδίου και σας ζητάει να εισάγετε την καινούρια για αναβάθμιση.
# Για να γίνει η αναβάθμιση της βάσης δεδομένων θα πρέπει ο κωδικός πρόσβασης που σας ζητείται να είναι ο σωστός.
# Μπορείτε επίσης να ακυρώσετε τη διαδικασία της αλλαγής του πεδίου με το αντίστοιχο κουμπί "Ακύρωση".
# Αν γίνει η αναβάθμιση, τότε αυτόματα αλλάζουν και τα αντίστοιχα πεδία του παραθύρου Ρυθμίσεις Προφίλ.

#-----------------------------5)ΕΠΙΒΛΕΨΗ ΚΡΑΤΗΣΕΩΝ

# Με την επιλογή του κουμπιού "Κρατήσεις" από το Κεντρικό Παράθυρο, μεταφέρεστε σε ένα παράθυρο όπου μπορείτε να δείτε όλες τις κρατήσεις που αφορούν τον λογαριασμό σας σε έναν πίνακα.
# Η κάθε γραμμή του πίνακα αφορά και μία κράτηση και έχει κάποια από τα στοιχεία της, όπως τις ημερομηνίες που την αφορούν, την τοποθεσία παραλαβής οχήματος και την τιμη, στα κελιά του πινακα
# Αν επιλέξετε μία γραμμή-κράτηση κλικάροντας πάνω σε αυτήν, θα σας εμφανίσει ένα καινούριο παράθυρο που θα είναι μια αναλυτική περιγραφή της κράτησης αυτής. 
# Η περιγραφή αυτή συμπεριλαμβάνει όλα τα τα στοιχεία της κράτησης, δηλαδή ημερομηνίες, τοποθεσία, πληροφορίες οχήματος, επιλεχθείσες υπηρεσίες και πακέτα κάλυψης
# και τρόπου πληρωμής.
# Σημειώνεται έντονα η δυνατότητα ΑΚΥΡΩΣΗΣ ΤΗΣ ΚΡΑΤΗΣΗΣ με το κουμπί "Ακύρωση", στις λεπτομέρειες της κάθε κράτησης, αν η ημερομηνία παραλαβής της κράτησης δεν απέχει λιγότερο των δύο ημερών από τη σημερινή.

#----------------------------6)ΚΑΙΝΟΥΡΙΑ ΚΡΑΤΗΣΗ

# Η επιλογή καινούριας κράτησης γίνεται εφικτή με την επιλογή του κουμπιού "Καινούρια Κράτηση" στο Κεντρικό Παράθυρο. 
# Αρχικά, στο πρώτο παράθυρο που εμφανίζεται, είναι απαραίτητη η εισαγωγή των τοποθεσιών παραλαβής και επιστροφής οχήματος, καθώς επίσης και των ημερομηνιών παραλαβής και επιστροφής αυτού.
# Στη συνέχεια εφόσον η ημερομηνία παραλαβής δεν είναι μικρότερη της ημερομηνίας επιστροφής, συνεχίζουμε σε δεύτερο παράθυρο με την επιλογή διαθέσιμου τύπου οχήματος
# για τις επιλεχθείσες ημερομηνίες και τοποθεσίες. Με την επιλογή κάποιου τύπου οχήματος εμφανίζεται η περιγραφή του τύπου αυτού.
# Έπειτα, αφού επιλεχθεί υποχρεωτικά ένας τύπος οχήματος, προχωράτε στην προαιρετική επιλογή μίας ή και παραπάνω υπηρεσιών που προσφέρει η εταιρεία.
# Συνεχίζετε με την επιλογή υποχρεωτικά ενός πακέτου κάλυψης σε περίπτωση κάποιου συμβάντος, π.χ. φθορά ή κλοπή, και τέλος μεταφέρεστε στο τελευταίο στάδιο της κράτησης
# το οποίο έιναι η πληρωμή. Εκεί επιλέγετε ανάμεσα στους τρείς τρόπους πληρωμής: 1)Μετρητά 2)Τιμολόγιο ή 3)Κάρτα. 
# Αν επιλέξετε να πληρώσετε με κάρτα πρέπει να εισάγετε τα στοιχεία της στα αντίστοιχα πεδία. 
# Και τέλος αν επιλέξετε το κουμπί "Ολοκλήρωση Κράτησης" θα γίνει η εισαγωγή της κράτησής σας στη βάση δεδομένων και θα μεταφερθείτε στο Κεντρικό Παράθυρο.
# Μπορείτε να δείτε την κράτησή σας πατώντας το κουμπί "Κρατήσεις" και θα είναι η πρώτη γραμμή του πίνακα.Εισάγονται από πάνω προς τα κάτω.
# ΣΗΜΕΙΩΣΗ: Αν επιλέξετε να παραλάβετε ένα όχημα και να το επιστρέψετε την ίδια μέρα η χρεώση ισούται με αυτή της μιάς ημέρας. Αν θέλετε να το επιστρέψετε την επόμενη 
# η χρέωση ισούται με αυτή των δύο ημερών κ.οκ.

#----------------------------3)ΑΝΑΚΤΗΣΗ ΛΟΓΑΡΙΑΣΜΟΥ

# Απαιτείται η εισαγωγή συγκεκριμένων στοιχείων του ήδη υπάρχοντος λογαριασμού, όπως π.χ. όνομα, επώνυμο και άλλα, για ανάκτηση username και password. 
# Αν υπάρξει πρόβλημα με την ανάκτηση δίνονται τα στοιχεία της εταιρείας για επικοινωνία.





#--------------------------------------------------------ΕΦΑΡΜΟΓΗ ΕΤΑΙΡΕΙΑΣ----------------------------------------------

#--------Βασικές Λειτουργίες

# 1) Εισαγωγή Υπηρεσιών/Πακέτων Κάλυψης
# 2) Εισαγωγή νέας Κλάσης Οχήματος
# 3) Εισαγωγή Οχήματος
# 4) Εισαγωγή Έκπτωσης
# 5) Επεξεργασία Κρατήσεων
# 6) Επεξεργασία Πληρωμών



##----------------------------------------------------Περιγραφή λειτουργιών----------------------------------------------
Για να ανοίξει η εφαρμογή πατάμε διπλό κλικ πάνω στο αρχείο GUI_Company.
Αρχικά εμφανίζεται ένα κεντρικό μενού με πλήκτρα τα οποία οδηγούν σε κάθε μια από τις παραπάνω λειτουργίες

1) Για Εισαγωγή Υπηρεσίας πατάμε το πλήκτρο Επεξεργασία Υπηρεσιών
Εμφανίζεται ένας πίνακας στον οποίο απαριθμούνται οι διάφοροι τίτλοι υπηρεσιών
Στο κάτω μέρος της οθόνης υπάρχουν 4 πλήκτρα
Το πλήκτρο Ολοκλήρωση οδηγεί πίσω στο κεντρικό μενού
Το πλήκτρο Διαγραφή προϋποθέτει να είναι επιλεγμένα ένα ή περισσότερα στοιχεία του πίνακα και 
διαγράφει την αντίστοιχη υπηρεσία
Το πλήκτρο Ενημέρωση οδηγεί στη φόρμα Εισαγωγής και Ενημέρωσης
Το πλήκτρο Εισαγωγή οδηγει στη φόρμα Εισαγωγής και Ενημέρωσης

Ομοίως για Εισαγωγή Πακέτου κάλυψης πατάμε το πλήκτρο Εισαγωγή Πακέτου Κάλυψης
Εμφανίζεται ένας πίνακας στον οποίο απαριθμούνται οι διάφοροι τίτλοι πακέτων κάλυψης
Στο κάτω μέρος της οθόνης υπάρχουν 4 πλήκτρα
Το πλήκτρο Ολοκλήρωση οδηγεί πίσω στο κεντρικό μενού
Το πλήκτρο Διαγραφή προϋποθέτει να είναι επιλεγμένα ένα ή περισσότερα στοιχεία του πίνακα και 
διαγράφει το αντίστοιχο πακέτο κάλυψης
Το πλήκτρο Ενημέρωση οδηγεί στη φόρμα Εισαγωγής και Ενημέρωσης
Το πλήκτρο Εισαγωγή οδηγει στη φόρμα Εισαγωγής και Ενημέρωσης

Για τη φόρμα Εισαγωγής και ενημέρωσης:
Εμφανίζονται 3 πλαίσια τα οποία ζητούν τον τίτλο το κόστος και τη περιγραφή του πακέτου ή της υπηρεσίας
Στο κάτω μέρος υπάρχουν δύο πλήκτρα
Το πλήκτρο Ολοκλήρωση οδηγεί στο προηγούμενο παράθυρο
Το πλήκτρο Αποθήκευση αποθηκεύει τις πληροφορίες που εισήγαγε ο χρήστης

2)Για την Εισαγωγή νεας κλάσης οχήματος, ενώ βρισκόμαστε στο αρχικό μενού πατάμε το πλήκτρο
Εισαγωγή Τύπου Οχήματος

Εμφανίζεται ένας πίνακας με τα ονόματα των κλάσεων που υπάρχουν στη βάση
Εμφανίζονται 4 πλήκτρα στο κάτω μέρος της οθόνης
Το πλήκτρο Ολοκλήρωση οδηγεί πίσω στο κεντρικό μενού
Το πλήκτρο Διαγραφή προϋποθέτει να είναι επιλεγμένα ένα ή περισσότερα στοιχεία του πίνακα και 
διαγράφει την αντίστοιχη κλάση οχήματος
Το πλήκτρο Ενημέρωση οδηγεί στη φόρμα Εισαγωγής και Ενημέρωσης
Το πλήκτρο Εισαγωγή οδηγει στη φόρμα Εισαγωγής και Ενημέρωσης

Η φόρμα Εισαγωγής και Ενημέρωσης περιέχει 4 πεδία στα οποία ο χρήστης συμπληρώνει 
την ονομασία της κλάσης, το κόστος ενοικίασης ανα ημέρα, τον αριθμό θέσεων και τον σύνδεσμο 
μιας φωτογραφίας του οχήματος
Το πλήκτρο Ολοκλήρωση οδηγεί στο προηγούμενο παράθυρο
Το πλήκτρο Αποθήκευση αποθηκεύει τις πληροφορίες που εισήγαγε ο χρήστης

3)Για την Εισαγωγή νέου Οχήματος πατάμε το πλήκτρο Ενημέρωση Οχημάτων
Εμφανίζεται ένας πίνακας που περιέχει τον αριθμό πινακίδας, την κλάση του οχήματος και το μοντέλο
Εμφανίζονται 4 πλήκτρα στο κάτω μέρος της οθόνης
Το πλήκτρο Ολοκλήρωση οδηγεί πίσω στο κεντρικό μενού
Το πλήκτρο Διαγραφή προϋποθέτει να είναι επιλεγμένα ένα ή περισσότερα στοιχεία του πίνακα και 
διαγράφει το αντίστοιχο όχημα
Το πλήκτρο Ενημέρωση οδηγεί στη φόρμα Εισαγωγής και Ενημέρωσης
Το πλήκτρο Εισαγωγή οδηγει στη φόρμα Εισαγωγής και Ενημέρωσης

Η φόρμα Εισαγωγής και Ενημέρωσης περιέχει 7 πεδία, για επιλογή κλάσης οχήματος, για επιλογή καυσίμου
για εισαγωγή αριθμού πινακίδας, για εισαγωγή μοντέλου οχήματος, για εισαγωγή χρώματος οχήματος
για εισαγωγή κυβισμού και για επιλογή σταθμού διάθεσης
Το πλήκτρο Ολοκλήρωση οδηγεί στο προηγούμενο παράθυρο
Το πλήκτρο Αποθήκευση αποθηκεύει τις πληροφορίες που εισήγαγε ο χρήστης
Το πλήκτρο + που βρίσκεται δίπλα από την επιλογή σταθμού διάθεσης ανοίγει το παράθυρο 
εισαγωγής και διαγραφής σταθμού

Στο παράθυρο εισαγωγής και διαγραφής σταθμού εμφανίζεται ένα πεδίο στο οποίο ο χρήστης 
συμπληρώνει τη περιοχή του σταθμού
Το πλήκτρο Ολοκλήρωση οδηγεί στο προηγούμενο παράθυρο
Το πλήκτρο Αποθήκευση αποθηκεύει τις πληροφορίες που εισήγαγε ο χρήστης
Το πλήκτρο Διαγραφή διαγράφει τον σταθμό εφόσον υπάρχει

4)Για Εισαγωγή έκπτωσης πατάμε το πλήκτρο Εισαγωγή Έκπτωσης
Εμφανίζεται ένας πίνακας που περιέχει τους κωδικούς έκπτωσης με τα αντίστοιχκα ποσοστά
Εμφανίζονται 4 πλήκτρα στο κάτω μέρος της οθόνης
Το πλήκτρο Ολοκλήρωση οδηγεί πίσω στο κεντρικό μενού
Το πλήκτρο Διαγραφή προϋποθέτει να είναι επιλεγμένα ένα ή περισσότερα στοιχεία του πίνακα και 
διαγράφει την αντίστοιχη έκπτωση
Το πλήκτρο Ενημέρωση οδηγεί στη φόρμα Εισαγωγής και Ενημέρωσης
Το πλήκτρο Εισαγωγή οδηγει στη φόρμα Εισαγωγής και Ενημέρωσης

Η φόρμα Εισαγωγής και Ενημέρωσης περιέχει ένα πεδίο στο οποίο ο χρήστης εισάγει τον κωδικό
έκπτωσης και ένα slider με το οποίο επιλέγει το ποσοστό
Το πλήκτρο Ολοκλήρωση οδηγεί στο προηγούμενο παράθυρο
Το πλήκτρο Αποθήκευση αποθηκεύει τις πληροφορίες που εισήγαγε ο χρήστης

5)Για την Επεξεργασία Κρατήσεων πατάμε το πλήκτρο Επεξεργασία Κρατήσεων 
Εμφανίζεται ένα πίνακας που περιέχει τον κωδικό κράτησης, τον αριθμό πινακίδας,
το όνομα και το επώνυμο του πελάτη και τις ημερομηνίες παραλαβής και επιστροφής
Στο κάτω μέρος υπάρχουν 4 πλήκτρα
Το πλήκτρο Ολοκλήρωση οδηγεί πίσω στο κεντρικό μενού
Το πλήκτρο Καθυστερημένες εμφανίζει μόνο τις καθυστερημένες κρατήσεις
Το πλήκτρο Ολοκληρωμένες εμφανίζει μόνο τις ολοκληρωμένες κρατήσεις
Το πλήκτρο Τρέχουσες εμφανίζει τις τρέχουσες κρατήσεις

Κάνοντας διπλό κλίκ σε κάποια κράτηση μεταβαίνουμε στο παράθυρο πληροφοριών κράτησης
Σε αυτό παρουσιάζεται το ονοματεπώνυμο του πελάτη, η τοποθεσία παραλαβής και επιστροφής του οχήματος
ο αριθμός πινακίδας και οι ημέρες καθυστέρησης του οχήματος

Στο κάτω μέρος της οθόνης υπάρχουν τρια πλήκτρα 
Το πλήκτρο Ολοκλήρωση οδηγεί πίσω στο προηγούμενο παράθυρο
Το πλήκτρο Παρέλαβε το όχημα (ενδέχεται να ακολουθείται από την ημερομηνία πραγματικής παραλαβής)
εμφανίζει στην οθόνη ένα νέο παράθυρο στο οποίο ο χρήστης μπορεί να εισάγει την
ημερομηνία πραγματικής παραλαβής και πατώντας αποθήκευση να την αποθηκεύσει στη βάση
Το πλήκτρο Επέστρεψε το όχημα (ενδέχεται να ακολουθείται απο την ημερομηνία πραγματικής επιστροφής)
κάνει ακριβώς τα ίδια με το πλήκτρο Παρέλαβε το όχημα αλλά για την ημερομηνία πραγματικής επιστροφής

Στο πάνω μέρος της οθόνης υπάρχουν δύο πλήκτρα
Το πλήκτρο Πληροφορίες Πελάτη ανοίγει ένα παράθυρο το οποίο περιέχει
το όνοματεπώνυμο του πελάτη, το τηλέφωνό του, το email του,τον ΑΔΤ του,
τον αριθμό διπλώματός του και τη διέυθυνσή του
Το πλήκτρο Πληροφορίες Οχήματος ανοίγει ένα παράθυρο το οποίο περιέχει 
τον αριθμό πινακίδας, την κλάση του οχήματος,το μοντέλο, το χρώμα, τον κυβισμό και το είδος καυσίμου

6)Για την Επεξεργασία Πληρωμών πατάμε το πλήκτρο Επεξεργασία Πληρωμών
Στο παράθυρο εμφανίζονται δύο πεδία εισαγωγής ημερομηνιών, το πρώτο αποτελεί την αρχική και το
δεύτερο την τελική ημερομηνία

Στο κάτω μέρος της οθόνης υπάρχουν δύο πλήκτρα και ένα πεδίο επιλογής
Το πλήκτρο Ολοκλήρωση οδηγεί πίσω στην αρχική οθόνη
Το πεδίο επιλογής δίνει τη δυνατότητα στο χρήστη να υπολογίσει το πλήθος κρατήσεων,
το συνολικό κέρδος κρατήσεων και τη μέση κοστολόγηση κράτησης για το χρονικό διάστημα 
που επέλεξε
Το πλήκτρο υπολογισμός εκτελεί τον επιλεγμένο υπολογισμό και εμφανίζει τα αποτελέσματα στην οθόνη

Το πλήκτρο Έξοδος του αρχικού μενού κλείνει το πρόγραμμα 

About

2020-2021


Languages

Language:Python 100.0%