Дипломная работа: Исследование и разработка информационной системы учета сбыта продукции на примере ТОО "GT MACHINERY"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
95
п/п
Наименование модуля
Функции модуля
10.
Модуль работы с таблицей
«Услуги» в БД (общие
модули)
Содержит функции просмотра, создания,
редактирования и удаления записей в таблице
«Услуги»
11.
Модуль работы с таблицей
«Заказы» в БД (общие
модули)
Содержит функции просмотра, создания,
редактирования и удаления записей в таблице
«Заказы»
12.
Модуль работы с таблицей
«Информация о компании»
в БД (общие модули)
Содержит функции редактирования
информации о компании, хранящейся в таблице
«CompanyInfo»
13.
Модуль поиска товара
(общие модули)
Содержит функции поиска товара по заданным
фильтрам
14.
Модуль поиска категории
(общие модули)
Содержит функции поиска категории по
заданным фильтрам
15.
Модуль поиска услуги
(общие модули)
Содержит функции поиска услуги по заданным
фильтрам
16.
Модуль поиска заказа
(общие модули)
Содержит функции поиска заказа по заданным
фильтрам
17.
Модуль работы с таблицей
«Пользователи» в БД
(общие модули)
Содержит функции просмотра, создания,
редактирования и удаления записей в таблице
«Пользователи»
18.
Модуль входа пользователя
на сайт (общие модули)
Содержит функции проверки существования
пользователя и соответствия логина и пароля
19.
Модуль регистрации
пользователя на сайт
(общие модули)
Содержит функции проверки существования
пользователя и создания нового, если такового
не существует
20.
Модуль главной страницы
(пользовательская часть)
Содержит процедуры и функции, которые
необходимо выполнить при открытии главной
страницы, а так же при выполнении входа
21.
Модуль работы с товарами
(пользовательская часть)
Содержит функции отображения информации о
товаре
96
п/п
Наименование модуля
Функции модуля
22.
Модуль работы с
категориями
(пользовательская часть)
Содержит функции отображения информации о
категории и отображения товаров в данной
категории
23.
Модуль работы с услугами
(пользовательская часть)
Содержит функции отображения информации о
услуге
24.
Модуль работы с заказами
(пользовательская часть)
Содержит функции отображения и
редактирования информации о заказе
25.
Модуль обратной связи
(пользовательская часть)
Содержит функции отправки письма на
электронную почту компании
26.
Модуль сброса пароля
(пользовательская часть)
Содержит функции отправки письма на
электронную почту пользователя для
изменения пароля
2.4.4 Описание программных модулей
Система, как сказано выше, состоит из двух трех разделов
пользовательского и административного и общих модулей, которые используют
общую базу данных.
В начале работы каждого модуля системы происходит подключение
конфигурационного файла, в котором прописаны основные настройки системы.
Каждый раздел имеет собственный конфигурационный, однако
конфигурационный файл расположенный в общем разделе в папке common имеет
более высокий приоритет, то есть прописанные в нем настройки являются
приоритетными. Кроме того в конфигурационных файла идет подключение базы
данных с помощью подключения компонента:
'db' => require(dirname(__DIR__)."/config/db.php"),
В файле db.php содержатся данные по подключению к базе данных. В
нашем случае это следующие параметры:
тип базы данных: MySQL;
хост базы данных: localhost;
имя базы данных: gtm_base;
пользователь базы данных: gtm_admin;
пароль пользователя: a9cCNN.
97
Так же в конфигурационном файле прописываются название сайта, alias
(основные пути) и настройки отправки почты. В приложении 5 листинги кодов
конфигурационных файлов.
В административной части основным модулем является модуль
SiteController.php. В приложении 6 отображен листинг кода данного модуля. В
функции behaviors() идет проверка доступов к функциям, а так же
перенаправление на страницу авторизации, если доступ только для
авторизированных пользователей. Ниже объявляются функции название которых
начинается с action, они ответственны за отображение страниц по заданному
адресу. Например, страница http://backend.gtmachinery.kz/index отображается
функцией actionIndex(). Так же в данном модуле имеются функции авторизации и
входа в систему.
Модули ProductController.php, CategoryController.php, ServiceController.php,
OrderController.php построенны посредством встроенного генератора кода CRUD.
Листинг кода данных модулей в приложении 6. В данных модулях имеются
функции:
actionIndex() отображение списка имеющихся записей в
соответствующей таблице;
actionView() просмотр текущей записи;
actionCreate() создание новой записи;
actionUpdate() редактирование имеющейся записи;
actionDelete() удаление выбранной записи;
findModel() поиск заданной сущности (записи в базе данных) по
параметрам в базе данных.
Модуль редактирования информации о компании имеет иную структуру. В
функции actionIndex() отображается форма редактирования информации и уже
заполненными данными из базы данных. И так же имеется функция findModel(),
которая также ищет записи в таблице «CompanyInfo» в базе данных.
Модуль формирования отчета отличается от предыдущих модулей, так же
как и модуль редактирования информации о компании, он написан не с помощью
встроенного генератора Gii. Листинг данного модуля в приложении 6. В данном
модуле имеются функции:
98
actionIndex() отображение списка отчетов доступных для
формирования;
actionClientOrders() формирование отчета о заказах за прошедший
период;
actionSupplierOrders() формирование плана закупок на будущий
период;
actionGp() формирование отчета о чистой прибыли.
Далее опишем модули пользовательской части. В пользовательской части
так же как и в административной - основным модулем является модуль
SiteController.php. Листинг кода данного модуля отображен в приложении 7. В
функции behaviors() идет проверка доступов к функциям, а так же
перенаправление на страницу авторизации, если доступ только для
авторизированных пользователей. Здесь так же имеется функция actionIndex(),
которая отображает главную страницу сайта. Так же имеются функции
авторизации, выхода и регистрации пользователей. Кроме того имеется функция
обратной связи actionContact(), которая отображает форму обратной связи на
странице.
Модули ProductController.php, CategoryController.php, ServiceController.php,
OrderController.php имеют одну функцию actionView(), которая отображает
информацию из базы данных на странице.
Модуль обратной связи иную структуру. В функции sendEmail() система
отправляет письмо на электронную почту менеджера. Листинг данного модуля в
приложении 7.
Модуль сброса пароля отличается от предыдущих модулей. Листинг
данного модуля в приложении 7. В данном модуле проверяется временный код
для сброса пароля отправленный на почту в функции __construct(). Затем
записывается новый пароль в базу данных в функции resetPassword().
Общий модуль в большинстве своем состоит из моделей, которые отвечают
за непосредственную работу с базой данных. Модули Product.php, Category.php,
Service.php, Order.php, CompanyInfo.php имеют функцию findById(), которая ищет
запись в таблице по переданному идентификатору. В модуле Product.php функция
findProducts() отображает все имеющиеся товары, которые должны отображаться
99
на сайте. В модуле Category.php функция getProducts() отображает все товары
относящиеся к данной категории. Листинги всех вышеперечисленных модулей в
приложении 8.
Модули поиска были сгенерированы автоматически через генератор Gii.
Данные модули ответственны за фильтрацию записей в административной части
в выбранном пункте меню. Модуль входа пользователя на сайт имеет функцию
проверки пароля validatePassword() соответствующего пользователя, полученного
с помощью функции getUser(). Модуль регистрации пользователя имеет функцию
регистрации пользователя signup(), а так же функцию отправке подтверждающего
письма на почту sendEmail().
Практически каждый из вышеперечисленных модулей имеет функцию
$this->render(), которая отвечает за передачу необходимых параметров на
страницу, а так же отображение соответствующего представления на странице.
Все представления располагаются в папках backend/views и frontend/views.
Данные файлы имеют HTML код, а так же в начале каждого файла подключаются
необходимые CSS и JS файлы.
Ниже на рисунке 18 представлена блок-схема формирования отчета о
заказах.
Источник: https://baza.diplomsite.ru/previewfile/8737