Histórico da Página
...
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.e melhor rota
Dentre as funcionalidades que englobam a solução, destacam-se:
- Configurador Planejamento de Rotas (TMSAC20);
- Painel Planejamento de Rotas (TMSAC19);
- Controle de Integração Planejamento de Rotas (TMSAC23);
- Busca de coordenadas geográficas automática nos cadastros: Clientes, Fornecedores, Sequência de Endereço e Solicitantes (Geocode);
- Wizard para obtenção de coordenadas geográficas das filiais (Geocode);
- Roteirização de documentos e veículos através da rotina Programação de Carregamento (Routing);
- Cálculo de valor praças de pedágio (Routing);
- Visualização de mapa e plotagem das rotas (TMSAC24)
1.
...
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.
...
Bloqueado: Informar 2 - Não
...
2 Busca de coordenadas geográficas automática
As rotinas Cadastro de Cliente, Sequê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íncrona, a 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 e 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 TPR | Descrição TPR | SIGATMS |
identifier | Identificador do pedido | CTE|DT6|xFilial(DT6)+DT6_FILDOC+DT6_ |
...
1.2 Busca de coordenadas geográficas automática
...
1.3 Programação de Carregamento
...
Documentos a serem Roteirizados (TPRRoutingOrders) | ||
---|---|---|
Campo TPR | Descrição TPR | SIGATMS |
identifier | Identificador do pedido | CTE|DT6|xFilial(DT6)+DT6_FILDOC+DT6_DOC+DT6_SERIE |
weight | Peso total | DT6_PESO / DTC_PESO |
volume | Volume total em metros cúbicos | DT6_PESOM3 / DTC_PESOM3 |
pickupTimeWindowStart | Início de carregamento | Parâmetro 02 + Pergunte 03 (Pergunte TMSA146TPR) | pickupTimeWindowEnd | Final de carregamento | deliveryTimeWindowStart | Início da entrega |
deliveryTimeWindowEnd | Final 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 | 0 |
serviceUnloadDuration | Se não informado, ou menor que 30 minutos serão considerados 30 minutos de serviço | 0 |
origin | Localidade de origem do pedido | Latitude e Longitude do Local de Origem (Transportadora, Cliente Remetente) |
destination | Localidade de destino do pedido | Latitude e Longitude do Cliente Destinatário |
UNRESTRICTED (00:00-23:59 de Dom-Sab)
DA3_CAPACM
DA3_VELOC
1
Quantidade máxima de paradas de carregamento por viagem.
Parâmetro 05 (Pergunte TMSA146TPR)Obs:Se preenchido deverá ser maior que zero
Parâmetro 06 (Pergunte TMSA146TPR)
Obs:Se preenchido deverá ser maior que zero
False
Obs:Se preenchido deverá ser maior que zero
Obs:Se preenchido deverá ser maior que zero
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.
Verifica se é para contabilizar a distância de retorno a origem na roteirização.
Parâmetro 04 (Pergunte TMSA146TPR)
O montante mínimo do tempo de serviço.
Parâmetro 09 (Pergunte TMSA146TPR)
O montante máximo do tempo de serviço.
Parâmetro 10 (Pergunte TMSA146TPR)
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
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 :
...
+DTC_SERVIC+DTC_CODPRO+DTC_NUMNFC+DTC_SERNFC | ||
weight | Peso total | DT6_PESO / DTC_PESO |
volume | Volume total em metros cúbicos | DT6_PESOM3 / DTC_PESOM3 |
pickupTimeWindowStart | Início de carregamento | Parâmetro 02 + Pergunte 03 (Pergunte TMSA146TPR) |
pickupTimeWindowEnd | Final de carregamento | |
deliveryTimeWindowStart | Início da entrega | |
deliveryTimeWindowEnd | Final 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 | 0 |
serviceUnloadDuration | Se não informado, ou menor que 30 minutos serão considerados 30 minutos de serviço | 0 |
origin | Localidade de origem do pedido | Latitude e Longitude do Local de Origem (Transportadora, Cliente Remetente) |
destination | Localidade de destino do pedido | Latitude e Longitude do Cliente Destinatário |
Dados da Localidade da Origem / Destino do Documento (TPRRoutingLocality) | ||
---|---|---|
Campo TPR | Descrição TPR | SIGATMS |
identifier | Identificador da localidade. | Codigo Cliente Remetente ou Cliente Destinatario ou Sequencia Endereço ou Codigo da Filial, |
country | País do endereço. | BRA |
latitude | Latitude. | DAR_LATITUDE |
longitude | Longitude. | DAR_LONGITUDE |
operation | Funcionamento simplificado. | UNRESTRICTED (00:00-23:59 de Dom-Sab) |
Dados do Veiculo (TPRRoutingVehicles) | ||
---|---|---|
Campo | Descrição | SIGATMS |
identifier | Identificador do tipo do veículo; | DA3_COD |
weightCapacity | Capacidade do veículo em quilos. | DA3_CAPACM |
volumeCapacity | Capacidade do veículo em metros cúbicos. | DA3_VOLMAX |
speed | Define a velocidade que dos veículos em uma roteirização. | DA3_VELOC |
quantity | Quantidade de veículos, semelhantes a este, disponíveis. | 1 |
tollAxes | Quantidade de eixos durante a viagem. | 0 |
tollReturnAxes | Quantidade de eixos durante o retorno para a origem. | 0 |
Dados de Restrições (TPRRoutingRestrictions) | ||
---|---|---|
Campo TPR | Descrição | SIGATMS |
maxLoadingStops | Quantidade máxima de paradas de carregamento por viagem. | Parâmetro 05 (Pergunte TMSA146TPR) |
maxUnloadingStops | Quantidade máxima de paradas de descarregamento por viagem. | Parâmetro 06 (Pergunte TMSA146TPR) |
allowInterleaving | Permite carregamento após descarregamento na mesma viagem. Default: false | False |
maxDistanceBetweenLoadStops | Máxima distância, em km, entre paradas de carregamento. | Parâmetro 07 (Pergunte TMSA146TPR) Obs:Se preenchido deverá ser maior que zero |
maxDistanceBetweenUnloadStops | Máxima distância, em km, entre paradas de descarregamento. | Parâmetro 08 (Pergunte TMSA146TPR). Obs:Se preenchido deverá ser maior que zero |
TPRRoutingOptions, tipo de dado utilizado nas integrações do TPR | ||
---|---|---|
Campo TPR | Descrição TPR | SIGATMS |
capacityCriteria | Tipos de roteirização: WEIGHT, VOLUME ou BOTH | Parâ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) |
driverRestTime | Descanso 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 |
tollCalculation | Calculo do pedágio | True |
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.
...
1.6 Roteirização de documentos
...
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).
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. 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
'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.8 Visualização de mapa e plotagem de rotas
...