# Мобильные приложения Global ERP

Мобильные приложения Global ERP используются для выполнения прикладных операций на мобильных устройствах.

## Распространение и установка

### Получение приложения

Мобильные приложения распространяются не через Google Play и другие публичные магазины приложений, а через передачу APK-файлов.

За распространение приложений отвечают бизнес-аналитики по соответствующему направлению. Разработчик передает новую версию приложения аналитику, который организует дальнейшую передачу APK-файла пользователям.

### Установка приложения

Для установки приложения необходимо установить APK-файл на мобильное устройство.

Если приложение устанавливается не через корпоративный MDM, на устройстве должно быть разрешено устанавливать приложения из неизвестных источников.

### Авторизация

При первом запуске приложения необходимо указать параметры подключения и выполнить вход.

На экране настроек подключения указываются:

1. Адрес сервера.
2. Имя базы данных, если это требуется для конкретного приложения.

На экране входа указываются:

1. Логин и пароль пользователя.
2. Команда подключения к системе.

Набор параметров может отличаться в зависимости от приложения и используемой базы данных: Oracle или PostgreSQL.

## Минимальные требования к устройствам

Для работы мобильных приложений Global ERP рекомендуется использовать мобильные устройства или терминалы сбора данных, соответствующие минимальным требованиям.

Требования к версии Android зависят от фреймворка, на котором реализовано приложение. На старом фреймворке работают FS и PRT, а также часть функциональности WMS.

Минимальные требования:

- **Операционная система:**
  - для приложений на новом мобильном фреймворке: Android 7.0 и выше, рекомендуется Android 12 и выше;
  - для приложений на старом мобильном фреймворке: Android до 13 включительно.
- **ОЗУ:** не менее 2 ГБ, рекомендуется 4 ГБ.
- **Свободная память:** APK-файл до 50 МБ; дополнительно не менее 30 МБ для кеша, логов и офлайн-данных без учета медиафайлов, фотографий и видео. Для стабильной работы рекомендуется не менее 10 ГБ свободной памяти на устройстве.
- **Процессор:** 4 ядра ARMv8-A Cortex-A53 от 1,4 ГГц, поддержка NEON.
- **Экран:** смартфон или терминал сбора данных. Интерфейс адаптирован под смартфоны, кроме часов, телевизоров и устройств с раскладными экранами.
- **Связь:** Wi-Fi 2,4/5 ГГц, 802.11 a/b/g/n; Bluetooth 4.0 и выше.
- **NFC:** используется в отдельных сценариях. Для ТОиР наличие NFC обязательно по сценарию. Без NFC приложение запускается, но часть функциональности будет недоступна.
- **Камера:** используется в отдельных сценариях. Без камеры приложение запускается, но функции фото, видео и сканирования через камеру будут недоступны.
- **Сканеры штрихкодов:** в WMS подключаются через USB или Bluetooth.
- **Google Play Services:** не используются, поэтому можно рассматривать устройства без Google Play Services.
- **Корпус:** желательно защищенный, не ниже IP65, с устойчивостью к падению от 1,5 м.
- **Питание:** аккумулятор от 4000 мА·ч. Для сменной работы желательно использовать устройства с горячей заменой аккумулятора, кредлы и мультизарядные станции.

## Список мобильных приложений

Мобильные приложения сгруппированы по фреймворку. Приложения на старом мобильном фреймворке вынесены в отдельный подраздел, так как для них действуют отдельные ограничения по поддерживаемой версии Android.

### Приложения на новом мобильном фреймворке

#### WMS Kotlin

Новая версия приложения WMS, написанная на Kotlin.

Приложение WMS используется для работы с мобильными интерфейсами складских процессов.

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

Каждое состояние соответствует экрану мобильного приложения. Для состояния определяется перечень доступных пунктов меню и событий.

Приложение поддерживает работу с Oracle и PostgreSQL.

**Контакты:** Мартюшев Иван  
**Фреймворк:** новый мобильный фреймворк  
**Язык:** Kotlin  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/develop/wms?ref_type=heads)  
**БД:** Oracle / PostgreSQL

#### EAM PostgreSQL

Версия приложения EAM для работы с PostgreSQL.

Функциональность приложения для PostgreSQL значительно переработана по сравнению с EAM Java.

Мобильное приложение Global EAM используется для проведения периодических осмотров оборудования, отражения фактического выполнения ремонтных работ и учета расхода материалов. Приложение позволяет просматривать данные по оборудованию, включая файлы и схемы, регистрировать заявки на обслуживание и отслеживать их статус.

С помощью приложения можно считывать информацию по объектам через QR-коды и NFC-метки, а также регистрировать обнаруженные дефекты. Ремонтный персонал получает задания на выполнение осмотров и технического обслуживания, видит состав операций и запланированные к расходу материалы в карточке задания.

В рамках плановых осмотров может настраиваться необходимость фото- или видеофиксации выполнения работ, а также перечень контролируемых параметров, которые исполнитель должен указать при выполнении задания.

**Контакты:** Матвеев Никита, Явшиц Ян  
**Фреймворк:** новый мобильный фреймворк  
**Язык:** Kotlin  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/master/eam)  
**БД:** PostgreSQL

#### EamOra

Версия приложения EAM для работы с Oracle, написанная на Kotlin.

Мобильное приложение Global EAM используется для проведения периодических осмотров оборудования, отражения фактического выполнения ремонтных работ и учета расхода материалов. Приложение позволяет просматривать данные по оборудованию, включая файлы и схемы, регистрировать заявки на обслуживание и отслеживать их статус.

С помощью приложения можно считывать информацию по объектам через QR-коды и NFC-метки, а также регистрировать обнаруженные дефекты. Ремонтный персонал получает задания на выполнение осмотров и технического обслуживания, видит состав операций и запланированные к расходу материалы в карточке задания.

В рамках плановых осмотров может настраиваться необходимость фото- или видеофиксации выполнения работ, а также перечень контролируемых параметров, которые исполнитель должен указать при выполнении задания.

**Контакты:** Матвеев Никита, Явшиц Ян  
**Фреймворк:** новый мобильный фреймворк  
**Язык:** Kotlin  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/master/eamOra)  
**БД:** Oracle

#### WF / DocFlow

Приложение WF используется для работы с системой электронного документооборота.

Приложение позволяет обмениваться документами внутри компании и выполнять задачи документооборота. Основной экран содержит список входящих задач. Задачу можно перенаправить, выполнить или создать на ее основе подзадачу.

Карточка задачи содержит:

- меню с операциями, которое программируется на сервере;
- историю операций;
- вложения в виде файлов.

**Контакты:**

- Владимир Васильев — Oracle;
- Макаров Алексей — PostgreSQL.

**Фреймворк:** новый мобильный фреймворк  
**Язык:** Kotlin / Java  
**Репозиторий:** [Git PostgreSQL](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/master/wf)

#### Oil

Приложение Oil разработано для проекта по устьевой услуге.

По назначению приложение является гибридом WF и EAM. Пользователь получает список задач из модуля WF, при этом в приложении доступны задания из модуля Oil.

Задания специализированы для следующих процессов:

- приемка состава;
- перевалка на танкер;
- перегрузка в Новатэк.

**Контакты:** Мартюшев Иван  
**Фреймворк:** новый мобильный фреймворк  
**Язык:** Kotlin  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/develop/oil?ref_type=heads)  
**БД:** PostgreSQL

#### NfcTool

Приложение NfcTool используется для внутренних задач, связанных с NFC-инструментами и инвентаризацией.

**Фреймворк:** новый мобильный фреймворк  
**Язык:** Kotlin  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/develop/eamnfctool?ref_type=heads)  
**БД:** Oracle

#### ZBT

Приложение ZBT используется для внутренних задач, связанных с картой офисов и расположением сотрудников.

**Контакты:** Филин Иван  
**Фреймворк:** новый мобильный фреймворк  
**Язык:** Kotlin  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/develop/zbt?ref_type=heads)  
**БД:** PostgreSQL

### Приложения на старом мобильном фреймворке

#### WMS Java

Приложение WMS Java относится к части функциональности WMS на старом мобильном фреймворке.

Приложение используется для работы с мобильными интерфейсами складских процессов. Основная бизнес-логика находится на сервере. Мобильное приложение отвечает за отображение интерфейсов, которые программируются на серверной стороне.

Приложение поддерживает работу с Oracle и PostgreSQL.

**Контакты:** Мартюшев Иван  
**Фреймворк:** старый мобильный фреймворк  
**Язык:** Java  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/master/wms)  
**БД:** Oracle / PostgreSQL

Бизнес-логика приложения **ЧЗ (Честный знак)** реализована как на серверной стороне, так и на клиентской стороне.

#### FS / 5C

Приложение 5C используется для контроля деятельности работника.

Общий порядок работы с приложением:

1. Оператор выполняет вход на сервер.
2. После входа автоматически загружаются чек-листы.
3. Оператор выбирает нужный чек-лист.
4. Оператор заполняет чек-лист.
5. По пунктам чек-листа проставляются оценки.
6. После заполнения оператор отмечает чек-лист как выполненный.

**Контакты:** Ходер Алексей  
**Фреймворк:** старый мобильный фреймворк  
**Язык:** Java  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/oracle/Android)  
**БД:** Oracle / PostgreSQL

#### PRT / Инвентаризация объектов имущества

Приложение PRT используется для проведения инвентаризации объектов имущества.

После запуска приложения открывается список инвентаризаций. Для загрузки инвентаризации необходимо нажать кнопку добавления и отсканировать QR-код инвентаризации.

После загрузки ведомости пользователь может приступить к инвентаризации. После завершения работы ведомость можно закрыть.

Также в приложении доступно получение информации о местоположении и об объекте инвентаризации.

Приложение рассчитано преимущественно на офлайн-режим, так как работа может выполняться на складах без стабильного сетевого покрытия или в местах, где использование сети ограничено.

**Контакты:** Ходер Алексей  
**Фреймворк:** старый мобильный фреймворк  
**Язык:** Java  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/oracle/Android)  
**БД:** Oracle

### Отдельные Java-версии приложений

#### EAM Java

Приложение EAM Java используется для автоматизации процессов обслуживания оборудования.

Мобильное приложение Global EAM используется для проведения периодических осмотров оборудования, отражения фактического выполнения ремонтных работ и учета расхода материалов. Приложение позволяет просматривать данные по оборудованию, включая файлы и схемы, регистрировать заявки на обслуживание и отслеживать их статус.

С помощью приложения можно считывать информацию по объектам через QR-коды и NFC-метки, а также регистрировать обнаруженные дефекты. Ремонтный персонал получает задания на выполнение осмотров и технического обслуживания, видит состав операций и запланированные к расходу материалы в карточке задания.

В рамках плановых осмотров может настраиваться необходимость фото- или видеофиксации выполнения работ, а также перечень контролируемых параметров, которые исполнитель должен указать при выполнении задания.

**Контакты:** Матвеев Никита, Явшиц Ян  
**Фреймворк:** отдельная Java-версия приложения  
**Язык:** Java  
**Репозиторий:** [Git](https://git.global-system.ru/mobiledev/application/androidApp/-/tree/master/eam)  
**БД:** Oracle  
**Используется:** ВСМПО

## Для разработчиков

- Документация по фреймворку: [GSMobileDevDoc](https://help.globalerp.ru/books/GSMobileDevDoc/SNAPSHOT/html/index.html)
- Исходные коды: Git (`git.global-system.ru`)
- Новый мобильный фреймворк: Global ERP Mobile Framework
- Используемый стек нового фреймворка: Kotlin, Compose, Room, KSP, OkHttp, Kotlin Coroutines, Java Executors