Controle de não conformidades, rastreabilidade de lotes e monitoramento de PCC. Sistema integrado para fábrica de alimentos enlatados.
Visão Geral
App web de gestão da qualidade em uma fábrica de alimentos enlatados. O inspetor abre uma não-conformidade no chão de fábrica, no celular, rastreia lotes de matéria-prima até o produto final e gerencia o plano de ação (CAPA).
📊 Módulos Principais
⚠️ Não-Conformidades (NC)
Abertura manual ou automática (F0, auditoria). Plano de ação 5W2H com verificação de eficácia.
📦 Rastreabilidade
Lote final ↔ cargas ↔ matéria-prima ↔ embalagem ↔ distribuição. Busca por qualquer elo.
✅ Checklists Tipados
Inspeção no celular: Sim/Não, numérico, seleção, texto. Foto de evidência, conformidade automática.
🔒 Retenção de Lote
Quarentena / parada de linha. Bloqueado até resolução com causa-raiz e ação.
📈 Monitoramento PCC
Curva da carga (temperatura/pressão) e F0 acumulado. SVG gerado no servidor.
🏷️ Etiqueta com QR
QR Code + Code 128 da etiqueta do lote. Impressão e leitura pelo celular.
🛠️ Tecnologia
Java 21 + Spring Boot 3.3 (Web, Thymeleaf, JPA, Security) • MySQL 5.1.17-beta (dois schemas) • Mobile-first (web responsivo) • Offline (SVG/gráficos no servidor, sem CDN)
Módulos
NC — Não-Conformidade
Abertura Manual
Inspetor escolhe a etapa (Recebimento, MP, Processo, Distribuição), registra o vínculo e descreve o problema. Severidade fixa na abertura.
Sugestão Automática
F0 abaixo do mínimo ou auditoria reprovada. Job diário (2h) ou manual. Inspetor confirma ou descarta.
Plano de Ação (CAPA)
5W2H: O quê, Por quê, Onde, Quando, Quem, Como, Quanto. Assinatura eletrônica (usuário + hora).
Falha retém tudo desde a última inspeção aprovada da linha (amostral → 100%).
Alerta Crítico
Faixa vermelha no lote: "PARE A RECRAVADEIRA" ou "LOTE RETIDO" quando já foi expedido.
Rastreabilidade (v0.2.3 → 0.2.8)
Lote final vincula-se a 4 elos: cargas de autoclave, matéria-prima, embalagem/lata vazia e distribuição. Todas as NCs relacionadas entram no rastro.
🔗 Os Quatro Elos
🔄 Carga do Autoclave
LoteCarga: ID da carga + safra (lidos do banco de dados). Snapshot de produto, operador, horários.
v0.2.3
🌱 Matéria-Prima
LoteMateriaPrima: Fornecedor + lote do fornecedor (texto livre). NCs com mesmo fornecedor/lote entram no rastro.
v0.2.3
📦 Embalagem / Lata Vazia
LoteEmbalagem: Fornecedor + lote + descrição (ex.: "Lata 300g"). NC aberta como Matéria-prima, mesmo fornecedor/lote.
v0.2.5
🚚 Distribuição
LoteDistribuicao: Cliente/transportadora + NF + data + quantidade. NCs de Distribuição do mesmo cliente entram.
v0.2.7
🔍 Buscas Reversas
Para Trás (Insumos)
Qual lote usou a MP "XYZ" do fornecedor "ABC"? Ou a embalagem "Lata 300g" da mesma origem?
Para Frente (Distribuição)
Qual lote foi para o cliente "DEF"? Ou a nota fiscal "NF-999"?
Carga → Lote (0.2.6)
Na tela da carga (PCC) e no detalhe da NC, mostra "Lote final: [código]" com link. Uma carga pode estar em vários lotes.
Recall Completo
Partindo de uma NC, matéria-prima, ou cliente, vê-se toda a cadeia de impacto em segundos.
🎟️ Etiqueta com QR (v0.2.8)
/lote/{id}/etiqueta: Página imprimível com QR Code (abre o lote no celular pela câmera) + Code 128 (leitor de mão) + código do lote. SVG gerado no servidor sem JavaScript. Base do QR vem de QUALIDADE_BASE_URL (env var).
⚡ Alertas
Lote Retido + Já Expedido
Faixa vermelha (CSS .alerta-critico): "LOTE COM RETENÇÃO EM ABERTO JÁ FOI EXPEDIDO — RECOLHER / BLOQUEAR NOS DESTINOS ABAIXO". Aparece quando o lote tem retenção RETIDO e distribuição registrada.
Fluxos Principais
1️⃣ Abertura de NC de Carga
Busca carga→Escolhe NC→Define severidade→Abre NC
Resultado: NC com status ABERTA, inspetor = usuário logado, fixada na abertura (não editável depois).
Cravagem retroativa: Uma falha retém tudo desde a última inspeção aprovada da linha. Liberação exige nova inspeção aprovada após a abertura.
5️⃣ Leitura de QR / Código de Barras
Câmera do celular lê QR→/lote/ir?codigo=XXX→Abre o lote
Leitor de mão: Digita código + Enter em /lote — se for código exato, abre o lote direto; parcial, mostra lista.
Casos de Uso Reais
📋 Caso 1: Um Recall de Matéria-Prima (Cenário Completo)
Situação: Fornecedor "Empresa ABC" notifica que o lote MP-2026-5001 de corante alimentar tem problema de pureza (não atende especificação). Você precisa saber quais produtos saíram da fábrica com esse insumo.
🔍 Passo 1: Busca no app (3 segundos)
Acessa /lote e busca por "Empresa ABC" ou "MP-2026-5001". O sistema retorna:
✓ Lote Final 95625-000 — usou esse insumo
✓ Lote Final 95625-001 — também usou
✓ Lote Final 95625-002 — usou
Resultado: 3 lotes impactados identificados em segundos.
📦 Passo 2: Ver para onde cada lote foi
Abre cada lote (ex. 95625-000) e vê a aba "Distribuição":