Venda com saída de vacinaRascunho

Histórico de versões

    Eu, como usuário do sistema AgroDigital, quero buscar venda com saída de vacina, listar venda com saída de vacina, adicionar venda com saída de vacina, visualizar venda com saída de vacina e editar venda com saída de vacina para gerenciar vendas com saída de vacina.

    • v1.0 - 10/07/2026: Primeira versão da história.

    Eu, como usuário do sistema, quero gerenciar vendas com saída de vacinas, para que eu possa permitir a gestão eficiente dessas informações.

    Dado que estou na tela inicial para usuários autenticados
    Quando acesso o menu Venda com Saída de Vacina
    Então o sistema exibe a tela de busca, contendo os seguintes filtros:

    CampoTipoObrigatórioValidações
    Revendedora de Produtos AgropecuáriosSeleção simples de entidade: revendedoras de produtos agropecuáriosNãoValores = revendedoras de produtos agropecuários de Minas Gerais cadastradas no sistema
    Tipo de DestinatárioSeleção simplesNãoValores = “Produtor”, “Vacinador”, “Médico Veterinário”, “Revendedora de Produtos Agropecuários”
    DestinatárioTextoNãoTamanho = 255 caracteres
    CPF/CNPJ do DestinatárioTextoNãoTamanho = 14 caracteres
    Número da Nota FiscalTextoNãoTamanho = 255 caracteres
    Número de PartidaTextoNãoTamanho = 20 caracteres
    LaboratórioSeleção simples de entidade: laboratórioNãoValores = laboratórios cadastrados no sistema
    DoençaSeleção simples de entidade: doençaNãoValores = doenças cadastradas no sistema
    Tipo de VacinaSeleção simples de entidade: tipo de vacinaNãoValores = tipos de vacinas cadastradas no sistema
    SituaçãoSeleçãoNãoValores = “Gravado”, “Cancelado”

    E exibe as seguintes ações: (Ver AC001 - Ações das telas de busca)

    Dado que estou na tela de busca
    E o campo de busca e/ou pelo menos um dos filtros disponíveis foi corretamente preenchido
    Quando realizo a ação “Pesquisar”
    E o sistema encontrou registros compatíveis com os valores informados
    Então o sistema exibe os resultados retornados, contendo os seguintes campos:

    CampoDescrição
    Revendedora de Produtos AgropecuáriosExibe o Código/Nome da revendedora
    DestinatárioExibe “CPF/CNPJ - Nome/Razão Social” do destinatário
    Número da Nota FiscalExibe o número da nota fiscal
    LotesExibe o Número de Partida - Laboratório - Doença - Tipo de Vacina (Um ou mais)
    SituaçãoExibe a situação do cadastro

    E exibe as seguintes ações: (Ver AC002 - Ações das telas de listagem)

    Dado que estou na tela de cadastro
    Então o sistema exibe um formulário, contendo os seguintes campos:

    CampoTipoObrigatórioEditávelValidações
    Revendedora de Produtos AgropecuáriosSeleção de entidade: revendedora de produtos agropecuáriosSimNãoValores = revendedoras de produtos agropecuários de Minas Gerais cadastradas no sistema Ao selecionar uma revendedora que não revende vacinas, o sistema deve alertar com uma mensagem fixada abaixo do campo, que a entidade não está cadastrada como revendedora de vacinas, mas não deve impedir o cadastro.
    CampoTipoObrigatórioEditávelValidações
    Tipo de DestinatárioSeleção simplesSimNãoValores = “Produtor”, “Vacinador”, “Médico Veterinário”, “Revendedora de Produtos Agropecuários”
    Destinatário possui cadastro no IMA?Seleção simplesSimNãoValores = “Sim”, “Não”
    Destinatário de fora do estado?Seleção simplesSimNãoValores = “Sim”, “Não”

    (Disponível se “Destinatário tem cadastro no IMA?” = “Sim”)

    Seção intitulada “(Disponível se “Destinatário tem cadastro no IMA?” = “Sim”)”

    (Disponível se “Tipo de Destinatário” = “Revendedora de Produtos Agropecuários”)

    Seção intitulada “(Disponível se “Tipo de Destinatário” = “Revendedora de Produtos Agropecuários”)”
    CampoTipoObrigatórioEditávelValidações
    DestinatárioSeleção simples de entidade: revendedora de produtos agropecuáriosSimNãoValores = revendedoras de produtos agropecuários cadastradas no sistema

    (Disponível se “Tipo de Destinatário” = “Produtor”)

    Seção intitulada “(Disponível se “Tipo de Destinatário” = “Produtor”)”
    CampoTipoObrigatórioEditávelValidações
    DestinatárioSeleção de entidade: pessoaSimNãoValores = pessoas físicas ou jurídicas que são produtoras cadastradas no sistema

    (Disponível se “Tipo de Destinatário” = “Médico Veterinário”)

    Seção intitulada “(Disponível se “Tipo de Destinatário” = “Médico Veterinário”)”
    CampoTipoObrigatórioEditávelValidações
    DestinatárioSeleção de entidade: profissional da área animalSimNãoValores = profissionais da área animal que são médicos veterinários cadastrados no sistema

    (Disponível se “Tipo de Destinatário” = “Vacinador”)

    Seção intitulada “(Disponível se “Tipo de Destinatário” = “Vacinador”)”
    CampoTipoObrigatórioEditávelValidações
    DestinatárioSeleção de entidade: vacinador contra bruceloseSimNãoValores = vacinadores contra brucelose cadastrados no sistema

    (Disponível se “Destinatário tem cadastro no IMA?” = “Não”)

    Seção intitulada “(Disponível se “Destinatário tem cadastro no IMA?” = “Não”)”
    CampoTipoObrigatórioEditávelValidações
    Destinatário ⚠︎ Caso possua atividade agropecuária em Minas Gerais, recomenda-se realizar o cadastro no IMA.TextoSimNãoTamanho = 255 caracteres
    CPF/CNPJ do DestinatárioInteiroSimTamanho = 11 ou 14 caracteres
    CampoTipoObrigatórioValidaçõesExemploValor padrão
    Tipo de Contato (E-mail)TextoSimSomente leitura.E-mailE-mail
    E-mailTexto curtoSimFormato = e-mail válido.joaquim@email.comVazio
    Observação do e-mailTexto longoNãoTamanho máximo = 1.500 caracteres.Meu e-mailVazio
    Tipo de Contato (Telefone)TextoSimSomente leitura.TelefoneTelefone
    NúmeroTexto numéricoSimTamanho = 11 dígitos. Formato = (XX) XXXXX-XXXX.(35) 99999-1111Vazio
    Observação do telefoneTexto longoNãoTamanho máximo = 1.500 caracteres.Meu telefoneVazio
    Tipo de Contato (outros)Seleção simplesSimValores = E-mail, Telefone.TelefoneE-mail
    E-mail (outros)Texto curtoSimDisponível se Tipo de Contato = E-mail. Formato = e-mail válido.joaquim_junior@email.comVazio
    Número (outros)Texto numéricoSimDisponível se Tipo de Contato = Telefone. Tamanho = 11 dígitos. Formato = (XX) XXXXX-XXXX.(35) 99999-1111Vazio
    Observação (outros)Texto longoNãoTamanho máximo = 1.500 caracteres.Contato do meu filhoVazio

    A seção admite zero ou mais contatos, conforme a fonte.

    CampoTipoObrigatórioEditávelValidações
    Número da Nota FiscalTextoSimNãoTamanho = 255 caracteres
    UF da Nota FiscalSeleçãoSimNãoSomente leitura Valor = Minas Gerais
    Data da Nota FiscalDataSimNãoFormato = DD/MM/AAAA
    CampoTipoObrigatórioEditávelValidações
    SaldoSeleção múltipla de entidade: saldo de vacinasSimNãoValores = saldo de vacinas que estão no nome da “Revendedora de Produtos Agropecuários” emitente

    Lote [X] - [Nº de Partida], [Doença], [Tipo de Vacina], [Laboratório], [Validade], [Frascos], [Doses por Frasco], [Total de Doses] (Um ou mais) (Disponível para cada lote selecionado)

    Seção intitulada “Lote [X] - [Nº de Partida], [Doença], [Tipo de Vacina], [Laboratório], [Validade], [Frascos], [Doses por Frasco], [Total de Doses] (Um ou mais) (Disponível para cada lote selecionado)”

    Informações das Doses (Disponível para cada “Informação Dose”)

    Seção intitulada “Informações das Doses (Disponível para cada “Informação Dose”)”
    CampoTipoObrigatórioEditávelValidações
    GráficoGráficoSimNãoSomente leitura Deve exibir os dados separando o saldo por doses vencidas, descartadas, vendidas e disponíveis
    CampoTipoObrigatórioEditávelValidações
    FrascosInteiroSimNãoSomente Leitura Exibe de acordo com o saldo do lote
    DosesInteiroSimNãoSomente Leitura Exibe de acordo com o saldo do lote
    CampoTipoObrigatórioEditávelValidações
    FrascosInteiroSimNãoDeve ser menor ou igual que os Disponíveis
    DosesInteiroSimNãoSomente leitura Deve atualizar automaticamente conforme o valor de “Frascos”, considerando o número de doses por frascos da apresentação

    Receituário (Disponível se tipo de Destinatário = “Produtor”, “Vacinador” ou “Médico Veterinário”) (Disponível para cada “Tipo de Vacina” do Número de Partida selecionado que exigir receituário para venda de vacina)

    Seção intitulada “Receituário (Disponível se tipo de Destinatário = “Produtor”, “Vacinador” ou “Médico Veterinário”) (Disponível para cada “Tipo de Vacina” do Número de Partida selecionado que exigir receituário para venda de vacina)”
    CampoTipoObrigatórioEditávelValidações
    Receituário para [Nome do Tipo de Vacina]ArquivoSimNão-
    Médico Veterinário EmissorSeleção de entidade: profissional da área animalSimNãoPara Tipo de Destinatário = “Vacinador” ou “Médico Veterinário”: Valor = O proprio médico veterinário ou médico veterinário responsável pelo vacinador Para Produtor: Valor = profissionais da área animal que são médicos veterinários cadastrados no sistema
    CRMVTextoSimNãoSomente leitura. CRMV do profissional da área animal selecionado
    CampoTipoObrigatórioEditávelValidações
    Possui previsão de uso das vacinas em explorações pecuárias específicas?Seleção SimplesSimNãoValores = “Sim”, “Não”, “Não sei informar” Valor padrão = “Não”
    Exploração PecuáriaSeleção simples de entidade: exploração pecuáriaSimNãoDisponível se “Possui previsão de uso das vacinas em explorações pecuárias específicas?” = “Sim” (Uma ou mais) Valores = explorações pecuárias cadastradas no sistema

    E exibe as seguintes ações: (Ver AC003 - Ações das telas de cadastro e AC006 - Ações de interação com formulários)

    Dado que estou na tela de visualização
    Então o sistema exibe os campos do formulário descrito no critério de aceitação 3 como somente leitura, com seus valores já preenchidos
    E, além desses, exibe os seguintes campos, também como somente leitura:

    CampoTipoObrigatórioEditávelDescrição
    SituaçãoSeleção simplesSimSimValores = “Gravado”, “Cancelado”

    E exibe as seguintes ações: (Ver AC004 - Ações das telas de visualizar e AC006 - Ações de interação com formulários)

    Dado que estou na tela de edição
    Então o sistema exibe todos os campos descritos nos critérios de aceitação 3 e 4, com seus valores já preenchidos
    E permite editar apenas a Situação
    E exibe as seguintes ações: (Ver AC005 - Ações das telas de editar e AC006 - Ações de interação com formulários)

    AçãoDescrição
    CancelarDisponível se não houver movimentação posterior ao cadastro no saldo do emitente (revendedora de produtos agropecuários) e do destinatário (múltiplas entidades) Muda a situação do cadastro para “Cancelado”, não permitindo desfazer a ação.
    • RNE001 - Quando o cadastro é efetuado, gera-se uma nota fiscal no sistema, definida da seguinte forma:

      • Contém todas as informações descritas na seção da nota fiscal

      • A chave de identificação única da Nota Fiscal é composta pelo Número da Nota Fiscal + Emitente

      • A Nota Fiscal deve conter os lotes associados

    • RNE002 - Quando o cadastro é efetuado, geram-se os lotes, definidos da seguinte forma:

      • Contém todas as informações descritas na seção de lotes

      • A chave de identificação única do lote é composta pelo Laboratório + Número de Partida.

    • RNE003 - As doses cadastradas nessa venda devem ser lançadas no saldo do destinatário. O saldo é definido da seguinte forma:

      • Deve ser discretizado com a seguinte hierarquia, para mapeamento correto das doses disponíveis:

        • Doença + Tipo de Vacina > Lote > Apresentação

        • Doses de um mesmo lote devem ser agrupadas juntas, para um mesmo destinatário, mesmo que sejam adquiridas por notas fiscais distintas.

      • O sistema deve manter um mapeamento para associar o saldo em lotes com as notas fiscais (uma ou mais) que deram origem a ele.

    • RNE004 - Ao cadastrar uma venda de vacina, o sistema deve verificar se o destinatário está apto para a posse, conforme os campos “Autorizados à posse de doses” e “Exige cadastro para a venda da vacina?” dos tipos de vacina selecionados. Caso o destinatário não atenda a qualquer uma das condições aplicáveis, o sistema deve impedir o cadastro e apresentar uma mensagem de alerta para cada tipo de vacina cuja posse não seja permitida. Quando as validações forem atendidas, o sistema deve permitir o cadastro e o lançamento das doses no saldo do destinatário.

    As colunas Obrigatório e Editável correspondem a OBG e EDT da fonte. A edição posterior observa também as condições de somente leitura e de situação do cadastro. Campos, exemplos, padrões e referências recebidos foram preservados, sem criar valores ausentes.

    • A fonte não informa código US; nenhum identificador foi criado.
    • As condições citam Destinatário tem cadastro no IMA?, enquanto o campo se chama Destinatário possui cadastro no IMA?. Confirmar o rótulo controlador.
    • Destinatário de fora do estado? não possui campos ou condições associados. Confirmar o tratamento do destinatário externo.
    • O filtro CPF/CNPJ exige 14 caracteres, mas o cadastro admite 11 ou 14 e usa tipo Inteiro. Confirmar o tratamento do CPF, zeros iniciais e máscaras; o EDT desse campo está vazio.
    • A autorização à posse de doses lista categorias de pessoas no tipo de vacina, enquanto a venda também admite revendedoras. Confirmar a representação da autorização para revendedoras.
    • A RNE003 explicita o crédito no destinatário, mas não detalha o débito no emitente ou o estorno de ambos no cancelamento.
    • A fonte não define formatos e limites do receituário, nem validação temporal para a Data da Nota Fiscal. A seção Contato foi vinculada ao componente Contatos simples, preservando zero ou mais itens.