Технічні науки / Сучасні
інформаційні технології
Д.т.н., проф. Пількевич І.А.,
к.т.н., доц. Молодецька К.В., викл. Охрімчук І.А.
Житомирський військовий інститут ім.
С. П. Корольова
Державного університету телекомунікацій, Україна
ПРОГРАМНИЙ КОМПЛЕКС СИСТЕМИ МОНІТОРИНГУ
РУХУ ВІДВІДУВАЧІВ НА ПІДПРИЄМСТВІ
Постановка задачі. В даний час існує велика
кількість систем моніторингу та нагляду за персоналом, але кожна з них має своє
переваги та недоліки [1]. Тому актуальною є задача розробки системи
моніторингу, яка б мала найменше недоліків та була якісною, надійною та простою
у використанні.
В попередній
роботі авторами статті була розроблена підсистема моніторингу території
підприємства, а також було відмічено, що подальшими дослідженнями в цьому
напрямку є розробка програмного забезпечення моделі моніторингу [2].
Метою
роботи є розробка прототипу програмного комплексу системи моніторингу руху
відвідувачів на підприємстві.
Об’єктом
досліджень є процес автоматизації моніторингу руху відвідувачів на підприємстві.
Предметом
досліджень є методи та засоби автоматизації моніторингу руху відвідувачів на
підприємстві.
Наукова
новизна одержаних результатів полягає в тому, що вперше розроблено програмний
комплекс, який імітує роботу системи моніторингу руху відвідувачів на підприємстві.
Програма розроблена на мові високого програмування C# засобами Microsoft Visual
Studio 2008.
Реалізація функцій системи. В ході програмної
реалізації підсистеми моніторингу руху відвідувачів на підприємстві було
реалізовано ряд функцій. По-перше було проведено відображення всіх таблиць бази
даних (БД) в програмі, які представлені на рис. 1-11. Також було виконано
перевірку доступу до приміщень і запізнення на роботу та облік робочого часу.
Програмне
відображення таблиці «Osoba» (рис. 1) дозволяє побачити всі складові цієї
таблиці, головним елементом якої є елемент «dataGridView». Також на формі
присутні дві копки «Завантажити» та «Оновити», які в свою чергу завантажують
дані при натисканні на кнопку та оновлюють їх в разі коректування їх в таблиці.

Рис. 1. Форма «Osoba»
Для
відображення таблиці «Posada» (рис. 2) було створено форму, на яку
винесено дві кнопки «Завантажити» та «Оновити», а також компонент
«DataGridView», що відображає таблицю.

Рис. 2. Форма «Posada»
Форма
«Kartka» (рис. 3) реалізована за допомогою елементу «DataGridView» та двох
кнопок «Завантажити» та «Оновити», які виконують функції завантаження і
оновлення даних. В таблицю входить: код картки, код особи, дата видачі картки
та дата закінчення терміну дії картки.

Рис. 3. Форма «Kartka»
Форма
«Dostyp» (рис. 4) показує всі можливі рівні доступу на підприємстві.

Рис. 4. Форма «Dostyp»
Форма «Chergyvannya»
(рис. 5) – це таблиця, що призначена для відображення всіх осіб, які
чергують на протязі тижня.

Рис. 5. Форма «Chergyvannya»
Програмне
відображення форми «Grafic» (рис. 6) надає змогу ознайомитись з графіком
роботи всіх приміщень на території підприємства. Таблицю можна редагувати у будь-який
момент часу не запускаючи при цьому БД. При введенні даних достатньо натиснути
на кнопку «Оновити».
Форма
«Prumischennya» (рис. 7) надає можливість побачити всі наявні приміщення
на підприємстві, їх рівні доступу та графіки роботи.

Рис. 6. Форма «Grafic»

Рис. 7. Форма «Prumischennya»
Відображення
таблиці форми «Viddil» (рис. 8) показує назви відділів, їх керівників та
контактні телефони. Так само як і інші таблиці її можна редагувати та при
натисненні кнопки «Оновлення» дані будуть збережені. Даний запит реалізовується
за допомогою елемента «SqlDataAdapter» де прописується наступний запит: select
* from Viddil.

Рис. 8. Форма «Viddil»
Таблиця форми
«Reestracia» (рис. 9) відображає всіх працівників, які зробили доступ до
приміщень, а також інформацію про надання їм доступу.

Рис. 9. Форма «Reestracia»
Запит форми рис. 10 реалізує моніторинг руху персоналу, який по
вибраному працівнику показує де і скільки часу він перебував у приміщенні та чи
був наданий йому доступ до приміщення. Даний запит реалізується за допомогою
об’єднання таблиць «Reestracia» та «Osoba». Для відображення запиту використовувались
такі елементи як: «Listbox» та «DataGridView».

Рис. 10. Форма
«Моніторинг руху персоналу»
Запит «Чергування» (рис. 11) призначений для
відображення дати/часу чергування вибраної особи.
В роботі також
було створено запит на відображення осіб, які мають однаковий рівень доступу.
Форма складається з таких елементів, як «DataGridView» та «Combobox», які дають
змогу відобразити даний запит.

Рис. 11. Форма запиту
«Чергування»
Для перевірки
доступу до приміщень було створено нову форму (рис. 12), на якій
відображено прізвище співробітника та приміщення, в яке він хоче зайти і дата/час
входу.

Рис. 12. Форма «Доступ»
Лістинг програмного коду для реалізації функції:
for (int i = 0; i <
dataSet142.Osoba.Count; i++)
{
if (comboBox1.Text ==
Convert.ToString(dv1[i]["Famil"]))
kod_posadu =
(dv1[i]["kod_posadu"]).ToString();
}
for (int i = 0; i < dataSet142.Posada.Count; i++)
{
if (kod_posadu==Convert.ToString(dv2[i]["kod_posadu"]))
kod_dostypy =
(dv2[i]["kod_dostypy"]).ToString();
}
for (int i = 0; i < dataSet142.Prumischennya.Count;
i++)
{
if (comboBox2.Text ==
Convert.ToString(dv3[i]["Nazva"]))
{
kod_prumischenny =
(dv3[i]["kod_prum"]).ToString();
kod_graf =
(dv3[i]["kod_graf"]).ToString();
}
for (int i = 0; i < dataSet142.Grafik.Count; i++)
{
if (kod_graf ==
Convert.ToString(dv4[i]["kod_graf"]))
{
data_chas_poch =
(dv4[i]["data_chas_poch"]).ToString();
data_chas_kinc =
(dv4[i]["data_chas_kinc"]).ToString();
}
Форма
«Реєстрація відвідувачів» (рис. 13) проводить реєстрацію людей, які не
зареєстровані в базі, але хочуть отримати доступ. Для цього вони проходять
реєстрацію, де вказують свої основні дані. Також форма відображає зареєстровані
відвідування за датою та формує звіт.

Рис.
13. Форма «Реєстрація відвідувачів»
Лістинг програмного коду для реалізації функції:
sqlDataAdapter1.InsertCommand.Parameters[0].Value
= Convert.ToInt32(textBox1.Text);
sqlDataAdapter1.InsertCommand.Parameters[1].Value
= Convert.ToInt32(comboBox1.Text);
sqlDataAdapter1.InsertCommand.Parameters[2].Value = textBox2.Text;
sqlDataAdapter1.InsertCommand.Parameters[3].Value = textBox3.Text;
sqlDataAdapter1.InsertCommand.Parameters[4].Value =
textBox4.Text;
sqlDataAdapter1.InsertCommand.Parameters[5].Value =
dateTimePicker1.Value;
sqlDataAdapter1.InsertCommand.Parameters[6].Value = textBox5.Text;
sqlConnection1.Open();
sqlDataAdapter1.InsertCommand.ExecuteNonQuery();
sqlConnection1.Close();
dataSet151.Vidvidyvachi.Clear();
sqlDataAdapter1.Fill(dataSet151.Vidvidyvachi);
MessageBox.Show("Запис додано",
"Інформація", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch { MessageBox.Show("Запис не вдалось
додати, виникла помилка, перезапустіть будь-ласка програму",
"Інформація", MessageBoxButtons.OK, MessageBoxIcon.Information); }
}
На рис. 14 представлено
форма «Моніторинг чергувань за датою».
Лістинг програмного коду для реалізації функції:
DataView dv = new
DataView(dataSet191.Vidvidyvachi);
excel = new
Excel.Application();
excel.Visible = true;
excelworkbooks = excel.Workbooks;
excelworkbook =
excel.Workbooks.Open(@"C:\Users\Jonson\Desktop\Валенкевич\Моніторинг
відвідувань.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
excelsheets = excelworkbook.Worksheets;
excelsheet = (Excel.Worksheet)excelsheets.get_Item(1);

Рис.
14. Форма «Моніторинг чергувань за датою»
На рис. 15 представлено
форма «Реєстрація працівників підприємства при доступі до приміщень».

Рис.
15. Вікно форми «Реєстрація працівників підприємства при доступі до приміщень»
Лістинг програмного коду для реалізації функції:
for (int i = 0; i <
dataSet171.Osoba.Count; i++)
{
if (comboBox5.Text ==
Convert.ToString(dv1[i]["Famil"]))
kod_posadu = (dv1[i]["kod_posadu"]).ToString();
}
for (int i = 0; i < dataSet171.Posada.Count;
i++)
{
if (kod_posadu ==
Convert.ToString(dv2[i]["kod_posadu"]))
kod_dostypy = (dv2[i]["kod_dostypy"]).ToString();
}
for (int i = 0; i <
dataSet171.Prumischennya.Count; i++)
{
if (comboBox3.Text ==
Convert.ToString(dv3[i]["Nazva"]))
{
kod_prumischenny =
(dv3[i]["kod_prum"]).ToString();
kod_graf =
(dv3[i]["kod_graf"]).ToString();
}}
for (int i = 0; i < dataSet171.Grafik.Count;
i++)
{
if
(kod_graf == Convert.ToString(dv4[i]["kod_graf"]))
{
data_chas_poch =
(dv4[i]["data_chas_poch"]).ToString();
data_chas_kinc =
(dv4[i]["data_chas_kinc"]).ToString();
}}
DateTime dt1 = Convert.ToDateTime(data_chas_poch);
data_poch = dt1.ToString("T");
DateTime dt2 = Convert.ToDateTime(data_chas_kinc);
data_kinc = dt2.ToString("T");
for (int i
= 0; i < dataSet171.Prumischennya.Count; i++)
Таким чином в
роботі реалізовано функції підсистеми моніторингу руху відвідувачів на
підприємстві.
Висновки та практичні рекомендації. З метою використання
створеного програмного продукту в реальних умовах в рамках роботи було
проведено перевірку роботи системи на тестовому прикладі, а також перевірку
отриманих результатів роботи. Внаслідок проектування була виконана програма,
яка відображає працездатність підсистеми і показує те, що вона функціонує
правильно.
Прототип
програмного комплексу має працювати на ПЕОМ з конфігурацією не нижче: тактова
частота ЦП – 800 МГц, оперативна пам’ять – 256 МБ, операційна система – Windows 98|2000|NT|XP|7 та принтер. Також повинно бути
встановлено Microsoft SQL Server 2008 для під’єднання БД
з інформацією про співробітників та Microsoft Exel для формування звітності. Система
має забезпечувати збереження всіх видів інформації у відповідності керівних
інструкцій та нормативів.
Література:
1. Воронина В. А.
Обеспечение безопасности объектов [Текст] / В. А. Воронина,
В. А. Тихонов. – М. : Горячая линия-Телеком, 2010. – 272 с.
2. Пількевич І. А.
Підсистема моніторингу території підприємства [Текст] /
І. А. Пількевич, К. В. Молодецька,
І. А. Охрімчук : Materiály X
mezinárodní vĕdecko-praktická konference [„Zprávy
vĕdecké ideje-2014ˮ], (27
října-05 listopadu 2014
roku). – Praha, Česká republika:
Publishing House „Education and Scienceˮ s.r.o. – Díl. 11. Technické vĕdy. Moderní
informační technologie. Fyzika. –
S.19–24.