Мы разрабатываем мобильные приложения для контроля качества (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 проектов на производствах различного масштаба. Мы гарантируем качество и соблюдение сроков.
Свяжитесь с нами для оценки вашего проекта — мы подготовим коммерческое предложение с точными сроками и стоимостью. Разработка под ключ: от анализа до деплоя. Получите консультацию уже сегодня. Закажите демо-версию, чтобы увидеть приложение в действии.







