Pular para conteúdo

Editar Romaneio - Tabela de Documentos Fiscais

Visao Geral

A pagina Editar Romaneio (/expedicao/romaneio/edit/{id}) permite gerenciar um romaneio existente, incluindo a associacao de documentos fiscais (Notas Fiscais) que serao entregues no mesmo roteiro de expedicao.

Localizacao

  • URL: http://localhost:8000/expedicao/romaneio/edit/{id}
  • View: src/Nelmetais.SGE.WebApp/Areas/Expedicao/Views/Romaneio/Edit.cshtml
  • Partial: src/Nelmetais.SGE.WebApp/Areas/Expedicao/Views/Romaneio/_Shared/_Create.cshtml

Estrutura do Romaneio

Um Romaneio e um documento de controle de expedicao que agrupa multiplas Notas Fiscais para entrega. Ele registra informacoes sobre:

  • Empresa: Empresa emissora do romaneio
  • Data Emissao: Data de criacao do romaneio
  • Data Saida/Entrada: Controle de horarios da expedicao
  • Veiculo: Veiculo utilizado na entrega
  • Motorista/Ajudante: Funcionarios responsaveis pela entrega
  • Km Inicial/Final/Rodado: Controle de quilometragem
  • Situacao: Status do romaneio (Aberto, Fechado, etc.)
  • Documentos Fiscais: Lista de NF-e associadas ao romaneio

Tabela de Documentos Fiscais

Estrutura das Colunas

Coluna Descricao
Numero Numero da Nota Fiscal Eletronica (NF-e)
Data Emissao Data de emissao da NF-e
Pedidos Pedidos de venda vinculados a NF-e
Data Previsao Entrega Data prevista para entrega ao cliente
Destinatario Cliente/destinatario da mercadoria
Endereco Endereco de entrega
Acoes Botoes para incluir/excluir documentos

Coluna "Numero" - Detalhamento

A coluna Numero exibe o numero do Documento Fiscal (NF-e) associado ao romaneio.

<!-- src/Nelmetais.SGE.WebApp/Areas/Expedicao/Views/Romaneio/_Shared/_Create.cshtml:105-143 -->
<th style="min-width: 130px;">Numero</th>
...
<select asp-for="@Model.RomaneioDocumentosFiscais[i].DocumentoFiscalId"
        class="form-control" data-select="documento-fiscal">
    <option value="@Model.RomaneioDocumentosFiscais[i].DocumentoFiscalId">
        @Model.RomaneioDocumentosFiscais[i].DocumentoFiscal?.Numero
    </option>
</select>

Caracteristicas: - Campo de selecao (select) com autocomplete - Permite selecionar uma NF-e disponivel para associar ao romaneio - Exibe o numero da nota fiscal como identificador - Ao selecionar, preenche automaticamente as demais colunas com dados da NF-e

Modelo de Dados

Entidade Romaneio

// src/Nelmetais.SGE.Business/Models/Expedicao/Romaneio.cs
public class Romaneio : BaseEntity
{
    public int EmpresaId { get; set; }
    public Empresa? Empresa { get; set; }
    public DateTime DataEmissao { get; set; }
    public DateTime? DataSaida { get; set; }
    public DateTime? DataEntrada { get; set; }
    public int? MotoristaId { get; set; }
    public Funcionario? Motorista { get; set; }
    public int? AjudanteId { get; set; }
    public Funcionario? Ajudante { get; set; }
    public int? VeiculoId { get; set; }
    public Veiculo? Veiculo { get; set; }
    public decimal? KmInicial { get; set; }
    public decimal? KmFinal { get; set; }
    public string? Observacao { get; set; }
    public SitucaoRomaneioEnum Situacao { get; set; }
    public bool Ativo { get; set; }

    public ICollection<RomaneioDocumentoFiscal> RomaneioDocumentosFiscais { get; set; }

    [NotMapped]
    public decimal? KmRodado => KmFinal - KmInicial;
}

Entidade RomaneioDocumentoFiscal

// src/Nelmetais.SGE.Business/Models/Expedicao/RomaneioDocumentoFiscal.cs
public class RomaneioDocumentoFiscal : BaseEntity
{
    public int RomaneioId { get; set; }
    public Romaneio? Romaneio { get; set; }
    public int DocumentoFiscalId { get; set; }
    public DocumentoFiscal? DocumentoFiscal { get; set; }
    public DateTime? DataEntrega { get; set; }
    public string? Observacao { get; set; }
    public SitucaoRomaneioEnum? Situacao { get; set; }
    public bool Ativo { get; set; }
    public ICollection<Arquivo> Arquivos { get; set; }
}

Relacionamento

Romaneio (1) ────────< (N) RomaneioDocumentoFiscal (N) >──────── (1) DocumentoFiscal
                              |
                              └── Numero (NF-e)
                              └── DataEmissao
                              └── Destinatario
                              └── Endereco
                              └── Pedidos vinculados

Funcionalidades

Adicionar Documento Fiscal

  1. Clique no botao "+ Incluir" no cabecalho da tabela
  2. Uma nova linha sera adicionada
  3. No campo Numero, selecione a NF-e desejada
  4. Os demais campos serao preenchidos automaticamente

Remover Documento Fiscal

  1. Clique no botao "Excluir" na linha do documento
  2. O documento sera marcado para exclusao
  3. A exclusao so e efetivada ao clicar em "Gravar"

Salvar Alteracoes

  1. Apos incluir/remover documentos, clique em "Gravar"
  2. O sistema salvara todas as alteracoes no romaneio

Arquivos Relacionados

Frontend (Views)

  • src/Nelmetais.SGE.WebApp/Areas/Expedicao/Views/Romaneio/Edit.cshtml
  • src/Nelmetais.SGE.WebApp/Areas/Expedicao/Views/Romaneio/_Shared/_Create.cshtml
  • src/Nelmetais.SGE.WebApp/Areas/Expedicao/Views/Romaneio/_Shared/_ValidationScriptsRomaneioPartial.cshtml

Backend (Models/ViewModels)

  • src/Nelmetais.SGE.Business/Models/Expedicao/Romaneio.cs
  • src/Nelmetais.SGE.Business/Models/Expedicao/RomaneioDocumentoFiscal.cs
  • src/Nelmetais.SGE.WebApp/Areas/Expedicao/ViewModels/RomaneioViewModel.cs
  • src/Nelmetais.SGE.WebApp/Areas/Expedicao/ViewModels/RomaneioDocumentoFiscalViewModel.cs

Backend (Controller/Service/Repository)

  • src/Nelmetais.SGE.WebApp/Areas/Expedicao/Controllers/RomaneioController.cs
  • src/Nelmetais.SGE.Business/Services/Expedicao/RomaneioService.cs
  • src/Nelmetais.SGE.Data/Repositories/Expedicao/RomaneioRepository.cs

Casos de Uso

Organizacao de Entregas

Agrupar varias notas fiscais em um unico romaneio para otimizar o roteiro de entregas.

Controle de Expedicao

Registrar informacoes sobre veiculo, motorista e quilometragem para controle logistico.

Rastreabilidade

Associar documentos fiscais a um romaneio permite rastrear quais notas foram enviadas em cada viagem de entrega.

Exemplo Pratico

  1. Empresa emite 5 NF-e para clientes na mesma regiao
  2. Cria-se um Romaneio para agrupar essas entregas
  3. No campo Numero, seleciona-se cada NF-e
  4. Define-se veiculo, motorista e data de saida
  5. O romaneio serve como guia para o motorista realizar as entregas

Observacoes

  1. O campo Numero e um select com autocomplete que busca NF-e disponiveis
  2. Uma mesma NF-e nao pode ser associada a multiplos romaneios ativos
  3. O Km Rodado e calculado automaticamente (Km Final - Km Inicial)
  4. A Situacao do romaneio pode ser: Aberto, Em Transito, Fechado, Cancelado

Documentacao gerada em: 25/11/2025 Versao do Sistema: SGE 3.0