Мобильное приложение для стройконтроля без интернета

Стройконтроль без связи: мобильное приложение МРС на объекте без интернета

Строительный контроль нельзя откладывать до момента, когда на объекте появится интернет. Мобильное приложение МРС работает без связи: инженер фиксирует замечание с фото и справочными данными, а при появлении сети всё уходит на сервер само. Рассказываем, что именно доступно офлайн, чего там сознательно нет и как это устроено.

Где связи нет, а контроль нужен

Инженер строительного контроля часто работает там, где связи нет: в подвалах и паркингах, в шахтах лифтов, на закрытых этажах из железобетона, на удалённых промплощадках. Именно там обнаруживаются нарушения, и именно там обычное мобильное приложение превращается в бесполезный значок с крутящимся индикатором.

Обычный обходной путь такой: записать в блокнот, сфотографировать на телефон, вечером переносить в систему. Это двойная работа, потерянные детали и замечания, которые появляются в системе на день позже, чем нужно подрядчику. Мобильное приложение МРС строится вокруг одной идеи: связи нет, а работа идёт.

Что работает без интернета

В офлайне доступно то, что инженер делает на объекте каждый день:

  • Создание замечаний. Нужное нарушение выбирается из шаблонов типовых нарушений, к нему добавляется фото. Это самый частый сценарий: основную часть работы в приложении занимает именно он.
  • Все справочники. Виды работ, ссылки на пункты нормативных документов (ГОСТ, СП), списки участников и организаций уже лежат на телефоне. Для выбора связь не нужна.
  • Приёмки. Список приёмок доступен и работает по тому же принципу, что и замечания.
  • Просмотр и фильтры. Можно открыть любое замечание или приёмку и профильтровать список: по статусу, виду работ, сроку устранения, просрочке, автору, исполнителю и другим полям.
  • Входной контроль и испытания. Там, где эти разделы включены для роли, ввод данных работает так же. Набор разделов в меню зависит от роли пользователя и настроек проекта.

Внизу списка всегда видно, когда данные обновлялись в последний раз («обновлено 19 минут назад»). Инженер видит, насколько свежа картина перед глазами, и не принимает устаревшие данные за актуальные.

Как это выглядит на объекте

Инженер спускается в подвал, где связи нет, и находит нарушение: армирование замоноличиваемого узла выполнено не по проекту. Он открывает приложение, нажимает «Создать» и выбирает шаблон типового нарушения. Дальше всё как обычно: вид работ, пункт СП или ГОСТ, фото, исполнитель, «Сохранить». Замечание создано, приложение хранит его вместе с фото на устройстве.

После выхода на поверхность связь появляется. Приложение отмечает это надписью «Соединение установлено», запускает обновление данных и отправляет замечание на сервер. Инженер ничего не нажимает и ничего не вводит заново. В веб-версии оно появляется сразу.

Для команды это означает простую вещь: замечание появляется в системе в момент обнаружения, а не вечером, после переписывания из блокнота. Подрядчик может узнать о дефекте, пока работы ещё ведутся рядом, а не на следующий день.

Чего в оффлайне нет и почему

Две вещи в офлайне намеренно недоступны, и тут нет технического упущения, это наше решение.

  • Аналитика. Без связи на телефоне есть только часть данных. Дашборд на неполных данных покажет красивые, но неверные цифры, а по ним принимают решения. Поэтому аналитику мы отключили: лучше её не показывать, чем показать неправду.
  • Формирование документов. Документы собираются на сервере, где доступны все данные проекта и шаблоны. Для этого нужна связь, на телефоне документ не собирается.

В полевых условиях это не мешает: инженеру на обходе нужны ввод и просмотр, а аналитика и документы — это работа в офисе или веб-версии.

Как это устроено внутри

Для ИТ-специалистов и заказчиков, которые смотрят на технологии:

  • Гибридное приложение на React Native. Одна кодовая база собирается в нативные приложения для Android и iOS.
  • Локальная база SQLite и файловое хранилище. В SQLite лежат данные проекта и созданные замечания, в файловом хранилище — фотографии.
  • Снимок базы данных. При первом запуске приложение загружает готовый снимок базы, который обновляется раз в сутки. Так не нужно тянуть всю историю событий проекта: догрузка только новых событий и приведение данных к актуальному состоянию занимает минуты, а не часы.
  • Роли. Состав разделов в меню зависит от роли пользователя.

Подробнее про наш подход к обновлению данных — в статье «Реактивность или моментальное обновление данных», о безопасности — в материале «Изолированное безопасное бизнес-пространство».

Стройконтроль, который не зависит от сигнала

На объекте связь может быть плохой, и система не должна мешать инженеру работать. В мобильном МРС важные действия — создать замечание, прикрепить фото, посмотреть список и справочники — доступны без интернета, а всё остальное синхронизируется само, когда связь появляется.

Хотите увидеть, как это работает на вашем объекте? Мы дадим демо-доступ на месяц с двумя проектами, где можно попробовать и мобильное приложение.