Диплом: Информационная система автоматического мониторинга цен конкурентов (на примере ООО ПКФ "Стройбаза №1")

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
88
Методы:
setDbConnectсэттер для переменной dbConnect;
buildList – метод для заполнения списков магазиной;
addAction – метод добавления магазина;
editAction – метод редактирования магазинов;
editEnd – подтверждение редактирования;
removeAction – метод удаления магазина.
Класс «ShopsDialogController» отвечает за диалоговое окно добавления и
редактирования магазинов.
Класс «ShopsListController» отвечает за оформления списка магазинов.
Пакет «objects» предназначен для хранения классов, которые описывают
собой непосредственно физические объекты, с которыми работает данное
приложение. В данном пакете расположены следующие классы:
Item – класс объекта «товар»;
Shopкласс объекта «магазин»;
Category – класс объекта «группа»;
Linkкласс объекта «ссылка»;
Valueкласс объекта «значение».
Во всех классах имеются собственные переменные. Кроме этого
существуют методы для получения и передачи значения из объекта класса.
В пакете «start» содержится единственный класс ShopMonitor. Он
предназначен для запуска приложения содержит в себе два метода:
startглавный метод для запуска графического приложения JavaFX;
main – главный класс в Java, необходимый для старта приложения.
В пакете «threads» содержатся два класса. Они представляют собой своего
рода «бэкэнд» для графической части. Здесь осуществляется связь с БД, а также
производятся прочие подобные действия.
89
Класс «DBConnect» необходим для соединения с базой данных, а также для
записи и получения данных из неё.
Переменные:
Connection connectпеременная соединения с СУБД;
Statement statement – переменная запроса;
ResultSet resultSet – переменная ответа на запрос;
Методы:
DBConnect конструктор, который при создании экземпляра объекта
данного класса вызывает метод connectDB;
connectDBметод, в котором производится подключение к БД;
getItem – метод для получения товара;
itemAdd – метод для добавления товара;
updateItem – метод для обновления информации о товаре;
getSourceItems – возвращает список объектов «Label» с именем
товара;
getItemsList – возвращает непосредственно список товара;
removeItemметод удаления товара;
getLastItem – возвращает идентификатор последнего добавленного
товара;
getShop – метод, который возвращает магазин;
shopAddметод для добавления магазина;
shopEditметод для изменения информации о магазине;
removeShop – метод для удаления магазина;
getShopsList – метод, возвращающий список магазинов;
getCategory – метод, возвращающий группу товара;
categoryAdd – метод для добавления группы товара;
categoryEdit – метод для редактирования группы;
categoryRemove – метод для удаления группы;
getCategoriesList – метод, возвращающий список групп;
getLink – метод, возвращающий ссылку;
90
updateLink – метод для изменения ссылки;
getLinks – метод для получения списка ссылок;
countLinksметод для подсчёта количества ссылок.
getValues – метод, возвращающий список полученных значений;
valueAdd – метод для добавления нового значения;
getHistory – метод для получения списка значений, отталкиваясь от
даты;
historyAdd – метод для добавления значений в историю.
Класс «ParsingThread» предназначен для обработки исходного кода страниц
и выборки необходимой информации из этого кода. Листинг кода данного класса
представлен в приложении.
Переменные:
DBConnect dbConnect – объект класса подключения к БД;
ItemsTableController controllerконтроллер сцены с главной
таблицей результатов;
double percent – вес одной ссылки в процентном соотношении;
double progress – увеличивается от 0.0 до 1.0 по мере обработки
ссылок;
Date date – дата, на момент которой запущен процесс сканирования.
Методы:
ParsingThread – конструктор для данного класса;
buildTable – метод построения таблицы;
buildResult – метод получения результатов;
getElement – метод получения исходного кода страницы;
replaces – метод для обработки исходного кода страницы.
2.4. Контрольный пример реализации проекта и его описание
Как уже было описано ранее, «Система автоматического мониторинга цен
конкурентов» работает по принципу парсинга исходного кода WEB-страниц.
91
Далее будет представлен максимально детальный обзор графического
интерфейса пользователя, а также объяснён принцип его взаимодействия с
программной частью.
Приложение стартует с класса ShopMonitor. В этом классе
инициализируется корневая сцена. Контроллером данной сцены является
MainController. В нём отрисовываются:
Панель навигации;
Панель статуса;
Область смен сцены.
Рис. 36 - Главное окно приложения.
На рисунке 36 изображено стартовое окно приложения:
1. Панель навигации;
2. Область смены сцен;
3. Панель статуса.
Здесь же можно более детально рассмотреть таблицу, выводимую
пользователю в качестве результата сканирования.
92
Как видно на рисунке 37, таблица делится на столбцы «Название»,
«Группа», а далее в качестве столбцов выступают наименования всех магазинов,
внесённых в приложение.
Кроме того, существует возможность по любому из столбцов осуществлять
сортировку.
Рис. 37 - Таблица результатов.
При запуске процесса сканирования начинает заполняться Progress Bar в
нижней части окна приложения. Это продемонстрировано на рисунке 38.
Рис. 38 - Progress Bar.
На этом обзор сцены с главной результативной таблицей можно считать
завершённым.
93
Сцена «Позиции» изображена на рисунке 39. Здесь располагается список
номенклатуры товара.
Рис. 39 - Сцена "Позиции".
Как видно на рисунке 39, в данной сцене можно помимо просмотра
номенклатуры, так же добавлять, редактировать и удалять её.
Модальное окно для редактирования и добавления товара изображено на
рисунке 40. Как видно, здесь есть возможность указать наименование товара, а
также указать ссылки на все добавленные в приложении магазины. Если в
конкретном магазине не существует данного товара, то ссылку можно не
указывать.
94
Рис. 40 - Изменение товара.
Аналогичным образом выглядит и сцена «Магазины». При переходе на
данную сцену пользователь увидит список добавленных в приложение магазинов.
Сцена изображена на рисунке 41. Здесь также можно добавлять, редактировать и
удалять магазины.
Рис. 41 - Сцена "Магазины".
95
Диалог добавления и изменения магазина изображён на рисунке 42. Как
видно на изображении, в данном модальном окне есть возможность указания
наименования магазина, указание ссылки на него, а также указание выборки
текста из исходного кода страницы (текст «от» и «до»).
Рис. 42 - Изменение магазина.
Сцена «Группы» выглядит аналогичным образом. Она изображена на
рисунке 43.
96
Рис. 43 - Сцена "Группы".
Аналогично предыдущим сценам, здесь так же существует возможность
добавления, изменения и удаления объектов.
Модальное окно добавления и редактирования группы выглядит
следующим образом (рисунок 44):
97
Рис. 44 - Изменение "Группы".
Как видно из изображения, здесь существует возможность добавлять
название группы, а также имеется удобная форма добавления товара в нужную
группу. Интересной особенностью является то, что один и тот же товар не может
быть в разных группах. Т.е. в поле «Имеющиеся» отображаются только те
позиции, которые не состоят в группах.
Сцена «История» выглядит аналогично сцене «Таблица», за исключением
возможности выбора даты и времени. При переходе на данную сцену открывается
по умолчанию пустая таблица (рисунок 45).

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран