Pacotes
Tela de gerenciamento de pacotes e agrupamentos. Aqui o usuario cria tipos de pacote, registra novos pacotes, vincula itens ou outros pacotes a um pacote pai e acompanha os detalhes de cada agrupamento.

Como acessar
- Rota:
/pacotes - Permissão necessária:
pacotes - Feature flag:
pacotes(a tela só opera quando habilitada em Configuração)
O que a tela mostra
A tela é dividida em duas partes principais:
- A barra de ações no topo, onde ficam os comandos para criar, registrar e empacotar.
- A grade principal, onde cada linha representa um pacote com seu EPC, tipo, etiqueta vinculada, quantidade de itens internos e descrição.
Quando a feature flag está desativada, a tela exibe apenas o aviso informando que a funcionalidade precisa ser liberada em Configuração.
O que você pode fazer
- Listar pacotes em grade com tipo, etiqueta, quantidade de itens internos, descrição e relação de pai.
- Filtrar os registros por tipo para localizar mais rápido um agrupamento específico.
- Criar um novo tipo de pacote vinculado a um layout de etiqueta ZPL.
- Registrar um ou mais pacotes com os mesmos dados de uma só vez.
- Empacotar itens e/ou outros pacotes dentro de um pacote pai.
- Abrir os detalhes de um pacote para ver os filhos vinculados.
- Editar tipo, descrição e pacote pai de um registro.
- Excluir um pacote do relatório.
- Desvincular itens ou pacotes filhos quando estiver analisando os detalhes.
Visão geral da tela
Barra de ações

Na parte superior ficam os principais comandos:
- Empacotar / Criar Pacote: abre o fluxo para vincular itens ou pacotes a um pai.
- Registrar Pacote: abre o formulário para criar novos pacotes.
- Criar Tipo Pacote: abre o cadastro de tipos, que depende de um layout de etiqueta já existente.
- Filtrar tipo: restringe a grade para exibir apenas um tipo de pacote.
Grade de pacotes
A tabela principal apresenta as colunas:
- Epc: identificador único do pacote.
- Tipo Pacote: nome do tipo cadastrado.
- Etiqueta Vinculada: layout de etiqueta relacionado ao tipo.
- Quantidade Itens Dentro do Pacote Vinculada: quantidade total de itens ou pacotes dentro do agrupamento.
- Descricao: texto livre para contextualizar o pacote.
- Acao: botões para abrir detalhes, editar e excluir.
Acoes por linha

Cada pacote possui três ações rápidas:
- Abrir detalhes: exibe os itens e pacotes vinculados ao EPC selecionado.
- Editar: altera tipo, descrição e pai.
- Excluir: remove o pacote do relatório.
Como usar
- Habilite a feature flag
pacotesem Configuração se a tela estiver bloqueada. - Crie primeiro um layout na tela de Etiquetas.
- Abra Criar Tipo Pacote e vincule o tipo a um layout de etiqueta.
- Use Registrar Pacote para criar um ou mais pacotes daquele tipo.
- Use Empacotar / Criar Pacote para informar o EPC do pai e os IDs que serão vinculados.
- Clique duas vezes em uma linha ou use o ícone de abrir para ver os detalhes do pacote.
- Dentro dos detalhes, remova vínculos individuais quando necessário.
Tela Criar Tipo de Pacote

Esta tela é usada quando o usuario quer cadastrar um tipo novo que ainda não existe na lista.
Campos:
- Novo Tipo: nome do tipo de pacote que aparecerá no seletor.
- Layout da etiqueta: layout ZPL que será vinculado ao tipo.
Regras:
- O botão de adicionar só libera quando o nome e o layout estiverem preenchidos.
- Se não existir nenhum layout cadastrado, a tela mostra uma orientação para ir até Etiquetas.
- O sistema sugere criar a etiqueta primeiro para evitar tipos sem layout associado.
Tela Registrar Pacote

Use este modal para gerar um pacote novo a partir de um tipo já criado.
Campos:
- Tipo: escolhe um tipo de pacote existente.
- Descricao: detalhe livre para ajudar na identificação.
- Parent ID (opcional): EPC do pacote pai, quando o novo pacote já nasce vinculado a outro agrupamento.
- Quantidade: número de pacotes que serão criados com os mesmos dados.
Comportamento:
- Se a quantidade for maior que 1, o sistema cria vários pacotes iguais em sequência.
- Se o tipo escolhido vier de um layout vinculado, a grade passa a mostrar essa associação na coluna de etiqueta.
- O formulário limpa os campos depois do salvamento com sucesso.
- Ao registrar o pacote com sucesso, um lote de impressão é gerado e passa a ficar disponível na tela de Impressão.
Tela Detalhes do Pacote

Esta é a tela que o usuario vê ao abrir um pacote pela ação de visualizar ou ao dar duplo clique na linha.
O que aparece nela:
- O EPC do pacote selecionado.
- O tipo e a descrição do agrupamento.
- Um resumo com o total interno.
- A lista de itens e pacotes vinculados ao pacote pai.
O que o usuario pode fazer:
- Conferir quais itens estão dentro do pacote.
- Identificar se o filho é um item ou outro pacote.
- Remover o vínculo de um filho sem apagar o registro original.
Fluxo de Empacotamento
- Clique em Empacotar / Criar Pacote.
- Informe o Caixa ID (parent_id), que é o EPC do pacote pai.
- Preencha os IDs de itens e/ou os IDs de pacotes.
- Separe os valores por vírgula, espaço ou quebra de linha.
- Clique em Empacotar.
- O sistema processa os vínculos e atualiza a lista principal.
Esse fluxo serve tanto para adicionar itens soltos quanto para anexar outros pacotes já existentes a um agrupamento maior.
Campos e Colunas principais
- pacoteEpc: EPC do pacote.
- pacoteTipo: tipo do pacote definido em Tipos.
- layoutName: nome do layout ZPL vinculado ao tipo.
- quantidadeItensDentro: total de itens ou pacotes vinculados ao agrupamento.
- descricao: descrição usada para ajudar na identificação.
- parentId: EPC do pacote pai, quando existir relação hierárquica.
Regras e comportamentos
- A tela depende da feature flag
pacotespara liberar uso. - Cada tipo de pacote precisa estar associado a um layout de etiqueta válido.
- O filtro superior altera somente a lista exibida na grade.
- Um pacote pode ter filhos, e esses filhos podem ser itens ou outros pacotes.
- Ao criar/registrar pacote, o sistema integra com Impressão e cria o lote correspondente para a fila de impressão.
- Ao editar um pacote, o EPC não muda, apenas os campos permitidos.
- Ao excluir um pacote, o sistema remove apenas o registro do relatório atual.
- Quando o usuário remove um vínculo nos detalhes, o filho volta a ficar desvinculado do pai.
- A visualização de detalhes mostra apenas os filhos do pacote selecionado.
Estados esperados
- Feature flag desativada: aparece aviso de bloqueio da funcionalidade.
- Tipo criado com sucesso: novo tipo fica disponível no seletor de cadastro.
- Pacote registrado com sucesso: a grade é atualizada com o novo EPC.
- Pacote registrado com sucesso (integração): um lote é criado automaticamente na tela de Impressão, geralmente com status inicial
nao impresso. - Empacotamento concluído: o total interno do pacote pai é recalculado.
- Edição concluída: tipo, descrição ou pai são atualizados.
- Exclusão concluída: a linha some da lista.
- Erro de validação: o sistema exibe mensagem explicando o campo faltante ou inválido.
Campos / Colunas principais
- pacoteEpc: EPC do pacote.
- pacoteTipo: tipo do pacote (definido em Tipos).
- layoutName: nome da etiqueta ZPL associada ao tipo.
- quantidadeItensDentro: total de itens vinculados.
- descricao e parentId: metadados do pacote.