Abate de Emergência
Abate de Emergência — Abate (FrigosoftColetor)
O Abate de Emergência é a tela utilizada pelo operador para registrar e classificar carcaças de animais que passaram por inspeção do SIF (Serviço de Inspeção Federal) durante o abate.
Visão Geral
O Abate de Emergência é a tela utilizada pelo operador para registrar e classificar carcaças de animais que passaram por inspeção do SIF (Serviço de Inspeção Federal) durante o abate. O operador informa a escala de abate, registra ocorrências, motivos e partes afetadas, pesagem das bandas e define o destino da carcaça: Sequestrado, Liberado, Condenado ou Salvar.
No fluxo do frigorífico, esta tela é utilizada após o abate regular quando um animal requer inspeção veterinária adicional. A classificação como Sequestrado é a única que gera Romaneio e Volumes para rastreamento posterior; os demais destinos encerram o processo no próprio registro.
Pré-requisitos
- Para o Abate de Emergência, uma escala de abate ativa deve existir com lote efetivo para produção definido, sexo do animal preenchido e romaneio de abate já criado. Se a escala não tiver romaneio de abate criado, o sistema exibe aviso e impede a seleção.
- O documento de abate deve ter sido gerado pelo sistema antes de processar o Abate de Emergência. Se não houver documento de abate, o processamento é bloqueado com o erro “DOCUMENTO_ABATE_NAO_GERADO”.
- A sincronização de dados iniciais (tipos de pesagem, ocorrências, maturidades, coberturas e conformações da filial) deve ter ocorrido. Se a resposta for nula, o sistema assume tipo de pesagem manual (modo sem balança).
Fluxo Operacional
- O operador acessa a tela de Abate de Emergência.
- O sistema carrega os dados iniciais da filial (tipo de pesagem e listas de classificação).
- O operador seleciona uma escala de abate com duplo toque na lista. Escalas são apresentadas ordenadas por número de lote.
- O operador preenche os campos obrigatórios: ocorrência, motivo de inspeção, parte afetada, destino da carcaça e os pesos conforme o tipo de pesagem configurado na filial.
- Conforme o destino escolhido:
- Salvar, Liberar ou Condenar: o operador toca o botão correspondente e avança diretamente para a etapa de Finalizar (etapa 3).
- Sequestrar em bovino ou outras espécies não suínas: o operador toca Sequestrar e o sistema avança para a etapa de Tipificação (etapa 2) onde seleciona maturidade, cobertura e conformação. Após preencher, avança para Finalizar.
- Sequestrar em suíno: o operador toca Sequestrar e o sistema vai diretamente para Finalizar (etapa 3), pulando a tipificação.
- Na etapa Finalizar, o operador confirma o envio.
- Após processamento bem-sucedido, o sistema exibe confirmação, limpa o formulário e retorna ao início (etapa 1 — Abate).
- O operador pode consultar registros anteriores pela aba de anteriores e, se necessário, editar ou excluir um registro já processado.
Interface e Comportamentos do App
A tela de Abate de Emergência usa um Stepper com três etapas numeradas:
- Etapa 1 — Abate: seleção de escala, preenchimento de ocorrência, motivo, parte afetada, destino e pesos.
- Etapa 2 — Tipificação: seleção de maturidade, cobertura e conformação. Disponível apenas para o destino Sequestrar em animais não suínos.
- Etapa 3 — Finalizar: confirmação e envio dos dados ao servidor.
Botões de destino no Abate de Emergência
Os botões Salvar, Liberar, Condenar e Sequestrar só ficam habilitados quando todos os campos obrigatórios estiverem preenchidos e os pesos exigidos pelo tipo de pesagem estiverem válidos.
Exibição do botão Salvar conforme tipo de pesagem
No Abate de Emergência, o botão Salvar é exibido apenas quando o tipo de pesagem configurado na filial for “Antes e Depois — Salvar” (tipo 4). Nos demais tipos de pesagem, este botão não aparece.
Seleção de escala no Abate de Emergência
Ao tentar selecionar uma escala sem lote associado, o sistema exibe uma mensagem de aviso e não permite prosseguir. Ao tentar selecionar uma escala sem romaneio de abate criado, o sistema exibe um diálogo de aviso e bloqueia a seleção.
Lista de registros anteriores do Abate de Emergência
A aba de anteriores do Abate de Emergência lista os registros já processados (com destino definido) da filial e data correntes, ordenados do mais recente para o mais antigo pela sequência de cabeça.
Edição de registro anterior no Abate de Emergência
Ao tocar em Editar na lista de registros anteriores do Abate de Emergência, se já houver uma escala selecionada no formulário atual, o sistema exibe um diálogo informando que a edição limpará os dados preenchidos antes de prosseguir.
Exclusão de registro anterior no Abate de Emergência
Ao excluir um registro anterior do Abate de Emergência, o sistema exibe um diálogo de confirmação antes de efetuar a exclusão.
Maturidade na tipificação do Abate de Emergência
Na tipificação do Abate de Emergência, a lista de maturidades exibida já vem filtrada pelo sexo do animal da escala selecionada (ver Regras de Negócio).
Feedbacks ao Operador
Esta seção lista os feedbacks exibidos ao operador durante o Abate de Emergência.
Feedbacks — mensagens de texto identificado
| Situação | Feedback | Texto exato |
|---|---|---|
| Processamento bem-sucedido | Toast | “sisbovInserido” |
| Escala selecionada sem lote associado | Toast | “escalaSemLote” |
| Sisbov não encontrado ao editar sequência | Erro do servidor | “SISBOV_NAO_ENCONTRADA” |
| Sisbov já processado ao tentar editar | Erro do servidor | “SISBOV_PROCESSADO” |
| Documento de abate não gerado | Erro do servidor | “DOCUMENTO_ABATE_NAO_GERADO” |
Feedbacks — diálogos e mensagens sem texto literal capturado
| Situação | Feedback | Mensagem |
|---|---|---|
| Escala selecionada sem romaneio de abate | Diálogo de aviso | Alerta que a escala não possui romaneio de abate criado e bloqueia a seleção |
| Editar anterior com escala já preenchida | Diálogo de confirmação | Informa que os dados preenchidos serão apagados ao carregar o registro anterior e pede confirmação para prosseguir |
| Excluir registro anterior | Diálogo de confirmação | Pergunta se o operador confirma a exclusão do registro selecionado |
| Maturidade incompatível com sexo do animal | Erro sem atualização | Rejeita a seleção da maturidade incompatível com o sexo do animal e mantém o estado anterior |
| Resposta nula ao processar | Erro | Mensagem genérica de erro inesperado do aplicativo |
Regras de Negócio
Esta seção define as regras de negócio do Abate de Emergência para classificação de ocorrências, pesagem, mercados, sincronização e sequências.
Classificação das listas de seleção no Abate de Emergência
No Abate de Emergência, a lista completa de ocorrências cadastradas na filial é recebida do servidor e reclassificada automaticamente em quatro listas conforme o tipo de cada ocorrência (ocorrência, motivo, parte afetada e destino):
- Ocorrências do tipo 9 tornam-se a lista de Parte Afetada.
- Ocorrências do tipo 5 que tenham um destino (câmara) associado tornam-se a lista de Destino da Carcaça.
- Demais ocorrências (inclusive as do tipo 5 sem destino associado ou outros tipos) alimentam simultaneamente as listas de Ocorrência e de Motivo de Inspeção — o mesmo item cadastrado pode aparecer tanto em Ocorrência quanto em Motivo de Inspeção.
Destinos de carcaça no Abate de Emergência
No Abate de Emergência, os destinos possíveis para a carcaça e seus significados são:
- ‘S’ — Sequestrado: carcaça retida para investigação; gera Romaneio e Volumes.
- ‘L’ — Liberado: carcaça aprovada para seguir o fluxo normal.
- ‘C’ — Condenado: carcaça reprovada; gera impressão do layout de condenação.
- ‘N’ — Salvar (padrão/fallback): qualquer valor não reconhecido é mapeado para este destino.
Tipos de pesagem e campos obrigatórios no Abate de Emergência
Cada tipo de pesagem configurado na filial exige um conjunto específico de campos de peso preenchidos antes de habilitar os botões de destino do Abate de Emergência:
Modo sem balança (tipo 0 ou não configurado) e “Antes e Depois — Salvar” (tipo 4):
- Banda única: peso antes da banda 1 E peso depois da banda 1 devem ser maiores que zero.
- Banda dupla: os quatro campos (peso antes banda 1, peso antes banda 2, peso depois banda 1, peso depois banda 2) devem ser maiores que zero.
Somente Peso Antes:
- Banda única: peso antes da banda 1 maior que zero.
- Banda dupla: peso antes banda 1 E peso antes banda 2 maiores que zero.
Somente Peso Depois:
- Banda única: peso antes da banda 1 maior que zero (comportamento atual do sistema — ver Troubleshooting).
- Banda dupla: peso depois banda 1 E peso depois banda 2 maiores que zero.
Antes e Depois (tipo padrão completo):
- Sempre exige os quatro campos preenchidos, independente de banda única ou dupla.
Entrada manual de peso no Abate de Emergência
No modo sem balança do Abate de Emergência, o operador preenche os campos via teclado em um painel com até 4 campos de texto. Os campos de peso da banda 2 (antes e depois) só são exibidos quando o produto exige as duas leituras separadas (banda dupla); para produtos de banda única, apenas os campos da banda 1 aparecem. O sistema subtrai a tara do peso informado quando a tara for maior que zero. Se o peso informado for maior que zero, o peso líquido = peso informado menos tara. Se o peso for zero ou negativo, o valor é mantido sem desconto de tara.
Peso ausente preenchido automaticamente pela outra leitura da mesma banda no Abate de Emergência
No Abate de Emergência, se o peso antes da banda 1 estiver zerado mas o peso depois da banda 1 for maior que zero, o sistema usa o peso depois também como peso antes ao processar. O mesmo vale no sentido inverso (peso depois zerado com peso antes preenchido) e se aplica igualmente à banda 2. Essa substituição evita que o apontamento seja gravado com um dos pesos zerado quando o tipo de pesagem da filial exige apenas uma das duas leituras.
Sequências de abate de emergência
As sequências de cabeça do Abate de Emergência estão sempre acima do valor mínimo configurado no parâmetro “SequenciaMinima.AbateDeEmergencia”. Valores abaixo deste limiar correspondem a abate normal.
Compatibilidade entre sexo e maturidade na tipificação do Abate de Emergência
Na tipificação do Abate de Emergência, a lista de maturidades disponível é filtrada pelo sexo do animal da escala. Maturidades incompatíveis com o sexo não aparecem na lista. Se por algum motivo uma maturidade incompatível for selecionada, o sistema rejeita a seleção e mantém o estado anterior.
Mercados habilitados no Abate de Emergência
No Abate de Emergência, o mercado interno (’10’) é sempre o fallback quando nenhum mercado DIF está disponível. O mercado principal exibido ao operador é sempre aquele com menor nível de exigência entre os mercados habilitados.
Sincronização do Abate de Emergência com o sistema central (ERP)
Após o processamento bem-sucedido de um Abate de Emergência, o sistema envia automaticamente o apontamento para o sistema central (ERP) quando o destino é Sequestrado, Liberado ou Condenado. Quando o destino é Salvar, o apontamento não é enviado automaticamente ao sistema central. Ao excluir um registro do Abate de Emergência já processado, a exclusão também é replicada automaticamente para o sistema central (ver Troubleshooting).
Efeito da exclusão de um registro processado no Abate de Emergência
Ao excluir um registro do Abate de Emergência com destino Sequestrado, além do próprio registro, o sistema também exclui o Romaneio de Abate e os Volumes gerados para aquela carcaça. Para os demais destinos, a exclusão remove apenas o registro, já que eles não geram Romaneio nem Volumes.
Limpeza de estado do Abate de Emergência após processamento bem-sucedido
Após o envio de um Abate de Emergência ser aceito pelo servidor, o sistema limpa os seguintes campos: escala, produto, classificação, quatro pesos, ocorrência, motivo, parte afetada, destino, carcaça de destino, maturidade, cobertura, conformação e sequência. Os dados que permanecem são: tipo de pesagem, modo de pesagem e as listas de lookup (ocorrências, maturidades, coberturas, conformações), evitando nova requisição ao servidor.
Documentos Gerados em Segundo Plano
Impressão automática de documentos no Abate de Emergência
Após o processamento do Abate de Emergência, o sistema imprime automaticamente um documento conforme o destino definido para a carcaça:
- Destino Condenado: imprime o layout de condenação (`abate_emergencia_condenar`).
- Destino Sequestrado: imprime o layout de sequestro (`abate_emergencia_sequestrar`), incluindo apenas os volumes válidos gerados para o romaneio.
- Destinos Liberado e Salvar: não geram impressão automática.
Troubleshooting
Esta seção reúne os problemas mais comuns relatados pelos operadores do Abate de Emergência e como resolvê-los.
T-01 — Botões de destino permanecem desabilitados no Abate de Emergência
Mensagem exibida: Nenhuma — botões permanecem desabilitados
O que fazer: verificar se todos os campos obrigatórios estão preenchidos (ocorrência, motivo, parte afetada, destino) e se os campos de peso exigidos pelo tipo de pesagem da filial estão com valores maiores que zero.
T-02 — Seleção de escala bloqueada por falta de romaneio de abate
Mensagem exibida: Nenhuma — diálogo de aviso impede a seleção
O que fazer: verificar se a escala possui romaneio de abate criado no ERP. Sem romaneio de abate, o registro de Abate de Emergência não pode ser realizado.
T-03 — Escala sem lote associado impede a seleção no Abate de Emergência
Mensagem exibida: “escalaSemLote”
O que fazer: verificar o cadastro da escala no ERP e garantir que o lote efetivo para produção está preenchido.
T-04 — Processamento falha por documento de abate não gerado
Mensagem exibida: “DOCUMENTO_ABATE_NAO_GERADO”
O que fazer: verificar no ERP se o documento de abate foi gerado para a escala selecionada. O documento precisa ser criado antes de qualquer registro de Abate de Emergência.
T-05 — Edição de registro anterior bloqueada por processamento já concluído
Mensagem exibida: “SISBOV_PROCESSADO”
O que fazer: o registro já passou por processamento completo com destino diferente de ‘N’. Não é possível editar. Se necessário corrigir, excluir o registro e lançar novamente.
T-06 — Registro não encontrado ao editar sequência do Abate de Emergência
Mensagem exibida: “SISBOV_NAO_ENCONTRADA”
O que fazer: o registro não foi localizado no banco do servidor para a data e sequência informadas. Verificar se o registro foi excluído por outro operador ou em outra sessão.
T-07 — Falha de comunicação ao processar o Abate de Emergência
Mensagem exibida: Mensagem genérica de erro inesperado do aplicativo
O que fazer: verificar a conectividade com o servidor. Tentar novamente após restabelecer a conexão.
T-08 — Apontamento do Abate de Emergência processado no coletor, mas sem confirmação de chegada ao sistema central (ERP)
Mensagem exibida: Nenhuma — o aplicativo confirma o processamento normalmente, sem qualquer indicativo de que o envio ao sistema central falhou
Cenário: o envio do apontamento (destino Sequestrado, Liberado ou Condenado) ao sistema central acontece em segundo plano depois da confirmação na tela. Uma falha nesse envio não é sinalizada ao operador nem repetida automaticamente pelo sistema.
O que fazer: em caso de suspeita de instabilidade de rede no momento do envio, confirmar no sistema central (ERP) se o apontamento foi de fato recebido. Se não constar, acionar o suporte — o sistema não tenta reenviar sozinho.
Casos de Uso
Esta seção descreve cenários completos de uso do Abate de Emergência, do registro do veterinário à confirmação do apontamento.
Caso 1 — Caminho feliz: carcaça liberada
O veterinário inspeciona o animal de sequência 0423 e decide liberá-lo. O operador seleciona a escala do lote “04”, informa a ocorrência, motivo, parte afetada e destino “Liberado”. O tipo de pesagem da filial é “Somente Peso Antes” — o operador informa 187 kg na banda 1. O sistema habilita o botão Liberar. O operador toca Liberar, avança para Finalizar e confirma. O sistema registra o apontamento, exibe a mensagem de confirmação e limpa o formulário.
Caso 2 — Carcaça sequestrada com tipificação (bovino)
O veterinário retém o animal de sequência 0711 para investigação. O operador seleciona a escala do lote “07”, preenche ocorrência, motivo, parte afetada e destino “Sequestrar”. O tipo de pesagem exige os quatro pesos: banda 1 — antes 143 kg, depois 139 kg; banda 2 — antes 141 kg, depois 137 kg. O operador toca Sequestrar, avança para Tipificação, seleciona maturidade “Adulto”, cobertura “3” e conformação “O”. Avança para Finalizar e confirma. O sistema cria o Romaneio com os pesos informados, executa a tipificação e gera os volumes. Imprime o layout de sequestro.
Caso 3 — Carcaça condenada
O veterinário reprova o animal de sequência 0512. O operador preenche os dados, define destino “Condenar” e confirma em Finalizar. O sistema registra o apontamento e imprime automaticamente o layout “abate_emergencia_condenar” para identificação da carcaça condenada na área de inspeção.
Caso 4 — Edição de registro anterior do Abate de Emergência
O operador percebe que registrou o destino incorreto para o animal de sequência 0309. Acessa a aba de anteriores, localiza o registro e toca Editar. Como já tem uma escala selecionada no formulário, o sistema exibe confirmação informando que os dados serão limpos. O operador confirma, o formulário é preenchido com os dados do registro anterior e o operador corrige o destino antes de reenviar.