Выполнил: Афанасов Леонид Сергеевич, группа 441-об
Научный руководитель: Теличенко Денис Алексеевич, доцент, канд. техн. наук
Тема: «Автоматизация учета работ ремонтного персонала на ТЭЦ от Леонида»
ВведениеПланирование и учет ремонтных работ является обязательной составляющей для ТЭЦ. Так как на предприятии имеется много оборудования, которое в свою очередь может выйти из строя, или появляется необходимость замены на более современное. В связи с этим проводятся организационные работы по отладке, ремонту, поддержания оборудования или обновление ПО. По всем проделанным работам необходимо вести отчетность о выполненных или невыполненных работах.
При составлении отчетности вся информация собирается руководителем из всех измененных файлов исполнителей в воедино, и собранная вся информация заносится в единую таблицу. Автоматизировать данный процесс будет актуально и заметно сократит время, затрачиваемое на данное мероприятие.
Для реализации автоматизации учета работ ремонтного персонала разрабатывается информационная система. Которая осуществляет запросы к базе данных (единому архиву на сервере) и вывода информации при помощи интерфейса пользователя. А также составления форматированной таблицы на печать (для отчетности).
1 Разработка структуры базы данныхДля реализации информационной системы, разработка базы данных является первостепенной задачей в построении решения. Необходимо максимально точно выделить подзадачи системы, чтобы составить правильно необходимые таблицы и связи между ними.
Представленное решение в данной работе будет реализована с помощью трех основных таблиц («users», «date_plan» и «tasks») и двух второстепенных («user_group» и «actual_time»).
1.1 Таблица пользователей - «users»
В данной таблице будут храниться строки, содержащие необходимую информацию пользователей (рис. 1).
Рисунок 1 - Пример заполненной таблицы «users»
Заполнение данной таблицы происходит при регистрации пользователя на сайте. Имеются следующие поля:
- id (идентификатор пользователя, является счетчиком и заполняется автоматически при добавлении записи в базу);
- first_name, last_name и middle_name (формат данных полей - текст, хранится имя, фамилия и отчество пользователя);
- id_group (формат поля - число, при регистрации автоматически выставляется значение «2», данное поле связано с полем «id» из таблицы «user_group» рис. 2);
- email (тип данных данного поля - текст, содержится почта пользователя);
- password (тип данных - текст, хранит пароль пользователя, также данное значение поля шифруется и заносится в таблицу).
Рисунок 2 - Заполненная таблица «user_group»
1.2 Таблица даты планирования - «date_plan»
Таблица будет нести в себе информацию о дате планирования и исполнителе (рис. 3).
Рисунок 3 - Пример таблицы «date_plan»
Содержит следующие поля для заполнения:
- id (идентификатор даты планирования, является счетчиком и заполняется автоматически при добавлении записи в базу);
- date (тип данных поля является дата, хранит в себе дату планирования на выполнение задач);
- id_user (тип данных - число, хранится значение уникального идентификатора пользователя из таблицы «users»).
1.3 Таблица планирования - «tasks»
Таблица «tasks» является ключевой, она несет в себе основную часть информации (рис. 4).
Рисунок 4 - Пример вида таблицы «tasks» с информацией
Приведены следующие столбцы:
- id (данное поле является стандартным и обязательным столбцом для всех таблиц, описано выше);
- id_dateplan (тип данных - число, данное поле имеет связь с полем «id» из таблицы «date_plan», значение записывается автоматически при добавлении плана на странице);
- id_actualtime (тип - число, поле связано со столбцом «id» из таблицы «actual_time» рис. 5);
- title (формат поля является текст, ограничений на ввод значений нет, хранятся непосредственно сами задачи);
- description (формат поля - текст, ограничений не имеется, хранится описание задачи);
- result (формат - текст, хранит результат проделанной работы, возможен ввод текста только «выполнено» и «не выполнено»);
- rationale (текстовый формат столбца, ограничений на ввод нет, хранится объяснение исполнителя о не выполненной задачи);
- notation (поле является текстовым, возможен ввод одного из четырех значений: «подтверждено», «не подтверждено», «перенесено» и «снято»);
- admission (формат - текст, хранится ФИО исполнителя на допуск);
- repair_accounting (тип данных данного поля - boolean, возможен ввод значений только 0 - «нет» и 1 - «да», хранит информацию является ли задача ремонтной);
- accounting_hours (численный тип данных, содержится информацию затраченных часов на выполнение задачи исполнителем).
Рисунок 5 - Заполненная таблица «actual_time»
2 Разработка структуры пользовательского интерфейсаСтруктура данного сайта является двухуровневой (рис. 5).
Рисунок 6 - Структура сайта предложенного решения
2.1 Главная страница
Основное окно WEB-структуры является главная страница, на которой будет выводиться вся необходимая информация для руководителя и исполнителя. Если страницу посетит неавторизованный пользователь, то будет выведено сообщение о невозможности просмотра информации. Для авторизованного пользователя (руководителя или исполнителя) будет выведено на монитор:
- таблица данных;
- кнопка добавления нового плана;
- кнопка настройки фильтра.
Вид главной страницы представлен на рис. 7.
Рисунок 7 - Вид главной страницы
При нажатии на кнопку «Добавить план» открывается новая страница «Добавление плана».
После нажатия на кнопку «Настроить фильтр» раскрывается форма (рис. 8), для выбора на вывод в таблицу нужной информации.
Для вывода информации под настроенный фильтр, пользователю необходимо заполнить как минимум одно поле из следующих:
- выбор даты (данное поле является выпадающем списком, которое формируется автоматически, выводит в список даты добавленного плана);
- выбор сотрудника (выпадающий список, заполняющийся автоматически всеми исполнителями из БД);
- время фактическое (значение поля выбирается из выпадающего списка, значения в списке: «8:00-9:00», «9:00-10:00» и т.д., а также «внеплан.», «офиц. рем.» и «*»);
- задача (значение данного поля выбирается из выпадающего списка в котором перечислены все возможные задачи, которые когда-либо были занесены в базу);
- описание (выпадающий список, предлагается выбор из всех описаний задач, внесенных в базу);
- результат выполнения (выпадающий список, возможный выбор только из «выполнено» и «не выполнено»);
- примечание (выпадающий список, возможный значения полей «подтверждено», «не подтверждено», «перенесено» и «снято»);
- учет ремонта (выпадающий список со значениями «да» и «нет»).
В дальнейшем можно в полях «выбор даты» и «выбор сотрудника» реализовать массив данных, для того чтобы выбирать сразу нескольких исполнителей, и несколько дат выдачи плана.
Рисунок 8 - Настройка фильтра на вывод данных в таблицу
Так же имеется кнопка «Печать», которая позволяет распечатать (сохранить) полученную таблицу (рис. 9).
Рисунок 9 - Кнопка «печать»
Рисунок 10 - Вывод на печать таблицы
2.2 Страница регистрации пользователя
На данной странице имеется форма, заполняемая пользователем, при регистрации (рис. 12). Полный вид страницы регистрации представлен на рис.11.
Рисунок 11 - Вид страницы регистрации
Рисунок 12 - Форма регистрации пользователя
Чтобы пройти регистрацию успешно необходимо заполнить следующие поля:
- фамилия, имя и отчество (возможен ввод только буквенных значений, максимальная длина строки 24 символа);
- email (возможен ввод, как латинских символов, так и цифр, обязательная проверка на символ «@»);
- пароль (может состоять из любых символов, кроме кириллицы и пробелов);
- повторение пароля (введенная строка должна совпадать со значением введенное в поле «пароль»).
2.3 Страница добавления плана
На данной странице имеется форма для добавления задач для исполнителя (рис. 14). Данная форма может заполняться непосредственно, как руководителем, так и исполнителем.
Полный вид данной страницы представлен на рис.13.
Рисунок 13 - Вид страницы планирования
Рисунок 14 - Форма добавления задач
Для того, чтобы добавить план необходимо заполнить следующие поля, обязательные для заполнения:
- выбор сотрудника (значение данного поля выбирается из выпадающего списка, который формируется автоматически из пользователей с базы данных);
- дата (автоматически заполняется текущей датой, но также есть возможность изменения даты вручную);
- время фактическое (данное поле имеет несколько строк и три столбца. В первом столбце указывается время, в течение которого будет выполняться определенная задача, из выпадающего списка. Во втором столбце непосредственно описывается сама задача на выполнение и третий столбец - описание задачи, обычно пишутся подзадачи на выполнение).
При загрузке страницы в поле «время фактическое» формируется автоматически одна строка, если необходимо добавить еще строку, то нужно нажать на кнопку «время +» и будет добавлена одна дополнительная строка, а для удаления лишней строки имеется справа от третьего столбца кнопка «х».
После заполнения всех полей и нажатие на кнопку «Добавить план», происходит проверка на правильность введенных значений и, если нет каких-либо замечаний, происходит добавление задач в базу. А также если исполнитель планирует себе задачи после 9:00 рабочего времени, то ему выдаст ошибку о невозможности добавить план.