Диплом: Автоматизация приема и обработки заявок отделом техподдержки Богородском филиале АО "НПО "Прибор"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
97
Приложение 1 index.php
1. <?php
2. header("Content-Type: text/html; charset=Windows-1251");
3. if(!empty($_POST['user'])){require_once 'C:\pref\login.php';}
4. date_default_timezone_set("Asia/Baghdad");
5. function write_log($content) {
6. $file = 'C:\log\\'.date("Ymd").'.log';
7. file_put_contents($file, $content, FILE_APPEND | LOCK_EX);
8. require 'libs\geo.php';
9. }
10. // Удаляем Cookie 'PHPSESSID': (Выходим из сессии)
11. SetCookie("PHPSESSID","");
12. if(!empty($_POST['paswd'])){
13. if($_POST['key'] == $pass){
14. sleep(1);
15. $date = date("d.m.Y");
16. $time = date("H:i");
17. $content = '<tr><td><img src="images/user.svg"
alt="Логин"></td><td>'.$date.'</td><td>'.$time.'</td><td>Успешный вход.
Пользователь id='.$id.' <b>'.$_POST['user'].'</b> вошел в систему. ';
18. write_log($content);
19. // Настройки безопасности для куков
20. ini_set("session.use_cookies", 1);
21. ini_set("session.use_only_cookies", 1);
22. ini_set("session.use_strict_mode", 1);
23. ini_set("session.use_trans_sid", 0);
24. ini_set("session.cache_limiter", nocache);
25. ini_set("session.sid_length", 48);
26. ini_set("session.sid_bits_per_character", 6);
27. session_start(['cookie_lifetime' => 86400,]); // Один день в секундах
28. $_SESSION['id'] = $id;
29. //$_SESSION['refresh'] = 300;
30. $_SESSION['hash'] = hash_file('md5', "pref\id$id.php");
31. header("Location: main.php");
32. }
33. else {
34. $date = date("d.m.Y");
35. $time = date("H:i");
36. $content = '<tr><td><img src="images/error.svg"
alt="Ошибка"></td><td>'.$date.'</td><td>'.$time.'</td><td>Неудачная попытка
входа. ';
37. write_log($content);
38. sleep(7);
39. header("Location: 401.php");
40. }
41. }
42. else {
98
43. ?>
44. <!DOCTYPE html>
45. <head>
46. <meta charset="UTF-8" />
47. <noscript>
48. <meta http-equiv="Refresh" content="0; js.php" />
49. </noscript>
50. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
51. <meta name="viewport" content="width=device-width, initial-scale=1" />
52. <link rel="icon" href="favicon.ico" type="image/x-icon" />
53. <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
54. <title>Приём заявок пользователей</title>
55. <link href="css/bootstrap.min.css" rel="stylesheet" />
56. <!--[if !IE]><!--><link href="css/style.css" rel="stylesheet"><!--<![endif]-->
57. <!--[if IE]><link href="css/style-ie.css" rel="stylesheet"><![endif]-->
58. <!--[if lt IE 9]>
59. <script src="js/html5shiv.js"></script>
60. <script src="js/respond.min.js"></script>
61. <![endif]-->
62. <script src="js/jquery.min.js"></script>
63. <script src="js/bootstrap.min.js"></script>
64. <script src="js/key.js"></script>
65. </head>
66. <body onselectstart="return false">
67. <div class="wrapper">
68. <div class="content">
69. <p class="header"><img class="im" src="images/owl.svg" alt="СОВА">
Отдел ИТ</p>
70. <h4 class="color_b">
71. <form method="POST">
72. <b>Введите логин и пароль</b><br>
73. <input type="text" placeholder="Имя пользователя" name="user"
minlength="1" maxlength="32" pattern="{1,32}" /><br>
74. <input type="password" placeholder="Пароль" id="paswd" name="paswd"
oninput="change()" minlength="1" maxlength="64" pattern="{1,64}" />
75. <input type="text" id="hash" name="key" style="display:none" />
76. <input onmousedown="change()" type="submit" value="Войти" />
77. </form><br>
78. </h4>
79. <h4 class="color_a"><hr><img src="images/warning.svg"
alt="информация"><b> Важная информация!</b><br>
80. <p class="h5">Система приёма заявок от сотрудников отделом
информационных технологий БФ АО "НПО "Прибор"
81. разработана и внедрена специалистом по информационным технологиям
Якушевым Сергеем Владимировичем
82. как наглядная "Ticket" система (система номерных талонов) для удобства
просмотра статуса исполнения
99
83. поданных заявок, автоматизациии и соответственно более быстрой
обработке заявок поданных Вами.<br>
84. <b>Система ни в коем случае не призвана отменить или заменить
существующую на предприятии систему
85. служебных записок!</b><br><br>
86. Если у Вас возникли проблемы со входом или вопросы обращайтесь по
внутреннему телефону или sip:
87. <a href="sip:2288@94.253.8.238">22-88</a>, <a
href="sip:2289@94.253.8.238">22-89</a>, <a href="sip:2480@94.253.8.238">24-
80</a>
88. или на почту: <a href="mailto:administrator@pribor-
bf.ru">administrator@pribor-bf.ru</a><hr>
89. </p>
90. </h4>
91. <h4 class="color_b"
onclick="location.href='user_manual.php?sort=active'"><img src="images/info.svg"
alt="info"> Руководство пользователя</h4>
92. </div><!-- .content -->
93. <div class="footer" onselectstart="return false">Отдел ИТ. Тел. или sip: <a
href="sip:2288@94.253.8.238">22-88</a>, <a href="sip:2289@94.253.8.238">22-
89</a>, <a href="sip:2480@94.253.8.238">24-80</a>. БФ АО "НПО "Прибор" <?php
echo date("Y") ?>г.</div>
94. </div><!-- .wrapper -->
95. </body>
96. </html>
97. <?php
98. }
99. ?>
100
Приложение 2 main.php
1. <?php
2. session_start();
3. header("Content-Type: text/html; charset=Windows-1251");
4. //$user = $_SESSION['login'];
5. $id = $_SESSION['id'];
6. // Определяем логин юзера по id
7. $content = file('C:\pref\users.list');
8. $usr = explode('>', $content[$id]);
9. $user = $usr[1];
10. //Проверяем включены ли куки
11. if(!$_SESSION['hash']){ header("location:cookie.php");}
12. $delay = $_GET['refresh'];
13. $hash=hash_file('md5', "C:\pref\id$id.php");
14. require "C:\pref\id$id.php";
15. if ($admin) {
16. $rank = 'admin';
17. }
18. else {
19. $rank = 'user';
20. }
21. date_default_timezone_set("Asia/Baghdad"); //тоже что и Europe/Moscow, но
без летнего/зимнего времени.
22. if(!isset($_SESSION['hash']) || $_SESSION['hash']!=$hash ||
$_SESSION['id']!=$id){ header("location:401.php");}
23. else{ ?>
24. <!DOCTYPE html>
25. <html lang="ru">
26. <head>
27. <meta charset="utf-8">
28. <noscript>
29. <meta http-equiv="Refresh" content="0; js.php" />
30. </noscript>
31. <!-- <meta http-equiv="refresh" content="<?=$delay?>; url=main.php"> -->
32. <meta http-equiv="X-UA-Compatible" content="IE=edge">
33. <meta name="viewport" content="width=device-width, initial-scale=1">
34. <link rel="icon" href="favicon.ico" type="image/x-icon" />
35. <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
36. <title>Приём заявок пользователей</title>
37. <link href="css/bootstrap.min.css" rel="stylesheet">
38. <!--[if !IE]><!--><link href="css/style.css" rel="stylesheet"><!--<![endif]-->
39. <!--[if IE]><link href="css/style-ie.css" rel="stylesheet"><![endif]-->
40. <!--[if lt IE 9]>
41. <script src="js/html5shiv.js"></script>
42. <script src="js/respond.min.js"></script>
43. <![endif]-->
44. <script src="js/jquery.min.js"></script>
101
45. <script src="js/bootstrap.min.js"></script>
46. <script src="js/onclick.js"></script>
47. </head>
48. <body onselectstart="return false">
49. <div class="wrapper">
50. <div class="content">
51. <p class="header"><img class="im" src="images/owl.svg" alt="ОТДЕЛ ИТ">
ОТДЕЛ ИТ</p>
52. <h4 class="color_b">
53. <?php echo '<img src="images/'.$rank.'.svg" alt="Пользователь"> '.$user; ?>
54. <span style="position:absolute; right:0px" onclick="return logout()">Выход
<img src="images/logout.svg" alt="Выход"></span>
55. </h4>
56. <?php
57. require "C:\pref\id$id.php";
58. if($admin) {
59. echo '<h4 class="color_a"
onclick="location.href=\'new_task.php?type=0\'"><img src="images/task.svg"
alt="календарь"> Новая заявка</h4>
60. <h4 class="color_b" onclick="location.href=\'table.php?sort=active\'"><img
src="images/calendar.svg" alt="календарь"> Просмотр заявок</h4>
61. <h4 class="color_a"
onclick="location.href=\'archive.php?sort=complite_month\'"><img
src="images/calendar.svg" alt="архив"> Просмотр архива</h4>
62. <h4 class="color_b" onclick="location.href=\'arc.php?sort=complite\'"><img
src="images/folder.svg" alt="log"> Архивация заявок</h4>
63. <h4 class="color_a" onclick="location.href=\'users_passwd.php\'"><img
src="images/settings.svg" alt="user"> Смена паролей пользователей</h4>
64. <h4 class="color_b" onclick="location.href=\'users_access.php\'"><img
src="images/settings.svg" alt="user"> Назначение прав пользователей</h4>
65. <h4 class="color_a" onclick="location.href=\'users_rename.php\'"><img
src="images/settings.svg" alt="user"> Переименование пользователей</h4>
66. <h4 class="color_b" onclick="location.href=\'users_create.php\'"><img
src="images/user.svg" alt="user"> Создание пользователей</h4>
67. <h4 class="color_a" onclick="location.href=\'users_delete.php\'"><img
src="images/delete.svg" alt="user"> Удаление пользователей</h4>
68. <h4 class="color_b" onclick="location.href=\'users_view.php\'"><img
src="images/user.svg" alt="user"> Просмотр пользователей</h4>
69. <h4 class="color_a" onclick="location.href=\'log.php?sort=day\'"><img
src="images/calendar.svg" alt="log"> Просмотр логов</h4>';
70. }
71. else {
72. echo '<h4 class="color_a"
onclick="location.href=\'new_task.php?type=0\'"><img src="images/task.svg"
alt="Заявка"> Новая заявка</h4>
73. <h4 class="color_b" onclick="location.href=\'table.php?sort=active\'"><img
src="images/calendar.svg" alt="календарь"> Просмотр заявок</h4>
102
74. <h4 class="color_a"
onclick="location.href=\'archive.php?sort=complite_month\'"><img
src="images/calendar.svg" alt="архив"> Просмотр архива</h4>';
75. }
76. ?>
77. </div><!-- .content -->
78. <div class="footer" onselectstart="return false">Отдел ИТ. Тел. или sip: <a
href="sip:2288@94.253.8.238">22-88</a>, <a href="sip:2289@94.253.8.238">22-
89</a>, <a href="sip:2480@94.253.8.238">24-80</a>. БФ АО "НПО "Прибор" <?php
echo date("Y") ?>г.</div>
79. </div><!-- .wrapper -->
80. </body>
81. </html>
82. <?php } ?>
103
Приложение 3 new_task.php
1. <?php
2. session_start();
3. header("Content-Type: text/html; charset=Windows-1251");
4. $id = $_SESSION['id'];
5. date_default_timezone_set("Asia/Baghdad");
6. // Проверяем логин юзера по id
7. $content = file('pref/users.list');
8. $usr = explode('>', $content[$id]);
9. $user = $usr[1];
10. if(!$_SESSION['hash']){ header("location:cookie.php");}
11. require "pref/id$id.php";
12. $hash=hash_file('md5', "pref\id$id.php");
13. if ($admin) {
14. $rank = 'admin';
15. }
16. else {
17. $rank = 'user';
18. }
19. if(!isset($_SESSION['hash']) || $_SESSION['hash']!=$hash ||
$_SESSION['id']!=$id){ header("location:401.4.php");}
20. else{ ?>
21. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
22. <html xmlns="http://www.w3.org/1999/xhtml">
23. <head>
24. <meta charset="Windows-1251">
25. <noscript>
26. <meta http-equiv="Refresh" content="0; js.php" />
27. </noscript>
28. <meta http-equiv="X-UA-Compatible" content="IE=edge">
29. <meta name="viewport" content="width=device-width, initial-scale=1">
30. <link rel="icon" href="favicon.ico" type="image/x-icon" />
31. <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
32. <title>Приём заявок пользователей</title>
33. <link href="css/bootstrap.min.css" rel="stylesheet">
34. <!--[if !IE]><!--><link href="css/style.css" rel="stylesheet"><!--<![endif]-->
35. <!--[if IE]><link href="css/style-ie.css" rel="stylesheet"><![endif]-->
36. <link rel="stylesheet" href="./css/table.style.css">
37. <!--[if lt IE 9]>
38. <script src="js/html5shiv.js"></script>
39. <script src="js/respond.min.js"></script>
40. <![endif]-->
41. <script src="js/jquery.min.js"></script>
42. <script src="js/bootstrap.min.js"></script>
43. <script src="js/onclick.js"></script>
44. <script type="text/javascript" src="js/modernizr-1.6.min.js"></script>
104
45. </head>
46. <body onselectstart="return false">
47. <div class="wrapper">
48. <div class="content">
49. <p class="header"><img class="im" src="images/owl.svg" alt="Отдел ИТ">
ОТДЕЛ ИТ</p>
50. <h4 class="color_b">
51. <?php echo '<img src="images/'.$rank.'.svg" alt="Пользователь"> '.$user; ?>
52. <span style="position:absolute; right:0px" onclick="return logout()">Выход
<img src="images/logout.svg" alt="Выход"></span>
53. </h4>
54. <?php
55. $type = $_GET['type'];
56. $type_array = array(
57. "Не указано",
58. "Консультация ОС / ПО",
59. "Консультация 1С",
60. "Настройка ОС / ПО",
61. "Заправка / замена картриджа",
62. "Настройка сети",
63. "Подключение / настр. переферии",
64. "Ремонт ПК",
65. "Ремонт: Принтер / МФУ / Сканер",
66. "Прокладка ЛВС",
67. "Учетные записи / Почта",
68. "Установка ОС / ПО",
69. "Прочее",
70. );
71. if(!$type) {
72. echo '<h4 class="color_a"><img src="images/info.svg"
alt="Инфо">&nbsp;Причина обращения:
73. <select name="sel" onchange="MM_select(\'parent\',this,1)">';
74. $i=0;
75. foreach ($type_array as $key) {
76. echo '<option value="new_task.php?type='.$i.'">'.$type_array[$i].'</option>';
77. $i = $i+1;
78. }
79. echo '</select> ';
80. }
81. if($type > 0) {
82. echo '<h4 class="color_a"><img src="images/info.svg" alt="Инфо">
Причина обращения:<b><br>';
83. echo '<img src="images/'.$type.'.svg" alt="Тип"> '.$type_array[$type].'
'.'</b><input type="button" onclick="location.href=\'new_task.php?type=0\'"
value="Изменить">';
84. echo '</h4>';
85. }
86. $source = 'pref\users.list';
105
87. $arr = file($source);
88. $count = count($arr);
89. $user_id = $_GET['user_id'];
90. if($admin && !$user_id && $type > 0){
91. echo '<h4 class="color_b"><img src="images/user.svg" alt="Пользователь">
По обращению от: ';
92. echo '<select name="sel"
onchange="MM_select(\'parent\',this,1)"><option>Выбор</option>';
93. for ($i = 1; $i < $count; $i++) {
94. $opt = explode('>', $arr[$i]);
95. echo '<option
value="'.$_SERVER['REQUEST_URI'].'&user_id='.$i.'"'.$opt[0].'>'.$opt[1].'</option>';
96. }
97. echo '</select>';
98. }
99. $name_user_id = explode('>', $arr[$user_id]);
100. $name_id = explode('>', $arr[$id]);
101. if($user_id > 0){
102. echo '<h4 class="color_b"><img src="images/user.svg" alt="Пользователь">
По обращению от: <b>'.trim($name_user_id[1]).' </b>
103. <input type="button" onclick="location.href=\'new_task.php?type=0\'"
value="Изменить">';
104. }
105. echo '</h4>';
106. if(!empty($_POST['new'])){ // если инпут не пуст
107. if(isset($_POST['new'])) $new = $_POST['new'];
108. $microsec=substr(gettimeofday(usec), -2);
109. $task=chr(date('m')+191).chr(date('d')+191).chr(date('H')+192).'
'.date('i').$microsec.$id;
110. $tasknum=date('YmdHis').$microsec;
111. $file='C:\\share\\active\\id'.$id.'\\'.$tasknum.'_'.$id.'.task';
112. $date = date("d.m.Y");
113. $time = date("H:i");
114. //антиспам проверка была ли заявка меньше минуты назад
115. $check = glob('C:\\share\\active\\id'.$id.'\\'.date('YmdHi').'*_'.$id.'.task');
116. if(!$admin){
117. if (!count($check)) {
118. `"CMD /C MKDIR C:\share\active\id$id"`;
119. $content = '<tr
onclick="location.href=location+\'&name='.$tasknum.'\'"><td>'.$task.'</td><td>'.$date.'
</td><td>'.$time.'</td><td><img src="images/'.$type.'.svg"
alt="~'.$task.'~'.$type.'~0~"><br>'.$type_array[$type].'</td><td>Создана
пользователем <b>'.trim($name_id[1]).'</b>.<br>'.$new.'</td><td>~От:
<b>'.trim($name_id[1]).'</b><br>'.substr($new, 0, 80).'...~</td></tr>';
120. }
121. }
122. if($admin && !$user_id){
123. `"CMD /C MKDIR C:\share\active\id$id"`;
106
124. $content = '<tr
onclick="location.href=location+\'&name='.$tasknum.'\'"><td>'.$task.'</td><td>'.$date.'
</td><td>'.$time.'</td><td><img src="images/'.$type.'.svg"
alt="~'.$task.'~'.$type.'~0~"><br>'.$type_array[$type].'</td><td>Администратор
<b>'.trim($name_id[1]).'</b> создал заявку.<br>'.$new.'</td><td>~От:
<b>'.trim($name_id[1]).'</b><br>'.substr($new, 0, 80).'...~</td></tr>';
125. }
126. if($admin && $user_id > 0){
127. `"CMD /C MKDIR C:\share\active\id$user_id"`;
128. $task=chr(date('m')+191).chr(date('d')+191).chr(date('H')+192).'
'.date('i').$microsec.$user_id;
129. $file='C:\\share\\active\\id'.$user_id.'\\'.$tasknum.'_'.$user_id.'.task';
130. $content = '<tr
onclick="location.href=location+\'&name='.$tasknum.'\'"><td>'.$task.'</td><td>'.$date.'
</td><td>'.$time.'</td><td><img src="images/'.$type.'.svg"
alt="~'.$task.'~'.$type.'~0~"><br>'.$type_array[$type].'</td><td>Администратор
<b>'.trim($name_id[1]).'</b> создал заявку на основании обращения от
<b>'.trim($name_user_id[1]).'</b>.<br>'.$new.'</td><td>~От:
<b>'.trim($name_user_id[1]).'</b><br>'.substr($new, 0, 80).'...~</td></tr>';
131. }
132. if (count($check) > 0) {
133. echo '<h4 class="color_r">
134. <img src="images/error.svg" alt="Ошибка"><b>Вы отправляли заявку
меньше минуты назад!</b><br>
135. <img src="images/warning.svg" alt="Инфо">Подождите...
136. </h4>';
137. }
138. else {
139. file_put_contents($file, $content, FILE_APPEND | LOCK_EX);
140. }
141. }
142. ?>
143. <h4 class="color_a"><hr>
144. <form onsubmit="if(!confirm('Отправить заявку?')){return false;}"
method="post">
145. <p><textarea id="txa" name="new" maxlength="200" spellcheck="true"
placeholder="Введите текст сообщения"></textarea></p>
146. <p><input type="submit" value="Отправить" onclick="with
(document.getElementById ('txa')) value = value.replace (/[~<\n\r]/g, ' ')"></p>
147. </form><hr>
148. </h4>
149. <?php
150. if (file_exists($file)) {
151. echo '<h4 class="color_a"><img src="images/ready.svg" alt="ready">Заявка
№ <b>'.$task.'</b> отправлена.<br>
152. <a href="table.php?task='.$tasknum.'"><img src="images/task.svg"
alt="info"> Просмотреть статус заявки.</a>
153. </h4>';

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

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