|
@@ -0,0 +1,246 @@
|
|
|
|
|
+# Аннотация
|
|
|
|
|
+
|
|
|
|
|
+**«ЗаводКонтроль»** — приложение для контроля проверок оборудования на промышленном предприятии. Программа помогает работникам выполнять ежедневные и плановые проверки с использованием NFC-меток, фиксировать результаты, выявлять дефекты и создавать заявки на ремонт. Администратор использует систему для контроля расписаний, ролей, логов, заявок и отчётности.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# Введение
|
|
|
|
|
+
|
|
|
|
|
+Приложение предназначено для повышения безопасности производства и соблюдения требований к эксплуатации оборудования на участках предприятия типа «КП Сплав».
|
|
|
|
|
+
|
|
|
|
|
+Основные возможности:
|
|
|
|
|
+
|
|
|
|
|
+- регистрация оборудования и назначение ответственных лиц;
|
|
|
|
|
+- проведение плановых и ежедневных проверок;
|
|
|
|
|
+- подтверждение этапов проверки через NFC-метки;
|
|
|
|
|
+- ввод параметров проверки и фиксация фото;
|
|
|
|
|
+- создание заявок на ремонт при обнаружении дефектов;
|
|
|
|
|
+- хранение инструкций по проверкам и графиков их выполнения;
|
|
|
|
|
+- формирование отчётов о выполненных и невыполненных проверках;
|
|
|
|
|
+- администрирование ролей, расписаний и заявок.
|
|
|
|
|
+
|
|
|
|
|
+<mark>Главное правило работы с программой: проверка считается завершённой только после прохождения всех этапов и фиксации данных.</mark>
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# Назначение и условия применения
|
|
|
|
|
+
|
|
|
|
|
+«ЗаводКонтроль» применяется внутри производственного предприятия для контроля состояния оборудования и дисциплины проверок.
|
|
|
|
|
+
|
|
|
|
|
+Программа используется в следующих условиях:
|
|
|
|
|
+
|
|
|
|
|
+- в производственных цехах и на участках с оборудованием, подлежащим регулярной проверке;
|
|
|
|
|
+- на мобильных устройствах под управлением Android для работников;
|
|
|
|
|
+- при наличии NFC-меток на оборудовании;
|
|
|
|
|
+- при подключении серверной части к СУБД PostgreSQL и веб-серверу FastAPI;
|
|
|
|
|
+- при наличии администратора, который управляет расписаниями, пользователями, заявками и отчётами.
|
|
|
|
|
+
|
|
|
|
|
+Программа не предназначена для учёта рабочего времени, финансовых операций и управления персоналом.
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# Установка
|
|
|
|
|
+
|
|
|
|
|
+1. Подготовьте серверную часть:
|
|
|
|
|
+ - [x] установите PostgreSQL;
|
|
|
|
|
+ - [x] настройте базу данных приложения;
|
|
|
|
|
+ - [x] разверните веб-сервер FastAPI;
|
|
|
|
|
+ - [ ] проверьте подключение к корпоративной сети.
|
|
|
|
|
+2. Установите мобильное приложение:
|
|
|
|
|
+ - [x] получите APK-файл приложения «ЗаводКонтроль»;
|
|
|
|
|
+ - [x] разрешите установку приложения из доверенного источника;
|
|
|
|
|
+ - [x] запустите установку APK-файла на Android-устройстве;
|
|
|
|
|
+ - [ ] проверьте наличие иконки приложения в меню телефона.
|
|
|
|
|
+3. Выполните первичную настройку:
|
|
|
|
|
+ - [x] внесите оборудование в базу данных;
|
|
|
|
|
+ - [x] привяжите ответственных работников к оборудованию;
|
|
|
|
|
+ - [x] загрузите расписание проверок;
|
|
|
|
|
+ - [ ] протестируйте вход по табельному номеру.
|
|
|
|
|
+4. Завершите установку:
|
|
|
|
|
+ - [x] проверьте сканирование NFC-меток;
|
|
|
|
|
+ - [x] выполните пробную проверку;
|
|
|
|
|
+ - [ ] убедитесь, что заявка на ремонт создаётся корректно.
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# Описание операций
|
|
|
|
|
+
|
|
|
|
|
+## 1. Запуск и вход в систему
|
|
|
|
|
+
|
|
|
|
|
+После установки приложения в меню телефона появляется иконка «ЗаводКонтроль». Пользователь открывает приложение и вводит табельный номер. При корректном вводе открывается главное меню с доступом к профилю, ежедневной проверке, календарю проверок и выходу из профиля.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+## 2. Выбор проверки
|
|
|
|
|
+
|
|
|
|
|
+Работник выбирает ежедневную или плановую проверку. В расписании автоматически выбирается текущая дата, но пользователь может выбрать другой день в горизонтальном списке дат.
|
|
|
|
|
+Ежедневную можно выбрать в профиле.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+Плановую проверку выбирают в расписании.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+## 3. Сканирование NFC-метки
|
|
|
|
|
+
|
|
|
|
|
+Перед началом проверки пользователь нажимает кнопку «Где метка?», смотрит подсказку с расположением метки и сканирует NFC-метку оборудования. Если метка корректная, программа загружает шаблон проверки и открывает первый шаг.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+## 4. Выполнение шагов проверки
|
|
|
|
|
+
|
|
|
|
|
+На каждом шаге пользователь:
|
|
|
|
|
+
|
|
|
|
|
+1. читает описание операции;
|
|
|
|
|
+2. вводит числовые или текстовые параметры;
|
|
|
|
|
+3. фиксирует данные с помощью камеры;
|
|
|
|
|
+4. сканирует NFC-метку;
|
|
|
|
|
+
|
|
|
|
|
+Пример фрагмента исходного кода клиентской части (ручки):
|
|
|
|
|
+
|
|
|
|
|
+```java
|
|
|
|
|
+@POST("check/start/{tagId}/{typeCheck}")
|
|
|
|
|
+ Call<StartResponse> startCheck(@Path("tagId") String tagId,@Path("typeCheck") String typeCheck);
|
|
|
|
|
+
|
|
|
|
|
+ @POST("check/step")
|
|
|
|
|
+ Call<StepResult> checkStep(@Body StepRequest request);
|
|
|
|
|
+
|
|
|
|
|
+ @Multipart
|
|
|
|
|
+ @POST("/step/upload")
|
|
|
|
|
+ Call<StepResult> uploadStep(
|
|
|
|
|
+
|
|
|
|
|
+ @Part("sessionId") RequestBody sessionId,
|
|
|
|
|
+
|
|
|
|
|
+ @Part("stepId") RequestBody stepId,
|
|
|
|
|
+
|
|
|
|
|
+ @Part("tagId") RequestBody tagId,
|
|
|
|
|
+
|
|
|
|
|
+ @Part("value") RequestBody value,
|
|
|
|
|
+
|
|
|
|
|
+ @Part("comment") RequestBody comment,
|
|
|
|
|
+
|
|
|
|
|
+ @Part MultipartBody.Part photo
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ @POST("repair")
|
|
|
|
|
+ Call<Void> createRepair(@Body RepairRequest request);
|
|
|
|
|
+
|
|
|
|
|
+ @GET("/repair/types")
|
|
|
|
|
+ Call<RepairTypesResponse> getRepairTypes();
|
|
|
|
|
+
|
|
|
|
|
+ Call<Step> getStep(String stepId);
|
|
|
|
|
+
|
|
|
|
|
+ @POST("/auth/login")
|
|
|
|
|
+ Call<LoginResponse> login(
|
|
|
|
|
+ @Body LoginRequest request
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ @GET("profile/{pass_id}")
|
|
|
|
|
+ Call<ProfileResponse> getProfile(
|
|
|
|
|
+ @Path("pass_id") String passId
|
|
|
|
|
+ );
|
|
|
|
|
+ @GET("schedule/{pass_id}")
|
|
|
|
|
+ Call<ScheduleResponse> getSchedule(
|
|
|
|
|
+ @Path("pass_id") String passId
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ @GET("equipment/{pass_id}")
|
|
|
|
|
+ Call<EquipmentResponse> getEquipment(
|
|
|
|
|
+ @Path("pass_id") String passId
|
|
|
|
|
+ );
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 5. Завершение проверки
|
|
|
|
|
+
|
|
|
|
|
+После прохождения всех этапов приложение показывает результат: проверка выполнена успешно или обнаружена проблема. Пользователь может создать заявку на ремонт.
|
|
|
|
|
+
|
|
|
|
|
+## 6. Создание заявки на ремонт
|
|
|
|
|
+
|
|
|
|
|
+Для создания заявки пользователь нажимает «Заявка на ремонт», выбирает вид дефекта, вводит обязательные данные. После отправки заявка сохраняется в базе данных и становится доступной администратору.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+## 7. Действия администратора
|
|
|
|
|
+
|
|
|
|
|
+Администратор выполняет следующие операции:
|
|
|
|
|
+
|
|
|
|
|
+- контролирует логи в PostgreSQL;
|
|
|
|
|
+- управляет ролями и доступами;
|
|
|
|
|
+- загружает расписание проверок через административную панель;
|
|
|
|
|
+- рассматривает заявки на ремонт;
|
|
|
|
|
+- просматривает проверки работников;
|
|
|
|
|
+- выгружает отчёты и статистику в Excel.
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# Термины и сокращения
|
|
|
|
|
+
|
|
|
|
|
+## Термины и сокращения
|
|
|
|
|
+
|
|
|
|
|
+| Термин / сокращение | Английский вариант | Пояснение |
|
|
|
|
|
+| --- | --- | --- |
|
|
|
|
|
+| NFC-метка | NFC tag | Пассивное устройство с чипом и антенной, которое передаёт данные на небольшом расстоянии. |
|
|
|
|
|
+| Верификация | Verification | Подтверждение корректности данных или действия пользователя. |
|
|
|
|
|
+| Инвентарный номер | Inventory number | Уникальный идентификатор оборудования в учётной системе предприятия. |
|
|
|
|
|
+| Плановая проверка | Scheduled check | Проверка оборудования, выполняемая по графику: неделя, месяц или год. |
|
|
|
|
|
+| Ежедневная проверка | Daily check | Проверка оборудования, выполняемая каждый день. |
|
|
|
|
|
+| UID | Unique identifier | Уникальный идентификатор NFC-метки. |
|
|
|
|
|
+| Пользователь | User | Сотрудник, имеющий доступ к функциям системы в рамках своей роли. |
|
|
|
|
|
+| Объект | Object | Сущность, о которой хранится информация в системе: оборудование, документ, заявка. |
|
|
|
|
|
+| Поле | Field | Характеристика объекта, минимальная единица данных в системе. |
|
|
|
|
|
+| Идентификатор | Identifier | Числовой или строковый номер, который однозначно определяет объект. |
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# Справочная информация
|
|
|
|
|
+
|
|
|
|
|
+<p align="left"><strong>Подсказка:</strong> если кнопка никак не найти NFC-метку, можно нажать кнопку "Где метка?" и появится картинка-подсказка.</p>
|
|
|
|
|
+
|
|
|
|
|
+<p align="center"><strong>Важно:</strong> пустые обязательные поля не допускаются. Система потребует заполнить их перед завершением операции.</p>
|
|
|
|
|
+
|
|
|
|
|
+<p align="right"><strong>Контроль:</strong> ошибки входа и подозрительные действия фиксируются в логах администратора.</p>
|
|
|
|
|
+
|
|
|
|
|
+| Ситуация | Действие пользователя | Результат |
|
|
|
|
|
+|:--|:--:|--:|
|
|
|
|
|
+| Неверный табельный номер | Повторить ввод или обратиться к администратору | Ошибка авторизации устранена |
|
|
|
|
|
+| Не отображается оборудование | Сообщить мастеру или администратору | Ответственный назначен корректно |
|
|
|
|
|
+| Нет интернета | Продолжить работу и дождаться сети | Данные синхронизируются позже |
|
|
|
|
|
+| Заявка не создаётся | Заполнить обязательные поля | Заявка сохранена |
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# Контакты
|
|
|
|
|
+
|
|
|
|
|
+По вопросам работы приложения можно написать разработчикам в Telegram: [@slowwwmint](https://t.me/slowwwmint), [@ArchangelAnna](https://t.me/ArchangelAnna).
|
|
|
|
|
+
|
|
|
|
|
+<details>
|
|
|
|
|
+<summary>Дополнительная контактная информация</summary>
|
|
|
|
|
+
|
|
|
|
|
+<blockquote>
|
|
|
|
|
+ <p><strong>ВК:</strong></p>
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li><a href="https://vk.com/ekaterina_elnova">Ельнова Екатерина</a></li>
|
|
|
|
|
+ <li><a href="https://vk.com/arhangelfly">Архангельская Анна</a></li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+
|
|
|
|
|
+ <p><strong>Email:</strong></p>
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li><a href="mailto:katakata45882@gmail.com">katakata45882@gmail.com</a></li>
|
|
|
|
|
+ <li><a href="mailto:Arhangelsc.nov@yandex.ru">Arhangelsc.nov@yandex.ru</a></li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+</blockquote>
|
|
|
|
|
+
|
|
|
|
|
+</details>
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# Краткий чек-лист пользователя
|
|
|
|
|
+
|
|
|
|
|
+- [x] Войти в приложение по табельному номеру.
|
|
|
|
|
+- [x] Выбрать ежедневную или плановую проверку.
|
|
|
|
|
+- [x] Найти и отсканировать NFC-метку оборудования.
|
|
|
|
|
+- [x] Выполнить все шаги проверки.
|
|
|
|
|
+- [x] Зафиксировать необходимые данные и фото.
|
|
|
|
|
+- [x] Завершить проверку.
|
|
|
|
|
+- [x] При необходимости создать заявку на ремонт.
|