Опис підсистеми Готелю «Рахунок»
Автор: Mustache Cat • Апрель 7, 2019 • Контрольная работа • 1,281 Слов (6 Страниц) • 378 Просмотры
Опис підсистеми Готелю «Рахунок»
Опис структури
Програма містить 8 класів:
- AllBills
- BillsData
- Calculate Bill
- DataConnection
- GiveCurrentBill
- MainPage
- Services
- Start
Клас MainPage
Клас MainPage містить елементи інтерфейсу, які виводяться на головній сторінці програми. У цьому класі створюєються графічні елементи, а також їм надаються певні параметри розташування. Створюється JPanel, яка містить три кнопки, до кожної з кнопок додається ActionListener:
- Розрахувати гостя - при натисканні створюється нове вікно CalculateBill;
- Архів рахунків - при настисканні створюється нове вікно AllBills;
- Список послуг - при натисканні створюється нове вікно Services.
Клас Start
Класс Start створює екземпляр класу MainPage. Завдяки ньому головна сторінка виводиться на екран при запуску програми.
Клас CalculateBill
Клас CalculateBill виводить сторінку Розрахувати гостя. У цьому класі створюється JPanel з різними елементами та їх параметрами розташування на сторінці. Також створюється екземпляр класу зв’язку з базою даних - DataConnection.
Створюється JComboBox comboboxSurname, який за допомогою методу getName() з класу DataConnection виводить випадаючий список прізвищ гостей готелю. До comboboxSurname також додан ItemListener, щоб потім передати обраний елемент зі списку.
Також у класі створюється JDateChooser chooser, який вивотить календар з датами. З цих дат можна обрати одну та потім у медоті actionPerformed() за допомогою choser.getDate() передати цю дату у базу.
Також є JButton «Отримати рахунок» при натисканні якої у методі actionPerformed() створюється екземпляр класу BillsData та туди передаються значення прізвища та дати, які були обрані. Потім викликається метод з DataConnection - InsertBill(), якщо не вдалося його викликати виводиться повідомлення про помилку.
Клас GiveCurrentBill
Клас GiveCurrentBill виводить сторінку поточного чеку (дані для якого буди обрані у вікні Розрахувати гостя). У цьому класі створюється JPanel з різними елементами та їх параметрами розташування на сторінці. Також створюється екземпляр класу зв’язку з базою даних - DataConnection.
За допомогою методів з класу DataConnection getTotals(), getAcc() та getServSum() у текстових полях text1, text2, text3 виводяться загальна сума чеку, сума за проживання та сума за послуги відповідно.
Також є JButtom getBack, яка у методі actionPerformed cтворює екземпляр класу MainPage, що дозволяє користувачам повернутись на головну сторінку після здійснення розрахунку.
Клас AllBills
Клас GiveCurrentBill виводить сторінку архіву рахунків. У цьому класі створюється JTable з 3 наступними колонками:
- Прізвище
- Дата рохрахування гостя
- Сума
Також створюється екземпляр класу зв’язку з базою даних - DataConnection. За допомогою методу з DataConnection - getAllMemberInfo() таблиця заповнюється відповідними знаеннями, яки беруться з бази даних.
Також у класі міститься JButtom buttonok, яка у методі actionPerformed cтворює екземпляр класу MainPage, що дозволяє користувачам повернутись на головну сторінку після перегляду архуву.
Клас Services
Клас Services виводить сторінку архіву послуг. У цьому класі створюється JTable з 3 колонками:
- Прізвище
- Дата надання послуги
- Назва послуги
Також створюється екземпляр класу зв’язку з базою даних - DataConnection. За допомогою методу з DataConnection - getAllServices() таблиця заповнюється відповідними знаеннями, яки беруться з бази даних.
Також у класі міститься JButtom buttonok, яка у методі actionPerformed cтворює екземпляр класу MainPage, що дозволяє користувачам повернутись на головну сторінку після перегляду архуву.
Клас BillsData
Клас BillsData містить наступні методи:
- getBillId(), який повертає значення integer
- setResident(), який приймає значення String
- getResident(), який повертає значення String
- setDate(), який приймає значення String
Клас DataConnection
Клас DataConnection відповідає за зв’язок з базою даних. У цьому класі задається назва бази даних, з якої ми працюємо, а також логин та пароль:[pic 1]
Також у класі прописани методи, завдяки яким проводиться робота з даними.
getName() - метод, який повертає масив значень прізвищ всіх гостей з таблиці Residents. Спочатку за допомогою запиту SELECT * FROM Residents; обираються всі значення з таблиці Residents. А потім за допомогою методу getString() з ResultSet обрираються тільки прізвища - колонка rname, які додаються у ArrayList. Потім цей ArrayList перетворюється на масив.
...