Файлы и вложения
Назначение
Раздел собирает работу с файлами в одну логику для всей системы: к чему можно прикреплять документы и фотографии, как они загружаются и просматриваются, как работает версионирование нормативной документации, кто имеет доступ. Файлы — то, что связывает цифровые записи с физической реальностью производства: чертежи на станке, фото брака после ОТК, акты от службы обслуживания.
Кто работает с модулем
- Администратор и мастер — загружают и обновляют нормативную документацию (чертежи, инструкции, регламенты), прикрепляют файлы к обращениям, просматривают вложения операторов.
- Оператор — основной поставщик «полевых» вложений: фотографирует брак при отчёте ОТК, прикрепляет фото проблемы к обращению, просматривает чертежи и инструкции на станке перед работой.
Где можно прикреплять файлы
| Раздел | Тип вложений | Кто загружает |
|---|---|---|
| Задания | Фотоотчёт ОТК, доказательства выполнения | Оператор, мастер |
| Обращения | Произвольные документы и фото проблемы | Оператор, мастер |
| Нормативы машин | Чертежи, инструкции, регламенты с версионированием | Администратор, мастер |
К отдельным карточкам сотрудников, цехам и сменам файлы напрямую не прикрепляются — это намеренное ограничение, чтобы избежать «свалки документов» в неподходящих местах.
Основные сценарии
Загрузка с компьютера (веб-интерфейс)
- На странице задания, обращения или машины нажать кнопку «Загрузить» или перетащить файл прямо в форму — поддерживается перетаскивание мышью в любую часть карточки.
- Если файлов несколько — можно выбрать сразу пачку или перетащить группу.
- Система проверяет формат и размер ещё до загрузки на сервер. Лишние файлы помечаются красным с пояснением — например, «формат не поддерживается» или «больше 10 МБ».
- Появляется индикатор загрузки. После завершения вложение отображается в списке: имя, размер, иконка типа.
Прикрепление фото из приложения OCULUS
Оператор в цеху чаще работает с фото: «вот так выглядит брак», «вот тут материал не подошёл». В приложении OCULUS есть кнопка «Добавить вложение» в карточке обращения и в форме отчёта по заданию. Можно выбрать файл из галереи устройства или сделать снимок через системную камеру. После загрузки вложение сразу видно мастеру в веб-интерфейсе — фото уходит в ту же общую запись.
Просмотр и скачивание
- Изображения разворачиваются прямо в интерфейсе: миниатюра в списке, увеличение по клику, полноэкранный просмотр в отдельном окне.
- PDF открывается во встроенном просмотрщике; кнопка «Скачать» есть всегда рядом.
- Документы (DOCX, XLSX, TXT) показывают иконку, имя и размер; для просмотра нужно скачать.
- В списке вложений каждое имеет кнопку «Скачать» — файл сохраняется под исходным именем, которое было при загрузке.
Версионирование нормативной документации
Нормативные документы машины (чертежи, инструкции по эксплуатации, регламенты обслуживания) ведутся с версиями. Когда мастер загружает обновлённый чертёж:
- Система автоматически увеличивает номер версии (1, 2, 3 и далее).
- Прежняя версия помечается как неактивная — она остаётся в системе для аудита и истории, но в активном просмотре не показывается.
- Новая версия становится активной и видна оператору при следующем открытии карточки машины.
Это обеспечивает прослеживаемость: всегда понятно, по какой версии чертежа работал оператор в конкретную смену.
Удаление
- Удалить вложение могут автор загрузки, мастер и администратор. У оператора нет прав удалять вложения мастера.
- Перед удалением — подтверждение в диалоге.
- Удалённое вложение пропадает из карточки, но факт удаления (кто, когда, какой файл) фиксируется в журнале аудита.
- Восстановить вложение из клиентского интерфейса нельзя. В крайних случаях — обращение в службу поддержки OCULUS.
Поля и данные
| Поле | Заполняется | Подсказки |
|---|---|---|
| Имя файла | При загрузке (исходное) | Сохраняется как было у пользователя; при скачивании файл получит обратно своё исходное имя. |
| Размер | Автоматически | Отображается в КБ или МБ. |
| Тип | Автоматически по расширению | Иконка зависит от типа: документ, таблица, изображение, PDF. |
| Дата загрузки | Автоматически | Показывается в локальном времени пользователя. |
| Загрузил | Автоматически | ФИО и роль автора. |
| Версия (только для нормативов) | Автоматически | Отображается рядом с именем: «v1», «v2», «v3». |
Поддерживаемые форматы и ограничения
| Где | Форматы | Максимальный размер одного файла |
|---|---|---|
| Фото ОТК на задании | PNG, JPG, GIF | 10 МБ |
| Вложения к обращению | PNG, JPG, GIF, PDF, DOC, DOCX, XLS, XLSX, TXT | 10 МБ |
| Нормативы машин | PDF, XLSX, DOCX | 10 МБ |
Если файл превышает лимит, система предлагает уменьшить размер: фото можно сжать через стандартные средства устройства, документы — пересохранить с уменьшением.
Автоматика и подсказки системы
- Проверка формата и размера происходит ещё до отправки на сервер — пользователь не ждёт несколько секунд, чтобы увидеть отказ.
- Имя файла на диске организации генерируется автоматически как уникальный идентификатор, чтобы два файла с именем «фото.jpg» не конфликтовали. При скачивании пользователь получает файл под исходным названием.
- При загрузке нового норматива на машину предыдущая версия сама помечается неактивной — мастер не должен «руками» переключать.
- Удаление вложения автоматически фиксируется в истории действий с автором, временем и именем файла.
- Если файл случайно удалили из физического хранилища, но запись о нём осталась — при попытке скачать пользователь получит понятное сообщение «файл не найден в хранилище» вместо пустого экрана.
Микро-фичи и детали интерфейса
- Перетаскивание (drag&drop) работает в любой точке формы, не только в специальной зоне — мастер может перетащить чертёж прямо на карточку машины.
- При перетаскивании цвет рамки меняется на акцентный, фон слегка светлеет — видно, что система готова принять файл.
- Превью изображений показывается в виде миниатюр; при клике открывается полноэкранный просмотр с возможностью масштабирования.
- Иконки типов файлов — стилизованные: PDF, документ, таблица, изображение. На глаз понятно, что в списке.
- При множественной загрузке система показывает прогресс по каждому файлу отдельно — видно, какой загрузился, какой ещё в процессе.
- Дубли определяются по комбинации «имя + размер + дата изменения» — один и тот же файл случайно не загружается дважды.
- Подсказка под зоной загрузки явно перечисляет допустимые форматы и максимальный размер: «.jpg, .png, .pdf · до 10 МБ» — пользователь не угадывает.
- Версии нормативов хранятся стопкой: текущая активна и видна сверху, прежние свернуты в «история версий» с возможностью просмотра.
- При попытке скачать удалённый или повреждённый файл показывается явное сообщение «файл не найден в хранилище», а не пустая страница или ошибка.
- Кнопка «Скачать» всегда видна рядом с предпросмотром — даже если файл открыт во встроенном просмотрщике, его можно сразу сохранить.
- Загрузка и скачивание идут потоком — пользователь не ждёт, пока сервер «соберёт весь файл в памяти», и большие чертежи не зависают.
- Удаление вложения требует подтверждения в диалоге, потому что восстановление через клиентский интерфейс недоступно.
Связи с другими модулями
- Задания (06). Фотоотчёт ОТК — ключевое доказательство выполнения. Контролёр опирается на него при классификации брака. История заданий хранит запись о добавлении и удалении каждого фото.
- Обращения (20). Вложения сопровождают заявки в службу обслуживания: фото поломки от оператора, акт от ремонтника, инструкция от поставщика.
- Машины (09). Нормативы привязаны к конкретной машине и версионируются — оператор всегда видит актуальный чертёж, мастер сохраняет историю изменений.
- Аудит и история действий. Загрузка и удаление любого вложения фиксируется в журнале с автором и временем.
- Профиль пользователя. Аватар сотрудника обрабатывается отдельной логикой и не относится к этому модулю — у профиля свой механизм.
Состояния и пограничные случаи
- Файл больше 10 МБ. Загрузка блокируется на стороне устройства до отправки. Система предлагает уменьшить размер.
- Неподдерживаемый формат. Файл помечается красным в списке выбора с пояснением «формат не поддерживается».
- Потеря связи во время загрузки. Загрузка прерывается, файл в системе не сохраняется. Пользователь видит ошибку и может повторить.
- Дубль имени. Невозможен на уровне хранилища — каждый файл получает уникальный внутренний идентификатор. Имя в интерфейсе сохраняется исходным, но конфликта в системе не возникает.
- Удалили вложение, на которое ссылалась карточка. Карточка остаётся, но в списке вложений этот файл больше не виден. Если по прямой ссылке кто-то пытается скачать — получит сообщение об отсутствии.
- Загрузка нового норматива на машину. Старая версия автоматически становится неактивной, оператор сразу видит обновлённый документ.
- Удаление машины с нормативами. Файлы остаются в архиве для аудита, но в активном списке не показываются.
- Несоответствие записи и физического файла. Если файл случайно потерян из хранилища, запись остаётся для истории; скачивание показывает явное сообщение об отсутствии.
Операторский интерфейс OCULUS
- В приложении OCULUS оператор чаще всего работает с двумя типами вложений: чертежи нормативов на станке (просмотр) и фото брака или проблемы (загрузка).
- Для просмотра чертежа достаточно открыть карточку машины — отображается актуальная версия норматива. Скачать тоже можно.
- Для загрузки фото к обращению — кнопка «Добавить вложение», выбор из галереи устройства или съёмка через системную камеру. Загруженное фото сразу видно мастеру в веб-интерфейсе.
- Загрузка идёт в фоне — оператор не ждёт окончания, может продолжать работу. Если связь временно пропала, отправка дождётся восстановления и не потеряется.
- Удалить или редактировать чужие вложения оператор не может — в OCULUS видны только его собственные действия.
- Тяжёлые файлы (большие чертежи, многостраничные регламенты) загружаются в потоковом режиме, чтобы приложение не «съедало» память устройства.