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







