Documentação em desenvolvimentoBeta Aberto clique aqui para participar
docs.cloudmes.ai
CloudMES Docs

Preferências de produção

Regras globais da empresa que definem eventos automáticos no Cockpit, uso da estrutura fabril (hierarquia) e geração automática de lote no reporte de produção.

No ambiente de documentação, Hierarquia produtiva e Geração de lote no reporte estão ativas — os trechos abaixo descrevem o comportamento com essas opções ligadas.

Objetivo

Um único registro por empresa (PUT /production-preferences/) concentra:

  1. Tipos de evento disparados ao iniciar/encerrar ordem no Cockpit (produção vs. setup).
  2. Hierarquia produtiva — Planta → Área → Linha → Máquina em cadastros e relatórios.
  3. Geração de lote — código do lote do produto acabado montado por template no reporte (WMS + rastreio).

Alterações aqui afetam Cockpit, Máquinas, Operações, Estoque, Movimentações e relatórios de produção.

Como usar

  1. Acesse Produção > Cadastros > Preferências de produção (acessar diretamente).
  2. Selecione os três eventos (início em produção, início em setup, encerramento).
  3. Ative Hierarquia produtiva se a planta usar planta/área/linha (cadastre em Hierarquia e vincule máquinas).
  4. Ative Geração de lote no reporte e clique em Configurar regra para montar o template.
  5. Clique em Salvar na página (ou Salvar dentro do modal da regra).

Tela de preferências

Preferências com hierarquia e geração de lote ativas

Modal Configurar regra de geração de lote

Recursos com cadeado exigem feature no plano (production.preferences.machine_hierarchy, production.preferences.lot_generation).


Eventos padrão (Cockpit)

Campo na telaQuando dispara
Evento ao iniciar em produçãoStart da ordem/operação em modo produção
Evento ao iniciar em setupStart em modo setup
Evento ao encerrarEncerramento da ordem/operação

Cadastre e revise tipos em Tipos de evento. Os padrão da empresa costumam ser PRODUÇÃO, SETUP e SEM OP (códigos podem variar).


Hierarquia produtiva (ativada)

O que muda no sistema

ÁreaComportamento
HierarquiaCadastro em abas Plantas, Áreas, Linhas (Hierarquia).
MáquinasCampo Linha produtiva na aba Identificação; coluna na lista.
RelatóriosFiltros Planta / Área / Linha em Tempos máquina, Indicadores, Relatório de eventos e edição de eventos.
APIParâmetros id_plant, id_production_area, id_production_line em consultas de máquinas/eventos quando a flag está ativa.

Ordem recomendada de implantação

  1. Ativar Hierarquia produtiva e Salvar.
  2. Cadastrar PlantaÁrea (na aba Áreas) → Linha (na aba Linhas).
  3. Em cada Máquina, escolher a Linha produtiva.
  4. Nos relatórios, filtrar por planta/área/linha ou por máquinas — máquinas sem linha não entram no filtro de linha.

Regras importantes

  • Desativar a hierarquia não apaga plantas/áreas/linhas; apenas oculta campos e filtros.
  • Filtro de linha sem máquinas vinculadas → relatório vazio; corrija o cadastro de máquinas.
  • Hierarquia é independente da geração de lote (podem ficar as duas ativas).

Geração de lote no reporte (ativada)

O que acontece no Cockpit

Quando a operação tem Lança estoque ativo e você registra um reporte com quantidade boa e/ou refugo (POST /wms/production-report/):

  1. O backend verifica generate_lot === true nas preferências.
  2. Gera (ou reutiliza) um registro em lote para o produto acabado da operação.
  3. O código do lote segue o template salvo em lot_generation_rule.
  4. Se o produto tiver Período de validade (dias) em Produtos, calcula data de validade do lote.
  5. A movimentação de estoque e a etiqueta (se configurada) podem usar lot_id / lot_validity da resposta.

O operador não digita o lote no reporte — o sistema cria automaticamente a cada reporte que movimenta estoque com a preferência ativa.

Onde o lote aparece depois

TelaUso
EstoqueSaldo por lote; filtro por código
MovimentaçõesBusca/criação manual de lote no modal (combobox)
Reimpressão de etiquetasHistórico com lot_code
Etiquetas no reporteVariáveis de template podem incluir lote gerado

Regra de geração — modal Configurar regra

Disponível só com Geração de lote ligada. Abre o builder com:

CampoDescrição
Template do código do loteTexto com tokens {product_code}, {order_code}, {date:YYYYMMDD}, {seq:4}, etc.
Sequência (início)Primeiro número do contador {seq:N} (ex.: 10001).
Sequência (dígitos)Largura com zeros à esquerda (1–12). Deve combinar com {seq:N} no template.
Forçar maiúsculasConverte o código final para MAIÚSCULAS.
Blocos do sistemaBotões que inserem tokens no template (produto, ordem, operação, depósito, endereço, máquina, turno, usuário, datas).

Template padrão de exemplo:

FG-{order_code}-{product_code}-{date:YYYYMMDD}-{seq:4}

Salvar na página principal ou no modal persiste JSON no backend:

{
  "version": 1,
  "type": "lot_code_template",
  "lot_code_template": "FG-{order_code}-{product_code}-{date:YYYYMMDD}-{seq:4}",
  "options": {
    "uppercase": true,
    "sequence": { "start": 1, "digits": 4 }
  }
}

Tokens disponíveis (referência)

GrupoTokenValor na geração
Produto{product_code}, {product_id}, {product_name}Dados do produto acabado
Ordem / operação{order_code}, {order_id}, {order_type}, {operation_code}, {operation_id}, {operation_name}Contexto do reporte
Logística{warehouse_code}, {warehouse_id}, {location_code}, {location_id}, {location_type}Depósito/endereço do reporte
Produção{machine_code}, {machine_id}, {shift}, {quantity}, {user_name}, {user_email}Máquina, turno, usuário
Data/hora{date:YYYYMMDD}, {date:YYYY-MM-DD}, {time:HHmm}, {datetime:YYYYMMDDHHmmss}, {occurred_at}Momento do reporte
Sequência{seq:4}, {seq:6}, …Contador incremental (dígitos = N)

Dicas de template

  • Use separadores (-, _) entre blocos; o builder pode inserir - automaticamente.
  • {seq:N} no template deve usar o mesmo N que Sequência (dígitos) (ex.: dígitos 4 → {seq:4}).
  • Código duplicado: se o lote já existir (mesmo lot_code na empresa), o sistema reutiliza o registro em vez de falhar.

Operações — empenho obrigatório

Com lote ativo, na aba Reporte de Operações pode habilitar Empenho obrigatório:

  • Exige empenho/baixa de materiais da BOM antes ou durante o reporte (backflush).
  • Só pode ser marcado se Geração de lote estiver ativa nas preferências.
  • No Cockpit, o fluxo de empenho de lote/endereço (RESERVE) fica disponível para componentes.

Checklist pós-ativação (hierarquia + lote)

#Ação
1Hierarquia: planta, áreas, linhas
2Máquinas: linha produtiva em cada máquina
3Preferências: template de lote + Salvar
4Produtos: validade em dias (opcional, para lot_validity)
5Operações: endereços WMS, Lança estoque, empenho se necessário
6Cockpit: reporte de teste → conferir lote em Estoque

Dados e integrações

  • GET/PUT/production-preferences/ (use_machine_hierarchy, generate_lot, lot_generation_rule, eventos)
  • GET/event-types/
  • Geração no reporte: _generate_report_lot em POST /wms/production-report/ quando generate_lot ativo
  • Hierarquia: /plants/, /production-areas/, /production-lines/

Perguntas frequentes

Ativei hierarquia mas não vejo linha na máquina
Salve as preferências, recarregue Máquinas e confira se a feature do plano está liberada.

Ativei lote mas o reporte não criou código
A operação precisa Lança estoque; sem movimentação WMS o lote pode não ser gerado. Confira também produto acabado na operação.

Posso usar lote manual e automático?
Sim — reporte gera lote; Movimentações permite buscar/criar por lot_code manualmente.

Desligar geração de lote apaga lotes antigos?
Não — apenas impede novos lotes automáticos nos próximos reportes.

Relatório sem máquina com hierarquia
Selecione planta/área/linha ou máquinas explicitamente; hierarquia sozinha sem máquinas cadastradas na linha não retorna linhas.

Erros comuns

  • Template vazio: informe texto no modal antes de salvar com lote ativo.
  • Sequência inválida: dígitos entre 1 e 12; início ≥ 0.
  • Empenho obrigatório bloqueado: ative geração de lote primeiro.
  • Código de lote estranho: revise tokens e Forçar maiúsculas; teste com reporte simples e filtre em Estoque.

Relacionado