Venda com entrada de insumoRascunho

Histórico de versões

    Eu, como usuário do sistema AgroDigital, quero buscar venda com entrada de insumos, listar venda com entrada de insumos, adicionar venda com entrada de insumos, visualizar venda com entrada de insumos e editar venda com entrada de insumos para gerenciar vendas com entrada de insumo.

    • v1.1 - 22/07/2026: Mudança para versão completa
    • v1.0 - 17/07/2026: Primeira versão da história.

    Eu, como usuário do sistema, quero gerenciar vendas com entrada de insumos, 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 Entrada de Insumo
    Então o sistema exibe a tela de busca, contendo os seguintes filtros:

    CampoTipoObrigatórioValidações
    FornecedorSeleção simples de entidade: fornecedorNãoValores = revendedoras de produtos agropecuários de outros estados e laboratórios
    Revendedora de Produtos AgropecuáriosSeleção simples de entidade: revendedora de produtos agropecuáriosNãoValores = revendedoras de produtos agropecuários de Minas Gerais cadastradas no sistema
    Número da Nota FiscalTextoNãoTamanho = 255 caracteres
    Número de PartidaTextoNãoTamanho = 20 caracteres
    DoençaSeleção simples de entidade: doençaNãoValores = doenças cadastradas no sistema
    Tipo de InsumoSeleção simples de entidade: tipo de insumoNãoValores = tipos de insumos cadastrados no sistema
    SituaçãoSeleção simplesNãoValores = “Gravada”, “Cancelada”

    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
    FornecedorExibe o nome do laboratório/revendedora fornecedor de insumos
    Revendedora de Produtos AgropecuáriosExibe o código - nome da revendedora beneficiada
    Número da Nota FiscalExibe o número da nota fiscal da venda
    LotesExibe o Número de Partida - Laboratório - Doença - Tipo de Insumo (se aplicável) (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
    Fornecedor 🛈 Não encontrou o Fornecedor de Insumo para Exame? Entre em contato com o Escritório Seccional do IMA de sua região.Seleção simples de entidade: fornecedorSimNãoValores = revendedoras de produtos agropecuários de outros estados e laboratórios Ao selecionar um laboratório que não produz insumo ou uma revendedora que não revende insumos, o sistema deve alertar com uma mensagem fixada abaixo do campo, que a entidade não está cadastrada como produtor/revendedor de insumos, mas não deve impedir o cadastro.
    CampoTipoObrigatórioEditávelValidações
    Revendedora de Produtos AgropecuáriosSeleção simples de entidade: revendedora de produtos agropecuáriosSimNãoValores = revendedoras de produtos agropecuários de Minas Gerais cadastradas no sistema
    CampoTipoObrigatórioEditávelValidações
    Número da Nota FiscalTextoSimNãoTamanho = 255 caracteres
    UF da Nota FiscalSeleção pesquisávelSimNãoValores = estados brasileiros
    Data da Nota FiscalDataSimNãoDeve ser menor ou igual a data atual
    CampoTipoObrigatórioEditávelValidações
    Número de PartidaTextoSimNãoTamanho = 20 caracteres
    LaboratórioSeleção simples de entidade: laboratórioSimNãoSe o “Fornecedor” selecionado for um laboratório, trazê-lo como somente leitura. Se for uma revendedora é possível selecionar Valores = laboratórios cadastrados no sistema
    DoençaSeleção simples de entidade: doençaSimNãoValores = doenças cadastradas no sistema Ao selecionar uma doença que o laboratório não produz insumos, o sistema deve alertar com uma mensagem fixada abaixo do campo, que o laboratório não está cadastrado como produtor de insumos para a doença em questão, mas não deve impedir o cadastro.
    Tipo de InsumoSeleção simplesSimNãoDisponível quando a “Doença” for selecionada Valores = tipos de insumos aplicável à doença selecionada
    Data de ValidadeDataSimNãoFormato = MM/AAAA. Deve ser maior ou igual a data atual.
    CampoTipoObrigatórioEditávelValidações
    Número de Doses por FrascoInteiroSimNão-
    Número de Frascos AdquiridosInteiroSimNão-
    Total de DosesTextoSimNãoSomente leitura. Corresponde ao “Número de Doses por Frasco” multiplicado pelo “Número de Frascos Adquiridos”
    CampoTipoObrigatórioEditávelValidações
    Total de Doses AdquiridasTextoSimNãoSomente leitura. Corresponde à soma de todos os valores colocados em “Total de Doses”

    Total da Nota (Um ou mais) DIsponível para cada Tipo de Insumo informado nos lotes

    Seção intitulada “Total da Nota (Um ou mais) DIsponível para cada Tipo de Insumo informado nos lotes”
    CampoTipoObrigatórioEditávelValidações
    DoençaTextoSimNãoSomente leitura. Tipos de insumos selecionados no cadastro
    Tipo de InsumoTextoSimNãoSomente leitura. Tipos de insumos selecionados no cadastro
    Total de Doses AdquiridasTextoSimNãoSomente leitura. Corresponde a soma de todas as doses adquiridas em lotes do insumo em questão

    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:

    CampoObrigatórioEditávelDescrição
    SituaçãoSimSimValores = “Gravada”, “Cancelada”

    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 todos os campos editáveis (EDT = Sim)
    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 destinatário (revendedora de produtos agropecuários) Muda a situação do cadastro para “Cancelada”, 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 Insumo > 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.

    As colunas Obrigatório e Editável correspondem a OBG e EDT da fonte. Editável = Não restringe a alteração posterior ao cadastro; não impede a informação inicial dos campos. As indicações explícitas de somente leitura e as condições de exibição foram preservadas.

    As ações comuns AC001 a AC006 e a regra de permissões RNC007 são aplicadas nos pontos citados pela fonte. Não foram criados exemplos ou valores padrão ausentes do arquivo recebido.

    • A fonte não informa código US. Nenhum identificador foi criado para esta conversão.
    • O campo Doença no Total da Nota descreve tipos de insumos. Confirmar a descrição e se a totalização é por doença e tipo de insumo ou apenas por tipo.
    • A validade usa MM/AAAA e exige comparação com a data atual, sem definir qual dia representa o mês informado. Confirmar a regra de comparação.
    • Todos os campos da venda têm Editável = Não, exceto Situação na visualização, que também é descrita como somente leitura. Confirmar se a situação é controlada exclusivamente pela ação de cancelamento.
    • A fonte não define limites mínimos para doses por frasco e frascos adquiridos, nem o estorno detalhado do saldo após cancelamento.