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).
Ciclo de Vida
ABERTA → EM_TRATAMENTO (1ª ação) → AGUARDANDO_VERIFICACAO (todas concluídas) → FECHADA.

Checklist Tipado

Tipos de Item
Sim/Não, Numérico, Seleção, Texto, Calculado. Conformidade automática (dentro da faixa).
Submissão
Foto de evidência (compressão no servidor). Tudo-ou-nada, sem rascunho parcial.
Checklists Atuais
BPF Autoclave, PPHO, Cravagem, PCC, Recebimento, Higiene, Embalagens, DTA (10 tipos).
Criação de NC
Item reprovado vira NC sugerida (MEDIA por padrão). Cada checklist é um evento único (sem duplicidade).

Retenção de Lote

Abertura
Manual (POST /retencao) ou automática (checklist com falha). Origem: DESVIO_PCC ou FALHA_CRAVAGEM.
Máquina de Estados
RETIDO → LIBERADO ou REPROVADO. Resolução requer causa-raiz + ação + assinatura.
Retroativo (Cravagem)
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).

2️⃣ Plano de Ação (5W2H)

Adiciona ação → NC → EM_TRATAMENTO → Confirma execução → Verifica eficácia → Fecha NC

Automático: status muda para AGUARDANDO_VERIFICACAO quando todas as ações são concluídas. Fechamento bloqueado enquanto houver ação sem verificação.

3️⃣ Rastreabilidade de Lote

Cria lote → Vincula carga → Registra MP → Registra emb. → Registra dist.

Rastro: Todas as NCs relacionadas (cargas, MP, embalagem, distribuição) entram no detalhe do lote automaticamente.

4️⃣ Checklist + Retenção

Preenche check → Item reprovado? → NC sugerida + Retenção → Resolve (causa + ação)

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:

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":

Resultado: você sabe exatamente quem recebeu cada lote (cliente/transportadora/data/quantidade).

⚠️ Passo 3: Abrir NC de recall

Abre NC manualmente:

Status: NC ABERTA

🔧 Passo 4: Plano de Ação (CAPA)

Adiciona ações (exemplo):

Ação 1: Contenção
O quê: Contactar clientes de distribuição para bloquear lotes 95625-000/001/002
Quando: Hoje (urgente)
Quem: Gerente de Qualidade

📋 Caso 2: Falha de Cravagem em Linha (Retenção Retroativa)

14:35 — Inspector preenche checklist de cravagem
Amostra #15 de 20 medidas fora da tolerância → Reprovado
14:36 — Sistema cria automaticamente
1) NC sugerida (DESVIO)
2) Retenção de tudo desde a última inspeção aprovada (14:05)
14:36 — Faixa vermelha aparece
"⛔ PARE A RECRAVADEIRA" na home. Ninguém tira lata fora da linha até resolver.

📋 Caso 3: Inspetor Abre NC no Chão (Com Foto de Evidência)

Cenário: Matéria-prima chega com embalagem danificada (lata amassada).

Inspetor, celular em mão:
1. Abre /nc no celular (mobile-first)
2. Escolhe objeto: MATERIA_PRIMA
3. Digita fornecedor: "Latabrás", lote: "LB-2026-800"
4. Tira foto com câmera → comprimida no servidor
5. Clica "Abrir NC"

Impacto e Benefícios

⏱️ Eficiência Operacional

Recall (Antes)
• Telefonar para cada área
• Vasculhar planilhas Excel
• Risco de perder informação
Tempo: 4-8 horas
Recall (Depois)
• Uma busca: fornecedor/insumo
• Lista de lotes e destinos em segundos
• Histórico 100% documentado
Tempo: 5-30 min

🛡️ Conformidade e Segurança Alimentar

✓ Rastreabilidade 100%
Qualquer lote pode ser rastreado de volta (MP/embalagem) ou para frente (cliente/NF) em segundos.
✓ Evidência de Ação
Foto de evidência + assinatura eletrônica (usuário + data/hora) prova que inspeção foi feita.
✓ Monitoramento PCC
F0 acumulado vs. F0 mínimo do produto — garante que o calor foi suficiente.

💰 Redução de Custos

Cenário Sem App Com App Economia
Recall de 3 lotes R$ 15.000 - 50.000 R$ 2.000 - 5.000 70-90%
Parada de linha (1h) R$ 8.000 - 15.000 R$ 2.000 - 4.000 50-75%

📊 ROI

Implementação: 2 semanas • Payback: 3-6 meses • Conformidade: MAPA/Anvisa/ISO 22000

Histórico de Versões

Versão Funcionalidade
0.2.1 NC manual + CAPA 5W2H + Checklists básicos
0.2.2 Retenção de lote + máquina de estados
0.2.3 Rastreabilidade v1: Lote ↔ Carga ↔ MP
0.2.4 Compressão de foto no servidor
0.2.5 Embalagem/lata vazia (LoteEmbalagem)
0.2.6 Carga → Lote reverso (PCC e NC)
0.2.7 Distribuição (LoteDistribuicao) — rastreio para frente
0.2.8 Etiqueta com QR + Code 128 (SVG)
0.2.9 Fix: login return-to-link, /error permitAll

Papéis e Permissões

Spring Security, form login. Quatro papéis (INSPETOR ⊂ QUALIDADE ⊂ ADMIN cumulativos; AUDITOR somente-leitura).

Papel Permissões
INSPETOR Abrir NC, adicionar/confirmar ações, verificar eficácia, preencher checklist
QUALIDADE + Fechar NC, confirmar/descartar sugestão, atribuir responsável, remover vínculo de lote
ADMIN + Gerenciar usuários, todos os POST/DELETE ilimitados
AUDITOR ✓ Somente leitura de tudo. ✗ Não altera nada

🔐 Segurança

Senha BCrypt, CSRF ativado, form login. Integração com sistema-app existente, schemas separados (não compartilha tabelas).

BSI Gestão de Qualidade v0.2.9 • BSI Automação

Sistema integrado para fábrica de alimentos enlatados. Desenvolvido em Java 21 + Spring Boot 3.3

Para mais informações, contate: bsisistemaautomacao@gmail.com