Bandeira Brasil Localização.png

CONTEÚDO

01. VISÃO GERAL

A funcionalidade Totvs Planejamento de Rotas (TPR) é uma funcionalidade implementada para otimizar o planejamento e execução das operações de transporte relacionadas às entregas e coletas.

A rotina calculará através de algoritmos, a melhor disposição de entregas e coletas, levando em consideração os veículos disponíveis, localidade de entrega/coleta, informações de tráfego, melhor rota e também irá disponibilizar os valores prévios referente às praças de pedágio.

Dentre as funcionalidades que englobam a solução, destacam-se:

1.1 Configurador Planejamento de Rotas

A funcionalidade Configurador Planejamento de Rotas é a rotina principal para realizar o cadastro e habilitar a integração Totvs Planejamento de Rotas (TPR). 

Nessa funcionalidade deverão ser informadas as chaves de acesso disponibilizadas e também os endereços virtuais (IP) referente a integração. 

A rotina irá armazenar as informações referentes ao Totvs Planejamento de Rotas na tabela DLV - Cadastro Roteirizador e através da rotina TMSAC20 será possível incluir/alterar/deletar as informações.

 

URL Callback: Informar o IP e Porta externa do servidor do Protheus + /REST/V1/WSTPRNEOLOG/.

URL Mapa HTML: Informar o IP e Porta externa do servidor do Protheus + /ws/index.html.

URL Token: URL disponibilizada pelo TPR. 

URL Geocode: URL disponibilizada pelo TPR.

URL Roteirização: URL disponibilizada pelo TPR. 

Roteirizador: Informar 2 - TPR Neolog

Tipo Retorno: Informar 1- Callback

Bloqueado: Informar 2 - Não


Após realizado a inclusão do registro, clique em Outras Ações/ Testar Conexão para obter dados do Token para acesso.


1.2 Busca de coordenadas geográficas automática 

As rotinas Cadastro de ClienteSequência de Endereço, Cadastro de Solicitantes e Wizard para envio das Filiais, foram atualizadas para que ao final da gravação as informações referentes ao endereço sejam enviadas automaticamente para a api de Geolocalização Síncronaa fim de obter as coordenadas geográficas do respectivo endereço.
As coordenadas geográficas recebidas (Latitude e Longitude) são gravadas na tabela DAR 
- Referência Geográficas, e é possível visualiza-las através da rotina Cadastro de Referências Geográficas - TMSAO15

Importante: Para que toda a solução funcione perfeitamente é necessário obter as coordenadas geográficas de todos os clientes, de acordo com os respectivos endereços.


1.3 Programação de Carregamento

Na rotina de Programação de Carregamento (TMSA146),  com a configuração da TPR realizada e ambiente com dados da Viagem Modelo 3, será disponibilizada a opção para integração com o Planejamento de Rotas (TPR).
Através da seleção dos documentos e seleção 'opcional' dos veículos (caso não seja selecionado nenhum veículo, o sistema enviará todos os veículos filtrados na Grid de Veículos, cujo status esteja 'Ativo' e 'Em Filial'), será possível enviar os dados para Roteirização.  
Ao selecionar a opção 'Enviar Planejamento Rotas',  será apresentada uma tela de parâmetros para que o usuário configure os campos necessários para integração.
As informações referente aos documentos enviados para TPR, serão registradas nas tabelas DMR - Roteirização TPR DMS - Itens Roteirização TPR.   Para cada roteirização iremos ter um identificador único que ficará registrado no campo Id. Roteiriza (DMR_IDROT) e com Status (DMR_STATUS / DMS_STATUS) 'Pendente'.

Importante: A Roteirização será somente para documentos com tipo de serviço de transporte Coleta e Entrega.



Dados do Layout para Integração TMS x TPR

Documentos a serem Roteirizados (TPRRoutingOrders)
Campo TPRDescrição TPRSIGATMS
identifierIdentificador do pedido

CTE|DT6|xFilial(DT6)+DT6_FILDOC+DT6_DOC+DT6_SERIE
NFC|DTC|xFilial(DTC)+DTC_FILORI+DTC_LOTNFC+DTC_CLIREM+DTC_LOJREM+DTC_CLIDES+DTC_LOJDES+DTC_SERVIC+DTC_CODPRO+DTC_NUMNFC+DTC_SERNFC
COL|DT5|xFilial(DT5)+DT5_FILDOC+DT5_DOC+DT5_SERIE

weightPeso total

Peso do Documento (DT6_PESO / DTC_PESO)

volumeVolume total  em metros cúbicos

Volume do Documento (DT6_QTDVOL / DTC_QTDVOL)

pickupTimeWindowStartInício de carregamento

Parâmetro 02  + Pergunte 03 (Pergunte TMSA146TPR)
Obs: Se Parametro 02 = Agora, a Data de Carregamento será a DataBase 
        Se Parametro 02 = D+1, a Data de Carregamento será a DataBase + 1 

pickupTimeWindowEndFinal de carregamento
deliveryTimeWindowStartInício da entrega


deliveryTimeWindowEndFinal da entrega

Data do Prazo de Entrega do Documento (DT6_PRZENT/DT5_DATPRV/DTC_PRVENT) 

serviceLoadDuration

Se não informado, ou menor que 30 minutos serão considerados 30 minutos de serviço

999
serviceUnloadDuration

Se não informado, ou menor que 30 minutos serão considerados 30 minutos de serviço

999
originLocalidade de origem do pedidoLatitude e Longitude do Local de Origem (Transportadora, Cliente Remetente)
destinationLocalidade de destino do pedidoLatitude e Longitude do Cliente Destinatário
Dados da Localidade da Origem / Destino do Documento (TPRRoutingLocality)
Campo TPRDescrição TPRSIGATMS
identifierIdentificador da localidade.Codigo Cliente Remetente ou Cliente Destinatario ou Sequencia Endereço ou Codigo da Filial,
countryPaís do endereço.BRA
latitudeLatitude.DAR_LATITUDE
longitudeLongitude.DAR_LONGITUDE
operationFuncionamento simplificado.
UNRESTRICTED  (00:00-23:59 de Dom-Sab)
Dados do Veiculo (TPRRoutingVehicles)
CampoDescriçãoSIGATMS
identifierIdentificador do tipo do veículo;

DA3_COD
weightCapacityCapacidade do veículo em quilos.

DA3_CAPACM

volumeCapacityCapacidade do veículo em metros cúbicos.DA3_VOLMAX
speedDefine a velocidade que dos veículos em uma roteirização.

DA3_VELOC

quantityQuantidade de veículos, semelhantes a este, disponíveis.

1

tollAxesQuantidade de eixos durante a viagem.0
tollReturnAxesQuantidade de eixos durante o retorno para a origem.0
Dados de Restrições (TPRRoutingRestrictions)
Campo TPRDescriçãoSIGATMS
maxLoadingStops

Quantidade máxima de paradas de carregamento por viagem.


Parâmetro 05 (Pergunte TMSA146TPR)

maxUnloadingStopsQuantidade máxima de paradas de descarregamento por viagem.

Parâmetro 06 (Pergunte TMSA146TPR)

allowInterleavingPermite carregamento após descarregamento na mesma viagem. Default: false

False

maxDistanceBetweenLoadStopsMáxima distância, em km, entre paradas de carregamento.Parâmetro 07 (Pergunte TMSA146TPR)
maxDistanceBetweenUnloadStopsMáxima distância, em km, entre paradas de descarregamento.Parâmetro 08 (Pergunte TMSA146TPR).
TPRRoutingOptions, tipo de dado utilizado nas integrações do TPR
Campo TPRDescrição TPRSIGATMS
capacityCriteriaTipos de roteirização: WEIGHT, VOLUME ou BOTHParâmetro 01 (Pergunte TMSA146TPR)
routingInstantType

Define o instante a partir do qual as viagens podem ser expedidas:

"Now" Inicio das viagens na primeira hora factível a partir do  momento da roteirização mais uma hora.

"D+1" Inicio das viagens amanhã no primeiro horário factível de carregamento.

Parâmetro 02 (Pergunte TMSA146TPR)
considerReturnDistance

Verifica se é para contabilizar a distância de retorno a origem na roteirização. 

Parâmetro 04 (Pergunte TMSA146TPR)

minServiceDuration

O montante mínimo do tempo de serviço. 

Parâmetro 09 (Pergunte TMSA146TPR)

maxServiceDuration

O montante máximo do tempo de serviço. 

Parâmetro 10 (Pergunte TMSA146TPR)

driverRestTimeDescanso do motorista

DEFAULT: A cada 5 horas dirigidas 1/2 hora de descanso;

A cada 24 horas dirigidas 11 horas de descanso e 1 hora de almoço

Tempo máximo de direção 8 horas 

tollCalculationCalculo do pedágio

True



1.4 Painel Planejamento de Rotas 

O Painel Planejamento de Rotas (TMSAC19) é a rotina que armazenará as informações referentes ao envio de informações para a integração Totvs Planejamento de Rotas (TPR).
Nessa funcionalidade será possível :

- Consultar e verificar o status das Roteirizações e também quais os Documentos e/ou Notas Fiscais enviados e que estão Pendente (aguardando serem processados), Processados e ou Rejeitados.
- Cancelar as Roteirizações Pendentes, ou seja, roteirização que não houve retorno da TPR (por exemplo:  URL inválida) . Ao efetuar o cancelamento, o status da Roteirização (DMR/DMS) e Controle de Integração (DLU) serão alterados para 'Cancelado'
- Visualizar o Mapa após a Roteirização dos Documentos terem sido processadas pela TPR.

1.5 Controle de Integração Planejamento de Rotas

A funcionalidade Controle de Integração Planejamento de Rotas (TMSAC23) é a rotina que armazenará as informações enviadas e recebidas. Toda a integração é enviado um arquivo no formato JSON, em que contém as informações referente à veículos, documentos, destinatários, e esse arquivo JSON é armazenado na tabela DLU - Controle Integração Roterizador. 

Através dessa funcionalidade será possível obter informações JSON enviado, JSON recebido, data e hora do envio e recebimento e eventuais erros ou falhas.


1.6 Roteirização de documentos

A Roteirização de Documentos e Veículos (TMSAC21)  é a principal funcionalidade da integração. Nessa rotina que serão recebidos e processadas as informações referente ao cálculo de rotas e carregamento de documentos. O Planejamento de Rotas ITPR) irá calcular a melhor disposição de cargas, ordem de carregamento, ordem de descarregamento, sequencia de entrega e melhor rota de acordo com os veículos disponíveis.

A funcionalidade irá receber automaticamente os documentos processados, como também os documentos rejeitados (por exemplo o peso do documento ultrapasse o limite máximo do veiculo), atualizando o status da Roteirização (DMR_STATUS) para 'Processado'.

Documentos Processados:
-  O sistema irá criar de maneira automática a Programação de Carregamento (TMSA146) com os veículos e documentos calculados, dessa maneira espera-se que tenha um melhor aproveitamento da frota de veículos e também reduza-se os custos operacionais de inclusão de programações de carregamento.  O numero da Programação de Carregamento gerado, será registrado no campo Chave Externa (DMS_CHVEXT)
- O status do Item da Roteirização será atualizado para 'Processado' (DMS_STATUS)

Após gerada a Programação de Carregamento, o usuário deverá alterar a Programação de Carregamento, informando o Código da Rota e o Código do Motorista (caso o mesmo não esteja vinculado ao veículo).

Ao efetivar a Programação de Carregamento, será gerada a viagem, através da rotina automática da Viagem Modelo 3. A sequencia para inclusão dos documentos na viagem, serão de acordo com a sequencia de descarregamento recebido da TPR.

Documentos Rejeitados:
-  O status do Item da Roteirização será atualizado para 'Rejeitado' (DMS_STATUS)
- No caso de uma NF Cliente (DTC), se a mesma estiver vinculada a um Lote, onde as demais NFs Cliente (DTC) foram processadas com sucesso na mesma roteirização, as NFCs rejeitadas serão vinculadas a um novo lote. O numero do novo Lote será gravado na Chave Externa da DMS (DMS_CHVEXT)

1.7 Cálculo de valor praças de pedágio

A funcionalidade Cálculo de valor de praças de pedágio (TMSAC21) é obtida em conjunto com a Roteirização de documentos e veículos, e será recebida e armazenada até o momento da Efetivação da Programação de Carregamento, no qual ao realizar a efetivação uma Viagem Mod. 3 (TMSAF60) será gerada e o valor do pedágio será incluído automaticamente no Complemento da Viagem (DTR - Complemento da Viagem) no campo DTR_VALPDG


1.8 Visualização de mapa e plotagem de rotas

A funcionalidade Visualização de Mapa e Plotagem de Rotas (TMSAC24) é a funcionalidade que permitirá ao usuário visualizar em apenas uma interface qual a rota e sequência de entrega planejada. Nessa funcionalidade também será possível visualizar os Documentos, Praças de pedágio, Quantidade de paradas, Peso transportado, Volume transportado, Início e Fim da operação, Distância total, Documentos rejeitados. 

A rotina trabalhará em conjunto com a rotina de Roteirização de documentos e veículos, e poderá ser acessada à partir das rotinas: Painel Planejamento de Rotas, Programação de Carregamento Viagem Mod. 3.


03. VISUALIZAR DETALHES E EXPORTAR DADOS




04. CONFIGURAÇÕES

Pré-requisitos instalação/implantação/utilização

05. TABELAS UTILIZADAS

06. ASSUNTOS RELACIONADOS



<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>