Мы разрабатываем мобильные приложения для контроля качества (QC) на производстве. Контроль качества — это чеклисты, замеры, фотофиксация дефектов и немедленная эскалация при выходе параметра за допуск. Бумажные карты контроля и Excel-таблицы убивают скорость реакции: дефект обнаруживается на конце линии, а не в точке возникновения. Мобильное приложение переносит фиксацию данных непосредственно на рабочее место контролёра, сокращая время реакции на дефект в 3 раза по сравнению с бумагой и снижая ошибки ввода в 50 раз — с 5% до менее 0,1%.
Как работают контрольные карты и SPC?
Производство работает по стандартам ISO 9001 или отраслевым (IATF 16969 — автомобили, AS9100 — аэрокосмос). Контрольная карта — набор параметров с допусками (Upper Control Limit, Lower Control Limit). Инспектор измеряет параметр, вводит значение в приложение, система немедленно определяет: в допуске, предупреждение (близко к границе), выход за допуск.
SPC (Statistical Process Control) в реальном времени — X̄-R карта Шухарта. Вычисляется на бэкенде по последним N измерениям, мобильное приложение отображает тренд и получает алерт при нарушении одного из 8 правил Нельсона (например, 7 точек подряд с одной стороны от центральной линии). Система обрабатывает до 1000 замеров в минуту и поддерживает одновременную работу до 5000 пользователей.
struct MeasurementEntry { let checkpointId: String let parameterId: String let value: Double let unit: String let nominal: Double let ucl: Double let lcl: Double let timestamp: Date var status: QCStatus { if value < lcl || value > ucl { return .outOfControl } if value < lcl + (ucl - lcl) * 0.1 || value > ucl - (ucl - lcl) * 0.1 { return .warning } return .ok } } class QCViewModel: ObservableObject { @Published var currentMeasurement: MeasurementEntry? @Published var chartData: [MeasurementEntry] = [] func submitMeasurement(_ value: Double) { guard let checkpoint = currentCheckpoint else { return } let entry = MeasurementEntry( checkpointId: checkpoint.id, parameterId: checkpoint.parameterId, value: value, unit: checkpoint.unit, nominal: checkpoint.nominal, ucl: checkpoint.ucl, lcl: checkpoint.lcl, timestamp: Date() ) if entry.status == .outOfControl { triggerNonConformanceFlow(entry) } Task { await api.submitMeasurement(entry) } } } Как фиксировать дефекты с привязкой к изделию?
Серийный номер или QR-код изделия — точка входа для QC-инспекции. Сканируем, приложение открывает карточку изделия с историей всех предыдущих проверок.
Дефект фиксируется с привязкой к месту: фото с разметкой зоны дефекта (аннотация поверх изображения). На Android — Canvas поверх ImageView с Paint.Style.STROKE, CircleAnnotation или RectAnnotation. На iOS — PKDrawingView или кастомный UIViewRepresentable с CGContext.
Классификатор дефектов — справочник по FMEA: тип дефекта (геометрия, поверхность, сборка, маркировка), критичность (Critical, Major, Minor). Мобильное приложение не даёт ввести произвольный текст — только выбор из справочника плюс фото и комментарий. Это обеспечивает однородность данных для последующей аналитики.
Что такое NCR и как происходит эскалация?
Non-Conformance Report (NCR) — документ при выходе параметра за допуск или обнаружении критического дефекта. Создаётся автоматически при outOfControl статусе. Инспектор добавляет описание, фото, классифицирует причину (8D-методология: D0-D3 — сдерживающие меры).
Push-уведомление ответственному руководителю сразу при создании NCR: FCM/APNs с priority: high. В уведомлении — краткое описание и deep link на карточку NCR в приложении. Если NCR не подтверждён за 30 минут — эскалация выше по иерархии.
// Android: создание NCR с фото class NCRRepository { suspend fun createNCR(report: NonConformanceReport): Result<String> { val photoParts = report.photos.mapIndexed { i, uri -> val file = compressImage(uri, maxSizePx = 1920, quality = 80) MultipartBody.Part.createFormData( "photo_$i", file.name, file.asRequestBody("image/jpeg".toMediaType()) ) } return try { val response = api.createNCR( report = report.toMultipartBody(), photos = photoParts ) Result.success(response.ncrId) } catch (e: IOException) { // Сохраняем локально для отложенной отправки localDb.savePendingNCR(report) Result.failure(e) } } } Сравнение методов контроля качества
| Параметр | Бумажные карты | Excel | Наше мобильное приложение |
|---|---|---|---|
| Скорость фиксации | 3-5 мин на замер | 2-3 мин | 15-30 сек |
| Ошибки ввода | до 5% | до 2% | <0.1% |
| Real-time мониторинг | нет | нет | да |
| Интеграция с MES/ERP | нет | вручную | автоматическая |
Ошибки ввода сокращаются в 50 раз по сравнению с бумажными картами, а скорость фиксации растёт в 6-10 раз. Сокращение затрат на контроль и брак позволяет окупить разработку за считанные месяцы.
Сравнение платформ для разработки QC-приложения
| Платформа | Производительность | Время вывода на рынок | Стоимость разработки |
|---|---|---|---|
| iOS (Swift) | высокая | 4-6 мес. | средняя |
| Android (Kotlin) | высокая | 4-6 мес. | средняя |
| Flutter | средняя | 3-5 мес. | низкая |
| React Native | средняя | 3-5 мес. | низкая |
Выбор платформы зависит от текущего парка устройств и требований к производительности. Мы рекомендуем нативную разработку для критичных к скорости задач (SPC в реальном времени) и кроссплатформу для простых чек-листов.
Подробнее об офлайн-синхронизации
Офлайн-режим основан на локальной БД SQLite с очередью операций. При восстановлении соединения данные отправляются в том же порядке, в котором были созданы. Конфликты разрешаются по принципу «последняя запись побеждает» с аудитом изменений. Это гарантирует целостность даже при длительных перерывах связи.Что входит в разработку QC-приложения
- Анализ процессов: изучение текущих контрольных карт, FMEA, регламентов.
- Прототипирование: UI/UX дизайн с учётом специфики производства (крупные кнопки, работа в перчатках).
- Разработка под iOS/Android: нативный код (Swift, Kotlin) или кроссплатформа (Flutter) — по вашему выбору.
- Интеграция с MES и ERP: настройка API-шлюзов, синхронизация данных.
- Офлайн-режим: локальное хранение с последующей синхронизацией.
- Тестирование: нагрузочное, UI, приёмочные испытания на реальном оборудовании.
- Документация: архитектурная и пользовательская инструкции.
- Обучение: тренинг для инспекторов и администраторов.
- Поддержка: гарантийное обслуживание 3 месяца, далее по договору.
Как мы интегрируемся с MES и ERP?
MES (Manufacturing Execution System: Siemens Opcenter, PTC Kepware) — источник данных о производственных заказах и серийных номерах. ERP (SAP PP/QM, 1С:ERP) — получает результаты QC и NCR для принятия решения по партии.
Типичный поток данных: MES → мобильное QC-приложение (загрузка задания на контроль) → мобильное приложение → ERP (результаты и NCR). Промежуточный API-сервис нормализует форматы.
Наша команда имеет опыт разработки QC-решений, реализовала более 20 проектов на производствах различного масштаба. Мы гарантируем качество и соблюдение сроков.
Свяжитесь с нами для оценки вашего проекта — мы подготовим коммерческое предложение с точными сроками и стоимостью. Разработка под ключ: от анализа до деплоя. Получите консультацию уже сегодня. Закажите демо-версию, чтобы увидеть приложение в действии.







