# Lojas de Roteirização

## Visão Geral

O módulo de "**Lojas"** de Roteirização é uma parte integrada do sistema de gerenciamento de frota "CONCEPT RASTREAMENTO", responsável pelo cadastro e administração de lojas que participam do processo de roteirização de entregas e coletas. Este módulo permite que os usuários gerenciem informações das lojas, incluindo códigos, senhas e nomes, facilitando a organização logística e o planejamento de rotas.

Para acessar clique no menu **ROTEIRIZAÇÃO** opção **LOJAS.**

## Elementos da Interface e Funcionalidades

### Tela Principal de Listagem

A tela principal apresenta uma listagem de lojas cadastradas no sistema, com os seguintes elementos:

- **Cabeçalho**: "Lojas de Roteirização"
- **Seção de Filtros**: Área expansível/retrátil para aplicação de filtros
    
    
    - Campo de texto "Nome": Permite filtrar lojas pelo nome
    - Botões de ação: 
        - Botão de Pesquisa (ícone de lupa): Executa a busca com o filtro aplicado
        - Botão de Limpar Filtros (ícone de documento): Limpa os critérios de filtro
        - Botão de Novo Registro (ícone de +): Abre a tela de cadastro de nova loja
        - Botão de Exportar para CSV (ícone de disco): Exporta a listagem para um arquivo CSV
        - Botão de Importar (ícone de upload): Abre a tela de importação em lote
- **Tabela de Lojas**:
    
    
    - Colunas: 
        - CÓDIGO: Código identificador da loja
        - NOME: Nome da loja
    - Registros paginados com indicador de quantidade na parte inferior
    - Controles de paginação (página atual, próxima, anterior)

### Tela de Cadastro/Edição de Loja

Esta tela permite criar novos registros de loja ou editar registros existentes:

- **Cabeçalho**: "Loja de Roteirização"
- **Formulário**: 
    - Campo "Código": Texto/número identificador único da loja
    - Campo "Nome": Nome completo da loja
    - Campo "Senha": Senha de acesso da loja (opcional)
- **Botões de Ação**: 
    - Gravar: Salva as alterações (cor verde)
    - Excluir: Remove o registro (aparece apenas na edição, cor vermelha)
    - Voltar: Retorna à tela de listagem sem salvar alterações

### Tela de Importação de Lojas

Popup para importação em lote de lojas via arquivo CSV:

- **Cabeçalho**: "Arquivo de lojas para importação"
- **Área de Upload**: Componente para seleção e upload de arquivo 
    - Botão "Anexar..."
- **Instruções**: Informações sobre o formato esperado do arquivo CSV 
    - Texto informativo indicando que o separador deve ser ponto-e-vírgula
    - Sequência das colunas: CÓDIGO;NOME
    - Aviso de que a primeira linha é considerada cabeçalho
- **Área de Resposta**: Espaço para exibição do resultado da importação

## Validações e Regras de Negócio

1. **Unicidade de Código**:
    
    
    - Não é permitido cadastrar duas lojas com o mesmo código
    - Mensagem de erro: "Já existe uma loja com o código informado. Favor informar outro código"
2. **Unicidade de Senha**:
    
    
    - Não é permitido cadastrar duas lojas com a mesma senha
    - Mensagem de erro: "Já existe uma loja com a senha informada. Favor informar outra senha"
3. **Obrigatoriedade de Nome**:
    
    
    - O campo nome é obrigatório para cadastro/edição
    - Validação no cliente antes de enviar ao servidor
4. **Restrições para Exclusão**:
    
    
    - Não é possível excluir lojas que possuem rotas associadas
    - Mensagem: "Para excluir a loja atribua as rotas para outra loja"
    - Não é possível excluir lojas que possuem pedidos associados
    - Mensagem: "Para excluir a loja atribua os pedidos para outra loja"
5. **Formato de Importação CSV**:
    
    
    - O arquivo CSV deve usar ponto-e-vírgula como separador
    - A primeira linha é considerada cabeçalho
    - Ordem das colunas: CÓDIGO;NOME
    - Se a loja já existir (mesmo código), seus dados serão atualizados

## Fluxo de Trabalho (Workflow)

O sistema permite as seguintes operações sobre lojas de roteirização:

1. **Consulta/Pesquisa**:
    
    
    - Visualização das lojas existentes
    - Filtragem por nome
    - Paginação para navegação entre resultados
2. **Cadastro**:
    
    
    - Criação de novas lojas com código, nome e senha opcional
    - Validação de unicidade de código e senha
3. **Edição**:
    
    
    - Alteração de dados de lojas existentes
    - Validação de unicidade ao atualizar código ou senha
4. **Exclusão**:
    
    
    - Remoção de lojas (com validação de vínculos existentes)
    - Verificação de dependências (rotas e pedidos)
5. **Exportação**:
    
    
    - Geração de arquivo CSV com os dados listados
6. **Importação**:
    
    
    - Carregamento em lote de lojas via arquivo CSV
    - Atualização automática de registros existentes
    - Criação de novos registros

## Instruções Passo a Passo

### Como Cadastrar uma Nova Loja

1. Na tela de listagem, clique no botão com ícone "+" (Novo)
2. No formulário que se abre, preencha: 
    - Código: Identificador único da loja
    - Nome: Nome completo da loja (obrigatório)
    - Senha: Senha de acesso (opcional)
3. Clique no botão "Gravar" para salvar o registro
4. Se houver algum erro de validação, o sistema exibirá uma mensagem explicativa
5. Após o cadastro bem-sucedido, você retornará à tela de listagem

### Como Editar uma Loja Existente

1. Na tela de listagem, clique sobre a linha da loja que deseja editar
2. No formulário de edição, modifique os campos necessários
3. Clique em "Gravar" para salvar as alterações
4. Se houver erros de validação, o sistema exibirá mensagens explicativas
5. Após a edição bem-sucedida, você retornará à tela de listagem

### Como Excluir uma Loja

1. Na tela de listagem, clique sobre a linha da loja que deseja excluir
2. No formulário de edição, clique no botão "Excluir"
3. Se a loja tiver rotas ou pedidos associados, o sistema impedirá a exclusão e exibirá uma mensagem explicativa
4. Após a exclusão bem-sucedida, você retornará à tela de listagem

### Como Filtrar Lojas

1. Na tela de listagem, verifique se a seção de filtros está expandida
2. Digite o nome ou parte do nome da loja no campo "Nome"
3. Clique no botão com ícone de lupa para aplicar o filtro
4. Para limpar o filtro, clique no botão com ícone de documento ou deixe o campo vazio e clique na lupa

### Como Exportar Lojas para CSV

1. Na tela de listagem, aplique os filtros desejados (opcional)
2. Clique no botão com ícone de disco (Exportar para CSV)
3. O sistema gerará e fará o download de um arquivo chamado "Loja.csv"
4. O arquivo incluirá todas as lojas exibidas na tela atual, com as colunas código e nome

### Como Importar Lojas via CSV

1. Na tela de listagem, clique no botão "Importar"
2. Na janela popup, clique em "Anexar..."
3. Selecione um arquivo CSV de seu computador 
    - O arquivo deve usar ponto-e-vírgula como separador
    - A primeira linha deve conter os cabeçalhos: CÓDIGO;NOME
    - As linhas seguintes devem conter os dados das lojas
4. Após selecionar o arquivo, o upload começará automaticamente
5. Aguarde o processamento e observe a mensagem de resultado
6. O sistema informará quantas lojas foram inseridas e quantas foram atualizadas
7. Clique fora da janela ou no "X" para fechá-la

## Perguntas Frequentes (FAQ)

### 1. Posso cadastrar duas lojas com o mesmo código?

Não. O código é um identificador único para cada loja. Se tentar cadastrar ou editar uma loja com um código já existente, o sistema exibirá uma mensagem de erro.

### 2. Posso cadastrar duas lojas com a mesma senha?

Não. As senhas das lojas devem ser únicas. Se tentar cadastrar ou editar uma loja com uma senha já utilizada, o sistema exibirá uma mensagem de erro.

### 3. O campo senha é obrigatório?

Não. Ao cadastrar ou editar uma loja, o campo senha é opcional.

### 4. Como excluir uma loja que possui rotas associadas?

Antes de excluir a loja, é necessário transferir todas as rotas associadas para outra loja. O sistema não permite a exclusão direta de lojas com rotas vinculadas.

### 5. Como excluir uma loja que possui pedidos associados?

Antes de excluir a loja, é necessário transferir todos os pedidos associados para outra loja. O sistema não permite a exclusão direta de lojas com pedidos vinculados.

### 6. O que acontece quando importo um arquivo CSV com lojas já existentes?

Se o código da loja já existe no sistema, os dados serão atualizados com as informações do arquivo CSV. Se o código não existe, uma nova loja será criada.

### 7. Como sei se a importação de lojas foi bem-sucedida?

Após o upload do arquivo CSV, o sistema exibirá uma mensagem indicando o resultado da importação, incluindo quantas lojas foram inseridas e quantas foram atualizadas.

### 8. Posso editar o código de uma loja existente?

Sim, mas se o novo código já estiver sendo usado por outra loja, o sistema exibirá uma mensagem de erro e impedirá a alteração.

### 9. Existem restrições para o formato do código da loja?

O campo código aceita caracteres alfanuméricos sem validação de formato específico. Recomenda-se usar um padrão consistente para facilitar a identificação.

### 10. A ordem das colunas no arquivo CSV de importação pode ser alterada?

Não. O arquivo CSV deve seguir estritamente a ordem: CÓDIGO;NOME. A alteração desta ordem resultará em erros na importação.