# PROC002 - Tela de inserção de rotas

#### ***Protótipo de Tela:***

***1.*** Alterada *accordion* para permitir inserção de trajetos.

[![image-1722951839774.png](https://docs.softensistemas.com.br/uploads/images/gallery/2024-08/scaled-1680-/image-1722951839774.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2024-08/image-1722951839774.png)

***2.** Dialog* de Entregas

[![image-1722955091631.png](https://docs.softensistemas.com.br/uploads/images/gallery/2024-08/scaled-1680-/image-1722955091631.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2024-08/image-1722955091631.png)

#### ***Descrição dos campos:***

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o" style="width: 800px;"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 77px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 68px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 103px; border-style: solid; border-color: black;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 120px; border-style: solid; border-color: black;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 267px; border-style: solid; border-color: black;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Cidade Origem</span></td><td class="align-center" style="width: 77px; border-style: solid; border-color: black;"><span style="color: #000000;">Texto</span></td><td class="align-center" style="width: 68px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 103px; border-style: solid; border-color: black;"><span style="color: #000000;">Sim</span></td><td class="align-center" style="width: 120px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 267px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td></tr><tr><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Cidade Fim</span></td><td class="align-center" style="width: 77px; border-style: solid; border-color: black;"><span style="color: #000000;">Texto</span></td><td class="align-center" style="width: 68px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 103px; border-style: solid; border-color: black;"><span style="color: #000000;">Sim</span></td><td class="align-center" style="width: 120px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 267px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td></tr><tr style="height: 29px;"><td style="width: 165px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Valor do Seguro</span></td><td class="align-center" style="width: 77px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Texto</span></td><td class="align-center" style="width: 68px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 103px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Não</span></td><td class="align-center" style="width: 120px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 267px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td></tr><tr style="height: 29px;"><td style="width: 165px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Valor do Pedágio</span></td><td class="align-center" style="width: 77px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Texto</span></td><td class="align-center" style="width: 68px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 103px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Não</span></td><td class="align-center" style="width: 120px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 267px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td></tr><tr><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Valor do Serviço</span></td><td class="align-center" style="width: 77px; border-style: solid; border-color: black;"><span style="color: #000000;">Texto</span></td><td class="align-center" style="width: 68px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 103px; border-style: solid; border-color: black;"><span style="color: #000000;">Sim</span></td><td class="align-center" style="width: 120px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 267px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td></tr><tr><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Componentes</span></td><td class="align-center" style="width: 77px; border-style: solid; border-color: black;"><span style="color: #000000;">Button</span></td><td class="align-center" style="width: 68px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 103px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 120px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 267px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span></td></tr><tr><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Chave da Nota</span></td><td class="align-center" style="width: 77px; border-style: solid; border-color: black;"><span style="color: #000000;"> Texto</span></td><td class="align-center" style="width: 68px; border-style: solid; border-color: black;"><span style="color: #000000;">- </span></td><td class="align-center" style="width: 103px; border-style: solid; border-color: black;"><span style="color: #000000;">Sim </span></td><td class="align-center" style="width: 120px; border-style: solid; border-color: black;"><span style="color: #000000;">- </span></td><td class="align-center" style="width: 267px; border-style: solid; border-color: black;"><span style="color: #000000;">- </span></td></tr><tr><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Rotas</span></td><td class="align-center" style="width: 77px; border-style: solid; border-color: black;"><span style="color: #000000;"> Listagem</span></td><td class="align-center" style="width: 68px; border-style: solid; border-color: black;"><span style="color: #000000;"> -</span></td><td class="align-center" style="width: 103px; border-style: solid; border-color: black;"><span style="color: #000000;"> -</span></td><td class="align-center" style="width: 120px; border-style: solid; border-color: black;"><span style="color: #000000;">- </span></td><td class="align-center" style="width: 267px; border-style: solid; border-color: black;"><span style="color: #000000;">- </span></td></tr></tbody></table>

#### ***Regras de interface:***

***1.*** Os campos referentes a entrega só devem ser Exibidos no tipo de Documento "NFe (CTe Simplificado)"  
***2. Cidade inicio e Cidade Fim:*** Devem indicar os transportes realizados naquela rota tanto de entregas ou coletas, a depender do tomador.  *3. Chave NF-e:*** Vai ser inserido as chaves referentes ao transporte naquele trecho.  
***4. Valores que compõem o Frete:*** Componentes de cada trecho. Especificado no **PROC002.1 - Componentes. 5. Pedágio e Seguro são componentes adicionais também, mas devido a frequência utilizada, tem campos separados.  
6.** ***ListBox:*** Vai armazenar a rota inserida. Deve conter as colunas:

**Inicio:** Nome da cidade do inicio transporte.  
**Final:** Nome da cidade fim do transporte.  
**Valor Serviço:** Valor inserido no campo "Vl Líq.. Serviço".  
**Valor Tributo:** Valor inserido no campo "Valor dos Tributos". **Valor Seguro:** Valor inserido no campo "Valor do seguro". **Pedágio:** Valor inserido no campo "Total Pedágio". **Outros Valores:** Soma dos outros componentes inseridos.  
**Menu lateral:** Opção de editar e excluir.

#### ***Regras de Negocio:***

***1. Editar:*** Ao clicar pra edição, a dialog da rota deve ser aberta novamente.

**2.** Na base de dados vai ser criada uma tabela intermediaria que vai relacionar o CTe e as entregas. O ID de cada movimento deve ser vinculado as tabelas de NFe e Componentes.

#### ***Questões Técnicas:***

***1.*** Deve ser criada a tabela para armazenar o tipo do documento "CTe Simplificado"

```SQL
CREATE TABLE ctesimplificadorota (
id BIGINT,
cteId BIGINT,
inicio BIGINT,
final BIGINT,
empresaId BIGINT
);
```

***2.***Deve ser criada a tabela de outros valores (adicionais):

```SQL
CREATE TABLE ctesimplificadovalores (
id BIGINT,
descricao VARCHAR(15),
valor DECIMAL(15,2),
rota BIGINT,
empresaId BIGINT
);
```

### **PROC002.1 - Componentes**

#### ***Protótipo de Tela:***

***1. Dialog dos componentes adicionais.***

[![image-1722955138668.png](https://docs.softensistemas.com.br/uploads/images/gallery/2024-08/scaled-1680-/image-1722955138668.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2024-08/image-1722955138668.png)

#### ***Descrição dos campos:***

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o-0" style="width: 800px; height: 214px;"><tbody><tr style="height: 35px;" valign="top"><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 61px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 84px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 188px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 112px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 190px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr style="height: 29px;"><td style="width: 165px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 61px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 84px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 188px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 112px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 190px; border-style: solid; border-color: black; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 165px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 61px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 84px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 188px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 112px; border-style: solid; border-color: black; height: 29px;"> </td><td class="align-center" style="width: 190px; border-style: solid; border-color: black; height: 29px;"> </td></tr><tr style="height: 46px;"><td style="width: 165px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">Descrição Outros Valores</span></td><td class="align-center" style="width: 61px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">Texto</span></td><td class="align-center" style="width: 84px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 188px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">Não</span></td><td class="align-center" style="width: 112px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 190px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">-</span></td></tr><tr style="height: 29px;"><td style="width: 165px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Outros Valores</span></td><td class="align-center" style="width: 61px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Texto</span></td><td class="align-center" style="width: 84px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 188px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">Não</span></td><td class="align-center" style="width: 112px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 190px; border-style: solid; border-color: black; height: 29px;"><span style="color: #000000;">-</span></td></tr><tr style="height: 46px;"><td style="width: 165px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">Listagem Outros Valores</span></td><td class="align-center" style="width: 61px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">ListBox</span></td><td class="align-center" style="width: 84px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 188px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 112px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">-</span></td><td class="align-center" style="width: 190px; border-style: solid; border-color: black; height: 46px;"><span style="color: #000000;">-</span></td></tr></tbody></table>

#### ***Regras de interface:***

**1.** A Dialog dos componentes deve ser semelhante ao padrão do CTe.

#### ***Questões Técnicas:***

**1.** Os dados devem ser salvos na tabela ctesimplificadovalores