{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/alerta-card-notificacao/alerta-card-notificacao.component.ts","./src/app/alerta-card-notificacao/alerta-card-notificacao.component.html","./src/app/alerta-notificacao/alerta-notificacao.component.ts","./src/app/alerta-notificacao/alerta-notificacao.component.html","./src/app/alerta-roteiro-notificacao/alerta-roteiro-notificacao.component.html","./src/app/alerta-roteiro-notificacao/alerta-roteiro-notificacao.component.ts","./src/app/alertas-card/alertas-card.component.ts","./src/app/alertas-card/alertas-card.component.html","./src/app/alertas-card/alertas-card.service.ts","./src/app/alertas-card/componentes/pill-alertas/pill-alertas.component.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/basemap/basemap.component.ts","./src/app/basemap/basemap.component.html","./src/app/basemap/mock-basemap.ts","./src/app/box-acoes/box-acoes.component.html","./src/app/box-acoes/box-acoes.component.ts","./src/app/box-historico-acoes/box-historico-acoes.component.ts","./src/app/box-historico-acoes/box-historico-acoes.component.html","./src/app/box-historico-acoes/box-historico-acoes.service.ts","./src/app/box-info-alert/box-info-alert.component.ts","./src/app/box-info-alert/box-info-alert.component.html","./src/app/box-info-alert/box-info-alert.service.ts","./src/app/box-info-delivery-router/box-info-delivery-router.component.ts","./src/app/box-info-delivery-router/box-info-delivery-router.component.html","./src/app/box-info-journey/box-info-journey.component.ts","./src/app/box-info-journey/box-info-journey.component.html","./src/app/box-info-journey/box-info-journey.service.ts","./src/app/box-info-left/box-info-left.component.html","./src/app/box-info-left/box-info-left.component.ts","./src/app/box-info-path/box-info-path.component.html","./src/app/box-info-path/box-info-path.component.ts","./src/app/box-info-router-addess/box-info-router-addess.component.ts","./src/app/box-info-router-addess/box-info-router-addess.component.html","./src/app/box-info-router/box-info-router.component.ts","./src/app/box-info-router/box-info-router.component.html","./src/app/box-info-router/box-info-router.service.ts","./src/app/box-info-truck/box-info-truck.component.ts","./src/app/box-info-truck/box-info-truck.component.html","./src/app/box-info-truck/box-info-truck.service.ts","./src/app/box-list-truck/box-list-truck.component.ts","./src/app/box-list-truck/box-list-truck.component.html","./src/app/box-list-truck/box-list-truck.service.ts","./src/app/box-title/box-title.component.html","./src/app/box-title/box-title.component.ts","./src/app/card-sem-comunicacao-dashboard/card-sem-comunicacao-dashboard.component.ts","./src/app/card-sem-comunicacao-dashboard/card-sem-comunicacao-dashboard.component.html","./src/app/card-ultimas-entregas/card-ultimas-entregas.component.ts","./src/app/card-ultimas-entregas/card-ultimas-entregas.component.html","./src/app/config-confirmacao-entrega/config-confirmacao-entrega.component.html","./src/app/config-confirmacao-entrega/config-confirmacao-entrega.component.ts","./src/app/dados-entregas/card-info-entregas/card-info-entregas.component.ts","./src/app/dados-entregas/card-info-entregas/card-info-entregas.component.html","./src/app/dados-entregas/dados-entregas.component.ts","./src/app/dados-entregas/dados-entregas.component.html","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard.component.html","./src/app/dashboard/dashboard.service.ts","./src/app/detalhe-entrega-coleta/detalhe-entrega-coleta.component.ts","./src/app/detalhe-entrega-coleta/detalhe-entrega-coleta.component.html","./src/app/distancia-dashboard-card/distancia-dashboard-card.component.ts","./src/app/distancia-dashboard-card/distancia-dashboard-card.component.html","./src/app/distancia-roteiro-card/distancia-roteiro-card.component.ts","./src/app/distancia-roteiro-card/distancia-roteiro-card.component.html","./src/app/header-filter/header-filter.component.html","./src/app/header-filter/header-filter.component.ts","./src/app/header-filter/header-filter.service.ts","./src/app/main-header-truck/main-header-truck.component.ts","./src/app/main-header-truck/main-header-truck.component.html","./src/app/main-header-truck/main-header-truck.service.ts","./src/app/main-header/main-header.component.ts","./src/app/main-header/main-header.component.html","./src/app/map/map.component.ts","./src/app/map/map.component.html","./src/app/motivos-ocorrencias-dashboard-card/motivos-ocorrencias-dashboard-card.component.ts","./src/app/motivos-ocorrencias-dashboard-card/motivos-ocorrencias-dashboard-card.component.html","./src/app/ocorrencias-dashborard-card/ocorrencias-dashborard-card.component.ts","./src/app/ocorrencias-dashborard-card/ocorrencias-dashborard-card.component.html","./src/app/popup-alerta/popup-alerta.component.ts","./src/app/popup-alerta/popup-alerta.component.html","./src/app/popup-avisos-novidades/popup-avisos-novidades.component.html","./src/app/popup-avisos-novidades/popup-avisos-novidades.component.ts","./src/app/popup-config/popup-config.component.ts","./src/app/popup-config/popup-config.component.html","./src/app/popup-config/popup-config.service.ts","./src/app/popup-dados-recebedor/popup-dados-recebedor.component.ts","./src/app/popup-dados-recebedor/popup-dados-recebedor.component.html","./src/app/popup-detalhes-pedido/popup-detalhes-pedido.component.html","./src/app/popup-detalhes-pedido/popup-detalhes-pedido.component.ts","./src/app/popup-detalhes-pedido/popup-detalhes-pedido.service.ts","./src/app/popup-icones-row/popup-icones-row.component.html","./src/app/popup-icones-row/popup-icones-row.component.ts","./src/app/popup-icones/popup-icones.component.ts","./src/app/popup-jasper/popup-jasper.component.html","./src/app/popup-jasper/popup-jasper.component.ts","./src/app/popup-ocorrencia-pedagio/popup-ocorrencia-pedagio.component.ts","./src/app/popup-ocorrencia-pedagio/popup-ocorrencia-pedagio.component.html","./src/app/popup-precos-praca-pedagio/popup-precos-praca-pedagio.component.html","./src/app/popup-precos-praca-pedagio/popup-precos-praca-pedagio.component.ts","./src/app/popup-relatorios/popup-relatorios.component.ts","./src/app/popup-relatorios/popup-relatorios.component.html","./src/app/popup-tokens/popup-tokens.component.ts","./src/app/popup-tokens/popup-tokens.component.html","./src/app/popup-tokens/token.service.ts","./src/app/relatorios-dashboard-card/modal-formuilario-relatorios/formulario-relatorio-control.service.ts","./src/app/relatorios-dashboard-card/modal-formuilario-relatorios/formulario-relatorio/formulario-relatorio.component.ts","./src/app/relatorios-dashboard-card/modal-formuilario-relatorios/formulario-relatorio/formulario-relatorio.component.html","./src/app/relatorios-dashboard-card/modal-formuilario-relatorios/formulario-relatorios.ts","./src/app/relatorios-dashboard-card/modal-formuilario-relatorios/input-relatorios/input-relatorios.component.html","./src/app/relatorios-dashboard-card/modal-formuilario-relatorios/input-relatorios/input-relatorios.component.ts","./src/app/relatorios-dashboard-card/modal-formuilario-relatorios/modal-formuilario-relatorios.component.ts","./src/app/relatorios-dashboard-card/modal-formuilario-relatorios/modal-formuilario-relatorios.component.html","./src/app/relatorios-dashboard-card/relatorios-dashboard-card.component.html","./src/app/relatorios-dashboard-card/relatorios-dashboard-card.component.ts","./src/app/roteiro-card/roteiro-card.component.html","./src/app/roteiro-card/roteiro-card.component.ts","./src/app/roteiros-ocorrencias-dashboard-card/roteiros-ocorrencias-dashboard-card.component.ts","./src/app/roteiros-ocorrencias-dashboard-card/roteiros-ocorrencias-dashboard-card.component.html","./src/app/shared/Util.ts","./src/app/shared/api-con.service.ts","./src/app/shared/componentes/bar-date/bar-date.component.ts","./src/app/shared/componentes/bar-date/bar-date.component.html","./src/app/shared/componentes/botao-primario/botao-primario.component.ts","./src/app/shared/componentes/botao-primario/botao-primario.component.html","./src/app/shared/componentes/data-horario/data-horario.component.ts","./src/app/shared/componentes/data-horario/data-horario.component.html","./src/app/shared/componentes/dual-info-component/dual-info-component.component.ts","./src/app/shared/componentes/dual-info-component/dual-info-component.component.html","./src/app/shared/componentes/texto-link/texto-link.component.html","./src/app/shared/componentes/texto-link/texto-link.component.ts","./src/app/shared/control-status.service.ts","./src/app/shared/esri-load-control.service.ts","./src/app/shared/graphic.service.ts","./src/app/shared/icon.service.ts","./src/app/shared/jasper.service.ts","./src/app/shared/models/ocorrenciaPedagioModel.ts","./src/app/shared/notification.service.ts","./src/app/shared/painel-mensagens.service.ts","./src/app/shared/route.service.ts","./src/app/shared/svg.service.ts","./src/app/shared/truncate.pipe.ts","./src/app/status-das-entregas/card-status-entregas/card-status-entregas.component.ts","./src/app/status-das-entregas/card-status-entregas/card-status-entregas.component.html","./src/app/status-das-entregas/status-das-entregas.component.ts","./src/app/status-das-entregas/status-das-entregas.component.html","./src/app/status-das-entregas/status-das-entregas.service.ts","./src/app/status-roteiro/status-roteiro.component.ts","./src/app/status-roteiro/status-roteiro.component.html","./src/app/truck-info/truck-info.service.ts","./src/app/visitas/info-entregas-visita/info-entregas-visita.component.html","./src/app/visitas/info-entregas-visita/info-entregas-visita.component.ts","./src/app/visitas/info-roteiro-visita/info-roteiro-visita.component.html","./src/app/visitas/info-roteiro-visita/info-roteiro-visita.component.ts","./src/app/visitas/status-cliente-visita/status-cliente-visita.component.html","./src/app/visitas/status-cliente-visita/status-cliente-visita.component.ts","./src/app/visitas/visitas.component.ts","./src/app/visitas/visitas.component.html","./src/app/visitas/visitas.service.ts","./src/environments/environment.ts","./src/main.ts","./src/pipes/order-by/order-by.pipe.ts","./src/pipes/pesquisa/pesquisa.pipe.ts"],"sourcesContent":["import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { IAlertaPainelInterface } from '../shared/Util';\r\nimport { environment } from '../../environments/environment';\r\nimport { AlertasCardService } from '../alertas-card/alertas-card.service';\r\nimport { ObjectParam } from '../shared/interface/generic-interface';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-alerta-card-notificacao',\r\n templateUrl: './alerta-card-notificacao.component.html',\r\n styleUrls: ['./alerta-card-notificacao.component.css']\r\n})\r\nexport class AlertaCardNotificacaoComponent implements OnInit {\r\n @Input() telaPrincipal = true;\r\n @Input() roteiroAlerta: IAlertaPainelInterface;\r\n @Input() isModal: boolean;\r\n @Output() abrirModalMapa = new EventEmitter(); \r\n urlOcorrencias = ''\r\n\r\n\r\n constructor(private alertaService: AlertasCardService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n async abrirMaparoteiroAlerta() {\r\n if (this.isModal) {\r\n document.getElementById('btnCloseAlerta').click();\r\n }\r\n \r\n if (this.roteiroAlerta) { \r\n this.abrirModalMapa.emit([this.roteiroAlerta.NumeroRoteiro, 0, {latitude: this.roteiroAlerta.Latitude, longitude: this.roteiroAlerta.Longitude}]);\r\n \r\n if (!this.roteiroAlerta.Visualizado) {\r\n let roteiroAlertaID = this.roteiroAlerta.RoteiroAlertaID;\r\n \r\n if (roteiroAlertaID) { \r\n let objParam: ObjectParam = {\r\n roteiroAlerta: {\r\n RoteiroAlertaID: roteiroAlertaID\r\n }\r\n };\r\n await this.alertaService.updateVisualizadoAlertaRoteiro(objParam);\r\n \r\n } else {\r\n console.error(\"RoteiroAlertaID não está definido.\");\r\n }\r\n }\r\n this.roteiroAlerta.Visualizado = true;\r\n } else {\r\n console.error(\"roteiroAlerta está indefinido.\");\r\n }\r\n }\r\n \r\n\r\n async ocorrencia() {\r\n this.urlOcorrencias = environment.url_telaOcorrencias + '/index.html' + window.location.search;\r\n \r\n let idRoteiroAlerta: string;\r\n idRoteiroAlerta = btoa(this.roteiroAlerta.RoteiroAlertaID.toString());\r\n \r\n this.urlOcorrencias = this.urlOcorrencias + '&opc5=' + idRoteiroAlerta;\r\n window.open(this.urlOcorrencias, \"_blank\");\r\n \r\n if (!this.roteiroAlerta.Visualizado) {\r\n let roteiroAlertaID = this.roteiroAlerta.RoteiroAlertaID;\r\n let objParam: ObjectParam = {\r\n roteiroAlerta: {\r\n RoteiroAlertaID: roteiroAlertaID\r\n }\r\n };\r\n await this.alertaService.updateVisualizadoAlertaRoteiro(objParam);\r\n }\r\n this.roteiroAlerta.Visualizado = true;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n {{roteiroAlerta.TipoAlerta}}\r\n \r\n
\r\n
\r\n

Roteiro:

\r\n

{{roteiroAlerta.NumeroRoteiro}}

\r\n

Motorista:

\r\n

{{roteiroAlerta.NomeMotorista}} ({{roteiroAlerta.PlacaVeiculo}})

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n {{roteiroAlerta.TipoAlerta}} \r\n \"\"{{roteiroAlerta.CodigoOcorrencia}} \r\n
\r\n
\r\n
\r\n \r\n Oc. em andamento\r\n Oc. finalizada\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { AlertasCardService } from '../alertas-card/alertas-card.service';\r\nimport { IAlertaPainelInterface } from '../shared/Util';\r\nimport { PopupConfigService } from '../popup-config/popup-config.service';\r\nimport { ObjectParam } from '../shared/interface/generic-interface';\r\nimport { NotificationService } from '../shared/notification.service';\r\n\r\n@Component({\r\n selector: 'app-alerta-notificacao',\r\n templateUrl: './alerta-notificacao.component.html',\r\n styleUrls: ['./alerta-notificacao.component.css']\r\n})\r\nexport class AlertaNotificacaoComponent implements OnChanges, OnInit {\r\n\r\n @Input() dashboardResult = []\r\n @Output() abrirModalMapa = new EventEmitter(); \r\n\r\n alertasNaoVisto: Array = [];\r\n qtdAlertaAnterior = 0;\r\n audio: HTMLAudioElement; \r\n mostraAlerta = true; \r\n silenciado = true; \r\n isUpdating = false;\r\n\r\n \r\n constructor(\r\n private alertasService: AlertasCardService,\r\n private popupConfigService: PopupConfigService,\r\n private notification: NotificationService\r\n ) { \r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n let algumAlertaAtivo = this.popupConfigService.alertas.some((alerta) => alerta.Ativo);\r\n if(algumAlertaAtivo){\r\n setInterval(() => {\r\n this.consultaAlertas();\r\n }, 60000 * 3)\r\n } \r\n }\r\n\r\n ngOnChanges(): void {\r\n this.consultaAlertas()\r\n }\r\n\r\n\r\n async consultaAlertas(){\r\n let idsRoteiros = this.dashboardResult? this.dashboardResult.map((roteiro) => roteiro.IdRoteiro).join(',') : null\r\n if(idsRoteiros){\r\n let response = await this.alertasService.getAlertas(idsRoteiros);\r\n this.alertasNaoVisto = response.filter((alerta) => !alerta.Visualizado);\r\n if(this.alertasNaoVisto.length > this.qtdAlertaAnterior){\r\n this.silenciado = false; \r\n\r\n this.alteraMostraAlerta(false); \r\n setTimeout(() => {\r\n this.alteraMostraAlerta(false);\r\n }, 100); \r\n \r\n }\r\n this.qtdAlertaAnterior = this.alertasNaoVisto.length;\r\n } \r\n }\r\n\r\n alteraMostraAlerta(clickUsuario: boolean = false){\r\n if(clickUsuario){\r\n this.silenciado = true;\r\n }\r\n this.mostraAlerta = !this.mostraAlerta;\r\n }\r\n\r\n\r\n abrirMapa(alerta){\r\n this.abrirModalMapa.emit([alerta[0], 0, {latitude: alerta[2].Latitude, longitude: alerta[2].Longitude}]);\r\n }\r\n\r\n async marcaComoVisualizado() { \r\n this.isUpdating = true; \r\n \r\n try {\r\n if (this.alertasNaoVisto.length > 0) {\r\n let ids = this.alertasNaoVisto.map(alerta => alerta.RoteiroAlertaID);\r\n let objParam: ObjectParam = {\r\n roteiroAlerta: {\r\n RoteiroAlertaID: ids\r\n }\r\n };\r\n await this.alertasService.updateVisualizadoAlertaRoteiro(objParam);\r\n this.alertasNaoVisto.length = 0;\r\n this.alteraMostraAlerta(); \r\n } \r\n } catch (error) {\r\n console.error(\"Erro ao atualizar alertas:\", error);\r\n } finally {\r\n this.isUpdating = false; \r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n {{ alertasNaoVisto.length }}\r\n
\r\n \"\"\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{ alertasNaoVisto.length }}\r\n
\r\n \"\"\r\n
\r\n
\r\n Alertas não vistos\r\n
\r\n \r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
","\r\n
\r\n

Nenhum alerta encontrado

\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { IAlertaPainelInterface } from '../shared/Util';\r\nimport { AlertasCardService } from '../alertas-card/alertas-card.service';\r\n\r\n@Component({\r\n selector: 'app-alerta-roteiro-notificacao',\r\n templateUrl: './alerta-roteiro-notificacao.component.html',\r\n styleUrls: ['./alerta-roteiro-notificacao.component.css']\r\n})\r\nexport class AlertaRoteiroNotificacaoComponent implements OnInit {\r\n\r\n @Input() dados: any;\r\n alertas: Array = []\r\n\r\n constructor(private alertasCardService: AlertasCardService) { }\r\n\r\n ngOnInit(): void {\r\n this.consultaAlertaPorRoteiro();\r\n }\r\n\r\n async consultaAlertaPorRoteiro(){\r\n this.alertas = await this.alertasCardService.getAlertas(this.dados.IdRoteiro);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { AlertasCardService } from './alertas-card.service';\r\nimport { IAlertaPainelInterface } from '../shared/Util';\r\nimport { environment } from '../../environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'app-alertas-card',\r\n templateUrl: './alertas-card.component.html',\r\n styleUrls: ['./alertas-card.component.css']\r\n})\r\nexport class AlertasCardComponent implements OnChanges {\r\n @Input() isModal: boolean;\r\n @Input() dashboardResult = []\r\n @Output() abrirModalMapa = new EventEmitter(); \r\n\r\n alertas: Array = []\r\n urlOcorrencias = ''\r\n\r\n constructor(private alertasService: AlertasCardService) { }\r\n\r\n ngOnChanges(): void {\r\n this.consultaAlertas(); \r\n }\r\n\r\n\r\n async consultaAlertas(){\r\n let idsRoteiros = this.dashboardResult? this.dashboardResult.map((roteiro) => roteiro.IdRoteiro).join(',') : null\r\n if(idsRoteiros){\r\n this.alertas = await this.alertasService.getAlertas(idsRoteiros);\r\n } \r\n }\r\n\r\n async ocorrencia(alerta: IAlertaPainelInterface){\r\n this.urlOcorrencias = environment.url_telaOcorrencias + '/index.html' + window.location.search;\r\n let idRoteiroAlerta = btoa(alerta.RoteiroAlertaID.toString())\r\n this.urlOcorrencias = this.urlOcorrencias + '&opc5=' + idRoteiroAlerta;\r\n window.open(this.urlOcorrencias, \"_blank\");\r\n }\r\n\r\n\r\n abrirMapa(alerta: IAlertaPainelInterface){\r\n if(this.isModal){\r\n document.getElementById('btnCloseAlerta').click()\r\n }\r\n this.abrirModalMapa.emit([alerta.NumeroRoteiro, 0, {latitude: alerta.Latitude, longitude: alerta.Longitude}]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
RoteiroMotoristaMotivoData e HoraStatus
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
{{ alerta.NumeroRoteiro }} {{ alerta.NomeMotorista }} {{ alerta.TipoAlerta }}
\r\n
\r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { JsonReturn, ObjectParam, RoteiroAlerta } from '../shared/interface/generic-interface';\r\nimport { NotificationService } from '../shared/notification.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AlertasCardService {\r\n qtdAlertas = 0\r\n\r\n constructor(private conService: ApiConService, private notification: NotificationService) { }\r\n\r\n async getAlertas(idsRoteiros: string){ \r\n try {\r\n const response: JsonReturn = await this.conService.patch('DCRoteiroAlerta/' + idsRoteiros);\r\n let alertas = response.response;\r\n this.qtdAlertas = alertas.length; \r\n return alertas;\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async updateVisualizadoAlertaRoteiro(objParam) { \r\n try {\r\n const response = await this.conService.putBody('/DCRoteiroAlerta/visualizado', objParam); \r\n if(response != undefined){\r\n this.notification.showSucesso(\"Alertas atualizados para visualizados!\")\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n this.notification.showErro(\"Erro ao atualizar alertas!\")\r\n }\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { IAlertaPainelInterface } from '../../../shared/Util';\r\n\r\n\r\n@Component({\r\n selector: 'app-pill-alertas',\r\n template: ``\r\n\r\n})\r\nexport class PillAlertasComponent implements OnInit {\r\n\r\n @Input() alerta: IAlertaPainelInterface;\r\n \r\n srcPill = '';\r\n ngOnInit(): void {\r\n this.srcPill = this.determinarStatusPill(this.alerta.IdStatus, this.alerta.Visualizado);\r\n }\r\n\r\n SrcPillEnum = {\r\n NOVO_ALERTA: 'pill_novo_alerta' ,\r\n ALERTA_VISUALIZADO: 'pill_alerta_visualizado',\r\n OC_EM_ANDAMENTO: 'pill_oc_andamento',\r\n OC_FINALIZADA: 'pill_oc_finalizada'\r\n }\r\n\r\n\r\n\r\n determinarStatusPill(idSituacao, visualizado) {\r\n if (idSituacao == 3) {\r\n return this.SrcPillEnum.OC_FINALIZADA;\r\n } else if (idSituacao == 1 || idSituacao == 2) {\r\n return this.SrcPillEnum.OC_EM_ANDAMENTO;\r\n } else if (idSituacao === null) {\r\n if (visualizado == 0) {\r\n return this.SrcPillEnum.NOVO_ALERTA;\r\n } else if (visualizado == 1) {\r\n return this.SrcPillEnum.ALERTA_VISUALIZADO;\r\n }\r\n }\r\n\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\nimport { JsonReturn } from './shared/interface/generic-interface';\r\nimport { ApiConService } from './shared/api-con.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n acessoLiberado = false;\r\n\r\n constructor(private apiConService: ApiConService){}\r\n\r\n ngOnInit() \r\n {\r\n this.dadosAcesso();\r\n } \r\n\r\n async dadosAcesso()\r\n {\r\n let url = new URL(window.location.href);\r\n\r\n let base: any = url.searchParams.get('opc1');\r\n let servidor: any = url.searchParams.get('opc2');\r\n let usuario: any = url.searchParams.get('opc3');\r\n let data: any = url.searchParams.get('opc4');\r\n\r\n if(base != null && base != '' && servidor != null && servidor != '' && usuario != null && usuario != '' && data != null && data != '')\r\n {\r\n base = atob(base);\r\n servidor = atob(servidor);\r\n usuario = atob(usuario);\r\n data = atob(data);\r\n\r\n let dataAcesso = new Date(data);\r\n let diferenca = new Date().getTime() - dataAcesso.getTime();\r\n \r\n if(diferenca > 36000000)\r\n {\r\n document.body.innerHTML =\"

Acesso Expirado!

\"\r\n return;\r\n }\r\n else\r\n {\r\n environment.baseDados = base;\r\n environment.servidor = servidor;\r\n environment.usuarioLogado = usuario;\r\n \r\n let retorno: JsonReturn = await this.configInicial()\r\n if(!retorno.sucesso) {\r\n document.body.innerHTML =`\r\n
\r\n logo\r\n

${retorno.msg}

\r\n

Entre em contato com o suporte.

\r\n
`;\r\n return;\r\n }\r\n this.acessoLiberado = true\r\n }\r\n }\r\n else\r\n {\r\n document.body.innerHTML =\"

Acesso Negado!

\"\r\n return;\r\n }\r\n }\r\n\r\n private async configInicial(): Promise {\r\n return await this.apiConService.patchInit(); \r\n }\r\n}\r\n","\r\n","import { InputRelatoriosComponent } from './relatorios-dashboard-card/modal-formuilario-relatorios/input-relatorios/input-relatorios.component';\r\nimport { FormularioRelatorioComponent } from './relatorios-dashboard-card/modal-formuilario-relatorios/formulario-relatorio/formulario-relatorio.component';\r\nimport { ModalFormuilarioRelatoriosComponent } from './relatorios-dashboard-card/modal-formuilario-relatorios/modal-formuilario-relatorios.component';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, LOCALE_ID } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { CurrencyPipe, registerLocaleData } from '@angular/common';\r\nimport localePt from '@angular/common/locales/pt';\r\n\r\nregisterLocaleData(localePt);\r\n//Externos\r\nimport { GridsterModule } from 'angular-gridster2';\r\nimport { Ng2GoogleChartsModule } from 'ng2-google-charts';\r\nimport { AppComponent } from './app.component';\r\n import {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\n\r\n\r\n\r\n\r\n\r\n//Components\r\nimport { MapComponent } from './map/map.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { RoteiroCardComponent } from './roteiro-card/roteiro-card.component';\r\nimport { DistanciaDashboardCardComponent } from './distancia-dashboard-card/distancia-dashboard-card.component';\r\nimport { OcorrenciasDashborardCardComponent } from './ocorrencias-dashborard-card/ocorrencias-dashborard-card.component';\r\nimport { MotivosOcorrenciasDashboardCardComponent } from './motivos-ocorrencias-dashboard-card/motivos-ocorrencias-dashboard-card.component';\r\nimport { RoteirosOcorrenciasDashboardCardComponent } from './roteiros-ocorrencias-dashboard-card/roteiros-ocorrencias-dashboard-card.component';\r\nimport { DistanciaRoteiroCardComponent } from './distancia-roteiro-card/distancia-roteiro-card.component';\r\nimport { CardSemComunicacaoDashboardComponent } from './card-sem-comunicacao-dashboard/card-sem-comunicacao-dashboard.component';\r\nimport { MainHeaderComponent } from './main-header/main-header.component';\r\nimport { HeaderFilterComponent } from './header-filter/header-filter.component';\r\nimport { MainHeaderTruckComponent } from './main-header-truck/main-header-truck.component';\r\nimport { BoxListTruckComponent } from './box-list-truck/box-list-truck.component';\r\nimport { BoxInfoLeftComponent } from './box-info-left/box-info-left.component';\r\nimport { BoxInfoAlertComponent } from './box-info-alert/box-info-alert.component';\r\nimport { BoxInfoDeliveryRouterComponent } from './box-info-delivery-router/box-info-delivery-router.component';\r\nimport { BoxInfoJourneyComponent } from './box-info-journey/box-info-journey.component';\r\nimport { BoxInfoRouterComponent } from './box-info-router/box-info-router.component';\r\nimport { BoxInfoPathComponent } from './box-info-path/box-info-path.component';\r\nimport { BoxInfoTruckComponent } from './box-info-truck/box-info-truck.component';\r\nimport { BoxTitleComponent } from './box-title/box-title.component';\r\nimport { BoxInfoRouterAddessComponent } from './box-info-router-addess/box-info-router-addess.component';\r\nimport { BasemapComponent } from './basemap/basemap.component';\r\nimport { BoxHistoricoAcoesComponent } from './box-historico-acoes/box-historico-acoes.component';\r\nimport { PopupConfigComponent } from './popup-config/popup-config.component';\r\nimport { PopupRelatoriosComponent } from './popup-relatorios/popup-relatorios.component';\r\nimport { RelatoriosDashboardCardComponent } from './relatorios-dashboard-card/relatorios-dashboard-card.component';\r\nimport { BoxAcoesComponent } from './box-acoes/box-acoes.component';\r\nimport { PopupAlertaComponent } from './popup-alerta/popup-alerta.component';\r\nimport { PopupIconesComponent } from './popup-icones/popup-icones.component';\r\n\r\n//Pipe\r\nimport { FilterPipe } from '../pipes/pesquisa/pesquisa.pipe';\r\nimport { ArraySortPipe } from '../pipes/order-by/order-by.pipe';\r\n\r\n//Serviços\r\nimport { ApiConService } from './shared/api-con.service';\r\nimport { DashboardService } from './dashboard/dashboard.service';\r\nimport { EsriLoadService } from './shared/esri-load-control.service';\r\nimport { BoxListTruckService } from './box-list-truck/box-list-truck.service';\r\nimport { BoxInfoJourneyService } from './box-info-journey/box-info-journey.service';\r\nimport { BoxInfoRouterService } from './box-info-router/box-info-router.service';\r\nimport { BoxInfoTruckService } from './box-info-truck/box-info-truck.service';\r\nimport { ControlStatusService } from './shared/control-status.service';\r\nimport { HeaderFilterService } from './header-filter/header-filter.service';\r\nimport { GraphicService } from './shared/graphic.service';\r\nimport { RouteService } from './shared/route.service';\r\nimport { BoxInfoAlertService } from './box-info-alert/box-info-alert.service';\r\nimport { MainHeaderTruckService } from './main-header-truck/main-header-truck.service';\r\nimport { BoxHistoricoAcoesService } from './box-historico-acoes/box-historico-acoes.service';\r\nimport { IconService } from './shared/icon.service';\r\nimport { PopupConfigService } from './popup-config/popup-config.service';\r\nimport { PopupIconesRowComponent } from './popup-icones-row/popup-icones-row.component';\r\nimport { Util } from './shared/Util';\r\nimport { PopupAvisosNovidadesComponent } from './popup-avisos-novidades/popup-avisos-novidades.component';\r\nimport { PopupDetalhesPedidoComponent } from './popup-detalhes-pedido/popup-detalhes-pedido.component';\r\nimport { PopupJasperComponent } from './popup-jasper/popup-jasper.component';\r\nimport { PopupOcorrenciaPedagioComponent } from './popup-ocorrencia-pedagio/popup-ocorrencia-pedagio.component';\r\nimport { ToastNoAnimationModule } from 'ngx-toastr';\r\nimport { CardUltimasEntregasComponent } from './card-ultimas-entregas/card-ultimas-entregas.component';\r\nimport { PopupTokensComponent } from './popup-tokens/popup-tokens.component';\r\nimport { TokenService } from './popup-tokens/token.service';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { DadosEntregasComponent } from './dados-entregas/dados-entregas.component';\r\nimport { CardInfoEntregasComponent } from './dados-entregas/card-info-entregas/card-info-entregas.component';\r\nimport { StatusDasEntregasComponent } from './status-das-entregas/status-das-entregas.component';\r\nimport { CardStatusEntregasComponent } from './status-das-entregas/card-status-entregas/card-status-entregas.component';\r\nimport { VisitasComponent } from './visitas/visitas.component';\r\nimport { InfoRoteiroVisitaComponent } from './visitas/info-roteiro-visita/info-roteiro-visita.component';\r\nimport { InfoEntregasVisitaComponent } from './visitas/info-entregas-visita/info-entregas-visita.component';\r\nimport { StatusClienteVisitaComponent } from './visitas/status-cliente-visita/status-cliente-visita.component';\r\nimport { AlertasCardComponent } from './alertas-card/alertas-card.component';\r\nimport { DataHorarioComponent } from './shared/componentes/data-horario/data-horario.component';\r\nimport { PillAlertasComponent } from './alertas-card/componentes/pill-alertas/pill-alertas.component';\r\nimport { AlertaNotificacaoComponent } from './alerta-notificacao/alerta-notificacao.component';\r\nimport { AlertaCardNotificacaoComponent } from './alerta-card-notificacao/alerta-card-notificacao.component';\r\nimport { AlertaRoteiroNotificacaoComponent } from './alerta-roteiro-notificacao/alerta-roteiro-notificacao.component';\r\nimport { DetalheEntregaColetaComponent } from './detalhe-entrega-coleta/detalhe-entrega-coleta.component';\r\nimport { StatusRoteiroComponent } from './status-roteiro/status-roteiro.component';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ConfigConfirmacaoEntregaComponent } from './config-confirmacao-entrega/config-confirmacao-entrega.component';\r\nimport { PopupPrecosPracaPedagioComponent } from './popup-precos-praca-pedagio/popup-precos-praca-pedagio.component';\r\nimport { TruckInfoService } from './truck-info/truck-info.service';\r\nimport { TruncatePipe } from './shared/truncate.pipe';\r\nimport { BarDateComponent } from './shared/componentes/bar-date/bar-date.component';\r\nimport { BotaoPrimarioComponent } from './shared/componentes/botao-primario/botao-primario.component';\r\nimport { PopupDadosRecebedorComponent } from './popup-dados-recebedor/popup-dados-recebedor.component';\r\nimport { DualInfoComponentComponent } from './shared/componentes/dual-info-component/dual-info-component.component';\r\nimport { TextoLinkComponent } from './shared/componentes/texto-link/texto-link.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n DashboardComponent,\r\n RoteiroCardComponent,\r\n DistanciaDashboardCardComponent,\r\n OcorrenciasDashborardCardComponent,\r\n MotivosOcorrenciasDashboardCardComponent,\r\n RoteirosOcorrenciasDashboardCardComponent,\r\n DistanciaRoteiroCardComponent,\r\n CardSemComunicacaoDashboardComponent,\r\n AppComponent,\r\n MainHeaderComponent,\r\n HeaderFilterComponent,\r\n MainHeaderTruckComponent,\r\n BoxListTruckComponent,\r\n MapComponent,\r\n BoxInfoLeftComponent,\r\n BoxInfoAlertComponent,\r\n BoxInfoDeliveryRouterComponent,\r\n BoxInfoJourneyComponent,\r\n BoxInfoRouterComponent,\r\n BoxInfoPathComponent,\r\n BoxInfoTruckComponent,\r\n BoxTitleComponent,\r\n BoxInfoRouterAddessComponent,\r\n BasemapComponent,\r\n BoxHistoricoAcoesComponent,\r\n PopupConfigComponent,\r\n FilterPipe,\r\n ArraySortPipe,\r\n PopupRelatoriosComponent,\r\n RelatoriosDashboardCardComponent,\r\n BoxAcoesComponent,\r\n PopupAlertaComponent,\r\n PopupIconesComponent,\r\n PopupIconesRowComponent,\r\n PopupAvisosNovidadesComponent,\r\n PopupDetalhesPedidoComponent,\r\n PopupJasperComponent,\r\n ModalFormuilarioRelatoriosComponent,\r\n FormularioRelatorioComponent,\r\n InputRelatoriosComponent,\r\n PopupOcorrenciaPedagioComponent,\r\n CardUltimasEntregasComponent,\r\n PopupTokensComponent,\r\n DadosEntregasComponent,\r\n CardInfoEntregasComponent,\r\n StatusDasEntregasComponent,\r\n CardStatusEntregasComponent,\r\n VisitasComponent,\r\n InfoRoteiroVisitaComponent,\r\n InfoEntregasVisitaComponent,\r\n StatusClienteVisitaComponent,\r\n AlertasCardComponent,\r\n DataHorarioComponent,\r\n PillAlertasComponent,\r\n AlertaNotificacaoComponent,\r\n AlertaCardNotificacaoComponent,\r\n AlertaRoteiroNotificacaoComponent,\r\n DetalheEntregaColetaComponent,\r\n StatusRoteiroComponent,\r\n ConfigConfirmacaoEntregaComponent,\r\n PopupPrecosPracaPedagioComponent,\r\n TruncatePipe,\r\n BarDateComponent,\r\n BotaoPrimarioComponent,\r\n PopupDadosRecebedorComponent,\r\n DualInfoComponentComponent,\r\n TextoLinkComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n NgbModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Ng2GoogleChartsModule,\r\n GridsterModule,\r\n ColorPickerModule,\r\n MatFormFieldModule,\r\n MatSelectModule,\r\n BrowserAnimationsModule,\r\n ToastNoAnimationModule.forRoot({preventDuplicates: true,}),\r\n \r\n\r\n ],\r\n providers: [\r\n ApiConService,\r\n DashboardService,\r\n EsriLoadService,\r\n BoxListTruckService,\r\n BoxInfoJourneyService,\r\n BoxInfoRouterService,\r\n BoxInfoTruckService,\r\n ControlStatusService,\r\n HeaderFilterService,\r\n GraphicService,\r\n RouteService,\r\n BoxInfoAlertService,\r\n MainHeaderTruckService,\r\n BoxHistoricoAcoesService,\r\n IconService,\r\n PopupConfigService,\r\n TokenService,\r\n CurrencyPipe,\r\n Util,\r\n CookieService,\r\n TruckInfoService,\r\n { provide: LOCALE_ID, useValue: \"pt-BR\" }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { EsriLoadService, LoadedModules } from '../shared/esri-load-control.service';\r\nimport { BASEMAPS } from './mock-basemap';\r\nimport { ControlStatusService } from '../shared/control-status.service';\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'rota-basemap',\r\n templateUrl: './basemap.component.html',\r\n styleUrls: ['./basemap.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [EsriLoadService]\r\n})\r\nexport class BasemapComponent {\r\n public map: any;\r\n public view: any;\r\n public basemapGallery: any;\r\n constructor(\r\n private esriLoadService: EsriLoadService,\r\n public controlStatus: ControlStatusService\r\n ) { }\r\n\r\n alteraVisibilidade(event){\r\n $(event.target).parent().toggleClass('open');\r\n }\r\n\r\n AdicionaMapaGaleria(base: any) {\r\n var layer = [];\r\n layer[0] = new LoadedModules.BasemapLayer({\r\n url: base.url\r\n });\r\n if (base.url2 != undefined) {\r\n layer[1] = new LoadedModules.BasemapLayer({\r\n url: base.url2,\r\n isReference: true\r\n });\r\n }\r\n let basemap = new LoadedModules.Basemap({\r\n layers: layer,\r\n title: base.titulo,\r\n thumbnailUrl: base.imagem\r\n });\r\n this.basemapGallery.add(basemap);\r\n }\r\n\r\n AdicionaBaseMapas() {\r\n for (let i = 0; i < BASEMAPS.length; i++) { this.AdicionaMapaGaleria(BASEMAPS[i]); }\r\n let openstreetmap = new LoadedModules.Basemap({\r\n layers: [new LoadedModules.BasemapLayer({\r\n type: 'OpenStreetMap'\r\n })],\r\n id: 'OpenStreetmap',\r\n title: 'Mapa',\r\n thumbnailUrl: 'https://www.arcgis.com/sharing/rest/content/items/11e803a6d5f3489698794b027c8133c8/info/thumbnail/temposm.jpg'\r\n });\r\n this.basemapGallery.add(openstreetmap);\r\n }\r\n\r\n iniciaBaseMapaGallery() {\r\n this.basemapGallery = new LoadedModules.BasemapGallery\r\n (\r\n {\r\n view: this.view,\r\n visible: true\r\n },\r\n \r\n ); \r\n\r\n // Add the widget to the top-right corner of the view\r\n this.map.add(this.basemapGallery, {\r\n position: \"top-right\"\r\n }); \r\n \r\n \r\n // Adiciona um evento de erro\r\n this.basemapGallery.on('error', function (msg) {\r\n console.log('Erro ao carregar visão do mapa: ', msg);\r\n });\r\n\r\n this.basemapGallery.on('selection-change', function () {\r\n $('#dijit_TitlePane_0_titleBarNode').trigger('click');\r\n });\r\n }\r\n\r\n FecharOpcoesMapas() {\r\n this.controlStatus.mostrarMapas = false;\r\n }\r\n}\r\nexport default BasemapComponent;","
\r\n
Estilos de mapa\r\n \r\n
\r\n
\r\n
","export const BASEMAPS: any = [\r\n {\r\n imagem: 'https://www.arcgis.com/sharing/rest/content/items/d8855ee4d3d74413babfb0f41203b168/info/thumbnail/world_street_map.jpg',\r\n url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer',\r\n titulo: 'Ruas'\r\n },\r\n {\r\n imagem: 'https://www.arcgis.com/sharing/rest/content/items/2ef69c75a41f49ca87d7da502c2ad779/info/thumbnail/imagery_labels.jpg',\r\n url: 'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer',\r\n titulo: 'Imagem'\r\n },\r\n {\r\n imagem: 'https://www.arcgis.com/sharing/rest/content/items/af0c80033e4a4f878ec4a2b72728ad03/info/thumbnail/Terrain_Labels_Web_map.jpg',\r\n url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer',\r\n url2: 'https://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer',\r\n titulo: 'Imagem com Rótulos'\r\n },\r\n {\r\n imagem: 'https://www.arcgis.com/sharing/rest/content/items/d9964838619a4bed9f909cfa604fe526/info/thumbnail/topo_map_2.jpg',\r\n url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer',\r\n titulo: 'Topográfico'\r\n },\r\n {\r\n imagem: 'https://www.arcgis.com/sharing/rest/content/items/7a14b70e2e784f7eaa52a4b13195ad0c/info/thumbnail/DGCanvasBase.png',\r\n url: 'https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer',\r\n titulo: 'Mapa Cinza Escuro'\r\n },\r\n {\r\n imagem: 'https://www.arcgis.com/sharing/rest/content/items/74fb30d11311472c831a7e24ae5066f9/info/thumbnail/light_gray_canvas.jpg',\r\n url: 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer',\r\n titulo: 'Mapa Cinza Claro'\r\n }\r\n];","
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n Ao encerrar o roteiro, o motorista será automaticamente desconectado do aplicativo.\r\n \r\n\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { DashboardService } from '../dashboard/dashboard.service';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { BoxInfoRouterService } from '../box-info-router/box-info-router.service';\r\n\r\ndeclare var bootbox:any\r\nlet acoesComponent: any;\r\n\r\n@Component({\r\n selector: 'box-acoes',\r\n templateUrl: './box-acoes.component.html',\r\n styleUrls: ['./box-acoes.component.css']\r\n})\r\nexport class BoxAcoesComponent implements OnInit {\r\n\r\n @Input() roteiro;\r\n numeroRoteiro: string = '';\r\n chaveValidacao: string = '';\r\n showInput: boolean;\r\n showInputFinalizar: boolean\r\n idRoteiro : number;\r\n controlaJornadaMotorista = false;\r\n loading = false\r\n chaveDispositivoAcesso = null;\r\n pedidosPendentesEntrega = true;\r\n \r\n\r\n constructor(\r\n private dashboardService: DashboardService, \r\n private boxListTruckService: BoxListTruckService,\r\n private boxInfoRouterService: BoxInfoRouterService\r\n ) { \r\n acoesComponent = this;\r\n }\r\n\r\n async ngOnInit() {\r\n this.numeroRoteiro = this.roteiro.roteiro;\r\n this.showInput = false;\r\n this.showInputFinalizar = false;\r\n this.idRoteiro = this.roteiro.IdRoteiro;\r\n\r\n\r\n this.chaveDispositivoAcesso = this.roteiro.ChaveDispositivoAcesso;\r\n let vetInfoRota = JSON.parse(this.roteiro.InfoRota);\r\n\r\n this.controlaJornadaMotorista = vetInfoRota?.ControlaJornadaMotorista ?? false\r\n await this.getInfoRouter()\r\n }\r\n\r\n async excluirRoteiro(){\r\n let result = await this.dashboardService.deleteRoteiro(this.numeroRoteiro);\r\n return result;\r\n }\r\n\r\n async finalizarRoteiro(){\r\n await this.desconectarVeiculo()\r\n let result = await this.dashboardService.finalizarRoteiro(this.idRoteiro);\r\n window.location.href=window.location.href;\r\n return result;\r\n }\r\n\r\n mostraInputExcluir(){\r\n this.showInput = !this.showInput;\r\n\r\n if(this.showInputFinalizar){\r\n this.chaveValidacao = ''\r\n this.showInputFinalizar = false;\r\n }\r\n }\r\n\r\n mostraInputFinalizar(){\r\n this.showInputFinalizar = !this.showInputFinalizar;\r\n\r\n if(this.showInput){\r\n this.chaveValidacao = ''\r\n this.showInput = false;\r\n }\r\n }\r\n\r\n esconderInputFinalizar(){\r\n this.showInputFinalizar = false;\r\n this.chaveValidacao = ''\r\n }\r\n\r\n confirmarExclusaoRoteiro(){\r\n bootbox.dialog({\r\n title: 'Confirmar exclusão.',\r\n message: \"

Deseja excluir o roteiro permanentemente?

\",\r\n size: 'large',\r\n buttons: {\r\n cancel: {\r\n label: \"Cancelar\",\r\n className: 'btn-default'\r\n },\r\n ok: {\r\n label: \"Excluir\",\r\n className: 'btn-danger',\r\n callback: async function(){\r\n let resultado = await acoesComponent.excluirRoteiro();\r\n //força reload na tela\r\n window.location.href=window.location.href;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n confirmarFinalizacaoRoteiro(){\r\n bootbox.dialog({\r\n title: 'Confirmar finalização.',\r\n message: \"

Deseja finalizar o roteiro permanentemente?

\",\r\n size: 'large',\r\n buttons: {\r\n cancel: {\r\n label: \"Cancelar\",\r\n className: 'btn-default'\r\n },\r\n ok: {\r\n label: \"Finalizar\",\r\n className: 'btn-success',\r\n callback: async function(){\r\n await acoesComponent.finalizarRoteiro()\r\n //força reload na tela\r\n window.location.href=window.location.href;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n async desconectarVeiculo(){\r\n this.loading = true\r\n await this.boxListTruckService.desconectarVeiculo(this.idRoteiro);\r\n this.chaveDispositivoAcesso = null\r\n this.loading = false;\r\n }\r\n\r\n async getInfoRouter(){\r\n let listaPedidos = await this.boxInfoRouterService.getInfoRouter();\r\n this.pedidosPendentesEntrega = listaPedidos.some(pedido => pedido.IdRoteiroPedidoSituacao >= 1 && pedido.IdRoteiroPedidoSituacao <= 4);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BoxHistoricoAcoesService } from '../box-historico-acoes/box-historico-acoes.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { SituacaoOdometro, TipoEntregas, Util } from '../shared/Util';\r\nimport { FilterPipe } from '../../pipes/pesquisa/pesquisa.pipe';\r\nimport { isNull } from 'is-what';\r\nimport { SvgService } from '../shared/svg.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { BoxInfoRouterService } from '../box-info-router/box-info-router.service';\r\nimport { NotificationService } from '../shared/notification.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'box-historico-acoes',\r\n templateUrl: './box-historico-acoes.component.html',\r\n styleUrls: ['./box-historico-acoes.component.css']\r\n})\r\nexport class BoxHistoricoAcoesComponent implements OnInit {\r\n\r\n infoHistoricoAcoes: any;\r\n infoCoordenadasRota: any;\r\n pesquisaAcoes: any;\r\n iconeAcao: any;\r\n acoesSepPorDia = [];\r\n agrupadoDiaCliente = [];\r\n exibirTodos = false;\r\n kmOdometroInicio = null\r\n kmOdometroFinal = null\r\n mostraComprovanteApp = false;\r\n @Input() roteiro: any;\r\n\r\n constructor\r\n (\r\n private boxHistoricoAcoesService: BoxHistoricoAcoesService,\r\n private graphicService: GraphicService,\r\n private util: Util,\r\n public svgService:SvgService,\r\n public sanitizer:DomSanitizer,\r\n private boxInfoRouterService: BoxInfoRouterService,\r\n private notificationService: NotificationService\r\n ) { }\r\n\r\n async ngOnInit() {\r\n setTimeout(() => { this.getHistoryAction(); }, 500);\r\n }\r\n\r\n async getHistoryAction() {\r\n let infoRota = JSON.parse(this.roteiro.InfoRota)\r\n await this.boxHistoricoAcoesService.getHistoryAction();\r\n\r\n this.infoHistoricoAcoes = this.boxHistoricoAcoesService.listHistoryAction.filter\r\n (\r\n x => (x.CodigoAcao != 1 && x.CodigoAcao != 7) || x.IdRoteiroSituacao != null || x.IdRoteiroPedidoSituacao != null\r\n );\r\n\r\n this.infoCoordenadasRota = this.boxHistoricoAcoesService.listHistoryAction.filter\r\n (\r\n x => x.CodigoAcao === 1 && x.Latitude != 0\r\n );\r\n\r\n let codigoCliente = 0\r\n let contador = 1;\r\n for (let i = 0; i < this.infoHistoricoAcoes.length; i++) {\r\n\r\n if (codigoCliente == 0) {\r\n codigoCliente = this.infoHistoricoAcoes[i].CodigoCliente;\r\n }\r\n\r\n if(this.infoHistoricoAcoes[i].CodigoAcao == 20){\r\n let informacoes = JSON.parse(this.infoHistoricoAcoes[i].Informacoes);\r\n this.infoHistoricoAcoes[i].km = informacoes.situacaoOdometro == SituacaoOdometro.Inicio? this.roteiro.KmOdometroInicio : this.roteiro.KmOdometroFinal;\r\n }\r\n \r\n let codigo = this.infoHistoricoAcoes[i].CodigoCliente != 0 ? this.infoHistoricoAcoes[i].CodigoCliente : 0;\r\n\r\n this.infoHistoricoAcoes[i].Data = this.util.converterDataSemFuso(this.infoHistoricoAcoes[i].Data);\r\n this.infoHistoricoAcoes[i].posicaoCliente = this.graphicService.posicaoCliente[codigo.toString()];\r\n let posicaoCliente = this.graphicService.posicaoCliente[codigo.toString()] == undefined ? null : this.graphicService.posicaoCliente[codigo.toString()];\r\n\r\n let options = { icone: \"RotaClienteSel\", alerta: \"nada\", cor: \"515356\", index: posicaoCliente, RHorario: false, RFeriado: false, RPedido: false, RAgendada: false, Opacidade: 1 }\r\n this.infoHistoricoAcoes[i].urlIcone =this.sanitizer.bypassSecurityTrustResourceUrl(this.svgService.geraSVG(options))\r\n this.infoHistoricoAcoes[i].Acao = this.retornaAcao(this.infoHistoricoAcoes[i]);\r\n\r\n if (posicaoCliente == null) {\r\n\r\n let options = { icone: \"RotaClienteSel\", alerta: \"nada\", cor: \"515356\", index: contador , RHorario: false, RFeriado: false, RPedido: false, RAgendada: false, Opacidade: 1 }\r\n\r\n\r\n this.infoHistoricoAcoes[i].urlIcone= this.sanitizer.bypassSecurityTrustResourceUrl(this.svgService.geraSVG(options))\r\n\r\n if (this.infoHistoricoAcoes[i].CodigoCliente !== codigoCliente) {\r\n codigoCliente = this.infoHistoricoAcoes[i].CodigoCliente;\r\n contador = contador + 1\r\n }\r\n }\r\n }\r\n\r\n /// GRAVA ICONE HISTORICO\r\n\r\n this.infoHistoricoAcoes.forEach((item)=>{\r\n item.iconeAcao = this.retornaIcone(item)\r\n })\r\n\r\n let pontosComUltimaPosicao = this.boxHistoricoAcoesService.listHistoryAction.filter\r\n (\r\n x => (x.CodigoAcao === 1 || x.CodigoAcao === 7) && x.Latitude != 0\r\n );\r\n\r\n\r\n if(this.infoHistoricoAcoes.length){\r\n const dataReferencia = this.infoHistoricoAcoes[0].Data;\r\n for (let i = 0; i < this.infoHistoricoAcoes.length; i++) {\r\n const diferenca = Util.calcularDiferencaDias(dataReferencia, this.infoHistoricoAcoes[i].Data); \r\n this.infoHistoricoAcoes[i].dia = diferenca; \r\n }\r\n } \r\n\r\n let listaAgrupadaPorDia = {};\r\n this.infoHistoricoAcoes.forEach(item => {\r\n if (!listaAgrupadaPorDia[item.dia]) {\r\n listaAgrupadaPorDia[item.dia] = [];\r\n }\r\n listaAgrupadaPorDia[item.dia].push(item);\r\n });\r\n\r\n this.acoesSepPorDia = Object.values(listaAgrupadaPorDia);\r\n let clientesAgrupados = {}; \r\n this.acoesSepPorDia.forEach(dia => {\r\n dia.forEach(cliente => {\r\n if (cliente.CodigoCliente != 0) {\r\n if (!clientesAgrupados[cliente.CodigoCliente]) {\r\n clientesAgrupados[cliente.CodigoCliente] = [];\r\n }\r\n clientesAgrupados[cliente.CodigoCliente].push(cliente);\r\n }\r\n });\r\n\r\n let agrupadoDiaCliente = [];\r\n \r\n dia.forEach(cliente => {\r\n if (cliente.CodigoCliente == 0) {\r\n agrupadoDiaCliente.push([cliente]);\r\n } else if (clientesAgrupados[cliente.CodigoCliente]) {\r\n agrupadoDiaCliente.push(clientesAgrupados[cliente.CodigoCliente]);\r\n delete clientesAgrupados[cliente.CodigoCliente];\r\n }\r\n });\r\n\r\n this.agrupadoDiaCliente.push(agrupadoDiaCliente)\r\n }); \r\n\r\n this.graphicService.visualizarPontosMapa(this.infoCoordenadasRota, pontosComUltimaPosicao);\r\n this.graphicService.atualizaMapView();\r\n this.kmOdometroInicio = this.roteiro.KmOdometroInicio ?? null;\r\n this.kmOdometroFinal = this.roteiro.KmOdometroFinal ?? null;\r\n this.mostraComprovanteApp = infoRota.ConfigRecebimentoApp == '0' ? false : true; \r\n }\r\n\r\n\r\n retornaAcao(item) {\r\n let informacoes = JSON.parse(item.Informacoes) \r\n if(item.CodigoAcao == 20) {\r\n \r\n return informacoes.situacaoOdometro == SituacaoOdometro.Inicio? 'Odômetro - Registro Inicial' : 'Odômetro - Registro Final' ;\r\n }\r\n\r\n let codigo = 0;\r\n let retorno: string;\r\n\r\n if (isNull(item.IdRoteiroSituacao) && isNull(item.IdRoteiroPedidoSituacao)) {\r\n codigo = item.CodigoAcao;\r\n\r\n switch (codigo) {\r\n case 1: retorno = 'Coordenada'; break;\r\n case 2: retorno = 'Sincronização'; break;\r\n case 3: retorno = 'Check-in'; break;\r\n case 6: retorno = 'Ocorrência'; break;\r\n case 13: retorno = 'Roteiro - Pausado'; break;\r\n case 14: retorno = 'Roteiro - Entrou novamente'; break;\r\n }\r\n } else if (!isNull(item.IdRoteiroSituacao)) {\r\n codigo = item.IdRoteiroSituacao;\r\n switch (codigo) {\r\n case 1: retorno = 'Roteiro - Novo'; break;\r\n case 2: retorno = 'Roteiro - Iniciado'; break;\r\n case 3: retorno = 'Roteiro - Pausado'; break;\r\n case 4: retorno = 'Roteiro - Saída'; break;\r\n case 5: retorno = 'Roteiro - Finalizado'; break;\r\n }\r\n } else {\r\n codigo = item.IdRoteiroPedidoSituacao;\r\n switch (codigo) {\r\n case 1: retorno = 'Entrega em aberto'; break;\r\n case 2: retorno = 'Check-in'; break;\r\n case 3: retorno = informacoes.tipo == TipoEntregas.Coleta ? 'Início da Coleta' : 'Início da Entrega'; break; //RotaGPSAcao4\r\n case 4: retorno = 'Volto depois'; break; //RotaGPSAcao\r\n case 5: retorno = informacoes.tipo == TipoEntregas.Coleta ? 'Coleta não efetuada' :'Recebimento recusado'; break; //RotaGPSAcao\r\n case 6: retorno = informacoes.tipo == TipoEntregas.Coleta ? 'Coleta realizada' : 'Entrega realizada'; break;\r\n case 7: retorno = informacoes.tipo == TipoEntregas.Coleta ? 'Coleta realizada com exceção' : 'Entrega realizada com exceção'; break;\r\n }\r\n }\r\n return retorno;\r\n }\r\n\r\n retornaIcone(item) {\r\n let informacoes = JSON.parse(item.Informacoes)\r\n let codigo = 0;\r\n let icone: string;\r\n\r\n if (isNull(item.IdRoteiroSituacao) && isNull(item.IdRoteiroPedidoSituacao)) {\r\n codigo = item.CodigoAcao;\r\n } else if (!isNull(item.IdRoteiroSituacao)) {\r\n switch (item.IdRoteiroSituacao) {\r\n case 1: codigo = 18; break; //Roteiro - Novo\r\n case 2: codigo = 8; break; //Roteiro - Iniciado\r\n case 3: codigo = 9; break; //Roteiro - Pausado\r\n case 4: codigo = 10; break; //Roteiro - Saída\r\n case 5: codigo = 19; break; //Roteiro - Finalizado\r\n }\r\n } else {\r\n switch (item.IdRoteiroPedidoSituacao) {\r\n case 1: codigo = 20; break; //Entrega em aberto\r\n case 2: codigo = 3; break; //Check-in\r\n case 3: codigo = 4; break; //Início da Entrega\r\n case 4: codigo = 16; break; //RotaGPSAcao\r\n case 5: codigo = 17; break; //Recebimento recusado\r\n case 6: codigo = 5; break; //Entrega Realizada\r\n case 7: codigo = 15; break; //Entrega Realizada com exceção > criar com ponto de exclação\r\n }\r\n }\r\n\r\n let options = null;\r\n if(item.CodigoAcao == 20){\r\n options ={icone: 'Odometro'}\r\n }\r\n else if (informacoes.tipo == TipoEntregas.Coleta && ( item.IdRoteiroPedidoSituacao == 3 || item.IdRoteiroPedidoSituacao == 5 || item.IdRoteiroPedidoSituacao == 6 || item.IdRoteiroPedidoSituacao == 7)){\r\n options ={icone: 'RotaGPSAcaoColeta' + codigo.toString()}\r\n }\r\n else{\r\n options ={icone: 'RotaGPSAcao' + codigo.toString()}\r\n }\r\n\r\n icone=this.svgService.geraSVG(options)\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(icone);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n exibirClienteMapa(codigoCliente: number) {\r\n this.graphicService.retornarPontoCliente(codigoCliente);\r\n }\r\n\r\n exibirAcaoMapa(idCoordenada: number, checado: boolean) {\r\n checado = checado == null? true: !checado;\r\n let item = this.infoHistoricoAcoes.find(x => x.IdCoordenada == idCoordenada);\r\n item.check = checado;\r\n\r\n if (item) {\r\n item.TextoInfo = this.retornaAcao(item);\r\n item.Cliente = '';\r\n\r\n if (item.CodigoCliente > 0) {\r\n item.Cliente = item.CodigoCliente + ' - ' + item.RazaoSocial;\r\n }\r\n\r\n this.graphicService.criarPontoAcao(item, checado);\r\n }\r\n }\r\n\r\n marcarTodos(checado: boolean) {\r\n var itens = $(\"#timeline-acoes input:checkbox\");\r\n if (!checado) {\r\n for (var i = 0; i < itens.length; i++) {\r\n if ($(itens[i])[0].checked == false) {\r\n this.exibirAcaoMapa($(itens[i])[0].value, true);\r\n $(itens[i])[0].checked = true;\r\n }\r\n }\r\n }\r\n else {\r\n for (var i = 0; i < itens.length; i++) {\r\n if ($(itens[i])[0].checked == true) {\r\n this.exibirAcaoMapa($(itens[i])[0].value, false);\r\n $(itens[i])[0].checked = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n alteraExibirTodos(){\r\n this.exibirTodos = !this.exibirTodos;\r\n this.marcarTodos(this.exibirTodos)\r\n }\r\n\r\n limpaBuscaAcao(){\r\n this.pesquisaAcoes = '';\r\n }\r\n\r\n downloadOdometro(){\r\n document.getElementById('btnDownloadCompOdometro').click();\r\n }\r\n\r\n async comprovanteEntrega(item){\r\n let pedidos = this.boxInfoRouterService.infoRouter.find((cliente: any) => cliente.CodigoCliente == item.CodigoCliente && cliente.IdPedidoConfirmacaoEntrega != null).pedidos;\r\n this.boxInfoRouterService.dadosComprovante = null;\r\n let idPedidoConfirmacaoEntrega = null;\r\n let contemConfirmacaoEntrega = pedidos.some((pedido) => pedido.IdPedidoConfirmacaoEntrega != null);\r\n if(contemConfirmacaoEntrega){\r\n idPedidoConfirmacaoEntrega = pedidos.find((pedido) => pedido.IdPedidoConfirmacaoEntrega != null).IdPedidoConfirmacaoEntrega\r\n }\r\n\r\n if(idPedidoConfirmacaoEntrega){\r\n let resultado = await this.boxInfoRouterService.getComprovante(idPedidoConfirmacaoEntrega);\r\n \r\n item.NomeRecebedor = resultado.NomeRecebedor;\r\n item.DocumentoRecebedor = resultado.DocumentoRecebedor;\r\n\r\n if(resultado.Arquivo){\r\n item.Arquivo = Util.decompress(resultado.Arquivo);\r\n this.boxInfoRouterService.dadosComprovante = item;\r\n }\r\n }\r\n else{ \r\n this.notificationService.showInformativo('Comprovante não localizado'); \r\n setTimeout(() => {\r\n document.getElementById('btnCloseModalDadoRecebedor').click(); \r\n }, 1); \r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n Exibir todos no mapa\r\n
\r\n \r\n
\r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n
  • \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    {{ itens[0].Acao }} {{ itens[0].Data.replace('Z' , '') | date:'HH:mm' }}

    \r\n

    {{ itens[0].km}} km

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    0,'d-flex': i > 0, 'align-items-center': i > 0 }\" > \r\n 0\" class=\"mr-2\">\r\n \r\n \r\n \r\n
    \r\n
    \r\n

    {{ item.Acao }} {{ item.Data.replace('Z' , '') | date:'HH:mm' }}

    \r\n

    {{ item.CodigoCliente }} - {{ item.RazaoSocial }}

    \r\n

    {{ item.km}} km

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n
  • \r\n\r\n
    \r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class BoxHistoricoAcoesService {\r\n\r\n listHistoryAction: any;\r\n constructor(\r\n private conService: ApiConService,\r\n private boxListTruckService: BoxListTruckService\r\n ) { }\r\n\r\n async getHistoryAction() \r\n {\r\n try \r\n {\r\n const response: JsonReturn = await this.conService.patch('DCcoordenadas/' + this.boxListTruckService.roteiroSelecionado);\r\n this.listHistoryAction = response.response;\r\n }\r\n catch (Error) \r\n { \r\n console.log('BoxInfoTruckService');\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getListaDeAcoes(){\r\n try{\r\n let response: JsonReturn = await this.conService.patch(`DCcoordenadas/listaDeAcoes/${this.boxListTruckService.roteiroSelecionado}`);\r\n return response.response;\r\n }catch (Error) {\r\n console.log(Error);\r\n return [];\r\n }\r\n }\r\n\r\n async getListaDeAcoesPorPedido(codigoCliente){\r\n try{\r\n let response: JsonReturn = await this.conService.patch('DCcoordenadas/listaDeAcoesLogPedido/' + this.boxListTruckService.roteiroSelecionado+ '/' + codigoCliente);\r\n return response.response;\r\n }catch (Error) {\r\n console.log(Error);\r\n return [];\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BoxInfoAlertService } from '../box-info-alert/box-info-alert.service';\r\nimport { RouteService } from '../shared/route.service';\r\nimport { Util } from '../shared/Util';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'box-info-alert',\r\n templateUrl: './box-info-alert.component.html',\r\n styleUrls: ['./box-info-alert.component.css']\r\n})\r\nexport class BoxInfoAlertComponent implements OnInit {\r\n urlOcorrencias = '';\r\n\r\n constructor(\r\n public boxInfoAlertService: BoxInfoAlertService,\r\n private routeService: RouteService,\r\n private util: Util\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.urlOcorrencias = environment.url_telaOcorrencias + '/index.html' + window.location.search;\r\n this.getInfoAlertRouter();\r\n }\r\n\r\n async getInfoAlertRouter() {\r\n const response = await this.boxInfoAlertService.getInfoAlertRouter(); \r\n this.boxInfoAlertService.alertRouter.forEach(element => {\r\n element.dadosStatus = this.statusOcorrencia(element.IdStatus)\r\n });\r\n }\r\n\r\n abrirOcorrencia(){ \r\n window.open(this.urlOcorrencias, \"_blank\");\r\n }\r\n\r\n statusOcorrencia(idStatus){\r\n switch (idStatus) {\r\n case 1: \r\n case 2: return {msg: 'Em andamento', cor:'#81D4FA', caminho: '../../assets/img/icons/icon_pill_oc_andamento.svg'};\r\n case 3: return {msg: 'Finalizado', cor: '#7FF3B9', caminho: '../../assets/img/icons/icon-status-finalizado.svg' };\r\n }\r\n }\r\n}\r\n","
    \r\n
  • \r\n

    {{ item.Motivo }} - {{ item.CodigoOcorrencia }}

    \r\n

    {{ item.Data.replace('Z', '') | date: 'dd/MM/yyyy' }} às {{ item.Data.replace('Z', '') | date: 'hh:MM' }}

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
  • \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class BoxInfoAlertService {\r\n\r\n alertRouter: any;\r\n constructor(\r\n private conService: ApiConService,\r\n private boxListTruckService: BoxListTruckService\r\n ) {\r\n\r\n }\r\n\r\n async getInfoAlertRouter() \r\n {\r\n try \r\n {\r\n const response: JsonReturn = await this.conService.patch('DCocorrencias/' + this.boxListTruckService.roteiroSelecionado);\r\n this.alertRouter = response.response;\r\n }\r\n catch (Error){\r\n console.log(\"CATCH________getInfoAlertRouter\");\r\n console.log(Error);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport {ApiConService } from '../shared/api-con.service';\r\nimport { SituacaoOdometro, Util } from '../shared/Util';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { BoxHistoricoAcoesService } from '../box-historico-acoes/box-historico-acoes.service';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { DashboardService } from '../dashboard/dashboard.service';\r\nimport swal from 'sweetalert2';\r\nimport { DatePipe } from '@angular/common';\r\nimport { JsonReturn, ObjectParam } from '../shared/interface/generic-interface';\r\n\r\ndeclare let jsPDF;\r\n@Component({\r\n selector: 'box-info-delivery-router',\r\n templateUrl: './box-info-delivery-router.component.html',\r\n styleUrls: ['./box-info-delivery-router.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class BoxInfoDeliveryRouterComponent implements OnInit {\r\n\r\n @Input() dados;\r\n distanciaPercorrida: boolean = true;\r\n distanciaPlanejada: boolean = true;\r\n formularioConfigApp: FormGroup;\r\n versaoApp: string;\r\n contemManterSequenciaEntrega: boolean;\r\n kmPercorridaAtualizada = false;\r\n radioValue: string;\r\n kmOdometroInicio: number = null;\r\n kmOdometroFinal: number = null;\r\n dadosOdometro: any;\r\n datakmOdometroInicio: string = null;\r\n dataKmOdometroFinal: string = null;\r\n loadingBtnDownloadOdometro = false;\r\n solicitaOdometro = false;\r\n descricaoUltimaEntrega = 'Última entrega';\r\n imgUltimaEntrega = 'assets/img/status_odometro_final.svg'\r\n distanciaPercorridaPorcentagem = 0\r\n icones: any[] = [];\r\n listaKmPercorrida = [];\r\n tituloDistancia = ''\r\n fotoOdoInicial: string | null = null;\r\n loadingFotoOdo: boolean = false;\r\n showModalOdometro: boolean = false;\r\n fotoOdoFinal: string | null = null;\r\n dataFinalOdometro: string | null = null;\r\n dataInicialOdometro: string | null = null;\r\n distanciaOdometro: number = null;\r\n private imagesLoaded: number = 0;\r\n \r\n \r\n @ViewChild('progressBar') progressBar!: ElementRef;\r\n\r\n constructor\r\n (\r\n private boxListTruckService: BoxListTruckService,\r\n private util: Util,\r\n public graphicService: GraphicService, \r\n private apiConService: ApiConService,\r\n private boxHistoricoAcoesService : BoxHistoricoAcoesService,\r\n private fb: FormBuilder,\r\n private dashboardService: DashboardService,\r\n private datePipe: DatePipe,\r\n )\r\n { }\r\n\r\n async ngOnInit() \r\n {\r\n const infoRota = JSON.parse(this.boxListTruckService.listTruckService.InfoRota)\r\n this.solicitaOdometro = infoRota?.InfoRoteirizacao?.solicitaFotoOdometro ?? false;\r\n let configuracaoApp = infoRota.ConfigRecebimentoApp || \"0\"; \r\n this.contemManterSequenciaEntrega = infoRota.ManterSequenciaEntrega ?? null; \r\n\r\n let manterSequenciaEntrega = infoRota.ManterSequenciaEntrega == true? 1 : 0 ?? 0; \r\n let permitirInicioPrevisao = infoRota?.PermitirIniciarRoteiroAntesPrevisao\r\n let permitirIniciarRoteiroAntesPrevisao = permitirInicioPrevisao != null? permitirInicioPrevisao? 1: 0 : 1\r\n this.versaoApp = this.boxListTruckService.listTruckService.VersaoApp; \r\n\r\n this.formularioConfigApp = this.fb.group({\r\n config: [configuracaoApp],\r\n manterSequenciaEntrega: [manterSequenciaEntrega],\r\n permitirIniciarRoteiroAntesPrevisao: [permitirIniciarRoteiroAntesPrevisao],\r\n })\r\n\r\n await this.atualizaDadosOdometro();\r\n this.atualizaDadosUltimaEntregas(infoRota);\r\n\r\n await this.getInfoDeliveryRouter();\r\n this.alterarKmPercorridaInfoRota();\r\n this.distanciaPercorridaPorcentagem = (+this.graphicService.distanciaTotalRealizada.toFixed(1) * 100 / +this.graphicService.distanciaTotalPlanejada.toFixed(1));\r\n }\r\n\r\n\r\n alternarModalOdometro() {\r\n this.carregarFotoOdometro();\r\n this.showModalOdometro = !this.showModalOdometro;\r\n }\r\n\r\n async carregarFotoOdometro() {\r\n this.loadingFotoOdo = true;\r\n try {\r\n let fotoInicio, fotoFinal;\r\n if(this.kmOdometroInicio != null){\r\n fotoInicio = await this.boxListTruckService.getFotoOdometro(\r\n this.boxListTruckService.roteiroSelecionado, \r\n SituacaoOdometro.Inicio\r\n );\r\n this.fotoOdoInicial = `data:image/jpeg;base64,${fotoInicio}`;\r\n } \r\n\r\n if(this.kmOdometroFinal != null){ \r\n fotoFinal = await this.boxListTruckService.getFotoOdometro(\r\n this.boxListTruckService.roteiroSelecionado, \r\n SituacaoOdometro.Final\r\n );\r\n this.fotoOdoFinal = `data:image/jpeg;base64,${fotoFinal}`; \r\n } \r\n\r\n this.dataInicialOdometro = this.datePipe.transform(this.datakmOdometroInicio, 'dd/MM/yyyy HH:mm');\r\n this.dataFinalOdometro = this.datePipe.transform(this.dataKmOdometroFinal, 'dd/MM/yyyy HH:mm');\r\n this.distanciaOdometro = (this.kmOdometroFinal - this.kmOdometroInicio)\r\n \r\n \r\n } catch (error) {\r\n console.error('Erro ao carregar as fotos do odômetro:', error);\r\n } finally {\r\n this.loadingFotoOdo = false;\r\n }\r\n }\r\n\r\n\r\n atualizaIconeKmPercorrida() { \r\n this.listaKmPercorrida = [];\r\n if(!this.solicitaOdometro){\r\n const valor = +this.graphicService.distanciaTotalRealizada.toFixed(1) * 100 / +this.graphicService.distanciaTotalPlanejada\r\n this.gerarListaIcons(valor);\r\n this.distanciaPercorridaPorcentagem = valor; \r\n } \r\n }\r\n\r\n gerarListaIcons(valor) {\r\n \r\n const larguraBarraProgresso = this.progressBar.nativeElement.offsetWidth; \r\n const larguraIcone = 18;\r\n const numeroIcone = Math.floor(larguraBarraProgresso / larguraIcone);\r\n\r\n this.icones = Array(numeroIcone).fill(1);\r\n\r\n for (let i = 0; i < this.icones.length; i++) {\r\n const valorCalculado = (i + 1) * 5;\r\n if (valorCalculado <= valor && this.listaKmPercorrida.length < 20 ) {\r\n this.listaKmPercorrida.push(valorCalculado);\r\n }\r\n }\r\n }\r\n \r\n async getInfoDeliveryRouter() \r\n {\r\n this.dados.primeira_entrega = this.dados.primeira_entrega != undefined && this.dados.primeira_entrega != null ? this.util.converteData(this.dados.primeira_entrega) : ''\r\n this.dados.ultima_entrega = this.dados.ultima_entrega != undefined && this.dados.ultima_entrega != null ? this.util.converteData(this.dados.ultima_entrega) : '';\r\n }\r\n exibirDistanciaPercorrida()\r\n {\r\n this.distanciaPercorrida = !this.distanciaPercorrida;\r\n this.graphicService.exibirDistanciaPercorrida(this.distanciaPercorrida);\r\n }\r\n\r\n exibirDistanciaPlanejada()\r\n {\r\n this.distanciaPlanejada = !this.distanciaPlanejada;\r\n this.graphicService.exibirDistanciaPlanejada(this.distanciaPlanejada);\r\n } \r\n\r\n alterarKmPercorridaInfoRota(){\r\n const kmOdometroInicio = this.boxListTruckService.listTruckService.KmOdometroInicio ?? null;\r\n const kmOdometroFinal = this.boxListTruckService.listTruckService.KmOdometroFinal ?? null;\r\n let kmPercorrida = JSON.parse(this.boxListTruckService.listTruckService.InfoRota).KmPercorrido;\r\n\r\n if(this.boxListTruckService.listTruckService.IdRoteiroSituacao === 5 && kmPercorrida === undefined && kmOdometroInicio == null && kmOdometroFinal == null){ \r\n let infoRota = JSON.parse( this.boxListTruckService.listTruckService.InfoRota); \r\n let numeroRoteiro = this.boxListTruckService.roteiroSelecionado\r\n\r\n ///Adiciona os campos NomeMotorista,PlacaVeiculo,DescricaoVeiculo devido no get os nomes dos campos retornar com AS nome_motorista,cod_veiculo, veiculo...\r\n this.boxListTruckService.listTruckService = {\r\n ...this.boxListTruckService.listTruckService,\r\n NomeMotorista: this.boxListTruckService.listTruckService.nome_motorista,\r\n PlacaVeiculo: this.boxListTruckService.listTruckService.cod_veiculo,\r\n DescricaoVeiculo: this.boxListTruckService.listTruckService.veiculo\r\n }\r\n \r\n\r\n setTimeout(async () => {\r\n infoRota = {\r\n ...infoRota, \r\n KmPercorrido: this.graphicService.distanciaTotalRealizada.toFixed(3), \r\n } \r\n\r\n let infoRotaString = JSON.stringify(infoRota);\r\n this.boxListTruckService.listTruckService.InfoRota = infoRotaString;\r\n let objParam: ObjectParam = {\r\n roteiro: this.boxListTruckService.listTruckService\r\n }\r\n objParam.roteiro.NumeroRoteiro =this.boxListTruckService.listTruckService.roteiro\r\n await this.apiConService.put('DCroteiros', numeroRoteiro.toString(), objParam)\r\n \r\n }, 5000) \r\n }\r\n }\r\n\r\n async atualizaKmPercorrida(){\r\n this.kmPercorridaAtualizada = true;\r\n let distanciaTotal = 0 \r\n let pontosComUltimaPosicao = this.boxHistoricoAcoesService.listHistoryAction.filter(\r\n x => (x.CodigoAcao === 1 || x.CodigoAcao === 7) && x.Latitude != 0\r\n );\r\n\r\n let pontos = pontosComUltimaPosicao.map((item, index) => {\r\n if(item.CodigoAcao == 1){ \r\n return {ponto: item, index: index};\r\n }\r\n }).filter((item) => {if(item != undefined)return item}).reduce((acc, curr) => {\r\n const x = acc.find(value => value.ponto.CodigoAcao === curr.ponto.CodigoAcao && value.ponto.Data === curr.ponto.Data && value.ponto.Latitude === curr.ponto.Latitude && value.ponto.Longitude === curr.ponto.Longitude);\r\n if (!x) {\r\n return acc.concat([curr]);\r\n } else {\r\n return acc;\r\n }\r\n }, []);\r\n\r\n let versaoApp = this.boxListTruckService.listTruckService.VersaoApp; \r\n \r\n if(versaoApp >= '2.0.0' && this.util.cnpjEmpresas.length > 0){\r\n let filtroCnpjs = pontos.filter((ponto) => {\r\n let cnpj = JSON.parse(ponto.ponto.Informacoes).cnpj\r\n return this.util.cnpjEmpresas.includes(cnpj)\r\n });\r\n pontos = filtroCnpjs;\r\n } \r\n\r\n for (let i = 0; i < pontos.length; i++){\r\n if(i > 1){\r\n let distancia = this.util.calcularDistanciaGeo(pontos[i-1].ponto.Latitude, pontos[i-1].ponto.Longitude, pontos[i].ponto.Latitude, pontos[i].ponto.Longitude);\r\n distanciaTotal += distancia; \r\n }\r\n }\r\n\r\n this.graphicService.distanciaTotalRealizada = distanciaTotal;\r\n \r\n if(this.boxListTruckService.listTruckService.IdRoteiroSituacao === 5){\r\n let infoRota = JSON.parse( this.boxListTruckService.listTruckService.InfoRota); \r\n \r\n this.boxListTruckService.listTruckService = {\r\n ...this.boxListTruckService.listTruckService,\r\n NomeMotorista: this.boxListTruckService.listTruckService.nome_motorista,\r\n PlacaVeiculo: this.boxListTruckService.listTruckService.cod_veiculo,\r\n DescricaoVeiculo: this.boxListTruckService.listTruckService.veiculo\r\n }\r\n\r\n delete infoRota.KmPercorrido;\r\n infoRota = {\r\n ...infoRota, \r\n KmPercorrido: this.graphicService.distanciaTotalRealizada.toFixed(3), \r\n } \r\n\r\n let infoRotaString = JSON.stringify(infoRota);\r\n this.boxListTruckService.listTruckService.InfoRota = infoRotaString;\r\n let objParam: ObjectParam = {\r\n roteiro: this.boxListTruckService.listTruckService\r\n }\r\n objParam.roteiro.NumeroRoteiro =this.boxListTruckService.listTruckService.roteiro\r\n await this.apiConService.put('DCroteiros', this.boxListTruckService.roteiroSelecionado.toString(), objParam);\r\n\r\n }\r\n\r\n }\r\n\r\n async atualizaConfigApp(){\r\n let config = this.formularioConfigApp.value.config;\r\n let infoRota = JSON.parse( this.boxListTruckService.listTruckService.InfoRota);\r\n \r\n let contemNomeMotorista = this.boxListTruckService.listTruckService.nome_motorista;\r\n\r\n if(contemNomeMotorista){\r\n this.boxListTruckService.listTruckService = {\r\n ...this.boxListTruckService.listTruckService,\r\n NomeMotorista: this.boxListTruckService.listTruckService.nome_motorista,\r\n PlacaVeiculo: this.boxListTruckService.listTruckService.cod_veiculo,\r\n DescricaoVeiculo: this.boxListTruckService.listTruckService.veiculo\r\n } \r\n }\r\n \r\n delete infoRota.ConfigRecebimentoApp;\r\n infoRota = {\r\n ...infoRota, \r\n ConfigRecebimentoApp: config.toString() \r\n } \r\n\r\n let infoRotaString = JSON.stringify(infoRota);\r\n this.boxListTruckService.listTruckService.InfoRota = infoRotaString;\r\n let objParam: ObjectParam = {\r\n roteiro: this.boxListTruckService.listTruckService\r\n }\r\n objParam.roteiro.NumeroRoteiro =this.boxListTruckService.listTruckService.roteiro\r\n await this.apiConService.put('DCroteiros', this.boxListTruckService.roteiroSelecionado.toString(), objParam);\r\n \r\n }\r\n\r\n atualizaCoordenadas() {\r\n this.dashboardService.nuRotAtualizaCoordenadas = this.boxListTruckService.roteiroSelecionado; \r\n document.getElementById('voltaTelaInicial').click();\r\n document.getElementById('abrirVisualizadorDeRoteiros').click(); \r\n this.dashboardService.nuRotAtualizaCoordenadas = 0; \r\n }\r\n\r\n async desativaCoordenada(){\r\n const idCooordenada = window[\"idCoordenada\"] \r\n const resultado = await this.confirmacaoDesativaCoordenada()\r\n\r\n if(resultado){\r\n try {\r\n await this.apiConService.patch(`DCcoordenadas/desativaCoordenada/${idCooordenada}`);\r\n this.atualizaCoordenadas();\r\n } catch (error) {\r\n console.log(\"Erro ao atualizar coordenada\")\r\n } \r\n }\r\n }\r\n\r\n\r\n confirmacaoDesativaCoordenada() : Promise { \r\n\r\n return swal.fire({\r\n text: \"Tem certeza que deseja desativar essa coordenada?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Desativar',\r\n cancelButtonText: \"Voltar\"\r\n }).then((result) => result.isConfirmed)\r\n }\r\n\r\n atualizaManterSequencia(){\r\n let manterSequenciaEntrega = this.formularioConfigApp.value.manterSequenciaEntrega == 1? true: false;\r\n let infoRota = JSON.parse( this.boxListTruckService.listTruckService.InfoRota);\r\n\r\n delete infoRota.ManterSequenciaEntrega\r\n infoRota = {\r\n ...infoRota, \r\n ManterSequenciaEntrega: manterSequenciaEntrega\r\n } \r\n let objParam: ObjectParam = {\r\n infoRota: JSON.stringify(infoRota)\r\n }\r\n this.apiConService.put('DCroteiros/infoRota', this.boxListTruckService.roteiroSelecionado.toString(), objParam)\r\n\r\n }\r\n\r\n atualizaPermiInicRotAntesPrevisao(){\r\n let permitirIniciarRoteiroAntesPrevisao = this.formularioConfigApp.value.permitirIniciarRoteiroAntesPrevisao == 1? true: false;\r\n let infoRota = JSON.parse( this.boxListTruckService.listTruckService.InfoRota);\r\n\r\n delete infoRota.PermitirIniciarRoteiroAntesPrevisao\r\n infoRota = {\r\n ...infoRota, \r\n PermitirIniciarRoteiroAntesPrevisao: permitirIniciarRoteiroAntesPrevisao\r\n } \r\n let objParam: ObjectParam = {\r\n infoRota: JSON.stringify(infoRota)\r\n }\r\n this.apiConService.put('DCroteiros/infoRota', this.boxListTruckService.roteiroSelecionado.toString(), objParam)\r\n\r\n }\r\n\r\n async atualizaDadosOdometro(){\r\n this.fotoOdoInicial = null;\r\n this.fotoOdoFinal = null\r\n this.kmOdometroInicio = this.dados.KmOdometroInicio;\r\n this.kmOdometroFinal = this.dados.KmOdometroFinal;\r\n this.tituloDistancia = this.kmOdometroInicio == null || this.kmOdometroFinal == null? 'Distância percorrida' : 'Percorrida no odômetro'\r\n\r\n if(this.kmOdometroInicio != null){\r\n let retorno: JsonReturn = await this.apiConService.patch(`DCcoordenadas/dadosOdometro/${this.boxListTruckService.roteiroSelecionado}`)\r\n this.dadosOdometro = retorno.response;\r\n this.datakmOdometroInicio = this.dadosOdometro[0].Data.replace('Z', '');\r\n\r\n if(this.kmOdometroFinal != null){\r\n this.dataKmOdometroFinal = this.dadosOdometro[1].Data.replace('Z', '');\r\n }\r\n\r\n }\r\n }\r\n\r\n async downloadFotosOdometros(){\r\n this.loadingBtnDownloadOdometro = true; \r\n const dataInicialFormatada = this.datePipe.transform(this.datakmOdometroInicio, 'dd/MM/yyyy HH:mm');\r\n const dataFinalFormatada = this.datePipe.transform(this.dataKmOdometroFinal, 'dd/MM/yyyy HH:mm');\r\n const doc = new jsPDF(); \r\n\r\n const img1Path = this.fotoOdoInicial; \r\n const img2Path = this.fotoOdoFinal; \r\n\r\n const img1 = new Image();\r\n const img2 = new Image();\r\n\r\n img1.src = img1Path;\r\n if(this.kmOdometroFinal != null){\r\n img2.src = img2Path;\r\n }\r\n\r\n img1.onload = () => {\r\n\r\n if(this.kmOdometroFinal != null){\r\n img2.onload = () => {\r\n doc.text(`Início`, 10, 10);\r\n doc.text(`${this.kmOdometroInicio} Km | ${dataInicialFormatada}`, 10, 17);\r\n doc.text(`Distância: ${this.kmOdometroFinal - this.kmOdometroInicio} km`, 10, 25); \r\n doc.addImage(img1, 'PNG', 10, 30, 90, 90);\r\n \r\n doc.text(`Final`, 110, 10);\r\n doc.text(`${this.kmOdometroFinal} Km | ${dataFinalFormatada}`, 110, 17);\r\n doc.addImage(img2, 'PNG', 110, 30, 90, 90);\r\n doc.save(`odometro_roteiro_${this.boxListTruckService.roteiroSelecionado}.pdf`);\r\n };\r\n }else{\r\n doc.text(`Início`, 10, 10);\r\n doc.text(`${this.kmOdometroInicio} Km | ${dataInicialFormatada}`, 10, 17);\r\n if(this.kmOdometroFinal != null){\r\n doc.text(`Distância: ${this.kmOdometroFinal - this.kmOdometroInicio} km`, 10, 25); \r\n } \r\n doc.addImage(img1, 'PNG', 10, 30, 90, 90);\r\n doc.text(`Final`, 110, 10);\r\n doc.text(`--- Km | --/--/---- --:--`, 110, 17);\r\n \r\n doc.setFillColor(246, 246, 248); \r\n doc.roundedRect(105, 30, 90, 90, 8, 8, 'F'); \r\n doc.setFontSize(12);\r\n doc.text('Odômetro final não enviado até o momento', 110, 75);\r\n\r\n doc.save(`odometro_roteiro_parcial${this.boxListTruckService.roteiroSelecionado}.pdf`);\r\n }\r\n \r\n };\r\n\r\n this.loadingBtnDownloadOdometro = false;\r\n\r\n \r\n }\r\n\r\n atualizaDadosUltimaEntregas(infoRota){\r\n if(infoRota?.RetornoOrigem ?? false ){\r\n this.imgUltimaEntrega = 'assets/img/ultima_entrega_dist.svg'\r\n this.descricaoUltimaEntrega = 'Distribuidora'\r\n }else if( infoRota?.RetornoMotorista ?? false ){\r\n this.imgUltimaEntrega = 'assets/img/ultima_entrega_motor.svg'\r\n this.descricaoUltimaEntrega = 'Casa motorista'\r\n }\r\n }\r\n}\r\n\r\n","
\r\n \r\n \r\n
\r\n Entregas ({{ dados.realizadas }}/{{ dados.QtdeEntregas }})\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n 1ª Entrega\r\n {{ dados.primeira_entrega != \"\"? (dados.primeira_entrega | date : 'dd/MM/yyyy') : '--/--/---' }} às {{ dados.primeira_entrega != \"\"? (dados.primeira_entrega | date : 'HH:mm') : '--:--' }} \r\n
\r\n
\r\n \r\n
\r\n
\r\n Entrega final\r\n {{ dados.ultima_entrega != \"\" && dados.realizadas == dados.QtdeEntregas? (dados.ultima_entrega | date : 'dd/MM/yyyy') : '--/--/---' }} às {{ dados.ultima_entrega != \"\" && dados.realizadas == dados.QtdeEntregas? (dados.ultima_entrega | date : 'HH:mm') : '--:--' }}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{ ((dados.realizadas * 100) / (dados.QtdeEntregas == 0 ? 1 : dados.QtdeEntregas)).toFixed(1) }}%\r\n \r\n Última entrega feita \r\n {{ dados.ultima_entrega != \"\"? (dados.ultima_entrega | date : 'dd/MM/yyyy') : '--/--/---' }} \r\n às \r\n {{ dados.ultima_entrega != \"\"? (dados.ultima_entrega | date : 'HH:mm') : '--:--' }}\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n Distância\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n 100? graphicService.distanciaTotalPlanejada * 100 / graphicService.distanciaTotalRealizada : 100\" > \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n Dist. planejada\r\n {{ graphicService.distanciaTotalPlanejada? graphicService.distanciaTotalPlanejada.toFixed(1) : 0 }}Km\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n Dist. percorrida\r\n {{ graphicService.distanciaTotalRealizada.toFixed(1) ?? 0 }}Km\r\n 0\"\r\n [ngClass]=\"{\r\n 'alert-km-percorrida': graphicService.distanciaTotalRealizada > 120, \r\n 'danger-km-percorrida': graphicService.distanciaTotalRealizada > 150 \r\n }\"\r\n >({{ distanciaPercorridaPorcentagem.toFixed(1) }}%)\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n \"icone\r\n Ponto Final do Roteiro\r\n {{ descricaoUltimaEntrega }}\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n Odômetro inicial\r\n {{ kmOdometroInicio != null ? kmOdometroInicio.toFixed(1) : '---'}} Km\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Odômetro final\r\n {{ kmOdometroFinal != null ? kmOdometroFinal.toFixed(1) : '---'}} Km\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n Dados ôdometro\r\n \r\n
\r\n \r\n
\r\n
\r\n \"Carregando...\" \r\n

Carregando informações...

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Distância: {{distanciaOdometro}} km\r\n
\r\n \r\n
\r\n
\r\n Início\r\n {{kmOdometroInicio}} Km | {{dataInicialOdometro}}\r\n \"Foto\r\n
\r\n
\r\n Final\r\n {{kmOdometroFinal != null? kmOdometroFinal : '---'}} Km | {{ kmOdometroFinal != null? dataFinalOdometro : '--/--/---- --:--'}}\r\n \"Foto\r\n \r\n
\r\n Odômetro final não enviado até o momento\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { DiaRoteiro, Util } from '../shared/Util';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Component({\r\n selector: 'box-info-journey',\r\n templateUrl: './box-info-journey.component.html',\r\n styleUrls: ['./box-info-journey.component.css']\r\n})\r\nexport class BoxInfoJourneyComponent implements OnInit \r\n{\r\n @Input() dados;\r\n tempoTotal: string = '-';\r\n diasRoteiro: DiaRoteiro[] = [];\r\n tempoTotalRoteiro: string = '00:00'\r\n\r\n\r\n\r\n constructor\r\n (\r\n private boxListTruckService: BoxListTruckService,\r\n public graphicService: GraphicService\r\n ) \r\n { }\r\n\r\n async ngOnInit() \r\n {\r\n await this.getTempoTotalRtoeiro()\r\n this.dadosFunc();\r\n this.ordenarDiasRoteiro()\r\n }\r\n\r\n async dadosFunc() \r\n {\r\n let dados = this.dados;\r\n\r\n if(dados != undefined || dados != null)\r\n {\r\n let primeiraEntrega = dados.primeira_entrega;\r\n let ultimaEntrega = dados.ultima_entrega;\r\n\r\n if(primeiraEntrega != null && primeiraEntrega != '' && ultimaEntrega != null && ultimaEntrega != '')\r\n {\r\n let primeira = new Date(primeiraEntrega).getTime();\r\n let ultima = new Date(ultimaEntrega).getTime();\r\n this.tempoTotal = this.msToTime(ultima - primeira);\r\n }\r\n }\r\n }\r\n\r\n async getTempoTotalRtoeiro(){\r\n \r\n let response: JsonReturn = await this.boxListTruckService.getTempoTotalRtoeiro(this.dados.IdRoteiro)\r\n this.diasRoteiro = response.response;\r\n \r\n let minutos = 0;\r\n this.diasRoteiro.forEach((dia: any) => {\r\n minutos += Util.converterMinutos(dia.HoraCalcAcumuladaT);\r\n }) \r\n this.tempoTotalRoteiro = Util.converteStringHora(minutos); \r\n }\r\n\r\n ordenarDiasRoteiro() {\r\n this.diasRoteiro.sort((diaA, diaB) => {\r\n const timestampDiaA = new Date(diaA.DT).getTime();\r\n const timestampDiaB = new Date(diaB.DT).getTime();\r\n return timestampDiaA - timestampDiaB;\r\n });\r\n }\r\n\r\n\r\n msToTime(duration: number)\r\n {\r\n let milliseconds = parseInt(((duration % 1000) / 100).toFixed(0));\r\n let seconds = parseInt(((duration / 1000) % 60).toFixed(0));\r\n let minutes = parseInt(((duration / (1000 * 60)) % 60).toFixed(0));\r\n let hours = parseInt(((duration / (1000 * 60 * 60)) % 24).toFixed(0));\r\n\r\n let hoursAux = (hours < 10) ? \"0\" + hours.toString() : hours.toString();\r\n let minutesAux = (minutes < 10) ? \"0\" + minutes.toString() : minutes.toString();\r\n let secondsAux = (seconds < 10) ? \"0\" + seconds.toString() : seconds.toString();\r\n\r\n return hoursAux + \":\" + minutesAux + \":\" + secondsAux\r\n }\r\n}","
\r\n \r\n\r\n \r\n \r\n \r\n 0\" class=\"jornada-detalhes mb-2\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Dia do RoteiroDataTempo diário
{{ (i + 1) | number: '2.0' }}{{ item.DT.replace('Z', '') | date: 'dd/MM/yyyy' }}{{ item.HoraCalcAcumuladaT }}:00
\r\n
","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class BoxInfoJourneyService {\r\n\r\n constructor(private conService: ApiConService) { }\r\n\r\n async getInfoJourney() {\r\n try {\r\n const response: JsonReturn = await this.conService.patch('roteiroVeiculo');\r\n return response.response;\r\n }catch (Error) {\r\n console.log(\"CATCH________getInfoJourney\");\r\n console.log(Error);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { RouteService } from '../shared/route.service';\r\nimport { BoxInfoAlertService } from '../box-info-alert/box-info-alert.service';\r\nimport { AlertasCardService } from '../alertas-card/alertas-card.service';\r\nimport { GraphicService } from '../shared/graphic.service';\r\n\r\n@Component({\r\n selector: 'box-info-left',\r\n templateUrl: './box-info-left.component.html',\r\n styleUrls: ['./box-info-left.component.css']\r\n})\r\nexport class BoxInfoLeftComponent implements OnInit {\r\n\r\n classOpen: boolean = true;\r\n classPullRight: boolean = true;\r\n classPullDown: boolean = false;\r\n @Input() roteiro;\r\n\r\n\r\n constructor(\r\n public routeService: RouteService,\r\n public boxInfoAlertService: BoxInfoAlertService,\r\n public alertasCardService: AlertasCardService,\r\n public graphicService : GraphicService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n showHideBoxMainEditRoute() {\r\n this.classOpen = !this.classOpen;\r\n this.classPullRight = !this.classPullRight;\r\n this.classPullDown = !this.classPullDown;\r\n }\r\n}\r\n","
\r\n
    \r\n
  • \r\n {{ item.attributes.text }}\r\n
  • \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\n\r\n@Component({\r\n selector: 'box-info-path',\r\n templateUrl: './box-info-path.component.html',\r\n styleUrls: ['./box-info-path.component.css']\r\n})\r\nexport class BoxInfoPathComponent implements OnInit {\r\n\r\n infoTrajeto: any;\r\n constructor(private boxListTruckService: BoxListTruckService) { }\r\n\r\n ngOnInit() \r\n {\r\n let dados = this.boxListTruckService.listTruckService.find(x => x.roteiro == this.boxListTruckService.roteiroSelecionado);\r\n\r\n if(dados != undefined || dados != null)\r\n {\r\n }\r\n }\r\n}","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'box-info-router-addess',\r\n templateUrl: './box-info-router-addess.component.html',\r\n styleUrls: ['./box-info-router-addess.component.css']\r\n})\r\nexport class BoxInfoRouterAddessComponent implements OnInit {\r\n\r\n @Input() item: any;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public formatarCEP(cep: string) : string\r\n {\r\n if(cep == undefined || cep == null)\r\n {\r\n return '';\r\n }\r\n\r\n var resultado = cep.toString();\r\n\r\n if (cep.toString().length == 7)\r\n {\r\n resultado = \"0\" + cep.toString().substring(0, 4) + \"-\" + cep.toString().substring(4, 7);\r\n }\r\n else if (cep.toString().length == 8)\r\n {\r\n resultado = cep.toString().substring(0, 5) + \"-\" + cep.toString().substring(5, 8);\r\n }\r\n\r\n return resultado;\r\n } \r\n\r\n}","
\r\n

{{ item.NomeFantasia }}

\r\n

{{ item.Endereco }}, {{ item.Numero }}

\r\n

{{ item.Bairro }} - {{ item.Cidade }} / {{ item.UF }}

\r\n

{{ formatarCEP(item.Cep) }}

\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BoxInfoRouterService } from './box-info-router.service';\r\nimport { Util, StatusEntrega, StatusRoteiroPedidos, TipoEntregas } from '../shared/Util';\r\nimport { environment } from '../../environments/environment';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { IconService } from '../shared/icon.service';\r\n\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { PopupDetalhesPedidoService } from '../popup-detalhes-pedido/popup-detalhes-pedido.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { NotificationService } from '../shared/notification.service';\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\ndeclare let jsPDF;\r\n\r\n@Component({\r\n selector: 'box-info-router',\r\n templateUrl: './box-info-router.component.html',\r\n styleUrls: ['./box-info-router.component.css']\r\n})\r\nexport class BoxInfoRouterComponent implements OnInit {\r\n mostraComprovanteApp = false;\r\n @Input() dados = null;\r\n proximoCliente = null\r\n roteiroFinalizado = false;\r\n iconRotated = false;\r\n listaRoteiroCliente: any[] = [];\r\n tempoTotalEntrega: number = 0;\r\n versaoApp: string;\r\n iconesENomesIntervalos = [\r\n {tipo: 'REFEICAO', urlIcon: 'assets/img/lunch-router.svg', nome: 'Pausa para refeição'},\r\n {tipo: 'PERNOITE', urlIcon: 'assets/img/hotel-router.svg', nome: 'Pausa para pernoite'},\r\n {tipo: 'EXCEPCIONAL', urlIcon: 'assets/img/watch-router.svg', nome: 'Pausa excepcional'}\r\n ];\r\n pesquisaCliente: any;\r\n mostrarClientesVisitados = true;\r\n selectedIndex: number | null = null;\r\n\r\n\r\n constructor(\r\n private boxInfoRouterService: BoxInfoRouterService,\r\n private boxListTruckService: BoxListTruckService,\r\n private util: Util,\r\n private graphicService: GraphicService,\r\n private iconService: IconService,\r\n private detalhesPedidosServices: PopupDetalhesPedidoService,\r\n private notificationService: NotificationService,\r\n public sanitizer:DomSanitizer\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getInfoRouter();\r\n this.versaoApp = this.boxListTruckService.listTruckService.VersaoApp;\r\n let infoRota = JSON.parse(this.dados.InfoRota)\r\n this.mostraComprovanteApp = infoRota.ConfigRecebimentoApp == '0' ? false : true;\r\n }\r\n\r\n async getInfoRouter()\r\n {\r\n await this.graphicService.limparPontosMapa();\r\n let codigoClienteAnterior: any;\r\n let contador: number = 1;\r\n this.listaRoteiroCliente = [];\r\n this.graphicService.posicaoCliente = {};\r\n this.tempoTotalEntrega = 0;\r\n this.graphicService.duracaoTotalEntrega = \"00:00\";\r\n\r\n await this.boxInfoRouterService.getInfoIntervalos();\r\n await this.boxInfoRouterService.getInfoRouter();\r\n this.preencheCustoDescargaCli()\r\n\r\n let infoRota: any = JSON.parse(this.dados.InfoRota) ?? false;\r\n let consideraEndPed = infoRota.ConsideraEndPed? true: false;\r\n\r\n for(let i = 0; i < this.boxInfoRouterService.infoRouter.length; i++)\r\n {\r\n if(consideraEndPed || codigoClienteAnterior != this.boxInfoRouterService.infoRouter[i].CodigoCliente)\r\n {\r\n let valorTotalPedido = 0;\r\n let pesoTotalPedido = 0;\r\n\r\n this.graphicService.posicaoCliente[this.boxInfoRouterService.infoRouter[i].CodigoCliente] = contador;\r\n\r\n this.boxInfoRouterService.infoRouter[i].pedidos = [];\r\n\r\n let temOcorrencia = this.boxInfoRouterService.infoRouter[i].problemaReportado;\r\n let regiaoRisco = this.boxInfoRouterService.infoRouter[i].RegiaoRisco\r\n let codigoAcao = this.boxInfoRouterService.infoRouter[i].CodigoAcao;\r\n let IdRoteiroPedidoSituacao = this.boxInfoRouterService.infoRouter[i].IdRoteiroPedidoSituacao;\r\n\r\n // Verifica os pedidos do cliente\r\n let filtroPedido = [];\r\n if(consideraEndPed){\r\n filtroPedido = [this.boxInfoRouterService.infoRouter[i]]\r\n }else{\r\n filtroPedido = this.boxInfoRouterService.infoRouter.filter(x => x.CodigoCliente == this.boxInfoRouterService.infoRouter[i].CodigoCliente);\r\n }\r\n\r\n for(let j = 0; j < filtroPedido.length; j++)\r\n {\r\n let pedido: any = {};\r\n\r\n pedido.DataPedido = filtroPedido[j].DataPedido;\r\n pedido.FormaPagamento = filtroPedido[j].FormaPagamento;\r\n pedido.FormaPagamentoEfetuada = filtroPedido[j].FormaPagamentoEfetuada;\r\n pedido.Nf = filtroPedido[j].Nf;\r\n pedido.NumeroPedido = filtroPedido[j].NumeroPedido;\r\n pedido.Peso = filtroPedido[j].Peso;\r\n pedido.QtdeVolumes = filtroPedido[j].QtdeVolumes;\r\n pedido.ValorPedido = filtroPedido[j].ValorPedido;\r\n pedido.IdRoteiroPedidoSituacao = filtroPedido[j].IdRoteiroPedidoSituacao;\r\n pedido.EntregaRealizada = filtroPedido[j].EntregaRealizada\r\n pedido.detalhePedido = filtroPedido[j].ResumoNFeJSON\r\n pedido.RegiaoRisco = filtroPedido[j].RegiaoRisco\r\n pedido.Tipo = filtroPedido[j].Tipo\r\n pedido.IdPedidoConfirmacaoEntrega = filtroPedido[j].IdPedidoConfirmacaoEntrega\r\n\r\n valorTotalPedido += filtroPedido[j].ValorPedido;\r\n pesoTotalPedido += filtroPedido[j].Peso;\r\n\r\n this.boxInfoRouterService.infoRouter[i].pedidos.push(pedido);\r\n }\r\n\r\n let statusEntrega = await this.statusEntrega(this.boxInfoRouterService.infoRouter[i].pedidos);\r\n let parcial = [\r\n StatusEntrega.Parcial,\r\n StatusEntrega.ParcialComNaoIniciada,\r\n StatusEntrega.ParcialComVoltoDepois,\r\n StatusEntrega.ParcialNoCliente,\r\n StatusEntrega.FinalizadoExcecao].indexOf(statusEntrega) != -1;\r\n\r\n //Verificar se o ícone do cliente é parcial ou não\r\n\r\n let unSanitizaded =true\r\n let temColeta = this.boxInfoRouterService.infoRouter[i].pedidos.some((pedido) => pedido.Tipo == TipoEntregas.Coleta)\r\n let urlSujo = this.iconService.iconeCliente(contador, codigoAcao, temOcorrencia, parcial, IdRoteiroPedidoSituacao, statusEntrega, regiaoRisco, unSanitizaded, temColeta);\r\n let urlLimpo = this.iconService.iconeCliente(contador, codigoAcao, temOcorrencia, parcial, IdRoteiroPedidoSituacao, statusEntrega, regiaoRisco, null, temColeta);\r\n\r\n this.boxInfoRouterService.infoRouter[i].urlImagemRoteiroBoxLateral =urlLimpo\r\n this.boxInfoRouterService.infoRouter[i].urlImagemRoteiro = urlSujo\r\n\r\n this.boxInfoRouterService.infoRouter[i].valorTotalPedido = valorTotalPedido;\r\n this.boxInfoRouterService.infoRouter[i].pesoTotalPedido = pesoTotalPedido;\r\n this.boxInfoRouterService.infoRouter[i].dataInicioEntrega = this.boxInfoRouterService.infoRouter[i].dataInicioEntrega != null ? this.util.converteData(this.boxInfoRouterService.infoRouter[i].dataInicioEntrega) : null;\r\n this.boxInfoRouterService.infoRouter[i].dataFinalEntrega = this.boxInfoRouterService.infoRouter[i].dataFinalEntrega != null ? this.util.converteData(this.boxInfoRouterService.infoRouter[i].dataFinalEntrega) : null;\r\n this.boxInfoRouterService.infoRouter[i].tempoEntrega = this.boxInfoRouterService.infoRouter[i].tempoEntrega != null ? this.boxInfoRouterService.infoRouter[i].tempoEntrega.toString().split('T')[1].replace('.000Z', '') : '-'\r\n\r\n let entregaParcial = this.boxInfoRouterService.infoRouter.some(\r\n (pedido) =>\r\n pedido.CodigoCliente == this.boxInfoRouterService.infoRouter[i].CodigoCliente\r\n && pedido.IdRoteiroPedidoSituacao == StatusRoteiroPedidos.EntregaParcial )\r\n\r\n\r\n this.boxInfoRouterService.infoRouter[i].IdRoteiroPedidoSituacao =\r\n entregaParcial? StatusRoteiroPedidos.EntregaParcial:\r\n this.boxInfoRouterService.infoRouter[i].IdRoteiroPedidoSituacao !== null ?\r\n this.boxInfoRouterService.infoRouter[i].IdRoteiroPedidoSituacao : 1;\r\n\r\n\r\n this.boxInfoRouterService.infoRouter[i].statusEntrega = statusEntrega;\r\n\r\n this.tempoTotalEntrega += parseInt(this.boxInfoRouterService.infoRouter[i].tempoEntregaValor);\r\n\r\n if(this.boxInfoRouterService.infoRouter[i].dataInicioEntrega == null && this.boxInfoRouterService.infoRouter[i].dataFinalEntrega != null)\r\n {\r\n this.boxInfoRouterService.infoRouter[i].dataInicioEntrega = this.boxInfoRouterService.infoRouter[i].dataFinalEntrega;\r\n }\r\n\r\n this.listaRoteiroCliente.push(this.boxInfoRouterService.infoRouter[i]);\r\n contador++;\r\n }\r\n\r\n codigoClienteAnterior = this.boxInfoRouterService.infoRouter[i].CodigoCliente;\r\n }\r\n\r\n //Adiciona intervalo na listaRoteiroCliente\r\n let controle = 0\r\n if(this.boxInfoRouterService.infoIntervalos){\r\n this.boxInfoRouterService.infoIntervalos.forEach(element => {\r\n let intervalo = {\r\n minutos: element.Minutos.toString(),\r\n nome: this.iconesENomesIntervalos.find( (x) => x.tipo === element.Tipo).nome,\r\n urlIcon: this.iconesENomesIntervalos.find( (x) => x.tipo === element.Tipo).urlIcon,\r\n }\r\n\r\n let indice = this.listaRoteiroCliente.findIndex((x) => {\r\n if(x.pedidos){\r\n return x.pedidos[0].NumeroPedido == element.NumeroPedidoAnteced\r\n }\r\n });\r\n\r\n this.listaRoteiroCliente.splice(indice + controle ,0, intervalo);\r\n },\r\n controle++\r\n );\r\n }\r\n\r\n if(this.tempoTotalEntrega > 0)\r\n {\r\n let dtAux = new Date(null);\r\n dtAux.setSeconds(this.tempoTotalEntrega);\r\n\r\n let tempo = dtAux.toISOString().substr(11, 8);\r\n\r\n this.graphicService.duracaoTotalEntrega = tempo;\r\n }\r\n\r\n let pontoInicial = {};\r\n await this.graphicService.visualizarRoteiroCliente(this.boxInfoRouterService.infoRouter);\r\n this.atualizaProximoCliente();\r\n\r\n if(this.graphicService.numeroClienteFoco){\r\n this.graphicService.retornarPontoCliente(this.graphicService.numeroClienteFoco)\r\n }\r\n\r\n if(this.graphicService.coordenadaCenter != null && this.graphicService.coordenadaCenter.latitude != undefined ){\r\n this.graphicService.retornarPontoCoordenada()\r\n }\r\n\r\n }\r\n\r\n showHideAddress(index)\r\n {\r\n this.selectedIndex = this.selectedIndex === index ? null : index;\r\n this.listaRoteiroCliente[index].show = !this.listaRoteiroCliente[index].show;\r\n }\r\n\r\n AbrirTabelaPedidos(e)\r\n {\r\n if ($(e.currentTarget).hasClass('open')) {\r\n $(e.currentTarget).removeClass('open');\r\n $(e.currentTarget).parent().find('.pedidos-detalhes').slideUp(200);\r\n } else {\r\n $(e.currentTarget).addClass('open');\r\n $(e.currentTarget).parent().find('.pedidos-detalhes').slideDown(200);\r\n }\r\n\r\n }\r\n\r\n exibirClienteMapa(codigoCliente)\r\n {\r\n this.graphicService.retornarPontoCliente(codigoCliente);\r\n }\r\n\r\n async statusEntrega(pedidos){\r\n let listPed = pedidos.filter(pedido => pedido.IdRoteiroPedidoSituacao == StatusEntrega.RecebimentoRecusado || pedido.IdRoteiroPedidoSituacao == StatusEntrega.Finalizado).map(pedido => pedido.IdRoteiroPedidoSituacao);\r\n if(listPed.length > 0 && listPed.length == pedidos.length){\r\n if(listPed.indexOf(StatusEntrega.Finalizado) == -1 || listPed.indexOf(StatusEntrega.RecebimentoRecusado) == -1){\r\n return listPed[0] == StatusEntrega.Finalizado ? 6 : 5;\r\n }else{\r\n return 7;\r\n }\r\n }else if(listPed.indexOf(StatusEntrega.RecebimentoRecusado) != -1 || listPed.indexOf(StatusEntrega.Finalizado) != -1){\r\n let listPedTotal = pedidos.filter(pedido => pedido.IdRoteiroPedidoSituacao == StatusEntrega.ChegouCliente || pedido.IdRoteiroPedidoSituacao == StatusEntrega.VoltoDepois || pedido.IdRoteiroPedidoSituacao == StatusEntrega.IniciouEntrega).map(pedido => pedido.IdRoteiroPedidoSituacao);\r\n //Entrega que já chegou no cliente.\r\n if(listPedTotal.indexOf(StatusEntrega.IniciouEntrega) != -1){\r\n return 11;\r\n }else if(listPedTotal.indexOf(StatusEntrega.ChegouCliente) != -1){\r\n return 9;\r\n }else if(listPedTotal.indexOf(StatusEntrega.VoltoDepois) != -1){\r\n return 10;\r\n }else{\r\n return 8;\r\n }\r\n\r\n }else{\r\n return 0;\r\n }\r\n }\r\n\r\n\r\n atualizaDetalhesPedido(lista){\r\n this.detalhesPedidosServices.atualizaDetalhesPedidos(lista)\r\n }\r\n\r\n atualizaProximoCliente(){\r\n this.roteiroFinalizado = this.dados.IdRoteiroSituacao == 5;\r\n if(this.dados.ProximoCliente ){\r\n this.proximoCliente = this.listaRoteiroCliente.find((cliente) => cliente.CodigoCliente == this.dados.ProximoCliente);\r\n\r\n if(this.proximoCliente == undefined){\r\n this.proximoCliente = this.listaRoteiroCliente.find((cliente) => cliente.IdRoteiroPedido == this.dados.ProximoCliente\r\n );\r\n }\r\n }\r\n }\r\n\r\n descomprimiArquivos(){\r\n this.listaRoteiroCliente.forEach((cliente) => {\r\n if(cliente.Arquivo){\r\n cliente.Arquivo = Util.decompress(cliente.Arquivo);\r\n }\r\n })\r\n }\r\n\r\n async getComprovante(item){\r\n this.boxInfoRouterService.dadosComprovante = null;\r\n let idPedidoConfirmacaoEntrega = null\r\n let contemConfirmacaoEntrega = item.pedidos.some((pedido) => pedido.IdPedidoConfirmacaoEntrega != null);\r\n if(contemConfirmacaoEntrega){\r\n idPedidoConfirmacaoEntrega = item.pedidos.find((pedido) => pedido.IdPedidoConfirmacaoEntrega != null).IdPedidoConfirmacaoEntrega\r\n }\r\n\r\n if(idPedidoConfirmacaoEntrega){\r\n let resultado = await this.boxInfoRouterService.getComprovante(idPedidoConfirmacaoEntrega)\r\n item.NomeRecebedor = resultado.NomeRecebedor;\r\n item.DocumentoRecebedor = resultado.DocumentoRecebedor;\r\n\r\n if(resultado.Arquivo){\r\n item.Arquivo = Util.decompress(resultado.Arquivo);\r\n this.boxInfoRouterService.dadosComprovante = item;\r\n }\r\n }\r\n else{ \r\n this.notificationService.showInformativo('Comprovante não localizado'); \r\n setTimeout(() => {\r\n document.getElementById('btnCloseModalDadoRecebedor').click(); \r\n }, 1); \r\n }\r\n \r\n }\r\n \r\n\r\n async abreImgLocalEntrega(cliente){\r\n let arquivo = await this.boxInfoRouterService.getComprovanteLocalEntrega(cliente.IdCliente, cliente.NumeroRoteiro)\r\n cliente.arquivo = Util.decompress(arquivo);\r\n this.boxInfoRouterService.clienteLocalEntrega = cliente;\r\n }\r\n\r\n preencheCustoDescargaCli(){\r\n let infoRota = JSON.parse(this.dados.InfoRota)\r\n let listaCustoDescarga = infoRota?.InfoRoteirizacao?.custoDescargaClientes ?? [] \r\n if (this.boxInfoRouterService.infoRouter.length) {\r\n this.boxInfoRouterService.infoRouter.forEach((cliente: any) => {\r\n const custoDescarga = listaCustoDescarga.find((cli: any) => cli.codCliente === cliente.CodigoCliente);\r\n cliente.custoDescarga = custoDescarga ? custoDescarga.custoDescarga : 0;\r\n });\r\n } \r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n Próximo cliente\r\n
\r\n \r\n {{ proximoCliente.RazaoSocial }} - ({{ proximoCliente.CodigoCliente }})\r\n \r\n \r\n \"Abrir\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n Mostrar clientes visitados\r\n
\r\n \r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n \r\n {{ item.RazaoSocial }}\r\n {{ item.CodigoCliente }}\r\n \r\n

    \r\n
    \r\n \r\n {{ item.DataPedido | date: 'dd/MM/yyyy' }} \r\n \r\n
    \r\n {{ item.Bairro }}\r\n \"\"\r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \"\"\r\n Entrega com ocorrência reportada\r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n \r\n {{ item.nome.toUpperCase() }}\r\n

    \r\n \r\n {{ (item.minutos === '0'? 'Entregas continuam no próximo dia' : 'Parada prev. ' + item.minutos + 'min' ) }} \r\n
    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
  • \r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class BoxInfoRouterService {\r\n\r\n clienteLocalEntrega = null;\r\n loadingLocalEntrega = false;\r\n loadingComprovante = false;\r\n dadosComprovante = null\r\n infoRouter: any;\r\n infoIntervalos: any;\r\n constructor(\r\n private conService: ApiConService,\r\n private boxListTruckService: BoxListTruckService\r\n ) {\r\n\r\n }\r\n\r\n async getInfoRouter()\r\n {\r\n try\r\n {\r\n const response: JsonReturn = await this.conService.patch('DCroteiroPedido/' + this.boxListTruckService.roteiroSelecionado + '/0');\r\n this.infoRouter = response.response;\r\n\r\n console.log('this.infoRouter----------------------------------------------');\r\n this.infoRouter = this.infoRouter.map((element) => {\r\n element.ResumoNFeJSON = JSON.parse(element.ResumoNFeJSON);\r\n return element;\r\n })\r\n\r\n return this.infoRouter ;\r\n }\r\n catch (Error){\r\n console.log(\"CATCH________getInfoRouter\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getInfoIntervalos() {\r\n try {\r\n const response: JsonReturn = await this.conService.patch('DCroteiroPedidoIntervalo/' + this.boxListTruckService.roteiroSelecionado);\r\n this.infoIntervalos = response.response;\r\n } catch (error) {\r\n console.log(\"CATCH________getInfoIntervalos\");\r\n console.log(error);\r\n }\r\n }\r\n\r\n async getComprovante(IdPedidoConfirmacaoEntrega) {\r\n this.loadingComprovante = true;\r\n try {\r\n const response = await this.conService.patch('DCPedidoConfirmacaoEntrega/' + IdPedidoConfirmacaoEntrega);\r\n return response.response.find((element) => element.Arquivo != null)\r\n } catch (error) { \r\n console.log(\"Erro ao carragar comprovante\")\r\n }finally{\r\n this.loadingComprovante = false;\r\n }\r\n }\r\n\r\n async getComprovanteLocalEntrega(clienteID: number, numeroRoteiro: number) {\r\n try {\r\n this.loadingLocalEntrega = true;\r\n const response: any= await this.conService.patch(`DCPedidoConfirmacaoEntrega/localEntrega/${numeroRoteiro}/${clienteID}`); \r\n return response.arquivo;\r\n } catch (error) { \r\n console.log(\"Erro ao carragar comprovante Img\")\r\n } finally{\r\n this.loadingLocalEntrega = false;\r\n }\r\n }\r\n}\r\n","import { BoxListTruckService } from './../box-list-truck/box-list-truck.service';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\n\r\nimport { BoxInfoTruckService } from './box-info-truck.service';\r\nimport { Util } from '../shared/Util';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { LoadedModules } from '../shared/esri-load-control.service';\r\nimport { BoxInfoRouterService } from '../box-info-router/box-info-router.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n\r\n@Component({\r\n selector: 'box-info-truck',\r\n templateUrl: './box-info-truck.component.html',\r\n styleUrls: ['./box-info-truck.component.css']\r\n})\r\nexport class BoxInfoTruckComponent implements OnInit {\r\n\r\n @Input() dados;\r\n vlrPedagio: number;\r\n custoTotal: number;\r\n custoIdealPorcentagem: number;\r\n custoPorcentagem: number;\r\n latitudeMotorista: number;\r\n longitudeMotorista: number;\r\n versaoApp: string;\r\n tempoTotalRoteiro: string = '00:00'\r\n diasRoteiro: []\r\n info:any;\r\n idRoteiroSituacao: number;\r\n idRoteiro: number;\r\n placasVeiculos: Array = [];\r\n nomesMotoristas: Array = [];\r\n descricaoSituacaoRoteiro: string;\r\n tempoEstimado? : string;\r\n nomeAjudante = '';\r\n ajudantes = null\r\n custoDescarga = 0;\r\n custoKm = 0;\r\n formFiltro: FormGroup;\r\n showEdicao = false;\r\n novaPlaca = '';\r\n novoNomeMotorista = '';\r\n nomeAbreviado = '';\r\n caminho: string;\r\n color: string;\r\n \r\n\r\n\r\n\r\n constructor\r\n (\r\n private fb: FormBuilder, \r\n private boxListTruckService: BoxListTruckService,\r\n private graphicService: GraphicService,\r\n public util: Util,\r\n private boxInfoRouterService: BoxInfoRouterService,\r\n ) { \r\n this.formFiltro = this.fb.group({\r\n rota1: [null, Validators.required],\r\n rota2: [null, Validators.required],\r\n rota3: [null, Validators.required],\r\n rota4: [null, Validators.required],\r\n\r\n });\r\n }\r\n\r\n async ngOnInit() \r\n {\r\n await this.getInfoTruck();\r\n this.versaoApp = this.boxListTruckService.listTruckService.VersaoApp;\r\n await this.getTempoTotalRtoeiro();\r\n await this.placasVeiculosDisponiveis();\r\n await this.motoristasDisponiveis();\r\n this.idRoteiroSituacao = this.dados.IdRoteiroSituacao ?? 1;\r\n this.descricaoSituacaoRoteiro = Util.descricaoStatusRoteiro(this.idRoteiroSituacao)\r\n this.idRoteiro = this.dados.IdRoteiro;\r\n\r\n await this.atualizaQtdEntrega();\r\n this.nomeAbreviado = this.abreviarNomeCompleto(this.info.nome_motorista)\r\n this.caminho = this.getCaminho();\r\n this.color = this.getCorSituacao();\r\n \r\n }\r\n\r\n async getInfoTruck() \r\n {\r\n const response = this.dados;\r\n this.info = response;\r\n\r\n let vetInfoRota = JSON.parse(response.InfoRota);\r\n \r\n let infoRoteirizacao = vetInfoRota.InfoRoteirizacao ?? null \r\n infoRoteirizacao?.totalCustoDescarga ?? 0 \r\n\r\n this.latitudeMotorista = vetInfoRota.LatitudeMotorista\r\n this.longitudeMotorista = vetInfoRota.LongitudeMotorista\r\n this.vlrPedagio = vetInfoRota.ValorPedagio ?? 0;\r\n this.custoTotal = vetInfoRota.CustoTotal ?? 0;\r\n this.custoIdealPorcentagem = vetInfoRota.CustoIdealPorcentagem ?? 0;\r\n this.custoPorcentagem = vetInfoRota.CustoPorcentagem ?? 0;\r\n this.tempoEstimado = vetInfoRota.TempoEstimado ?? null;\r\n this.nomeAjudante = vetInfoRota.NomeAjudante ?? '';\r\n this.custoDescarga = infoRoteirizacao?.totalCustoDescarga ?? 0\r\n this.custoKm = vetInfoRota.CustoKM ?? 0\r\n this.ajudantes = vetInfoRota.Ajudante ?? null\r\n\r\n\r\n if (vetInfoRota.RetornoMotorista) {\r\n let symbol = new LoadedModules.PictureMarkerSymbol\r\n ({\r\n 'url': 'assets/img/icon-ponto-partida-motorista.png',\r\n 'height': 38,\r\n 'width': 26,\r\n 'contentType': 'image/svg+xml'\r\n });\r\n let g = new LoadedModules.Graphic\r\n (\r\n this.graphicService.CriaPontoMapa(this.latitudeMotorista, this.longitudeMotorista),\r\n symbol,\r\n );\r\n\r\n this.graphicService.addGraphic(g, false);\r\n }\r\n\r\n }\r\n\r\n async getTempoTotalRtoeiro(){\r\n if(this.versaoApp >= '2.3.0'){\r\n let response: JsonReturn = await this.boxListTruckService.getTempoTotalRtoeiro(this.info.IdRoteiro)\r\n this.diasRoteiro = response.response;\r\n \r\n let minutos = 0;\r\n this.diasRoteiro.forEach((dia: any) => {\r\n minutos += Util.converterMinutos(dia.HoraCalcAcumuladaT);\r\n }) \r\n this.tempoTotalRoteiro = Util.converteStringHora(minutos); \r\n }\r\n }\r\n\r\n async placasVeiculosDisponiveis(){\r\n const placasVeiculosDisponiveis = await this.boxListTruckService.placasVeiculosDisponiveis() \r\n placasVeiculosDisponiveis.forEach(placa => {\r\n this.placasVeiculos.push(placa.PlacaVeiculo) \r\n });\r\n this.placasVeiculos.sort();\r\n }\r\n\r\n async motoristasDisponiveis(){\r\n const nomesMotoristasDisponiveis = await this.boxListTruckService.motoristasDisponiveis() \r\n nomesMotoristasDisponiveis.forEach(motor => {\r\n this.nomesMotoristas.push(motor.NomeMotorista) \r\n }); \r\n }\r\n\r\n async alterarPlaca(novaPlaca){\r\n this.novaPlaca = novaPlaca; \r\n }\r\n async alterarNome(novoNome){\r\n this.novoNomeMotorista = novoNome; \r\n }\r\n\r\n getCorSituacao(): string {\r\n switch (this.descricaoSituacaoRoteiro) {\r\n case 'Não iniciado':\r\n return '#CFD8DC';\r\n case 'Em rota':\r\n return '#81D4FA';\r\n case 'Pausado':\r\n return '#FFCC80';\r\n case 'Sem sinal':\r\n return '#EF9A9A';\r\n case 'Finalizado':\r\n return '#7FF3B9';\r\n default:\r\n return 'white';\r\n }\r\n }\r\n getCaminho(){\r\n switch (this.descricaoSituacaoRoteiro){\r\n case 'Não iniciado':\r\n return '../../assets/img/icons/icon-status-aberto.svg';\r\n case 'Em rota':\r\n return '../../assets/img/icons/icon-status-iniciado.svg';\r\n case 'Pausado':\r\n return '../../assets/img/icons/icon-status-pausado.svg';\r\n case 'Sem sinal':\r\n return '../../assets/img/icons/icon-status-sem-sinal.svg';\r\n case 'Finalizado':\r\n return '../../assets/img/icons/icon-status-finalizado.svg';\r\n default:\r\n return 'white';\r\n }\r\n }\r\n\r\n async atualizaQtdEntrega(): Promise{\r\n let infoRota: any = JSON.parse(this.dados.InfoRota) ?? false;\r\n let consideraEndPed = infoRota.ConsideraEndPed? true: false;\r\n if(consideraEndPed){\r\n await this.boxInfoRouterService.getInfoRouter();\r\n this.info.QtdeEntregas = this.boxInfoRouterService.infoRouter.length;\r\n }\r\n }\r\n\r\n abreviarNomeCompleto(nomeCompleto: string): string {\r\n let partesDoNome = nomeCompleto.split(' ');\r\n\r\n if (partesDoNome.length >= 2) {\r\n let primeiroNome = partesDoNome[0];\r\n let segundaParte = partesDoNome[1];\r\n let inicialSegundoNome = segundaParte.charAt(0) + '.';\r\n return `${primeiroNome} ${inicialSegundoNome}`;\r\n }\r\n\r\n return nomeCompleto;\r\n }\r\n\r\n toggleEdicao() {\r\n this.showEdicao = !this.showEdicao;\r\n if(this.showEdicao){\r\n this.novaPlaca = this.info.cod_veiculo\r\n this.novoNomeMotorista = this.info.nome_motorista\r\n }\r\n }\r\n\r\n async salvaEdicao(){\r\n this.info.cod_veiculo = this.novaPlaca;\r\n this.info.nome_motorista = this.novoNomeMotorista;\r\n this.nomeAbreviado = this.abreviarNomeCompleto(this.novoNomeMotorista);\r\n this.showEdicao = false;\r\n await this.boxListTruckService.atulizaPlacasVeiculosDisponiveis(this.idRoteiro, this.novaPlaca);\r\n await this.boxListTruckService.atulizaNomeMotoristaDisponiveis(this.idRoteiro, this.novoNomeMotorista);\r\n }\r\n \r\n}","
\r\n
\r\n

\r\n \r\n Roteiro - {{ info.roteiro }}\r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n
Entregas
\r\n
{{ info.QtdeEntregas }}
\r\n
\r\n
\r\n
Peso bruto
\r\n
{{ info.PesoBrutoTotal | number:'1.2-2' }} Kg
\r\n
\r\n
\r\n
Cubagem
\r\n
{{ info.Cubagem | number:'1.2-2' }} M³ ({{ info.Qtde }} Vol)
\r\n
\r\n
\r\n
Prev. saída
\r\n
{{ util.converteData(info.PrevisaoSaida) | date: 'HH:mm' }}
\r\n
\r\n
\r\n
Tempo estimado
\r\n
\r\n {{ tempoEstimado? tempoEstimado + ':00' : info.TempoEstimado? info.TempoEstimado.split('T')[1].split('.')[0] :0 }}\r\n
\r\n
\r\n\r\n
\r\n
Versão do app
\r\n
{{ versaoApp }}
\r\n
\r\n
\r\n

\r\n \r\n {{info.veiculo.trim()}}/{{ nomeAbreviado }} - {{info.cod_veiculo}} \r\n \r\n \r\n

\r\n
\r\n
\r\n
Motorista
\r\n
{{ info.nome_motorista }}
\r\n
\r\n
\r\n
Ajudante 1
\r\n
{{ nomeAjudante }}
\r\n
\r\n \r\n
\r\n
Ajudante {{ i + 1}}
\r\n
{{ ajudante.nome }}
\r\n
\r\n
\r\n

Valores

\r\n
\r\n
\r\n
Pedidos
\r\n
{{ info.ValorPedido | currency:'BRL':true }}
\r\n
\r\n
\r\n
Pedágio
\r\n
{{ vlrPedagio | currency:'BRL':true }}
\r\n
\r\n
\r\n
Descarga
\r\n
{{ custoDescarga | currency:'BRL':true }}
\r\n
\r\n
\r\n
Custo Km
\r\n
{{ custoKm | currency:'BRL':true }}
\r\n
\r\n
\r\n
Custo Ideal
\r\n
{{ info.ValorPedido * custoIdealPorcentagem / 100 | currency:'BRL':true }} ({{ custoIdealPorcentagem.toFixed(2) }}%)
\r\n
\r\n
\r\n
Custo Total
\r\n
{{ custoTotal | currency:'BRL':true }}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n Edição\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Carro\r\n \r\n {{ info.veiculo }}\r\n \r\n \r\n \r\n \r\n Motorista\r\n \r\n {{ nome }}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Ajudante {{ i + 1 }}\r\n \r\n {{ ajudante.nome }} \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Placa do Veículo \r\n \r\n \r\n {{ placa }}\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\n\r\n@Injectable()\r\nexport class BoxInfoTruckService {\r\n\r\n infoTruck: any;\r\n infoTrajeto: any;\r\n\r\n constructor\r\n (\r\n private conService: ApiConService,\r\n private boxListTruckService: BoxListTruckService\r\n ) \r\n { }\r\n\r\n async getInfoTruck() \r\n {\r\n try \r\n {\r\n let dados = this.boxListTruckService.listTruckService.find(x => x.roteiro == this.boxListTruckService.roteiroSelecionado); \r\n return dados;\r\n }\r\n catch (Error)\r\n {\r\n console.log('BoxInfoTruckService');\r\n console.log(Error);\r\n }\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { BoxListTruckService } from './box-list-truck.service';\r\nimport { State, ControlStatusService } from '../shared/control-status.service';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { Util } from '../shared/Util';\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'box-list-truck',\r\n templateUrl: './box-list-truck.component.html',\r\n styleUrls: ['./box-list-truck.component.css']\r\n})\r\nexport class BoxListTruckComponent implements OnInit {\r\n\r\n classOpen: boolean = true;\r\n maximize: boolean = false;\r\n carregou: boolean = false;\r\n response: any[];\r\n dadosRoteiro: any[] = [];\r\n\r\n constructor\r\n (\r\n private boxListTruckService: BoxListTruckService,\r\n private controlStatus: ControlStatusService,\r\n public graphicService: GraphicService,\r\n private util: Util \r\n ) \r\n { }\r\n\r\n async getListRouterTruck() \r\n {\r\n await this.boxListTruckService.getListRouterTruck();\r\n await this.preencherDadosRoteiro();\r\n this.carregou = true;\r\n }\r\n\r\n async getListRouterTruckPorId() \r\n {\r\n const responsePorId = await this.boxListTruckService.getListRouterTruckPorId(false);\r\n this.boxListTruckService.listTruckService = responsePorId[0]; \r\n }\r\n\r\n async buscarRoteiro()\r\n {\r\n this.carregou = false;\r\n\r\n if(this.controlStatus.numeroRoteiroBusca == undefined || this.controlStatus.numeroRoteiroBusca == null)\r\n {\r\n this.getListRouterTruck();\r\n }\r\n else\r\n {\r\n await this.boxListTruckService.getListRouterTruckPesquisa(this.controlStatus.numeroRoteiroBusca);\r\n await this.preencherDadosRoteiro();\r\n }\r\n\r\n this.carregou = true;\r\n }\r\n\r\n ngOnInit() \r\n {\r\n this.getListRouterTruck();\r\n }\r\n\r\n async visualizadorDeRoteiros(idRoteiro)\r\n {\r\n this.controlStatus.carregando = true;\r\n\r\n this.controlStatus.currentState = State.visualizadorDeRoteiros;\r\n this.boxListTruckService.roteiroSelecionado = idRoteiro;\r\n\r\n await this.getListRouterTruckPorId();\r\n }\r\n\r\n showHideBoxListRouter() \r\n {\r\n this.classOpen = !this.classOpen;\r\n }\r\n\r\n exibirData(data: Date)\r\n {\r\n return this.util.converteData(data);\r\n }\r\n\r\n MaximizaTabela() {\r\n this.maximize = !this.maximize;\r\n }\r\n\r\n async filtrarRoteiro(pesquisa: string) \r\n { \r\n if(this.boxListTruckService.listTruckService != undefined && this.boxListTruckService.listTruckService != null)\r\n {\r\n let pesquisaValor = pesquisa.toLowerCase();\r\n this.dadosRoteiro = [];\r\n\r\n if (pesquisaValor !== \"\") \r\n {\r\n for (let i = 0; i < this.boxListTruckService.listTruckService.length; i++) \r\n {\r\n if \r\n (\r\n this.boxListTruckService.listTruckService[i].cod_veiculo.toString().toLowerCase().indexOf(pesquisaValor) !== -1 ||\r\n this.boxListTruckService.listTruckService[i].veiculo.toString().toLowerCase().indexOf(pesquisaValor) !== -1 ||\r\n this.boxListTruckService.listTruckService[i].nome_motorista.toString().toLowerCase().indexOf(pesquisaValor) !== -1 ||\r\n this.boxListTruckService.listTruckService[i].roteiro.toString().toLowerCase().indexOf(pesquisaValor) !== -1\r\n ) \r\n {\r\n this.dadosRoteiro.push(this.boxListTruckService.listTruckService[i]);\r\n }\r\n }\r\n }\r\n else\r\n {\r\n await this.preencherDadosRoteiro();\r\n } \r\n }\r\n }\r\n\r\n async preencherDadosRoteiro()\r\n {\r\n this.dadosRoteiro = [];\r\n\r\n if(this.boxListTruckService.listTruckService != undefined && this.boxListTruckService.listTruckService != null)\r\n {\r\n for (let i = 0; i < this.boxListTruckService.listTruckService.length; i++) \r\n {\r\n this.dadosRoteiro.push(this.boxListTruckService.listTruckService[i]);\r\n }\r\n }\r\n }\r\n}","
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
{{ dadosRoteiro.length }} Registro(s) INFORMAÇÕES DO ROTEIRO STATUS DE ENTREGAS
Roteiro Veículo Data KM Planejado Realizadas Ocorrências1º EntregaÚlt. Entrega Realizadas / Programadas
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.roteiro }} \r\n \r\n
\r\n \r\n
\r\n
\r\n {{ item.cod_veiculo }} - {{ item.veiculo }} \r\n
\r\n {{ item.primeira_sinc | date:'HH:mm' }}\r\n \r\n {{ item.primeira_bateria }}%\r\n \r\n \r\n
\r\n
\r\n
{{ item.nome_motorista }}
\r\n
{{ item.data | date:'dd/MM/yyyy' }} {{ item.Distancia }} {{ item.realizadas }} {{ item.problemas }} {{ exibirData(item.primeira_entrega) | date:'HH:mm' }} {{ exibirData(item.ultima_entrega) | date:'HH:mm' }} \r\n {{ item.realizadas ? item.realizadas : 0 }}/{{ item.QtdeEntregas }} \r\n \r\n = 100 ? 'completo' : 'alerta'\" \r\n >\r\n \r\n {{ item.realizadas > 0 ? ((item.realizadas * 100) / item.QtdeEntregas).toFixed(0) : 0 }}%\r\n
\r\n
\r\n

GPS Desligado

\r\n

Horário de ínicio do trabalho

\r\n

Ainda não sincronizou

\r\n

Bateria com carga incompleta no inicio do dia

\r\n

% do Roteiro realizado menor do que o esperado

\r\n

Nenhuma visita realizada hoje

\r\n

Última visita realizada a mais de 2 horas

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Ocultar Mapa\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { MainHeaderTruckService } from '../main-header-truck/main-header-truck.service';\r\nimport { RouteService } from '../shared/route.service';\r\nimport { ControlStatusService } from '../shared/control-status.service';\r\nimport { Util } from '../shared/Util';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class BoxListTruckService {\r\n\r\n public listTruckService: any;\r\n listTruckServiceSel: any;\r\n roteiroSelecionado: number;\r\n numeroBusca: number;\r\n\r\n constructor\r\n (\r\n private conService: ApiConService,\r\n private mainHeaderTruckService: MainHeaderTruckService,\r\n private routeService: RouteService,\r\n private controlStatus: ControlStatusService\r\n ) \r\n {\r\n this.listTruckService = [];\r\n }\r\n\r\n async getListRouterTruck() \r\n {\r\n try \r\n {\r\n const response: JsonReturn = await this.conService.patch('DCroteiros');\r\n this.listTruckService = response.response;\r\n }\r\n catch (Error) \r\n {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getListRouterTruckPesquisa(numeroRoteiro: number) \r\n {\r\n try \r\n {\r\n const response: JsonReturn = await this.conService.patch('DCroteiros/' + numeroRoteiro);\r\n this.listTruckService = response.response;\r\n }\r\n catch (Error) \r\n {\r\n console.log(Error);\r\n }\r\n } \r\n\r\n async getListRouterTruckPorId(pedido) \r\n {\r\n try \r\n {\r\n let response : JsonReturn;\r\n if(pedido){\r\n response = await this.conService.patch('DCroteiros/pedido/' + this.roteiroSelecionado);\r\n this.roteiroSelecionado = response.response ? response.response[0].roteiro : null;\r\n }else {\r\n response = await this.conService.patch('DCroteiros/' + this.roteiroSelecionado);\r\n }\r\n \r\n if(response.response && response.response.length > 0){\r\n this.listTruckServiceSel = response.response;\r\n\r\n this.routeService.exibeAlerta = true;\r\n \r\n if (this.listTruckServiceSel[0].problemas == 0) \r\n {\r\n this.routeService.exibeAlerta = false;\r\n }\r\n \r\n this.mainHeaderTruckService.veiculo = this.listTruckServiceSel[0].veiculo;\r\n this.mainHeaderTruckService.nomeMotorista = this.listTruckServiceSel[0].nome_motorista;\r\n this.mainHeaderTruckService.nomeCompletoMotorista = this.listTruckServiceSel[0].nome_motorista;\r\n this.mainHeaderTruckService.contatoMotorista = this.listTruckServiceSel[0].ContatoMotorista;\r\n this.mainHeaderTruckService.porcBateria = 0;\r\n \r\n return response.response;\r\n }else{\r\n return null;\r\n } \r\n }\r\n catch (Error) \r\n {\r\n this.controlStatus.msgErroBusca = \"Ocorreu um erro ao buscar o roteiro.\";\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getTempoTotalRtoeiro(idRoteiro: any): Promise{ \r\n return await this.conService.patch(`DCAtividadeMotorista/tempoTotalRoteiro/${idRoteiro}`)\r\n }\r\n\r\n async placasVeiculosDisponiveis(){\r\n try \r\n {\r\n const response: JsonReturn = await this.conService.patch('DCroteiros/placasVeiculosDisponiveis');\r\n return response.response;\r\n }\r\n catch (Error) \r\n { \r\n console.log(Error);\r\n return [];\r\n }\r\n }\r\n\r\n async motoristasDisponiveis(){\r\n try \r\n {\r\n const response: JsonReturn = await this.conService.patch('DCroteiros/motoristasDisponiveis');\r\n return response.response;\r\n }\r\n catch (Error) \r\n { \r\n console.log(Error);\r\n return [];\r\n }\r\n }\r\n\r\n async atulizaPlacasVeiculosDisponiveis( idRoteiro, placa){\r\n try \r\n {\r\n return await this.conService.patch(`DCroteiros/placasVeiculosDisponiveis/${idRoteiro}/${placa}`);\r\n }\r\n catch (Error) \r\n {\r\n console.log(\"Erro ao atualizar a placa\");\r\n }\r\n }\r\n\r\n async atulizaNomeMotoristaDisponiveis( idRoteiro, nomeMotorista){\r\n try \r\n {\r\n return await this.conService.patch(`DCroteiros/motoristasDisponiveis/${idRoteiro}/${nomeMotorista}`);\r\n }\r\n catch (Error) \r\n {\r\n console.log(\"Erro ao atualizar nome do motorista\");\r\n }\r\n }\r\n\r\n async desconectarVeiculo(idRoteiro){\r\n try \r\n {\r\n return await this.conService.patch(`DCroteiros/desconectarVeiculo/${idRoteiro}`);\r\n }\r\n catch (Error) \r\n {\r\n console.log(\"Erro ao atualizar a desconectar veículo\");\r\n }\r\n }\r\n\r\n async getFotoOdometro(numeroRoteiro, situacao){\r\n let response: JsonReturn = await this.conService.patch(`DCroteiros/odometro/${numeroRoteiro}/${situacao}`);\r\n return Util.decompress(response.response);;\r\n }\r\n}\r\n","
\r\n
\r\n \"\" \r\n {{ titulo }} \r\n \"\"\r\n \r\n \"\"\r\n\r\n \r\n \"Fechar\"\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {{ mensagem }} \r\n {{ horario }} \r\n
\r\n \r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { GraphicService } from '../shared/graphic.service';\r\n\r\n@Component({\r\n selector: 'box-title',\r\n templateUrl: './box-title.component.html',\r\n styleUrls: ['./box-title.component.css']\r\n})\r\nexport class BoxTitleComponent implements OnInit {\r\n\r\n @Input() titulo: string;\r\n @Input() mensagem: string;\r\n @Input() horario: string;\r\n @Input() color: string;\r\n @Input() textColor: string = '#101316';\r\n @Input() mostraAviso = false;\r\n @Input() btnConfiguracao = false;\r\n @Input() btnClose = false;\r\n @Input() shadow = false;\r\n\r\n classClosed: boolean = false;\r\n classOcultar: boolean = false;\r\n iconRotated = false;\r\n constructor(private graphicService: GraphicService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n abrirFecharBox() {\r\n this.classClosed = !this.classClosed;\r\n this.classOcultar = !this.classOcultar;\r\n this.iconRotated = !this.iconRotated;\r\n\r\n }\r\n\r\n alteraMostraConfRoteiro(){\r\n this.graphicService.mostraConfiguracaoRoteiro = !this.graphicService.mostraConfiguracaoRoteiro;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { isNullOrUndefined } from 'is-what';\r\n\r\n@Component({\r\n selector: 'card-sem-comunicacao-dashboard',\r\n templateUrl: './card-sem-comunicacao-dashboard.component.html',\r\n styleUrls: ['./card-sem-comunicacao-dashboard.component.css']\r\n})\r\nexport class CardSemComunicacaoDashboardComponent implements OnInit {\r\n\r\n @Input() roteiros = [];\r\n @Output() abrirModalMapa = new EventEmitter(); \r\n\r\n data = new Date().toDateString();\r\n showTable: boolean = false;\r\n todosRoteiros = [];\r\n\r\n constructor() { }\r\n\r\n ngOnInit() \r\n {\r\n this.todosRoteiros = this.roteiros;\r\n }\r\n\r\n formataMinutos(minutos){\r\n if(!isNullOrUndefined(minutos) && minutos >= 0){\r\n if(minutos <= 60){\r\n return minutos + \" minuto(s)\";\r\n }else if(minutos <= 1440){\r\n let aux = minutos/60;\r\n return aux.toFixed(0) + \" hora(s)\"\r\n }else{\r\n let aux = minutos/24/60;\r\n return aux.toFixed(0) + \" dia(s)\";\r\n }\r\n }else{\r\n return '-';\r\n }\r\n }\r\n\r\n idRoteiro(idRoteiro){\r\n this.abrirModalMapa.emit(idRoteiro);\r\n }\r\n\r\n atualizaRoteiroSemComunicacao(roteirosFiltrados: any[]){\r\n this.roteiros = this.todosRoteiros.filter((roteiro) => roteirosFiltrados.includes(roteiro.roteiro)) \r\n }\r\n}\r\n","\r\n
\r\n
0\">\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
RoteiroMotoristaPlaca VeículoÚltimo contato
{{ roteiro.roteiro }} {{ roteiro.nome_motorista.trim() }}{{ roteiro.cod_veiculo }}{{ formataMinutos(roteiro.dataDiff) }}
\r\n
\r\n
\r\n\r\n
\r\n

Nenhum motorista encontrado.

\r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UltimasEntregasModel } from '../shared/models/ultimasEntregasModel';\r\nimport { Util, StatusEntrega, StatusRoteiroPedidos } from '../shared/Util';\r\nimport { BoxInfoRouterService } from '../box-info-router/box-info-router.service';\r\ndeclare let jsPDF;\r\n\r\n@Component({\r\n selector: 'card-ultimas-entregas',\r\n templateUrl: './card-ultimas-entregas.component.html',\r\n styleUrls: ['./card-ultimas-entregas.component.css']\r\n})\r\nexport class CardUltimasEntregasComponent{\r\n\r\n constructor(private boxInfoRouter: BoxInfoRouterService) { }\r\n\r\n @Input() ultimasEntregas: Array = [];\r\n @Output() abrirModalMapa = new EventEmitter(); \r\n @Input() isModal = false;\r\n\r\n abriRoteiro(numeroRoteiro: number, numeroPedido: number){\r\n\r\n if(this.isModal){\r\n document.getElementById('btnCloseUltimaEnrtega').click()\r\n }\r\n this.abrirModalMapa.emit([numeroRoteiro, numeroPedido]);\r\n }\r\n\r\n downloadPDFRecibo(item){\r\n let doc = new jsPDF('l', 'mm', [297, 260]);\r\n var imgData = 'data:image/jpeg;base64,' + item.Arquivo;\r\n var titulos = 16\r\n var informacaoes = 26\r\n var data = 30\r\n var numeroNota = 26\r\n var alturaImagem = 28\r\n\r\n doc.setDrawColor(0)\r\n doc.setFillColor(255, 255, 255)\r\n doc.text(12, titulos, 'Data de recebimento')\r\n doc.setFontType('bold')\r\n doc.setFontSize(20)\r\n doc.text(18, data, new Date(item.DataEntrega).toLocaleDateString())\r\n doc.setFontSize(16)\r\n doc.setFontType('normal')\r\n doc.text(69, titulos, 'Identificação e assinatura do recebedor')\r\n doc.setFontType('bold')\r\n doc.text(100, informacaoes, item.NomeRecebedor.substring(0,25))\r\n doc.text(202, informacaoes, item.DocumentoRecebedor)\r\n doc.setFontType('normal')\r\n doc.text(170, informacaoes, 'Documento:')\r\n doc.text(69, informacaoes, 'Recebedor:')\r\n doc.text(252, titulos, 'NF-e')\r\n\r\n doc.setFontType('normal')\r\n doc.text(252, numeroNota, `Nº `)\r\n doc.setFontType('bold')\r\n doc.text(260, numeroNota, `${item.Nf}`)\r\n numeroNota += 6\r\n alturaImagem += 4\r\n \r\n doc.setFontType('normal')\r\n\r\n try {\r\n doc.addImage(imgData, 'jpeg', 0, alturaImagem + 10, 297, 260)\r\n } catch (error) {\r\n imgData = 'data:image/png;base64,' + item.Arquivo;\r\n doc.addImage(imgData, 'png', 0, alturaImagem + 10, 297, 260)\r\n }\r\n\r\n let nomeArquivo = '';\r\n nomeArquivo += `NF_${item.Nf}`;\r\n doc.save(`${nomeArquivo}.pdf`);\r\n }\r\n\r\n async getComprovante(item){\r\n if(item.IdPedidoConfirmacaoEntrega && item.NomeRecebedor == undefined){\r\n let resultado = await this.boxInfoRouter.getComprovante(item.IdPedidoConfirmacaoEntrega)\r\n item.NomeRecebedor = resultado.NomeRecebedor;\r\n item.DocumentoRecebedor = resultado.DocumentoRecebedor;\r\n\r\n if(resultado.Arquivo){\r\n item.Arquivo = Util.decompress(resultado.Arquivo);\r\n this.downloadPDFRecibo(item)\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
RoteiroPedidoNome do MotoristaPlaca VeículoData Entrega
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
{{ entrega.NumeroRoteiro }} {{ entrega.NumeroPedido }}{{ entrega.NomeMotorista }}{{ entrega.PlacaVeiculo }}{{ entrega.DataEntrega | date : 'dd/MM/yyyy HH:mm' : '+00:00' }}
\r\n
\r\n \r\n
\r\n\r\n
\r\n

Nenhum entrega encontrado.

\r\n
\r\n
","
\r\n
\r\n
\r\n Confirmação de entrega\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Form, FormBuilder, FormGroup } from '@angular/forms';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { ObjectParam } from '../shared/interface/generic-interface';\r\n\r\n@Component({\r\n selector: 'app-config-confirmacao-entrega',\r\n templateUrl: './config-confirmacao-entrega.component.html',\r\n styleUrls: ['./config-confirmacao-entrega.component.css']\r\n})\r\nexport class ConfigConfirmacaoEntregaComponent {\r\n formularioConfigApp: FormGroup;\r\n @Input() dados;\r\n contemManterSequenciaEntrega: boolean;\r\n controlaJornadaMotorista = false;\r\n loading = false\r\n chaveDispositivoAcesso = null;\r\n idRoteiro : number;\r\n numeroRoteiro: string = '';\r\n formularioManterSequencia: FormGroup;\r\n formularioPermitirIniciar: FormGroup\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private boxListTruckService: BoxListTruckService,\r\n private apiConService: ApiConService,\r\n private graphicService: GraphicService\r\n ){}\r\n\r\n async ngOnInit(){\r\n this.numeroRoteiro = this.dados.roteiro;\r\n this.idRoteiro = this.dados.IdRoteiro;\r\n this.chaveDispositivoAcesso = this.dados.ChaveDispositivoAcesso;\r\n\r\n let configuracaoApp = JSON.parse(this.boxListTruckService.listTruckService.InfoRota).ConfigRecebimentoApp || \"0\"; \r\n this.contemManterSequenciaEntrega = JSON.parse(this.boxListTruckService.listTruckService.InfoRota).ManterSequenciaEntrega ?? null; \r\n\r\n let manterSequenciaEntrega = JSON.parse(this.boxListTruckService.listTruckService.InfoRota).ManterSequenciaEntrega == true? 1 : 0 ?? 0; \r\n let permitirInicioPrevisao = JSON.parse(this.boxListTruckService.listTruckService.InfoRota)?.PermitirIniciarRoteiroAntesPrevisao\r\n let permitirIniciarRoteiroAntesPrevisao = permitirInicioPrevisao != null? permitirInicioPrevisao? 1: 0 : 1\r\n \r\n\r\n this.formularioConfigApp = this.fb.group({\r\n config: [configuracaoApp],\r\n })\r\n\r\n this.formularioManterSequencia = this.fb.group({\r\n manterSequenciaEntrega: [manterSequenciaEntrega],\r\n });\r\n \r\n this.formularioPermitirIniciar = this.fb.group({\r\n permitirIniciarRoteiroAntesPrevisao: [permitirIniciarRoteiroAntesPrevisao],\r\n });\r\n }\r\n\r\n async atualizaConfigApp(){\r\n let config = this.formularioConfigApp.value.config;\r\n let infoRota = JSON.parse( this.boxListTruckService.listTruckService.InfoRota);\r\n \r\n let contemNomeMotorista = this.boxListTruckService.listTruckService.nome_motorista;\r\n\r\n if(contemNomeMotorista){\r\n this.boxListTruckService.listTruckService = {\r\n ...this.boxListTruckService.listTruckService,\r\n NomeMotorista: this.boxListTruckService.listTruckService.nome_motorista,\r\n PlacaVeiculo: this.boxListTruckService.listTruckService.cod_veiculo,\r\n DescricaoVeiculo: this.boxListTruckService.listTruckService.veiculo\r\n } \r\n }\r\n \r\n delete infoRota.ConfigRecebimentoApp;\r\n infoRota = {\r\n ...infoRota, \r\n ConfigRecebimentoApp: config.toString() \r\n } \r\n\r\n let infoRotaString = JSON.stringify(infoRota);\r\n this.boxListTruckService.listTruckService.InfoRota = infoRotaString;\r\n let objParam: ObjectParam = {\r\n roteiro: this.boxListTruckService.listTruckService\r\n }\r\n \r\n objParam.roteiro.NumeroRoteiro =this.boxListTruckService.listTruckService.roteiro\r\n await this.apiConService.put('DCroteiros', this.boxListTruckService.roteiroSelecionado.toString(), objParam)\r\n \r\n }\r\n\r\n atualizaManterSequencia() {\r\n let manterSequenciaEntrega = this.formularioManterSequencia.value.manterSequenciaEntrega;\r\n let infoRota = JSON.parse(this.boxListTruckService.listTruckService.InfoRota);\r\n \r\n delete infoRota.ManterSequenciaEntrega;\r\n infoRota = {\r\n ...infoRota, \r\n ManterSequenciaEntrega: manterSequenciaEntrega\r\n }; \r\n\r\n let objParam: ObjectParam = {\r\n infoRota: JSON.stringify(infoRota)\r\n }\r\n \r\n this.apiConService.put('DCroteiros/infoRota', this.boxListTruckService.roteiroSelecionado.toString(), objParam);\r\n }\r\n \r\n atualizaPermiInicRotAntesPrevisao() {\r\n let permitirIniciarRoteiroAntesPrevisao = this.formularioPermitirIniciar.value.permitirIniciarRoteiroAntesPrevisao;\r\n let infoRota = JSON.parse(this.boxListTruckService.listTruckService.InfoRota);\r\n \r\n delete infoRota.PermitirIniciarRoteiroAntesPrevisao;\r\n infoRota = {\r\n ...infoRota, \r\n PermitirIniciarRoteiroAntesPrevisao: permitirIniciarRoteiroAntesPrevisao\r\n }; \r\n\r\n let objParam: ObjectParam = {\r\n infoRota :JSON.stringify(infoRota)\r\n }\r\n\r\n this.apiConService.put('DCroteiros/infoRota', this.boxListTruckService.roteiroSelecionado.toString(), objParam);\r\n }\r\n\r\n async desconectarVeiculo(){\r\n this.loading = true\r\n await this.boxListTruckService.desconectarVeiculo(this.idRoteiro);\r\n this.chaveDispositivoAcesso = null\r\n this.loading = false;\r\n }\r\n\r\n fecharModalConfig() {\r\n this.graphicService.mostraConfiguracaoRoteiro = false;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-card-info-entregas',\r\n templateUrl: './card-info-entregas.component.html',\r\n styleUrls: ['./card-info-entregas.component.css']\r\n})\r\nexport class CardInfoEntregasComponent {\r\n @Input() titulo: String = '';\r\n @Input() quantidade: number = 0;\r\n @Input() icone: String = '';\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

{{ titulo }}

\r\n

{{ quantidade }}

\r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dados-entregas',\r\n templateUrl: './dados-entregas.component.html',\r\n styleUrls: ['./dados-entregas.component.css']\r\n})\r\nexport class DadosEntregasComponent{\r\n @Input() totalClientes: number = 0\r\n @Input() totalClientesAtendidos: number = 0\r\n @Input() totalClientesNaoAtendidos: number = 0\r\n @Input() totalClientesNaoVisitados: number = 0\r\n @Input() totalClientesAnalise: number = 0\r\n}\r\n","
\r\n \r\n
\r\n

Total de Clientes

\r\n

{{ totalClientes }}

\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { reportName, reportType, conjuntoRelatorios } from './../shared/Util';\r\nimport { JasperService } from './../shared/jasper.service';\r\n\r\nimport { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\r\n\r\nimport { GridsterConfig, GridsterItem } from \"angular-gridster2\";\r\nimport { DashboardService } from \"./dashboard.service\";\r\nimport { State, ControlStatusService } from '../shared/control-status.service';\r\nimport { BoxListTruckService } from \"../box-list-truck/box-list-truck.service\";\r\nimport { GraphicService } from \"../shared/graphic.service\";\r\nimport * as XLSX from 'xlsx';\r\n\r\nimport { isNullOrUndefined, isNull } from \"is-what\";\r\nimport { Util } from \"../shared/Util\";\r\nimport { PopupConfigService } from \"../popup-config/popup-config.service\";\r\n\r\nimport { CardSemComunicacaoDashboardComponent } from \"../card-sem-comunicacao-dashboard/card-sem-comunicacao-dashboard.component\";\r\nimport { RoteirosOcorrenciasDashboardCardComponent } from \"../roteiros-ocorrencias-dashboard-card/roteiros-ocorrencias-dashboard-card.component\";\r\nimport { PainelMensagensService } from '../shared/painel-mensagens.service';\r\nimport { RouteService } from '../shared/route.service';\r\nimport { BoxInfoRouterService } from '../box-info-router/box-info-router.service';\r\nimport { JsonReturn, ObjectParam } from '../shared/interface/generic-interface';\r\n\r\ndeclare var bootbox: any\r\ndeclare let $: any\r\nlet controller: any;\r\n\r\n@Component({\r\n selector: \"app-dashboard\",\r\n templateUrl: \"./dashboard.component.html\",\r\n styleUrls: [\"./dashboard.component.css\"]\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n options: GridsterConfig;\r\n itensOption: GridsterItem;\r\n dashboard: Array;\r\n public state = State;\r\n expand_class: boolean = true;\r\n canSee: boolean = false;\r\n numeroRoteiroBusca = '';\r\n model = new Date();\r\n modalNumber: number = 0;\r\n arrayTitulo: any = [];\r\n arrayBody: any = [];\r\n valorInput: any = '';\r\n dataInicio: any = '';\r\n dataFim: any = '';\r\n dateChange: boolean = false;\r\n filtroParametro: string = 'roteiro';\r\n placeholderBusca: string = 'Buscar';\r\n pesquisaAcoes: any;\r\n cdEmp: any;\r\n razaoSocial: string\r\n qtdLiberada = 0;\r\n qtdUsada = 0;\r\n qtdSimu = 0;\r\n avisoConsumo = true;\r\n meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']\r\n mesConsumo = '';\r\n exibeOpcaoPainelAntigo = false;\r\n mostrarRecursoToken = false;\r\n\r\n auxFiltraPorEmpresa: boolean = false\r\n roteirosPorEmpresa: any = []\r\n mostraNotAlerta = false;\r\n\r\n urlJasper: string = ''\r\n\r\n dataAtual = new Date();\r\n comunicacaoComDataAtual = false;\r\n roteirosComunicaoFiltro = []\r\n //Propriedade Lista as empresas e filiais\r\n listaEmpresas = []\r\n\r\n cardVisitas = {\r\n posicao: { cols: 12, rows: 8, x: 0, y: 0 },\r\n mostrar: true\r\n };\r\n\r\n cardClientes = {\r\n posicao: { cols: 6, rows: 6, x: 0, y: 8 },\r\n mostrar: true\r\n };\r\n cardRoteiros = {\r\n posicao: { cols: 6, rows: 6, x: 6, y: 8 },\r\n mostrar: true\r\n };\r\n \r\n cardSemComunicacao = {\r\n posicao: { cols: 6, rows: 6, x: 0, y: 14 },\r\n mostrar: true\r\n };\r\n \r\n cardUltimasEntregas = {\r\n posicao: { cols: 6, rows: 6, x: 6, y: 14 },\r\n mostrar: true\r\n };\r\n \r\n cardRelatorios = {\r\n posicao: { cols: 6, rows: 6, x: 6, y: 20 },\r\n mostrar: false\r\n };\r\n\r\n\r\n cardAjusteLayout = {\r\n posicao: { cols: 1, rows: 3, x: 0, y: 26 },\r\n mostrar: true\r\n };\r\n carregando = {\r\n clientes: false,\r\n ocorrencias: false,\r\n roteiros: false,\r\n semComunicacao: false\r\n };\r\n\r\n cardAlertas = {\r\n posicao: { cols: 6, rows: 6, x: 0, y: 20 },\r\n mostrar: true\r\n };\r\n\r\n dashboardResult: any;\r\n\r\n totais = {\r\n totalClientes: 0,\r\n totalClientesAtendidos: 0,\r\n totalClientesNaoAtendidos: 0,\r\n totalClientesAnalise: 0,\r\n totalClientesNaoVisitados: 0\r\n };\r\n\r\n totaisOcorrencias = {\r\n emAberto: 0,\r\n emAnalise: 0,\r\n finalizadas: 0\r\n };\r\n\r\n totaisSituacoes = {\r\n totalEntregues: 0,\r\n iniciou: 0,\r\n pausou: 0,\r\n semCoordenadas: 0,\r\n saiu: 0,\r\n emAberto: 0,\r\n finalizou: 0,\r\n }\r\n\r\n roteiros: any = [];\r\n roteirosSemComunicacao: any = [];\r\n roteiroModal: any;\r\n roteirosAtivos: number = 0;\r\n roteirosPausa: number = 0;\r\n ocorrencias: any = [];\r\n relatorios: any = [];\r\n urlDownload = '';\r\n\r\n allRoteiros = [];\r\n\r\n //Aux para testes\r\n auxOcorrencias: any = [];\r\n auxTotaisOcorrencias = {\r\n emAberto: 0,\r\n emAnalise: 0,\r\n finalizadas: 0\r\n };;\r\n\r\n\r\n\r\n today: number = Date.now();\r\n\r\n primeiraCarga: boolean = true;\r\n loading: boolean = false;\r\n versaoAtualApp: String;\r\n versaoAtualTransp: String;\r\n roteirosVersaoDesatualizada = [];\r\n versaoTranspDesatualizada = [];\r\n contemAvisosNovidades = false\r\n dashboardResultTotal = [];\r\n filtroAtivo: boolean = false;\r\n roteirosOriginal: any[]; \r\n idSituacaoFiltro: number | null = null;\r\n\r\n @ViewChild('modal') modal: ElementRef;\r\n\r\n @ViewChild('contentModal') contentModal: ElementRef;\r\n\r\n \r\n @ViewChild(CardSemComunicacaoDashboardComponent) cardSemComunicao: CardSemComunicacaoDashboardComponent\r\n @ViewChild(RoteirosOcorrenciasDashboardCardComponent) roteiroOcorrencia: RoteirosOcorrenciasDashboardCardComponent\r\n\r\n constructor(private dashboardService: DashboardService, public controlStatus: ControlStatusService,\r\n private boxListTruckService: BoxListTruckService, private graphicService: GraphicService,\r\n private util: Util, public popupConfigService: PopupConfigService,\r\n public jasperService: JasperService,\r\n private painelMensagensService: PainelMensagensService,\r\n private routeService: RouteService,\r\n public boxInfoRouterService: BoxInfoRouterService\r\n ) {\r\n controller = this;\r\n\r\n this.options = {\r\n itemInitCallback:DashboardComponent.itemInit,\r\n itemChangeCallback: DashboardComponent.itemChange,\r\n itemResizeCallback: DashboardComponent.itemResize,\r\n itemRemovedCallback: this.itemRemove,\r\n keepFixedHeightInMobile: true,\r\n mobileBreakpoint: 640,\r\n draggable: {\r\n enabled: true,\r\n ignoreContent: false\r\n },\r\n gridType: 'verticalFixed',\r\n maxCols: 12,\r\n pushItems: false,\r\n swap: true,\r\n fixedRowHeight: 50,\r\n\r\n };\r\n\r\n }\r\n ultimasEntregas = [];\r\n\r\n async ngOnInit() {\r\n\r\n const response: [] = await this.popupConfigService.getConfiguracoesGerais();\r\n let contemTempoAtualizacao = response.some((config: any) => config.Nome == 'TempoDeAtualizacaoRadar')\r\n if(contemTempoAtualizacao){\r\n let configuracao: any = response.find((config: any) => config.Nome == 'TempoDeAtualizacaoRadar')\r\n let valor = Number(configuracao.Valor);\r\n if(valor > 0){\r\n setInterval(() => { this.refreshTela(); }, 60000 * valor);\r\n } \r\n }else{\r\n setInterval(() => { this.refreshTela(); }, 30000 * 60);\r\n }\r\n\r\n this.numeroRoteiroBusca = '';\r\n this.atualizaPosicoes();\r\n await this.getConsumoDt();\r\n this.roteiros = new Array();\r\n this.roteirosPorEmpresa = new Array();\r\n this.roteirosSemComunicacao = new Array();\r\n this.dashboardResult = new Array();\r\n await this.getUltimasEntregas();\r\n\r\n\r\n //Carrega itens na tela e força loading inicial\r\n this.loading = true;\r\n this.primeiraCarga = await this.refreshTela();\r\n\r\n await this.dashboardService.getEmpresasJasper().then(async empresa => {\r\n let cnpj = empresa.find((emp) => emp.Ativo).CGC\r\n await this.jasperService.getDadosDBeServidor(cnpj)\r\n })\r\n\r\n\r\n this.contemAvisosNovidades = (await this.painelMensagensService.dados()).length > 0;\r\n this.avisoVersaoDesativda()\r\n this.verificaDesatToken();\r\n\r\n }\r\n\r\n changedOptions() {\r\n this.options.api.optionsChanged();\r\n }\r\n\r\n // INICIO MODAL GPS\r\n async getListRouterTruck() {\r\n await this.boxListTruckService.getListRouterTruck();\r\n }\r\n\r\n onScroll(event: WheelEvent): void {\r\n const element = event.currentTarget as HTMLElement;\r\n element.scrollLeft += event.deltaY;\r\n event.preventDefault();\r\n }\r\n\r\n async getListRouterTruckPorId(pedido) {\r\n const responsePorId = await this.boxListTruckService.getListRouterTruckPorId(pedido);\r\n this.boxListTruckService.listTruckService = isNullOrUndefined(responsePorId) ? null : responsePorId[0];\r\n return isNullOrUndefined(responsePorId) ? null : responsePorId[0];\r\n }\r\n\r\n tipoFiltro(parametro) {\r\n this.filtroParametro = parametro;\r\n }\r\n\r\n async buscarRoteiro() {\r\n //abrir loading\r\n this.controlStatus.controlarLoading(true);\r\n this.controlStatus.msgErroBusca = '';\r\n\r\n if (this.numeroRoteiroBusca && !isNullOrUndefined(this.numeroRoteiroBusca) || this.dashboardService.nuRotAtualizaCoordenadas) {\r\n try {\r\n if (!this.numeroRoteiroBusca) {\r\n this.numeroRoteiroBusca = this.dashboardService.nuRotAtualizaCoordenadas.toString()\r\n }\r\n await this.visualizadorDeRoteiros(this.numeroRoteiroBusca, true);\r\n if (!isNullOrUndefined(this.roteiroModal)) {\r\n $(\"#modalPrincipal\").modal('show');\r\n } else {\r\n this.voltarTelaInicial();\r\n this.alertaRoteiro(this.controlStatus.msgErroBusca);\r\n }\r\n } catch (error) {\r\n this.controlStatus.erroRelatorio = true;\r\n this.controlStatus.carregandoRelatorios = true;\r\n this.controlStatus.avisoRelatorio = 'Ocorreu um erro ao recuperar o roteiro.';\r\n }\r\n } else {\r\n this.voltarTelaInicial();\r\n this.alertaRoteiro(this.controlStatus.msgErroBusca);\r\n }\r\n\r\n this.numeroRoteiroBusca = '';\r\n this.controlStatus.controlarLoading(false);\r\n }\r\n\r\n alertaRoteiro(msg) {\r\n bootbox.alert(msg == '' ? \"Roteiro não encontrado!\" : msg);\r\n }\r\n\r\n async visualizadorDeRoteiros(numeroBusca, busca) {\r\n this.graphicService.mostraConfiguracaoRoteiro = false;\r\n let roteiro = 0\r\n if(Array.isArray(numeroBusca)){\r\n roteiro = numeroBusca[0] \r\n if(numeroBusca[1] != 0){\r\n this.graphicService.numeroClienteFoco = numeroBusca[1];\r\n this.graphicService.coordenadaCenter = null\r\n }else{\r\n this.graphicService.coordenadaCenter = {latitude: numeroBusca[2].latitude, longitude : numeroBusca[2].longitude}\r\n }\r\n }else{\r\n roteiro = numeroBusca;\r\n this.graphicService.coordenadaCenter = null\r\n this.graphicService.numeroClienteFoco = 0;\r\n }\r\n let pedido = false;\r\n if (this.filtroParametro == 'pedido' && busca) {\r\n pedido = true;\r\n }\r\n\r\n this.controlStatus.carregando = true;\r\n this.roteiroModal = null;\r\n\r\n this.boxListTruckService.roteiroSelecionado = roteiro;\r\n\r\n this.roteiroModal = await this.getListRouterTruckPorId(pedido);\r\n\r\n if (this.roteiroModal) {\r\n let situacaoResult = await this.dashboardService.getSituacaoRoteiro(this.roteiroModal.roteiro);\r\n this.roteiroModal.situacao = situacaoResult[0] ? situacaoResult[0].situacao : null;\r\n }\r\n\r\n this.controlStatus.currentState = State.visualizadorDeRoteiros;\r\n this.controlStatus.carregouMapa = true;\r\n\r\n await this.graphicService.redimensionaMapa();\r\n this.tipoFiltro('roteiro')\r\n }\r\n\r\n async voltarTelaInicial() {\r\n this.graphicService.limparRota();\r\n this.graphicService.limparPontosMapa();\r\n this.controlStatus.carregando = false;\r\n this.controlStatus.currentState = State.visaoGeral;\r\n this.controlStatus.carregouMapa = false;\r\n }\r\n // FIM MODAL GPS\r\n\r\n async mostrarPendentes() {\r\n //Salvar configurações gerais\r\n let config = this.popupConfigService.configPendentes;\r\n let valor = null;\r\n try {\r\n if (!isNullOrUndefined(config)) {\r\n valor = this.controlStatus.mostrarApenasPendentes ? 1 : 0;\r\n config.Valor = valor;\r\n let objParam: ObjectParam = {\r\n configuracaoGeral: config\r\n }\r\n await this.popupConfigService.updateConfiguracaoGeral(config.ConfiguracaoGeralID, objParam);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n\r\n async contaClientesPorTipo() {\r\n this.dashboardResult = await this.getTotalClientes();\r\n\r\n for(let i=0; i < this.dashboardResult.length;i++){\r\n let infoRota: any = JSON.parse(this.dashboardResult[i].InfoRota) ?? false;\r\n let consideraEndPed = infoRota.ConsideraEndPed? true: false;\r\n\r\n if(consideraEndPed){\r\n let resultado = await this.getTotalRoteiro(this.dashboardResult[i].NumeroRoteiro)\r\n this.dashboardResult[i].totalClienteEmAnalise = resultado.totalClienteEmAnalise\r\n this.dashboardResult[i].totalClienteEntregue = resultado.totalClienteEntregue\r\n this.dashboardResult[i].totalClienteNaoAtendidos = resultado.totalClienteNaoAtendidos\r\n this.dashboardResult[i].totalClienteNaoVisitado = resultado.totalClienteNaoVisitado\r\n this.dashboardResult[i].totalClienteRecusado = resultado.totalClienteRecusado\r\n }\r\n\r\n this.dashboardResult[i].totalCliente = this.dashboardResult[i].totalClienteEmAnalise +\r\n this.dashboardResult[i].totalClienteEntregue +\r\n this.dashboardResult[i].totalClienteNaoAtendidos +\r\n this.dashboardResult[i].totalClienteNaoVisitado +\r\n this.dashboardResult[i].totalClienteRecusado\r\n }\r\n\r\n\r\n let setDashboardResult = [];\r\n this.dashboardResult.forEach(element => {\r\n let contemRoteiro = setDashboardResult.some((ped) => ped.NumeroRoteiro == element.NumeroRoteiro)\r\n if (!contemRoteiro) {\r\n setDashboardResult.push(element);\r\n }\r\n });\r\n\r\n this.dashboardResult = Array.from(setDashboardResult);\r\n this.dashboardResultTotal = Array.from(this.dashboardResult)\r\n let consultaVersaoBd = await this.getVersaoAtualAplicativo();\r\n let consultaVersaoTransp = await this.getVersaoTranspAplicativo(); \r\n this.versaoAtualApp = consultaVersaoBd.response.find((versao) => versao.ativa).versao;\r\n this.versaoAtualTransp = consultaVersaoTransp.response.find((versao) => versao.ativa).versao;\r\n this.urlDownload = `https://rotaplan.paineltarget.inf.br/RotaPlanV2/APK/${this.versaoAtualApp}/ROTAPLAN.apk`;\r\n this.roteirosVersaoDesatualizada = this.dashboardResult.filter((roteiro) => roteiro.VersaoApp < this.versaoAtualApp && !roteiro.RoteiroTransportadora )\r\n this.versaoTranspDesatualizada = this.dashboardResult.filter((roteiro) => roteiro.VersaoApp < this.versaoAtualTransp && roteiro.RoteiroTransportadora )\r\n\r\n\r\n if (this.dashboardResult && this.dashboardResult.length > 0) {\r\n //Limpa os campos\r\n this.limparTotais();\r\n\r\n //Cria totais dos clientes.\r\n this.atualizaTotais();\r\n }\r\n }\r\n\r\n async contaRoteirosPorSituacao() {\r\n if (this.dashboardResult && this.dashboardResult.length > 0) {\r\n //Limpa os campos\r\n this.limparTotaisSituacao();\r\n\r\n let arr = this.dashboardResult;\r\n this.totaisSituacoes.totalEntregues = arr.filter((situacao) => situacao.totalCliente == situacao.totalClienteEntregue + situacao.totalClienteRecusado).length\r\n\r\n for (let i = 0; i < arr.length; i++) {\r\n switch (arr[i].situacao) {\r\n case \"Iniciou\": this.totaisSituacoes.iniciou += 1; break; //iniciou\r\n case \"Pausou\": this.totaisSituacoes.pausou += 1; break; //pausou\r\n case \"Saiu\": this.totaisSituacoes.saiu += 1; break; //saiu\r\n case \"-\": this.totaisSituacoes.emAberto += 1; break; //em aberto\r\n case \"Finalizado\": this.totaisSituacoes.finalizou +=1; break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n filtrarPorSituacao(idSituacao: number) {\r\n // verifica se o filtro atual é o mesmo que o filtro anterior\r\n if (this.filtroAtivo && this.idSituacaoFiltro === idSituacao) {\r\n // Restaurar os roteiros originais\r\n this.roteiros = this.roteirosOriginal.slice();\r\n this.filtroAtivo = false;\r\n this.idSituacaoFiltro = null; // reseta o id do filtro\r\n } else {\r\n // aplica novo filtro\r\n if (!this.filtroAtivo) {\r\n this.roteirosOriginal = this.roteiros.slice();\r\n this.filtroAtivo = true;\r\n }\r\n this.roteiros = this.roteirosOriginal.filter((situacao) => situacao.IdRoteiroSituacao === idSituacao);\r\n this.idSituacaoFiltro = idSituacao; // armazena o id do filtro atual\r\n }\r\n }\r\n \r\n async contaOcorrenciasPorTipo() {\r\n if (!this.auxFiltraPorEmpresa) {\r\n this.ocorrencias = await this.getTotalOcorrencias();\r\n if (this.ocorrencias) {\r\n this.limparTotaisOcorrencias();\r\n\r\n this.totaisOcorrencias.emAberto = this.ocorrencias.reduce((preVal, elem) => preVal + elem.emAberto, 0);\r\n this.totaisOcorrencias.emAnalise = this.ocorrencias.reduce((preVal, elem) => preVal + elem.emAnalise, 0);\r\n this.totaisOcorrencias.finalizadas = this.ocorrencias.reduce((preVal, elem) => preVal + elem.finalizadas, 0);\r\n }\r\n this.carregando.ocorrencias = true;\r\n }\r\n }\r\n\r\n filtraRoteirosComunicaoAtual() {\r\n\r\n if (!this.comunicacaoComDataAtual) {\r\n this.roteirosSemComunicacao = this.roteirosSemComunicacao.filter((roteiro) => {\r\n const dataRoteiro = new Date(roteiro.PrevisaoSaida);\r\n return this.dataAtual.toDateString() === dataRoteiro.toDateString();\r\n });\r\n this.comunicacaoComDataAtual = !this.comunicacaoComDataAtual;\r\n } else {\r\n this.roteirosSemComunicacao = this.roteirosComunicaoFiltro;\r\n this.comunicacaoComDataAtual = !this.comunicacaoComDataAtual;\r\n }\r\n }\r\n\r\n async montarRoteiroCard() {\r\n if (this.auxFiltraPorEmpresa == true) {\r\n\r\n if (this.allRoteiros.length == 0) {\r\n this.roteiros = await this.getRoteiros();\r\n this.allRoteiros = Array.from(this.roteiros)\r\n }\r\n\r\n let roteirosFiltrado = this.roteiroFiltrados();\r\n this.roteiros = this.allRoteiros.filter((roteiro) => roteirosFiltrado.includes(roteiro.roteiro))\r\n\r\n\r\n } else {\r\n if (this.allRoteiros.length == 0) {\r\n this.roteiros = await this.getRoteiros();\r\n this.allRoteiros = Array.from(this.roteiros)\r\n } else {\r\n this.roteiros = Array.from(this.allRoteiros)\r\n }\r\n\r\n }\r\n if (this.roteiros) {\r\n this.contaRoteirosPorSituacao();\r\n\r\n //Adiciona atributo dataDiff\r\n this.roteirosSemComunicacao = this.roteiros.filter(roteiro => { if (!this.verificaPorcentagemMaxima(roteiro)) { return roteiro } }).map(a => Object.assign({}, a));\r\n this.roteirosSemComunicacao.filter(roteiro => {\r\n roteiro.dataDiff = this.retornaDataDiffPorNumero(roteiro.roteiro);\r\n })\r\n this.roteirosSemComunicacao = this.roteirosSemComunicacao.filter(roteiro => {\r\n return roteiro.IdRoteiroSituacao !== 1\r\n })\r\n\r\n this.roteirosComunicaoFiltro = this.roteirosSemComunicacao;\r\n\r\n this.carregando.roteiros = true;\r\n this.carregando.semComunicacao = true;\r\n }\r\n this.comunicacaoComDataAtual = !this.comunicacaoComDataAtual;\r\n this.filtraRoteirosComunicaoAtual();\r\n\r\n\r\n }\r\n\r\n verificaPorcentagemMaxima(roteiro) {\r\n let porcentagem = ((roteiro.realizadas * 100) / (roteiro.QtdeEntregas == 0 ? 1 : roteiro.QtdeEntregas)).toFixed(0);\r\n return parseInt(porcentagem) == 100 ? true : false;\r\n }\r\n\r\n limparTotais() {\r\n this.totais.totalClientes = 0;\r\n this.totais.totalClientesAtendidos = 0;\r\n this.totais.totalClientesNaoAtendidos = 0;\r\n this.totais.totalClientesAnalise = 0;\r\n this.totais.totalClientesNaoVisitados = 0;\r\n }\r\n\r\n limparTotaisSituacao() {\r\n this.totaisSituacoes.iniciou = 0;\r\n this.totaisSituacoes.pausou = 0;\r\n this.totaisSituacoes.saiu = 0;\r\n this.totaisSituacoes.semCoordenadas = 0;\r\n this.totaisSituacoes.totalEntregues = 0;\r\n this.totaisSituacoes.emAberto = 0\r\n }\r\n\r\n limparTotaisOcorrencias() {\r\n this.totaisOcorrencias = {\r\n emAberto: 0,\r\n emAnalise: 0,\r\n finalizadas: 0\r\n };\r\n }\r\n\r\n retornaDataDiffPorNumero(numeroRoteiro) {\r\n let result = this.dashboardResult.filter(dados => { if (dados.NumeroRoteiro == numeroRoteiro) return dados })[0];\r\n if (!isNullOrUndefined(result)) {\r\n return result.dataDiff;\r\n }\r\n return 0;\r\n }\r\n\r\n // === Configurações de cards ===\r\n // Funções para logar as NOVAS caracteristicas dos itens ao mudar o tamanho ou mudar a posição no dashboard\r\n\r\n static itemInit(item, itemComponent) {\r\n\r\n\r\n }\r\n\r\n static itemChange(item, itemComponent) {\r\n controller.salvarPosicoes();\r\n }\r\n static itemResize(item, itemComponent) {\r\n }\r\n\r\n itemRemove() {\r\n controller.salvarPosicoes();\r\n }\r\n\r\n expandRoteiros() {\r\n this.expand_class = !this.expand_class;\r\n }\r\n\r\n removeCardClientes() {\r\n this.cardClientes.mostrar = !this.cardClientes.mostrar;\r\n this.salvarPosicoes();\r\n }\r\n\r\n removeCardRoteiros() {\r\n this.cardRoteiros.mostrar = !this.cardRoteiros.mostrar;\r\n this.salvarPosicoes();\r\n }\r\n\r\n removeCardRelatorios() {\r\n this.cardRelatorios.mostrar = !this.cardRelatorios.mostrar;\r\n this.salvarPosicoes();\r\n }\r\n\r\n removeCardSemComunicacao() {\r\n this.cardSemComunicacao.mostrar = !this.cardSemComunicacao.mostrar;\r\n this.salvarPosicoes();\r\n }\r\n\r\n removeUltimasEntregas() {\r\n this.cardUltimasEntregas.mostrar = !this.cardUltimasEntregas.mostrar;\r\n this.salvarPosicoes();\r\n }\r\n\r\n removeAlertas() {\r\n this.cardAlertas.mostrar = !this.cardAlertas.mostrar;\r\n this.salvarPosicoes();\r\n }\r\n\r\n removeCardVisitas() {\r\n this.cardVisitas.mostrar = !this.cardVisitas.mostrar;\r\n this.salvarPosicoes();\r\n }\r\n\r\n salvarPosicoes() {\r\n //Adicionar as variáveis dos cards para salvar\r\n localStorage.setItem('posicoes', JSON.stringify({\r\n cardClientes: this.cardClientes,\r\n cardRelatorios: this.cardRelatorios, \r\n cardRoteiros: this.cardRoteiros, \r\n cardSemComunicacao: this.cardSemComunicacao, \r\n cardUltimasEntregas: this.cardUltimasEntregas, \r\n cardAlertas: this.cardAlertas, \r\n cardVisitas : this.cardVisitas,\r\n cardAjusteLayout: this.cardAjusteLayout\r\n }));\r\n }\r\n\r\n atualizaPosicoes() {\r\n let posicoes = JSON.parse(localStorage.getItem('posicoes'));\r\n if (posicoes != null) {\r\n\r\n if(posicoes.cardVisitas == null){\r\n this.resetarPosicoes()\r\n return; \r\n }\r\n \r\n if (posicoes.cardClientes != null) {\r\n this.cardClientes = posicoes.cardClientes;\r\n }\r\n\r\n if (posicoes.cardRoteiros != null) {\r\n this.cardRoteiros = posicoes.cardRoteiros;\r\n }\r\n\r\n if (posicoes.cardSemComunicacao != null) {\r\n this.cardSemComunicacao = posicoes.cardSemComunicacao;\r\n }\r\n if (posicoes.cardRelatorios != null) {\r\n this.cardRelatorios = posicoes.cardRelatorios;\r\n }\r\n\r\n if (posicoes.cardUltimasEntregas != null) {\r\n this.cardUltimasEntregas = posicoes.cardUltimasEntregas;\r\n }\r\n \r\n if (posicoes.cardAlertas != null) {\r\n this.cardAlertas = posicoes.cardAlertas;\r\n }\r\n\r\n if (posicoes.cardVisitas != null) {\r\n this.cardVisitas = posicoes.cardVisitas;\r\n }\r\n\r\n if (posicoes.cardAjusteLayout != null) {\r\n this.cardAjusteLayout = posicoes.cardAjusteLayout;\r\n }\r\n\r\n }\r\n }\r\n //Fim - configurações de cards\r\n\r\n //Atualização automática\r\n\r\n async refreshTela() {\r\n this.loading = true;\r\n this.allRoteiros = []\r\n await this.getEmpresa()\r\n await this.contaClientesPorTipo();\r\n await this.contaOcorrenciasPorTipo();\r\n await this.getUltimasEntregas();\r\n await this.montarRoteiroCard();\r\n this.today = Date.now();\r\n\r\n if (this.auxFiltraPorEmpresa) {\r\n this.getRoteirosPorEmpresa(this.cdEmp, this.razaoSocial)\r\n }\r\n\r\n //Recarregar o chart.\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.carregando.clientes = false;\r\n setTimeout(() => {\r\n this.carregando.clientes = true;\r\n }, 1);\r\n }, 100);\r\n\r\n return false;\r\n }\r\n\r\n //Fim - Atualização automática\r\n\r\n //Inicio - Relatórios\r\n fecharLoading() {\r\n this.controlStatus.erroRelatorio = false;\r\n this.controlStatus.carregandoRelatorios = false;\r\n }\r\n\r\n\r\n //Fim - Relatórios\r\n\r\n //Inicio - Dropdown controller\r\n abreDropdown() {\r\n this.canSee = !this.canSee;\r\n }\r\n\r\n hide(e: any, config) {\r\n this.canSee = false;\r\n if (config) {\r\n this.controlStatus.popupConfig = true;\r\n }\r\n }\r\n //Fim - Dropdown controller\r\n\r\n //Chamadas de serviço\r\n async getRoteiros() {\r\n let result = await this.dashboardService.getRoteiros();\r\n\r\n return result;\r\n }\r\n\r\n async getEmpresa() {\r\n\r\n let result = await this.dashboardService.getEmpresas()\r\n\r\n if (result) {\r\n result.filter(x => {\r\n let contemEmpresa = this.listaEmpresas.some((empresa) => empresa.cnpj == x.cnpj)\r\n\r\n if (!contemEmpresa) {\r\n this.listaEmpresas.push(\r\n { cdEmp: x.cdEmp, razaoSocial: x.razaoSocial, cnpj: x.cnpj, ativo: x.ativo, nomeFantasia: x.NomeFantazia },\r\n )\r\n }\r\n\r\n })\r\n } else {\r\n this.listaEmpresas = []\r\n }\r\n if(this.listaEmpresas.length > 0){\r\n this.routeService.nomeCliente = this.listaEmpresas[0].razaoSocial\r\n }\r\n }\r\n\r\n\r\n //filtro de roteiros por empresa\r\n async getRoteirosPorEmpresa(cdEmp: number, razaoSocial?: string) {\r\n this.cdEmp = cdEmp\r\n this.razaoSocial = razaoSocial\r\n this.auxFiltraPorEmpresa = true;\r\n this.dashboardResult = this.dashboardResultTotal.filter((empresa) => empresa.cdEmp == cdEmp);\r\n this.atualizaDashboard();\r\n this.montarRoteiroCard();\r\n //simula click para atualizar empresa\r\n this.controlStatus.empresaSelecionada = cdEmp.toString()\r\n\r\n }\r\n\r\n async resetFiltroEmpresa() {\r\n this.cdEmp = undefined;\r\n this.auxFiltraPorEmpresa = false;\r\n this.dashboardResult = Array.from(this.dashboardResultTotal)\r\n this.atualizaDashboard();\r\n this.montarRoteiroCard();\r\n this.controlStatus.empresaSelecionada = null\r\n }\r\n\r\n atualizaDashboard() {\r\n this.atualizaTotais();\r\n\r\n let roteiros = this.roteiroFiltrados()\r\n this.cardSemComunicao.atualizaRoteiroSemComunicacao(roteiros);\r\n this.roteiroOcorrencia.atualizaOcorrencia(roteiros)\r\n }\r\n\r\n roteiroFiltrados(): any[] {\r\n let roteiros = [];\r\n this.dashboardResult.forEach(rot => {\r\n roteiros.push(rot.NumeroRoteiro);\r\n });\r\n return roteiros\r\n }\r\n\r\n atualizaTotais() {\r\n this.totais.totalClientes = this.dashboardResult.reduce((preVal, elem) => preVal + elem.totalCliente, 0);\r\n this.totais.totalClientesAtendidos = this.dashboardResult.reduce((preVal, elem) => preVal + elem.totalClienteEntregue, 0);\r\n this.totais.totalClientesNaoAtendidos = this.dashboardResult.reduce((preVal, elem) => preVal + elem.totalClienteNaoAtendidos + elem.totalClienteRecusado, 0);\r\n this.totais.totalClientesAnalise = this.dashboardResult.reduce((preVal, elem) => preVal + elem.totalClienteEmAnalise, 0);\r\n this.totais.totalClientesNaoVisitados = this.dashboardResult.reduce((preVal, elem) => preVal + elem.totalClienteNaoVisitado, 0);\r\n }\r\n\r\n async getTotalClientes() {\r\n\r\n let result = await this.dashboardService.getTotalClientes();\r\n let listaCdEmp = [];\r\n if (result) {\r\n result.forEach(empresa => {\r\n if (empresa.cdEmp !== null) {\r\n listaCdEmp.push(empresa.cdEmp)\r\n }\r\n });\r\n\r\n let menorCdEmp = Math.min(...listaCdEmp);\r\n result.forEach(empresa => {\r\n if (empresa.cdEmp === null) {\r\n empresa.cdEmp = menorCdEmp;\r\n }\r\n });\r\n\r\n return result;\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n async getTotalRoteiro(numeroRoteiro) {\r\n let result = await this.dashboardService.getTotalRoteiro(numeroRoteiro);\r\n return result[0];\r\n }\r\n\r\n async getTotalOcorrencias() {\r\n let result = await this.dashboardService.getTotalOcorrencias();\r\n if (result) {\r\n return result;\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n async getVersaoAtualAplicativo() {\r\n return await this.dashboardService.getVersaoAtualAplicativo();\r\n }\r\n\r\n async getVersaoTranspAplicativo() {\r\n return await this.dashboardService.getVersaoTranspAplicativo();\r\n }\r\n\r\n //Fim - chamadas de serviço\r\n\r\n formataCNPJ(cnpj: string) {\r\n return cnpj.replace(/^(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})/, \"$1.$2.$3/$4-$5\");\r\n }\r\n\r\n async getConsumoDt() {\r\n\r\n try {\r\n const resultado: JsonReturn = await this.dashboardService.getConsumoDt();\r\n\r\n this.qtdLiberada = resultado.response[1]['qtdLiberada']\r\n this.qtdUsada = resultado.response[1]['qtdUsada']\r\n this.qtdSimu = resultado.response[0]['IdRoteirizacoes']\r\n const data = new Date()\r\n this.mesConsumo = this.meses[data.getMonth()];\r\n } catch (e) {\r\n console.log(\"Erro ao consultar consumo\")\r\n }\r\n\r\n }\r\n\r\n async getUltimasEntregas() {\r\n try {\r\n this.ultimasEntregas = await this.dashboardService.ultimasEntregas(); \r\n } catch (e) {\r\n console.log(\"Erro ao consultar últimas entregas\")\r\n }\r\n }\r\n \r\n visualizouAlerta() {\r\n this.avisoConsumo = false\r\n\r\n }\r\n\r\n avisoVersaoDesativda(){\r\n if(this.contemAvisosNovidades){\r\n document.getElementById('btnAvisosNovidades').click();\r\n }\r\n }\r\n\r\n downloadApptransp(){\r\n document.getElementById('btnDownloadAppTransp').click();\r\n }\r\n \r\n resetarPosicoes(){\r\n localStorage.removeItem('posicoes');\r\n window.location.reload();\r\n }\r\n\r\n mostraAlertaNotic(){\r\n this.mostraNotAlerta = true;\r\n }\r\n\r\n alterarPainelAntigo() {\r\n let currentUrl = window.location.href; \r\n let newUrl = currentUrl.replace('RadarMotoristaNew' , 'RadarMotorista', ); \r\n window.location.href = newUrl;\r\n }\r\n\r\n verificaDesatToken(){ \r\n const dataLimite = new Date('2024-10-01');\r\n const dataAtual = new Date(); \r\n this.mostrarRecursoToken = dataLimite > dataAtual;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Target Rota Plan\r\n \r\n\r\n \r\n qtdLiberada\"\r\n style=\"display: contents\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n

\r\n Consumo de Roteirização está acima do contratado para o mês de\r\n {{ mesConsumo }}\r\n

\r\n\r\n \r\n \r\n \r\n Quantidade Contratada\r\n Roteiros Liberados\r\n Total de simulações e edições\r\n \r\n \r\n \r\n \r\n {{ qtdLiberada }}\r\n {{ qtdUsada }}\r\n {{ qtdSimu }}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n 1\"\r\n class=\"dropdown mr-3\"\r\n id=\"filtraPorFilial\"\r\n >\r\n \r\n Filial\r\n {{ cdEmp !== undefined ? razaoSocial : \"\" }}\r\n \r\n
\r\n {{ empresa.cdEmp }} - {{ empresa.nomeFantasia }}\r\n Resetar Filtro\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Busca por:\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \"Cards\"\r\n {{ loading ? \"atualizando\" : (today | date : \"dd/MM/yy | HH:mm\") }}\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \"Celular\"\r\n {{\r\n roteirosVersaoDesatualizada.length\r\n }}\r\n \r\n \r\n \r\n

\r\n Temos uma nova versão do aplicativo do motorista\r\n {{ versaoAtualApp }}
\r\n Os seguintes roteiros foram iniciados com uma versão antiga, quando\r\n for possível avise o motorista para atualizar.\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
RoteiroVersão APPMotorista
{{ roteiro.NumeroRoteiro }}{{ roteiro.VersaoApp }}{{ roteiro.NomeMotorista }}
\r\n
\r\n \r\n
\r\n \r\n Download\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \"Celular\"\r\n {{\r\n versaoTranspDesatualizada.length\r\n }}\r\n \r\n \r\n \r\n

\r\n Temos uma nova versão do aplicativo da transportadora\r\n {{ versaoAtualTransp }}
\r\n Quando\r\n for possível avise o transportadora para atualizar.\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Versão APPTransportadora
{{ roteiro.VersaoApp }}{{ roteiro.NomeMotorista }}
\r\n
\r\n \r\n Download\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \"Relatórios\"\r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Configurações
\r\n \r\n
\r\n
\r\n

Selecione abaixo os Cards que você gostaria de ver no dashboard:

\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Ocorrências Relatadas \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n Status das Entregas\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n Comunicação \r\n \r\n Apenas roteiros do dia\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n Relatórios \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n Últimas entregas\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n Visitas\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n Alertas\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Somente roteiros do dia\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ this.controlStatus.avisoRelatorio }} \r\n \r\n \"\"\r\n Fechar\r\n \r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Check-in via imagem

\r\n \r\n
\r\n
\r\n\r\n
\r\n \"gif Carregando\r\n informações\r\n
\r\n\r\n \r\n
\r\n
\r\n
{{ boxInfoRouterService.clienteLocalEntrega?.RazaoSocial }}
\r\n

({{ boxInfoRouterService.clienteLocalEntrega?.CodigoCliente }})

\r\n
\r\n \r\n
\r\n

{{ boxInfoRouterService.clienteLocalEntrega?.RazaoSocial }}

\r\n

CNPJ: {{ boxInfoRouterService.clienteLocalEntrega?.CnpjCpf }}

\r\n

{{ boxInfoRouterService.clienteLocalEntrega?.Endereco }}, {{ boxInfoRouterService.clienteLocalEntrega?.Numero }}

\r\n

{{ boxInfoRouterService.clienteLocalEntrega?.Bairro }} - {{ boxInfoRouterService.clienteLocalEntrega?.Cidade }}

\r\n

CEP: {{ boxInfoRouterService.clienteLocalEntrega?.Cep }}

\r\n
\r\n
\r\n \"Local \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
Últimas entregas
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
Alertas
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n","import { empresaObj } from './../shared/Util';\r\nimport { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { ControlStatusService } from '../shared/control-status.service';\r\nimport { Util } from '../shared/Util';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class DashboardService {\r\n constructor(private conService: ApiConService, private controlStatus: ControlStatusService, private util: Util, private currencyPipe: CurrencyPipe\r\n ) { }\r\n\r\n nuRotAtualizaCoordenadas: number = undefined;\r\n async getRoteiros() {\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCroteiros');\r\n return response.response;\r\n } catch (Error) {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getRoteirosPorEmpresa(cdEmp: number) {\r\n try {\r\n let response: JsonReturn = await this.conService.patch(`DCroteiros/porEmpresa:/${cdEmp}`);\r\n return response.response;\r\n } catch (Error) {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n\r\n async getTotalClientes() {\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCroteiros/dashboard/totalClientes');\r\n return response.response;\r\n } catch (Error) {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getTotalRoteiro(numeroRoteiro) {\r\n try {\r\n let response: JsonReturn = await this.conService.patch(`DCroteiros/dashboard/totalRoteiro/${numeroRoteiro}`);\r\n return response.response;\r\n } catch (Error) {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getTotalOcorrencias() {\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCocorrencias/dashboard/totalOcorrencias');\r\n return response.response;\r\n } catch (Error) {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getRelatoriosDistancia(data, dataFinal) {\r\n let relatorios = [];\r\n let rows = [];\r\n\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCrelatorios/data/' + data + '/' + dataFinal);\r\n\r\n relatorios = response.response;\r\n\r\n relatorios.filter(x => {\r\n let cdEmp = x.cdEmp;\r\n let nomeFantasia = x.NomeFantasia;\r\n let roteiro = x.NumeroRoteiro;\r\n let cliente = x.CodigoCLiente;\r\n let razaoSocial = x.RazaoSocial;\r\n let latCadastro = `${x.latitudeCadastro.replace(\".\", \",\")}`;\r\n let longCadastro = `${x.longitudeCadastro.replace(\".\", \",\")}`;\r\n let latEntrega = `${x.latitudeEntrega.replace(\".\", \",\")}`;\r\n let LongEntrega = `${x.longitudeEntrega.replace(\".\", \",\")}`;\r\n let distancia = x.distanciaMetros >= 1000 ? `${x.distanciaMetros / 1000} km` : `${x.distanciaMetros} m`;\r\n let endereco = `${x.Endereco}, ${x.Numero} - ${x.Bairro}/${x.Cidade} - CEP:${x.Cep}`;\r\n let data = x.dataFinalEntrega;\r\n let nomeMotorista = x.NomeMotorista;\r\n let houveOcorrencia = x.houveOcorrencia;\r\n let tempoEntrega = x.tempoEntrega\r\n let numeroPedido = x.Pedidos;\r\n let nf = x.Notas;\r\n let valorNFs = x.ValorNFs;\r\n let valorTotal = x.ValorTotal\r\n let peso = x.Peso.toFixed(2).replace('.', ',')\r\n rows.push([cdEmp,nomeFantasia,roteiro, cliente, razaoSocial, latCadastro, longCadastro, latEntrega, LongEntrega, distancia, endereco, data, nomeMotorista, houveOcorrencia, tempoEntrega, numeroPedido, nf,valorNFs,valorTotal, peso]);\r\n });\r\n // Seleciona os roteiros dentro da requisição\r\n let roteirosPorData = []\r\n rows.forEach(x => {\r\n let roteiro = x[2] || '';\r\n roteirosPorData.push(roteiro)\r\n })\r\n // Filtra os roteiros repetidos, criando um array com os roteiros do relatorio pedido\r\n let roteirosPorDataFiltrado = roteirosPorData.filter((item, pos) => {\r\n return roteirosPorData.indexOf(item) === pos\r\n })\r\n // Cria o array dos roteiros planejados seguindo a ordem do roteirizador do Rotaplan\r\n let ordemRecebida = []\r\n let rotasPlanejadas = []\r\n for (let roteiro of roteirosPorDataFiltrado) {\r\n console.log(roteiro);\r\n\r\n ordemRecebida = await this.getOrdemPlanejadaDeEntrega(roteiro)\r\n ordemRecebida.forEach(x => {\r\n let idRoteiroPedido = x[0] || '';\r\n let roteiroRecebido = x[1] || '';\r\n let codigoCliente = x[2] || '';\r\n let indice = x[3] || '';\r\n rotasPlanejadas.push([idRoteiroPedido, roteiroRecebido, codigoCliente, indice])\r\n })\r\n }\r\n\r\n let roteiroPorCliente = []\r\n rows.forEach(x => {\r\n let cliente = x[1] || ''\r\n roteiroPorCliente.push(cliente)\r\n })\r\n //Função para a ordenação de array das rotas roteirizadas de acordo com a ordem de entrega real.\r\n let rotasOrdenadasPorCliente = []\r\n\r\n roteiroPorCliente.forEach((ordemReal) => {\r\n rotasPlanejadas.map((x) => {\r\n if (x[2] == ordemReal) {\r\n rotasOrdenadasPorCliente.push(x[x.length - 1])\r\n };\r\n\r\n });\r\n return rotasOrdenadasPorCliente\r\n })\r\n\r\n //Adiciona o indice das rotas planejadas ao array que será enviado quando o metodo for chamado\r\n let rowsComIndice = []\r\n rows.forEach(x => {\r\n x.push(rotasOrdenadasPorCliente[rowsComIndice.length])\r\n rowsComIndice.push(x)\r\n }\r\n )\r\n\r\n\r\n relatorios = [];\r\n relatorios = rowsComIndice;\r\n\r\n return relatorios;\r\n }\r\n catch (Error) {\r\n console.log(Error);\r\n return Error;\r\n }\r\n }\r\n\r\n async getRelatoriosOcorrencia(data, dataFinal) {\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCrelatorios/ocorrencia/' + data + '/' + dataFinal);\r\n return response.response;\r\n } catch (Error) {\r\n return Error;\r\n }\r\n }\r\n\r\n async getRelatoriosMotorista(data, dataFinal) {\r\n let relatorios = [];\r\n let rows = [];\r\n\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCrelatorios/motorista/' + data + '/' + dataFinal);\r\n\r\n relatorios = response.response;\r\n\r\n relatorios.filter(x => {\r\n let motorista = x.nome_motorista;\r\n let roteiro = x.roteiro;\r\n let data = x.Data;\r\n let distPlanejada = x.distanciaPlanejada;\r\n let distPercorrida = x.distanciaPercorrida;\r\n let entregas = x.QtdeEntregas;\r\n let realizadas = x.realizadas;\r\n let ocorrencia = x.ocorrencias;\r\n let inicioTrabalho = x.inicioTrabalho;\r\n let finalTrabalho = x.finalTrabalho;\r\n let tempoTotal = x.tempoTotal;\r\n rows.push([motorista, roteiro, data, distPlanejada, distPercorrida, entregas, realizadas, ocorrencia, inicioTrabalho, finalTrabalho, tempoTotal]);\r\n });\r\n\r\n relatorios = [];\r\n relatorios = rows;\r\n\r\n return relatorios;\r\n }\r\n catch (Error) {\r\n console.log(Error);\r\n return Error;\r\n }\r\n }\r\n\r\n async getMotoristasOcorrencias(data, dataFinal) {\r\n let relatorios: any\r\n\r\n try {\r\n relatorios = await this.conService.patch('DCrelatorios/motoristasOcorrencias/' + data + '/' + dataFinal);\r\n\r\n return relatorios;\r\n }\r\n catch (Error) {\r\n console.log(Error);\r\n return Error;\r\n }\r\n }\r\n\r\n async getOcorrenciasDetalhes(data, dataFinal) {\r\n let relatorios = [];\r\n let rows = [];\r\n\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCrelatorios/ocorrenciasDetalhes/' + data + '/' + dataFinal);\r\n relatorios = response.response;\r\n relatorios.filter(x => {\r\n let codigoOcorrencia = x.CodigoOcorrencia;\r\n let numeroRoteiro = x.NumeroRoteiro;\r\n let data = new Date(x.Data).toLocaleDateString();\r\n let nomeMotorista = x.NomeMotorista;\r\n let codigoCliente = x.CodigoCliente;\r\n let nomeFantasia = x.NomeFantasia;\r\n let motivo = x.Motivo;\r\n let mensagem = this.util.verificaMensagem(x.Mensagem) || \"\";\r\n rows.push([data, numeroRoteiro, codigoOcorrencia, nomeMotorista, codigoCliente, nomeFantasia, motivo, mensagem]);\r\n\r\n })\r\n return rows;\r\n }\r\n catch (Error) {\r\n console.log(Error);\r\n return Error;\r\n }\r\n }\r\n\r\n async deleteRoteiro(NumeroRoteiro) {\r\n try {\r\n let response = await this.conService.patch(`DCroteiros/del/${NumeroRoteiro}`);\r\n return response.response;\r\n } catch (Error) {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async finalizarRoteiro(idRoteiro) {\r\n try {\r\n let response = await this.conService.post(`DCroteiros/roteiro/situacao/${idRoteiro}/5`);\r\n return response.response;\r\n } catch (Error) {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getSituacaoRoteiro(numeroRoteiro) {\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCroteiros/dashboard/situacaoRoteiro/' + numeroRoteiro);\r\n return response.response;\r\n } catch (error) {\r\n this.controlStatus.msgErroBusca = \"Ocorreu um erro ao buscar o roteiro.\";\r\n console.log(error);\r\n }\r\n }\r\n\r\n //Metodo que faz a requisição ao backend dos roteiros de entrega de acordo com a ordem feita pelo roteirizador do\r\n //Rotaplan\r\n async getOrdemPlanejadaDeEntrega(numeroRoteiro: any) {\r\n let ordem = [];\r\n let rows = [];\r\n let indice = 0\r\n try {\r\n\r\n let response: JsonReturn = await this.conService.patch('DCrelatorios/ordemPlanejada/' + numeroRoteiro);\r\n ordem = response.response\r\n ordem.filter(x => {\r\n let idRoteiroPedido = x.IdRoteiroPedido;\r\n let numeroRoteiro = x.NumeroRoteiro\r\n let codigoCliente = x.CodigoCliente\r\n rows.push([idRoteiroPedido, numeroRoteiro, codigoCliente])\r\n });\r\n //Filtra dos predidos recebidos do roteiro os clientes em duplicata. Retornando um array com apenas um dos itens.\r\n let ordemFiltrada = rows.filter(([id, rot, cod], i) => {\r\n return !rows.some(\r\n ([_id, _rot, _cod], j) => j > i && cod === _cod);\r\n });\r\n // Cria o array das rotas planejadas com o indice das rotas de acordo com o roteirizador do Rotaplan\r\n let indiceRotasPlanejadas = 0\r\n let rotasPlanejada = [];\r\n ordemFiltrada.forEach(x => {\r\n let idRoteiroPedido = x[0] || '';\r\n let roteiro = x[1] || '';\r\n let codigoCliente = x[2] || '';\r\n indiceRotasPlanejadas++\r\n rotasPlanejada.push([idRoteiroPedido, roteiro, codigoCliente, indiceRotasPlanejadas])\r\n })\r\n\r\n\r\n return rotasPlanejada;\r\n }\r\n catch (Error) {\r\n console.log(Error);\r\n return Error;\r\n }\r\n }\r\n\r\n async intervaloEntregaPorCliente(data, dataFinal) {\r\n let relatorios = [];\r\n let rows = [];\r\n\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCrelatorios/intervaloEntregaPorCliente/' + data + '/' + dataFinal);\r\n relatorios = response.response;\r\n relatorios.filter(x => {\r\n\r\n let dataUTC = x.DtChegada.replace('Z', '');\r\n let cdEmp = x.cdEmp;\r\n let empOrigem = x.EmpresaOrigem;\r\n let numeroRoteiro = x.NumeroRoteiro;\r\n let nomeMotorista = x.NomeMotorista;\r\n let codigoCliente = x.CodigoCliente;\r\n let nomeFantasia = x.NomeFantasia\r\n let dtChegada = new Date(dataUTC).toLocaleDateString();\r\n let horaChegada = x.HoraChegada;\r\n let inicioEntrega = x.InicioEntrega;\r\n let fimEntrega = x.FimEntrega;\r\n let intervaloEntrega = x.IntervaloEntrega;\r\n let qtdePedidos = x.QtdePedidos;\r\n let numeroPedido = x.Pedidos;\r\n let nf = x.Notas;\r\n let valorNFs = x.ValorNFs;\r\n let valorTotal = x.ValorTotal\r\n let peso = x.Peso.toFixed(2).replace('.', ',')\r\n rows.push([ cdEmp,empOrigem,numeroRoteiro, nomeMotorista, codigoCliente, nomeFantasia, dtChegada, horaChegada, inicioEntrega, fimEntrega, intervaloEntrega, qtdePedidos, numeroPedido, nf,valorNFs ,valorTotal,peso]);\r\n\r\n })\r\n return rows;\r\n }\r\n catch (Error) {\r\n console.log(Error, 'Relatório intervaloEntregaPorCliente');\r\n return Error;\r\n }\r\n }\r\n\r\n async jornadaTrabalhoMotorista(data, dataFinal) {\r\n let relatorios = [];\r\n let rows = [];\r\n\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCrelatorios/jornadaTrabalhoMotorista/' + data + '/' + dataFinal);\r\n relatorios = response.response;\r\n relatorios.filter(info => {\r\n\r\n let motorista = info.NomeMotorista;\r\n let diasTrabalhados = info.DiasTrabalhados;\r\n let totalDeHoras = info.TotalHoras;\r\n let mediaHoraDia = info.MediaHoras;\r\n let totalDePausa = info.TotalPausa;\r\n let kmRodado = info.TotalKm ? info.TotalKm : '';\r\n let totalRoteiro = info.TotalRoteiros;\r\n let totalPedidos = info.TotalEntregas[0];\r\n let totalVlPedidos = this.currencyPipe.transform(info.TotalValores, 'BRL', true)\r\n\r\n rows.push([motorista, diasTrabalhados, totalDeHoras, mediaHoraDia, totalDePausa, kmRodado, totalRoteiro, totalPedidos, totalVlPedidos]);\r\n\r\n })\r\n return rows;\r\n }\r\n catch (Error) {\r\n console.log(Error, 'Relatório jornadaTrabalhoMotorista');\r\n return Error;\r\n }\r\n }\r\n\r\n async formaDePagamento(data, dataFinal) {\r\n let relatorios = [];\r\n let rows = [];\r\n\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCrelatorios/formaDePagamento/' + data + '/' + dataFinal);\r\n relatorios = response.response;\r\n relatorios.filter(info => {\r\n\r\n let numeroRoteiro = info.NumeroRoteiro;\r\n let numeroPedido = info.NumeroPedido;\r\n let formaPagamentoOrigin = info.FormaPagamento;\r\n let formaPagamentoEfetuada = info.FormaPagamentoEfetuada || '';\r\n let valorPedido = this.currencyPipe.transform(info.ValorPedido, 'BRL', true);\r\n let nomeMotorista = info.NomeMotorista;\r\n let dataPedido = new Date(info.DataPedido).toLocaleDateString();\r\n let situacaoPedido = this.util.DescricaoStatusEntrega(info.IdRoteiroPedidoSituacao);\r\n\r\n rows.push([numeroRoteiro, numeroPedido, formaPagamentoOrigin, formaPagamentoEfetuada, valorPedido, nomeMotorista, dataPedido, situacaoPedido]);\r\n\r\n })\r\n return rows;\r\n }\r\n catch (Error) {\r\n console.log(Error, 'Relatório forma de pagamento');\r\n return Error;\r\n }\r\n }\r\n\r\n //Metoro para receber as empresas filiais do Backend\r\n async getEmpresas() {\r\n try {\r\n let empresas: JsonReturn = await this.conService.patch('DCEmpresa')\r\n\r\n this.util.cnpjEmpresas = [];\r\n\r\n empresas.response.forEach(empresa => {\r\n this.util.cnpjEmpresas.push(empresa.cnpj)\r\n });\r\n\r\n return empresas.response;\r\n }\r\n catch (error) {\r\n console.error(' Não foi possivel requisitar nenhuma empresa ou filial')\r\n console.log(error);\r\n\r\n }\r\n }\r\n\r\n async getEmpresasJasper(){\r\n try {\r\n let empresa: JsonReturn = await this.conService.patch('DCEmpresa/jasper')\r\n return empresa.response\r\n } catch (error) {\r\n console.error(' Não foi possivel requisitar nenhuma empresa ou filial')\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n async getVersaoAtualAplicativo() {\r\n return await this.conService.patch('DCVersoesApp/retaguarda')\r\n }\r\n\r\n async getVersaoTranspAplicativo() {\r\n return await this.conService.patch('DCVersoesAppTransp')\r\n }\r\n\r\n async getVersaoAtualAplicativoTransp() {\r\n return await this.conService.patchTransp('transportadora-api/appVersionCheck','', '')\r\n }\r\n \r\n\r\n async getConsumoDt() {\r\n const date = new Date();\r\n const primeiroDia = new Date(date.getFullYear(), date.getMonth(), 1).toLocaleString();\r\n const ultimoDia = new Date(date.getFullYear(), date.getMonth() + 1, 0).toLocaleString();\r\n\r\n const editPrimeroDia = `${primeiroDia.substring(6, 10)}-${primeiroDia.substring(3, 5)}-${primeiroDia.substring(0, 2)}`;\r\n const editUltimoDia = `${ultimoDia.substring(6, 10)}-${ultimoDia.substring(3, 5)}-${ultimoDia.substring(0, 2)}`;\r\n\r\n return await this.conService.patch(`DCConfiguracaoGeral/checkUsoPeriodo/${editPrimeroDia}/${editUltimoDia}`)\r\n }\r\n\r\n async ultimasEntregas() {\r\n try {\r\n let response: JsonReturn = await this.conService.patch('DCroteiros/ultimasEntregas');\r\n return response.response;\r\n } catch (Error) {\r\n console.log(Error);\r\n }\r\n }\r\n}\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TipoEntregas } from '../shared/Util';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { PopupDetalhesPedidoService } from '../popup-detalhes-pedido/popup-detalhes-pedido.service';\r\n\r\n@Component({\r\n selector: 'app-detalhe-entrega-coleta',\r\n templateUrl: './detalhe-entrega-coleta.component.html',\r\n styleUrls: ['./detalhe-entrega-coleta.component.css']\r\n})\r\nexport class DetalheEntregaColetaComponent {\r\n @Input() item;\r\n dadosEntregas : any;\r\n dadosColetas: any;\r\n versaoApp: string;;\r\n contadorPedEntregues: number;\r\n contadorPedPendentes: number;\r\n contadorPedRecusados: number;\r\n contadorColEntregues: number;\r\n contadorColRecusados: number;\r\n contadorColPendentes: number\r\n\r\n \r\n\r\n\r\n\r\n\r\n constructor(private boxListTruckService: BoxListTruckService, \r\n public detalhesPedidosServices: PopupDetalhesPedidoService,\r\n \r\n ){} \r\n\r\n\r\n ngOnInit(){\r\n this.getPedidosEntregues();\r\n this.getPedidosRecusados();\r\n this.getPedidosPendentes();\r\n this.getColetasEntregues();\r\n this.getColetasRecusados();\r\n this.getColetasPendentes();\r\n } \r\n\r\n ngOnChanges(): void {\r\n\r\n this.versaoApp = this.boxListTruckService.listTruckService.VersaoApp;\r\n\r\n this.dadosEntregas = {\r\n entregas: this.item.pedidos.filter(pedido => pedido.Tipo == TipoEntregas.Entrega),\r\n valorTotalPedido: 0,\r\n pesoTotalPedido: 0,\r\n QtdeVolumes: 0,\r\n custoDescarga: 0\r\n }; \r\n\r\n this.dadosEntregas.valorTotalPedido = this.dadosEntregas.entregas.reduce((total, pedido) => total + pedido.ValorPedido, 0);\r\n this.dadosEntregas.pesoTotalPedido = this.dadosEntregas.entregas.reduce((total, pedido) => total + pedido.Peso, 0);\r\n this.dadosEntregas.QtdeVolumes = this.dadosEntregas.entregas.reduce((total, pedido) => total + pedido.QtdeVolumes, 0);\r\n this.dadosEntregas.custoDescarga = this.dadosEntregas.entregas.reduce((total, pedido) => total + pedido.custoDescarga, 0);\r\n this.dadosEntregas. custoDescarga = this.item.custoDescarga;\r\n\r\n \r\n this.dadosColetas = {\r\n coletas: this.item.pedidos.filter(pedido => pedido.Tipo == TipoEntregas.Coleta),\r\n valorTotalPedido: 0,\r\n pesoTotalPedido: 0,\r\n QtdeVolumes: 0\r\n };\r\n \r\n this.dadosColetas.valorTotalPedido = this.dadosColetas.coletas.reduce((total, pedido) => total + pedido.ValorPedido, 0);\r\n this.dadosColetas.pesoTotalPedido = this.dadosColetas.coletas.reduce((total, pedido) => total + pedido.Peso, 0);\r\n this.dadosColetas.QtdeVolumes = this.dadosColetas.coletas.reduce((total, pedido) => total + pedido.QtdeVolumes, 0);\r\n \r\n\r\n\r\n }\r\n\r\n\r\n atualizaDetalhesPedido(lista){\r\n this.detalhesPedidosServices.atualizaDetalhesPedidos(lista)\r\n this.detalhesPedidosServices.mostrarPopDetalhesPedido = true;\r\n }\r\n\r\n getPedidosEntregues() {\r\n this.contadorPedEntregues = this.dadosEntregas.entregas.filter(itemPedido => itemPedido.IdRoteiroPedidoSituacao == 6 || itemPedido.EntregaRealizada == 1).length;\r\n }\r\n\r\n getPedidosRecusados() {\r\n this.contadorPedRecusados = this.dadosEntregas.entregas.filter(item => item.IdRoteiroPedidoSituacao === 5 || item.EntregaRealizada === 0).length;\r\n }\r\n\r\n getPedidosPendentes() {\r\n this.contadorPedPendentes = this.dadosEntregas.entregas.filter(item => item.IdRoteiroPedidoSituacao === 1 || item.IdRoteiroPedidoSituacao === 4 || item.IdRoteiroPedidoSituacao === 7).length;\r\n }\r\n\r\n getColetasEntregues() {\r\n this.contadorColEntregues = this.dadosColetas.coletas.filter(item => item.IdRoteiroPedidoSituacao == 6 || item.EntregaRealizada == 1).length;\r\n }\r\n\r\n getColetasRecusados() {\r\n this.contadorColRecusados = this.dadosColetas.coletas.filter(item => item.IdRoteiroPedidoSituacao === 5 || item.EntregaRealizada === 0).length;\r\n }\r\n\r\n getColetasPendentes() {\r\n this.contadorColPendentes = this.dadosColetas.coletas.filter(item => item.IdRoteiroPedidoSituacao === 1 || item.IdRoteiroPedidoSituacao === 4 || item.IdRoteiroPedidoSituacao === 7).length;\r\n }\r\n\r\n AbrirTabelaPedidos(e) {\r\n const target = $(e.currentTarget);\r\n const icon = target.find('.fa');\r\n \r\n if (target.hasClass('open')) {\r\n target.removeClass('open');\r\n target.parent().find('.pedidos-detalhes').slideUp(200);\r\n icon.removeClass('fa-chevron-up').addClass('fa-chevron-down');\r\n } else {\r\n target.addClass('open');\r\n target.parent().find('.pedidos-detalhes').slideDown(200);\r\n icon.removeClass('fa-chevron-down').addClass('fa-chevron-up');\r\n }\r\n }\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \"\" Pedidos ({{ dadosEntregas.entregas.length }}) \r\n
\r\n
0\" class=\"ped-entregue\">\r\n \"\" \r\n {{ contadorPedEntregues }}\r\n
\r\n
0\" class=\"ped-recusado\">\r\n \"\" \r\n {{ contadorPedRecusados }}\r\n
\r\n
0\" class=\"ped-pendentes\">\r\n \"\" \r\n {{ contadorPedPendentes }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
5 && item.IdRoteiroPedidoSituacao < 8\" class=\"position-relative container-tempo-entrega\" > \r\n
\r\n \"\"\r\n\r\n \r\n início entrega \r\n \r\n {{ item.dataInicioEntrega ? (item.dataInicioEntrega | date: 'HH:mm') : '--:--' }}\r\n \r\n \r\n
\r\n \r\n Fim entrega \r\n \r\n {{ item.dataFinalEntrega ? (item.dataFinalEntrega | date: 'HH:mm') : '--:--' }}\r\n \r\n \r\n
\r\n \r\n Duração \r\n \r\n {{ (item.dataInicioEntrega == null || item.dataFinalEntrega == null) ? '--:--' : (item.tempoEntrega) }}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

R$ {{ dadosEntregas.valorTotalPedido | number:'1.2-2' }}

\r\n

{{ dadosEntregas.pesoTotalPedido | number:'1.2-2' }} Kg

\r\n

{{ dadosEntregas.QtdeVolumes }}

\r\n
0\" title=\"Custo Descarga\">

R$ {{ dadosEntregas.custoDescarga | number:'1.2-2' }}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Pedido Data NF Vendedor Valor (R$) Pag. Efetuado
\r\n
\r\n \"\"\r\n \"\"\r\n \"\"\r\n {{ itemPedido.NumeroPedido ? itemPedido.NumeroPedido : '-' }}\r\n
\r\n
\r\n
\r\n {{ itemPedido.DataPedido ? (itemPedido.DataPedido | date:'dd/MM') : '-' }}\r\n
{{ itemPedido.Nf ? itemPedido.Nf : '-' }}{{ item.CodigoVendedor ? item.CodigoVendedor : '-' }}{{ itemPedido.ValorPedido ? (itemPedido.ValorPedido | currency :'BRL') : '-' }}{{ itemPedido.FormaPagamentoEfetuada ? itemPedido.FormaPagamentoEfetuada : '-' }}
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"\" Coletas ({{ dadosColetas.coletas.length }})\r\n
\r\n
0\" class=\"ped-entregue\">\r\n \"\" \r\n {{ contadorColEntregues }}\r\n
\r\n
0\" class=\"ped-recusado\">\r\n \"\" \r\n {{ contadorColRecusados }}\r\n
\r\n
0\" class=\"ped-pendentes\">\r\n \"\" \r\n {{ contadorColPendentes }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

R$ {{ dadosColetas.valorTotalPedido | number:'1.2-2' }}

\r\n

{{ dadosColetas.pesoTotalPedido | number:'1.2-2' }} Kg

\r\n

{{ dadosColetas.QtdeVolumes }}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Pedido Data NF Valor (R$) Peso (Kg) Vol.
\r\n
\r\n \"\"\r\n \"\"\r\n \"\"\r\n {{ itemColeta.NumeroPedido > 0 ? itemColeta.NumeroPedido : '-' }}\r\n
\r\n
{{ itemColeta.DataPedido ? (itemColeta.DataPedido | date:'dd/MM') : '-' }}{{ itemColeta.Nf ? itemColeta.Nf : '-' }}{{ itemColeta.ValorPedido ? (itemColeta.ValorPedido | currency :'BRL') : '-' }}{{ itemColeta.Peso ? itemColeta.Peso : '-' }}{{ itemColeta.QtdeVolumes ? itemColeta.QtdeVolumes : '-' }}
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'distancia-dashboard-card',\r\n templateUrl: './distancia-dashboard-card.component.html',\r\n styleUrls: ['./distancia-dashboard-card.component.css']\r\n})\r\nexport class DistanciaDashboardCardComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n Distância Percorrida\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 205Km 7%\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Estimativa Rota Plan\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 147Km\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'distancia-roteiro-card',\r\n templateUrl: './distancia-roteiro-card.component.html',\r\n styleUrls: ['./distancia-roteiro-card.component.css']\r\n})\r\nexport class DistanciaRoteiroCardComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Km por Veículo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 169851\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 59 km\r\n 37km
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 169851\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 59 km\r\n 37km
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 169851\r\n 59 km\r\n 37km
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 169851\r\n 59 km\r\n 37km
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 169851\r\n 59 km\r\n 37km
\r\n \r\n
","
\r\n
\r\n
\r\n
\r\n
Filtro
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HeaderFilterService } from './header-filter.service';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\n\r\n@Component({\r\n selector: 'header-filter',\r\n templateUrl: './header-filter.component.html',\r\n styleUrls: ['./header-filter.component.css']\r\n})\r\nexport class HeaderFilterComponent implements OnInit {\r\n\r\n slcGerentes: any;\r\n listaGerentes: any[];\r\n gerenteSelecionado: string;\r\n slcEquipePorGerente: any[];\r\n listaEquipesPorGerente: any[];\r\n equipePorGerenteSelecionado: string;\r\n listaMotoristas: any[];\r\n motoristaSelecionado: number;\r\n slcMotoristas: any[];\r\n constructor(\r\n private headerFilterService: HeaderFilterService,\r\n private boxListTruckService: BoxListTruckService\r\n ) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n async getListaGerentes() {\r\n const respListaGerentes = await this.headerFilterService.getListaGerentes();\r\n this.listaGerentes = respListaGerentes;\r\n this.slcGerentes = this.listaGerentes[0];\r\n this.gerenteSelecionado = this.listaGerentes[0].cd_gerencia;\r\n }\r\n\r\n onChangeObjGerentes(dados: any) {\r\n this.getEquipePorGerente(this.gerenteSelecionado);\r\n }\r\n\r\n async getEquipePorGerente(cd_gerencia) {\r\n const respListaEquipesPorGerente = await this.headerFilterService.getEquipePorGerente(cd_gerencia);\r\n this.listaEquipesPorGerente = respListaEquipesPorGerente;\r\n this.slcEquipePorGerente = this.listaEquipesPorGerente[0];\r\n this.equipePorGerenteSelecionado = this.listaEquipesPorGerente[0].cd_equipe;\r\n }\r\n\r\n onChangeObjEquipesPorGerente(dados: any) {\r\n this.getMotoristas(this.equipePorGerenteSelecionado);\r\n }\r\n\r\n async getMotoristas(cd_motorista) {\r\n const respListaMotoristas = await this.headerFilterService.getMotoristas(cd_motorista);\r\n this.listaMotoristas = respListaMotoristas;\r\n this.slcMotoristas = this.listaMotoristas[0];\r\n this.motoristaSelecionado = this.listaMotoristas[0].cd_motorista;\r\n }\r\n\r\n onChangeObjMotoristas(dados: any) {\r\n this.motoristaSelecionado = dados;\r\n }\r\n\r\n public async filtrarRoteiro(cd_gerencia?, cd_equipe?, cd_motorista?) {\r\n const resposta = await this.headerFilterService.filtrarRoteiro(\r\n this.gerenteSelecionado,\r\n this.equipePorGerenteSelecionado,\r\n this.motoristaSelecionado\r\n );\r\n this.boxListTruckService.listTruckService = resposta;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class HeaderFilterService {\r\n\r\n constructor(private conService: ApiConService) { }\r\n\r\n async getListaGerentes() {\r\n try {\r\n const respListaGerentes: JsonReturn = await this.conService.patch('gerentes');\r\n return respListaGerentes.response;\r\n }catch (Error) {\r\n console.log(\"CATCH________getListaGerentes\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getGerente(cd_gerencia: string) {\r\n try {\r\n const respGerente: JsonReturn = await this.conService.patch('gerentes/' + cd_gerencia);\r\n return respGerente.response;\r\n }catch (Error) {\r\n console.log(\"CATCH________getGerente\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getListaEquipes() {\r\n try {\r\n const respListaEquipesPorGerente: JsonReturn = await this.conService.patch('equipes');\r\n return respListaEquipesPorGerente.response;\r\n }catch (Error) {\r\n console.log(\"CATCH________getListaEquipes\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getEquipePorGerente(cd_gerencia: string) {\r\n try {\r\n const respListaEquipesPorGerente: JsonReturn = await this.conService.patch('equipes/' + cd_gerencia);\r\n return respListaEquipesPorGerente.response;\r\n }catch (Error) {\r\n console.log(\"CATCH________getEquipePorGerente\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getListaMotoristas() {\r\n try {\r\n const respMotoristas: JsonReturn = await this.conService.patch('motoristas');\r\n return respMotoristas.response;\r\n }catch (Error) {\r\n console.log(\"CATCH________getListaMotoristas\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async getMotoristas(cd_equipe: string) {\r\n try {\r\n const respMotoristas: JsonReturn = await this.conService.patch('motoristas/' + cd_equipe);\r\n return respMotoristas.response;\r\n }catch (Error) {\r\n console.log(\"CATCH________getMotoristas\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async filtrarRoteiro(cd_gerencia: string, cd_equipe: string, cd_motorista: number) {\r\n try {\r\n const respMotoristas: JsonReturn = await this.conService.patch('roteiroVeiculo/' + cd_gerencia + '/' + cd_equipe + '/' + cd_motorista);\r\n return respMotoristas.response;\r\n }catch (Error) {\r\n console.log(\"CATCH________filtrarRoteiro\");\r\n console.log(Error);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { BoxInfoAlertService } from '../box-info-alert/box-info-alert.service';\r\nimport { BoxInfoRouterService } from '../box-info-router/box-info-router.service';\r\nimport { BoxInfoTruckService } from '../box-info-truck/box-info-truck.service';\r\nimport { MainHeaderTruckService } from './main-header-truck.service';\r\nimport { ControlStatusService, State } from '../shared/control-status.service';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { Util } from '../shared/Util';\r\nimport { isNullOrUndefined } from 'is-what';\r\n\r\n@Component({\r\n selector: 'main-header-truck',\r\n templateUrl: './main-header-truck.component.html',\r\n styleUrls: ['./main-header-truck.component.css']\r\n})\r\nexport class MainHeaderTruckComponent implements OnInit {\r\n\r\n @Input() roteiro;\r\n dataUltimaInformacao: Date;\r\n numeroRoteiroBusca: number;\r\n canSeeConfig: boolean = false;\r\n\r\n\r\n constructor(\r\n public boxListTruckService: BoxListTruckService,\r\n private boxInfoAlertService: BoxInfoAlertService,\r\n private boxInfoRouterService: BoxInfoRouterService,\r\n private boxInfoTruckService: BoxInfoTruckService,\r\n public mainHeaderTruckService: MainHeaderTruckService,\r\n private controlStatusService: ControlStatusService,\r\n private graphicService: GraphicService,\r\n private util: Util,\r\n private controlStatus: ControlStatusService\r\n ) \r\n {\r\n }\r\n\r\n ngOnInit() \r\n {\r\n this.carregarRoteiroMapa();\r\n\r\n }\r\n\r\n voltarTelaInicial() \r\n {\r\n this.controlStatus.carregando = false;\r\n this.controlStatusService.currentState = State.visaoGeral;\r\n }\r\n\r\n onChangeObj(option) \r\n {\r\n this.boxListTruckService.roteiroSelecionado = Number(option);\r\n this.boxInfoAlertService.getInfoAlertRouter();\r\n this.boxListTruckService.getListRouterTruckPorId(false);\r\n this.boxInfoRouterService.getInfoRouter();\r\n this.boxInfoTruckService.getInfoTruck();\r\n }\r\n\r\n async carregarRoteiroMapa()\r\n {\r\n this.controlStatusService.carregando = true;\r\n\r\n let dados = this.roteiro;\r\n\r\n if(dados != undefined || dados != null)\r\n {\r\n await this.graphicService.limparPontosMapa();\r\n this.graphicService.distanciaTotalPlanejada = dados.Distancia;\r\n\r\n let resposta = await this.boxListTruckService.getListRouterTruckPorId(false);\r\n\r\n let e;\r\n let eAux;\r\n if(resposta[0].ResultRotaBinConvert && resposta[0].ResultadoRota == '{}'){ \r\n let resultadosRotas = resposta[0].ResultRotaBinConvert.split(',')\r\n e = eval(JSON.parse(Util.decompress(resultadosRotas[0])));\r\n if(resultadosRotas.length > 1){\r\n eAux = eval(JSON.parse(Util.decompress(resultadosRotas[1]))); \r\n }\r\n }\r\n else{\r\n e = eval(JSON.parse(resposta[0].ResultadoRota));\r\n eAux = eval(JSON.parse(resposta[0].ResultadoRotaAux))\r\n } \r\n\r\n this.dataUltimaInformacao = isNullOrUndefined(resposta[0].dataUltimaInformacao) ? null : this.util.converteData(resposta[0].dataUltimaInformacao); \r\n let contemPontoFixo = eAux? true: false\r\n if(contemPontoFixo){\r\n await this.graphicService.visualizarRoteiroMapaAux(eAux);\r\n }\r\n await this.graphicService.visualizarRoteiroMapa(e, contemPontoFixo , resposta[0].InfoRota );\r\n\r\n //Ordena visualização pontos no pontos\r\n this.graphicService.atualizaMapView();\r\n }\r\n }\r\n\r\n MostrarOpcoesMenu(opt) {\r\n switch (opt) {\r\n case \"mostrarMapas\": this.controlStatusService.mostrarMapas = true; break;\r\n case \"mostrarLegendas\": this.controlStatusService.mostrarLegendas = true; break;\r\n }\r\n this.hide(null);\r\n }\r\n\r\n //Inicio - Dropdown controller\r\n abreDropdown(){\r\n this.canSeeConfig = !this.canSeeConfig;\r\n }\r\n\r\n hide(e: any) {\r\n this.canSeeConfig = false;\r\n }\r\n //Fim - Dropdown controller\r\n}","
\r\n
\r\n
\r\n
ROTEIRO {{ boxListTruckService.roteiroSelecionado }}
\r\n
\r\n {{ mainHeaderTruckService.veiculo }} | {{ mainHeaderTruckService.nomeMotorista }}
\r\n \r\n
\r\n 100%\r\n
\r\n
\r\n
\r\n {{ dataUltimaInformacao | date: 'dd/MM/yyyy HH:mm' }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class MainHeaderTruckService {\r\n\r\n veiculo: string;\r\n nomeMotorista: string;\r\n nomeCompletoMotorista: string;\r\n contatoMotorista: string;\r\n porcBateria: number;\r\n data: Date;\r\n constructor() { }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ControlStatusService } from '../shared/control-status.service';\r\n\r\n@Component({\r\n selector: 'main-header',\r\n templateUrl: './main-header.component.html',\r\n styleUrls: ['./main-header.component.css']\r\n})\r\nexport class MainHeaderComponent implements OnInit {\r\n\r\n numeroRoteiroBusca: number;\r\n\r\n constructor(\r\n private controlStatus: ControlStatusService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n MostrarOpcoesMenu(opt) {\r\n switch (opt) {\r\n case \"mostrarMapas\": this.controlStatus.mostrarMapas = true; break;\r\n case \"mostrarLegendas\": this.controlStatus.mostrarLegendas = true; break;\r\n }\r\n }\r\n\r\n buscarRoteiro()\r\n {\r\n this.controlStatus.numeroRoteiroBusca = this.numeroRoteiroBusca;\r\n this.controlStatus.numeroRoteiroBuscaDetalhe = false;\r\n \r\n document.getElementById('btnBuscarRoteiro').click();\r\n }\r\n}","
\r\n
\r\n \r\n \"logo\r\n

Target Rota Plan | Radar do Motorista

\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n","import { Component, OnInit, ViewChild, ElementRef, ChangeDetectorRef, HostListener } from '@angular/core';\r\n\r\nimport { BasemapComponent } from '../basemap/basemap.component';\r\nimport { State, ControlStatusService } from '../shared/control-status.service';\r\nimport { MapLayerControl } from './map-layer-control';\r\nimport { EsriLoadService, LoadedModules } from '../shared/esri-load-control.service';\r\nimport { GraphicService } from '../shared/graphic.service';\r\nimport { RouteService } from '../shared/route.service';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { IconService } from '../shared/icon.service';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\nlet mapControl: any;\r\nlet drawMap: any;\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'rota-map',\r\n templateUrl: './map.component.html',\r\n styleUrls: ['./map.component.css']\r\n})\r\nexport class MapComponent implements OnInit {\r\n public map: any;\r\n public view: any;\r\n public layers: any[] = [];\r\n public listDetailsService: any;\r\n @ViewChild(BasemapComponent) baseMapGallery: BasemapComponent;\r\n private _drawActive: boolean = false;\r\n mostrarTabela = false;\r\n public emAbertoURL\r\n public noClienteURL\r\n public entregaIniciadaURL\r\n public voltoDepoisURL\r\n public naoEntregueURL\r\n public entregueURL\r\n public comOcorrenciaURL\r\n public entregaParcialURL\r\n public alertaDuploURL\r\n public riscoAlagamento\r\n public riscoFurtoRoubo\r\n\r\n constructor(\r\n public controlStatus: ControlStatusService,\r\n private esriLoadService: EsriLoadService,\r\n private graphicService: GraphicService,\r\n private chRef: ChangeDetectorRef,\r\n private routeService: RouteService,\r\n private apiConService: ApiConService,\r\n public iconService: IconService,\r\n private cookieService: CookieService\r\n ) {\r\n mapControl = this;\r\n }\r\n\r\n ngOnInit() {\r\n this.emAbertoURL = this.iconService.iconeCliente(0, 0, false, false);\r\n this.noClienteURL = this.iconService.iconeCliente(0, 1, false, false);\r\n this.entregaIniciadaURL = this.iconService.iconeCliente(0, 2, false, false);\r\n this.voltoDepoisURL = this.iconService.iconeCliente(0, 3, false, false);\r\n this.naoEntregueURL = this.iconService.iconeCliente(0, 4, false, false);\r\n this.entregueURL = this.iconService.iconeCliente(0, 5, false, false);\r\n this.comOcorrenciaURL = this.iconService.iconeCliente(0, null, true, false);\r\n this.entregaParcialURL = this.iconService.iconeCliente(0, null, false, true);\r\n this.alertaDuploURL = this.iconService.iconeCliente(0, null, true, true);\r\n this.riscoAlagamento = this.iconService.iconeCliente(0,0,false,false,false,false,'ALAGAMENTO')\r\n this.riscoFurtoRoubo = this.iconService.iconeCliente(0,0,false,false,false,false,'FURTO/ROUBO')\r\n const mapas = {\r\n '4': 'satellite',\r\n '5': 'hybrid',\r\n '6': 'streets-vector',\r\n '7': 'streets-relief-vector',\r\n '8': 'streets-navigation-vector',\r\n '9': 'streets-night-vector',\r\n '10': 'terrain',\r\n '11': 'gray-vector',\r\n '12': 'dark-gray',\r\n '13': 'oceans',\r\n '14': 'national-geographic',\r\n '15': 'osm',\r\n '18': 'streets-night-vector',\r\n '21': 'dark-gray-vector'\r\n };\r\n \r\n this.esriLoadService.loadClass()\r\n .then(() => {\r\n let mapaEscolhido = this.cookieService.get('mapaEscolhido');\r\n if (!mapaEscolhido) {\r\n mapaEscolhido = \"streets-vector\";\r\n } \r\n this.map = new LoadedModules.Map(\r\n {\r\n basemap: mapaEscolhido, \r\n }\r\n );\r\n\r\n this.view = new LoadedModules.MapView({\r\n container: \"map\",\r\n center: [-51.717218, -11.824602],\r\n zoom: 4,\r\n map: this.map,\r\n popup: {\r\n dockEnabled: false,\r\n dockOptions: {\r\n buttonEnabled: false,\r\n breakpoint: false\r\n },\r\n visibleElements: {\r\n closeButton: false\r\n }\r\n },\r\n });\r\n\r\n const basemapGallery = new LoadedModules.BasemapGallery({\r\n view: this.view,\r\n container: document.createElement(\"div\")\r\n });\r\n\r\n const bgExpand = new LoadedModules.Expand({\r\n view: this.view,\r\n content: basemapGallery\r\n });\r\n basemapGallery.watch(\"activeBasemap\", () => {\r\n let mapaEscolhido = basemapGallery.activeBasemap.id;\r\n let posicaoUltimoHifen = mapaEscolhido.lastIndexOf(\"-\");\r\n let id = mapaEscolhido.slice(posicaoUltimoHifen + 1); \r\n \r\n if (mapas[id]) {\r\n mapaEscolhido = mapas[id];\r\n } else {\r\n mapaEscolhido = 'streets-vector';\r\n }\r\n this.cookieService.set('mapaEscolhido', mapaEscolhido);\r\n const mobileSize =\r\n this.view.heightBreakpoint === \"xsmall\" ||\r\n this.view.widthBreakpoint === \"xsmall\";\r\n if (mobileSize) {\r\n bgExpand.collapse();\r\n }\r\n });\r\n this.view.ui.add(bgExpand, \"top-right\");\r\n\r\n mapControl.graphicService.map = this.map;\r\n mapControl.graphicService.view = this.view;\r\n mapControl.graphicService.iniLayers();\r\n\r\n this.view.on(\r\n \"pointer-move\",\r\n function (event) {\r\n mapControl.graphicService.view.hitTest(event).then(function (response) {\r\n if (response.results.length > 0) {\r\n // check if a feature is returned from the layer we are interested in,\r\n // and set the graphic to the \"view.popup.features\"\r\n var graphic = response.results.filter(function (result) {\r\n return result.graphic.layer\r\n })[0].graphic;\r\n\r\n if (graphic.geometry && !mapControl.routeService.exibePopup && graphic.attributes && !graphic.attributes.hasOwnProperty('PontoInicial')) {\r\n document.getElementById(\"map\").style.cursor = \"pointer\";\r\n mapControl.graphicService.view.popup.features = [graphic];\r\n // set the location of the popup - using the pointer-move event\r\n // (must translate it to a map point)\r\n mapControl.graphicService.view.popup.location = graphic.geometry.centroid;\r\n if (!mapControl.graphicService.view.popup.visible) {\r\n mapControl.graphicService.view.openPopup();\r\n }\r\n } else {\r\n document.getElementById(\"map\").style.cursor = \"context-menu\";\r\n \r\n mapControl.graphicService.view.closePopup();\r\n \r\n }\r\n\r\n } else {\r\n document.getElementById(\"map\").style.cursor = \"context-menu\"; \r\n mapControl.graphicService.view.closePopup();\r\n \r\n }\r\n })\r\n }\r\n )\r\n\r\n });\r\n\r\n\r\n this.getRouter();\r\n\r\n }\r\n\r\nacessarRoteiro(numeroRoteiro: number)\r\n{\r\n this.graphicService.numeroRoteiroAcesso = numeroRoteiro;\r\n document.getElementById(\"btnVisualizarRoteiro\").click();\r\n}\r\n\r\nloadGallery() {\r\n this.baseMapGallery.map = this.map;\r\n this.baseMapGallery.view = this.view;\r\n this.baseMapGallery.iniciaBaseMapaGallery();\r\n}\r\n\r\n async getRouter()\r\n{\r\n}\r\n}\r\n","
\r\n\r\n\r\n
\r\n
\r\n \"loading\" Carregando Informações \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Status da Entrega
Entrega iniciada
Não visitado
Volto depois
Com Ocorrencia
Risco de Alagamento
No cliente
Entrega parcial
Risco de Furto/Roubo
Entregue
Não entregue
Parcial com ocorrência
\r\n Pontos de Rota
Até 10 minutos
Até 30 minutos
Mais que 30 minutos
Alerta de monitoramento
\r\n Traçado da Rota
Roteiro percorrido
Roteiro planejado
Roteiro pontos fixos
Sem coleta de coordenada
\r\n Barreira
\"\"Ponto de bloqueio
Barreira
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'motivos-ocorrencias-dashboard-card',\r\n templateUrl: './motivos-ocorrencias-dashboard-card.component.html',\r\n styleUrls: ['./motivos-ocorrencias-dashboard-card.component.css']\r\n})\r\nexport class MotivosOcorrenciasDashboardCardComponent implements OnInit {\r\n\r\n barChartData: object;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.barChartData = {\r\n chartType: 'BarChart',\r\n dataTable: [\r\n [\"Element\", \"Quantidade\", { role: \"style\" }, { role: \"annotation\" } ],\r\n [\"Devolução\", 32, '#DD2042', '32'],\r\n [\"Problema na Nota Fiscal\", 11, \"#F5A946\", '11'],\r\n [\"Cliente Fechado\", 7, \"#F5D846\", '7'],\r\n [\"Avaria no Transporte\", 2, \"#5EC889\", '2' ],\r\n [\"Acidente\", 1, \"#6CA6E8\", '1']\r\n ],\r\n \r\n options: {\r\n height: 450,\r\n width: 550,\r\n chartArea:{left:0, top:0},\r\n title: 'Motivo de Ocorrências',\r\n hAxis: {\r\n baselineColor: '#fff',\r\n gridlines: {color: '#fff'},\r\n textPosition: 'none',\r\n }, \r\n tooltip: {\r\n textStyle: {color: '#000'},\r\n },\r\n legend: {\r\n position: 'none',\r\n },\r\n isStacked:true,\r\n annotations : { \r\n alwaysOutside: true\r\n }\r\n \r\n },\r\n };\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ocorrencias-dashborard-card',\r\n templateUrl: './ocorrencias-dashborard-card.component.html',\r\n styleUrls: ['./ocorrencias-dashborard-card.component.css']\r\n})\r\nexport class OcorrenciasDashborardCardComponent implements OnInit {\r\n\r\n pieChartData: object;\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n \r\n this.pieChartData = {\r\n chartType: 'PieChart',\r\n dataTable: [\r\n ['Número de Ocorrências', 'Ocorrências por Mês'],\r\n ['Em Aberto', 32],\r\n ['Em Análise', 12],\r\n ['Finalizadas', 4],\r\n ],\r\n \r\n options: {\r\n height: 350,\r\n width: 350,\r\n chartArea:{left:50,top:0},\r\n 'title': '',\r\n 'pieHole': 0.6,\r\n pieStartAngle: 160,\r\n pieSliceTextStyle: {color: 'white', fontSize: 14},\r\n tooltip: {\r\n textStyle: {color: '#000'},\r\n showColorCode: true,\r\n ignoreBounds: true,\r\n },\r\n slices: [{color: '#DD2042'}, {color: '#207FDD'}, {color: '#33C26D'}],\r\n legend: {\r\n maxLines: 2,\r\n textStyle: {\r\n color: '#000',\r\n fontSize: 14,\r\n bold: false,\r\n italic: false\r\n },\r\n position: 'top',\r\n alignment: 'center'\r\n },\r\n \r\n },\r\n };\r\n\r\n \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n 32\r\n \r\n \r\n Em Aberto\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n 12\r\n \r\n \r\n Em Análise\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n 4\r\n \r\n \r\n Finalizadas\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'popup-alerta',\r\n templateUrl: './popup-alerta.component.html',\r\n styleUrls: ['./popup-alerta.component.css']\r\n})\r\nexport class PopupAlertaComponent implements OnInit {\r\n\r\n @Input() titulo: string;\r\n @Input() mensagem: string;\r\n @Input() botaoFechar: string;\r\n @Input() botaoFecharExibir: boolean;\r\n @Input() botaoConfirmar: string;\r\n @Input() botaoConfirmarExibir: boolean;\r\n @Output() confirmarEvent = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n cancelar(){\r\n $('#modalAlerta').modal('hide');\r\n }\r\n\r\n confirmar(){\r\n this.confirmarEvent.emit(true);\r\n this.cancelar();\r\n }\r\n\r\n \r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
{{ titulo }}
\r\n \r\n
\r\n
\r\n {{ mensagem }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n
\r\n
{{ titulo }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
1\">\r\n
\r\n \r\n
\r\n
\r\n
{{slide.TextoPrincipal }}
\r\n \r\n \"Imagem\r\n \r\n \r\n \"Imagem\r\n \r\n
\r\n

{{ slide.Conteudo }}

\r\n

{{ slide.SubConteudo }}

\r\n \r\n
\r\n

{{ slide.ConteudoFooter }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { IAvisosNovidades } from '../shared/Util';\r\nimport { PainelMensagensService } from '../shared/painel-mensagens.service';\r\n\r\n@Component({\r\n selector: 'app-popup-avisos-novidades',\r\n templateUrl: './popup-avisos-novidades.component.html',\r\n styleUrls: ['./popup-avisos-novidades.component.css']\r\n})\r\nexport class PopupAvisosNovidadesComponent implements OnInit{\r\n \r\n pagina = 1;\r\n titulo = '';\r\n intervalo: any;\r\n slides: IAvisosNovidades[] = [];\r\n\r\n constructor(private painelMensagensService: PainelMensagensService) { }\r\n\r\n ngOnInit(): void {\r\n this.iniciaNovidades();\r\n \r\n }\r\n\r\n download(){\r\n document.getElementById('btnRotaApp').click();\r\n }\r\n\r\n alteraPaginaSlide(obj){ \r\n this.titulo = obj.Titulo;\r\n this.pagina = obj.Pagina;\r\n clearInterval(this.intervalo)\r\n }\r\n\r\n randomPaginaSlide(){\r\n if(this.pagina == this.slides.length){\r\n this.pagina = 1 \r\n }else{\r\n this.pagina++;\r\n }\r\n this.titulo = this.slides[this.pagina - 1].Titulo\r\n }\r\n\r\n novaUrl(){\r\n let urlAtual = window.location.href; \r\n if (urlAtual.includes(\"RadarMotoristaNew\")) {\r\n return;\r\n }\r\n let newUrl = urlAtual.replace('RadarMotorista' , 'RadarMotoristaNew', ); \r\n window.location.href = newUrl;\r\n }\r\n\r\n async iniciaNovidades(){ \r\n this.slides = await this.painelMensagensService.dados();\r\n if(this.slides.length > 0){\r\n this.titulo = this.slides[0].Titulo;\r\n this.intervalo = setInterval( () => {\r\n this.randomPaginaSlide()\r\n }, 10000 );\r\n } \r\n this.slides.forEach((element) => {\r\n if(element.OnPressed != undefined){\r\n const self = this;\r\n if(element.OnPressed.toString() == 'self.novaUrl') element.OnPressed = self.novaUrl;\r\n } \r\n })\r\n }\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PopupConfigService } from './popup-config.service';\r\nimport { isNullOrUndefined } from 'is-what';\r\nimport { IconService } from '../shared/icon.service';\r\nimport { ControlStatusService } from '../shared/control-status.service';\r\nimport { TipoAlerta, Util } from '../shared/Util';\r\nimport { AlertaPainel, JsonReturn, ObjectParam } from '../shared/interface/generic-interface';\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'popup-config',\r\n templateUrl: './popup-config.component.html',\r\n styleUrls: ['./popup-config.component.css']\r\n})\r\nexport class PopupConfigComponent implements OnInit {\r\n\r\n exibirTelefone: boolean = false;\r\n exibirTelefoneCliente: boolean = false;\r\n obrigaFinalizarRoteiroAntes: boolean = false;\r\n guardarFoto: boolean = false;\r\n solicitarAssinatura: boolean = false;\r\n idConfiguracaoGeral: number = 0;\r\n listConfigGeral: any = [];\r\n horariosAtualizacoes = [\r\n {tempoMinutos: 5, descricao : '5 Minutos'},\r\n {tempoMinutos: 30, descricao : '30 Minutos'},\r\n {tempoMinutos: 60, descricao : '1 Hora'},\r\n {tempoMinutos: 0, descricao : 'Desativado'},\r\n ]\r\n tempoAtualizacao = this.horariosAtualizacoes[1];\r\n alertas: Array = []\r\n \r\n constructor(private popupConfigService: PopupConfigService, public iconService: IconService, public controlStatus: ControlStatusService){}\r\n\r\n async ngOnInit()\r\n {\r\n try \r\n {\r\n //Carrega configurações.\r\n const response = await this.popupConfigService.getConfiguracoesGerais();\r\n this.listConfigGeral = response;\r\n\r\n //Se não existirem, cria no banco.\r\n let existeConfigTelefone = this.listConfigGeral.find(x => x.Nome == \"ExibirTelefoneVendedorAPP\");\r\n if(isNullOrUndefined(existeConfigTelefone)){\r\n let resp = await this.addConfig('ExibirTelefoneVendedorAPP', \"Exibir Telefone do Vendedor no Aplicativo\",\"Validação\", \"Bool\", \"true\", \"true\");\r\n this.listConfigGeral.push(resp[0]);\r\n }\r\n let existeGuardarFoto = this.listConfigGeral.find(x => x.Nome == \"GuardarFotoFinalizacaoEntrega\");\r\n if(isNullOrUndefined(existeGuardarFoto)){\r\n let resp = await this.addConfig('GuardarFotoFinalizacaoEntrega', \"Solicita uma foto do final da entrega no Aplicativo\",\"Validação\", \"Bool\", \"true\", \"true\");\r\n this.listConfigGeral.push(resp[0]);\r\n }\r\n let existeSolicitarAssinatura = this.listConfigGeral.find(x => x.Nome == \"SolicitarAssinaturaFinalizacaoEntrega\");\r\n if(isNullOrUndefined(existeSolicitarAssinatura)){\r\n let resp = await this.addConfig('SolicitarAssinaturaFinalizacaoEntrega', \"Solicita a assinatura digital pelo Aplicativo ao final da entrega\",\"Validação\", \"Bool\", \"true\", \"true\");\r\n this.listConfigGeral.push(resp[0]);\r\n }\r\n let existeConfigIcones = this.listConfigGeral.find(x => x.Nome == \"ConfigIcones\");\r\n if(isNullOrUndefined(existeConfigIcones)){\r\n let resp = await this.addConfig('ConfigIcones', \"Cores dos ícones escolhido pelo cliente\",\"Cadastro\", \"objeto\", JSON.stringify(this.iconService.corPadraoIcone), JSON.stringify(this.iconService.corPadraoIcone));\r\n this.listConfigGeral.push(resp[0]);\r\n }\r\n\r\n let existeListarPendentes = this.listConfigGeral.find(x => x.Nome == \"ListarPendentes\");\r\n if(isNullOrUndefined(existeListarPendentes)){\r\n let resp = await this.addConfig('ListarPendentes', \"Lista apenas os roteiros pendentes do dia\",\"Validação\", \"Bool\", \"false\", \"false\");\r\n this.listConfigGeral.push(resp[0]);\r\n }\r\n\r\n //Popula campos da tela\r\n for (let i = 0; i < this.listConfigGeral.length; i++) {\r\n let config = this.listConfigGeral[i];\r\n //Switch case para facilitar adicionar futuras configurações. \r\n let filtro = null;\r\n switch (config.Nome) {\r\n case 'ExibirTelefoneVendedorAPP':\r\n filtro = this.listConfigGeral.filter(x => x.Nome == \"ExibirTelefoneVendedorAPP\");\r\n if(filtro != null)\r\n {\r\n this.exibirTelefone = filtro[0].Valor == \"1\" ? true : false;\r\n }\r\n break;\r\n case 'ConfigIcones':\r\n filtro = this.listConfigGeral.filter(x => x.Nome == \"ConfigIcones\");\r\n if(filtro != null)\r\n {\r\n this.iconService.configuracao = filtro[0];\r\n this.iconService.corEscolhidaIcone = JSON.parse(filtro[0].Valor);\r\n }\r\n break;\r\n case 'ListarPendentes':\r\n filtro = this.listConfigGeral.filter(x => x.Nome == \"ListarPendentes\");\r\n if(filtro != null)\r\n {\r\n this.popupConfigService.configPendentes = filtro[0];\r\n this.controlStatus.mostrarApenasPendentes = filtro[0].Valor == '1' ? true : false;\r\n }\r\n break;\r\n case 'ExibirTelefoneClienteAPP':\r\n filtro = this.listConfigGeral.filter(x => x.Nome == \"ExibirTelefoneClienteAPP\");\r\n if(filtro != null)\r\n {\r\n this.exibirTelefoneCliente = filtro[0].Valor == \"1\" ? true : false;\r\n }\r\n break; \r\n case 'FinalizarRoteiroAntesIniciarProx':\r\n filtro = this.listConfigGeral.find(config => config.Nome == \"FinalizarRoteiroAntesIniciarProx\"); \r\n this.obrigaFinalizarRoteiroAntes = filtro.Valor == \"1\" ? true : false; \r\n break; \r\n }\r\n }\r\n\r\n let contemTempoAtualizacao = this.listConfigGeral.some((conf: any) => conf.Nome == 'TempoDeAtualizacaoRadar')\r\n if(contemTempoAtualizacao){\r\n this.tempoAtualizacao = this.horariosAtualizacoes.find((tmp) => tmp.tempoMinutos == this.listConfigGeral.find((conf) => conf.Nome == 'TempoDeAtualizacaoRadar')?.Valor)\r\n }\r\n\r\n await this.getAlertas();\r\n }\r\n catch (Error) \r\n {\r\n console.log(Error);\r\n }\r\n }\r\n\r\n onResetarPosicoesClick() {\r\n document.getElementById(\"btnResetarPosicoes\").click()\r\n }\r\n\r\n acaoConfirmar()\r\n {\r\n $('#popUp-Config').modal('hide');\r\n setTimeout(function()\r\n { \r\n (window).isRefresh = true;\r\n document.location.reload();\r\n }, 500);\r\n }\r\n\r\n async alterarConfig(valor, nome)\r\n {\r\n let config;\r\n let item = this.listConfigGeral.filter(x => x.Nome == nome);\r\n\r\n if (nome === 'GuardarFotoFinalizacaoEntrega'){\r\n this.solicitarAssinatura = !this.guardarFoto\r\n }else if(nome ==='SolicitarAssinaturaFinalizacaoEntrega'){\r\n this.guardarFoto =!this.solicitarAssinatura;\r\n }\r\n\r\n try { \r\n if(!isNullOrUndefined(item) && item.length > 0){\r\n config = item[0];\r\n if(typeof valor == 'boolean'){\r\n valor = valor ? '1' : '0';\r\n }\r\n config.Valor = valor;\r\n let objParam: ObjectParam = {\r\n configuracaoGeral: config\r\n }\r\n await this.popupConfigService.updateConfiguracaoGeral(config.ConfiguracaoGeralID, objParam);\r\n } \r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async addConfig(nome, descricao, grupo, tipoDado, valor, valorPadrao){\r\n let response: JsonReturn;\r\n let id: JsonReturn;\r\n try {\r\n let objParam: ObjectParam = {\r\n configuracaoGeral: {Grupo: grupo, Nome:nome, Descricao: descricao, Valor: valor, ValorPadrao: valorPadrao, TipoDado: tipoDado}\r\n }\r\n //Salvar no banco o objeto novo.\r\n id = await this.popupConfigService.addConfiguracaoGeral(objParam);\r\n response = await this.popupConfigService.getConfiguracaoGeralId(id[0].ConfiguracaoGeralID);\r\n }catch(e){\r\n console.log(e);\r\n }\r\n return response;\r\n }\r\n\r\n calculoCodigoAcesso()\r\n {\r\n let d = new Date(),\r\n month = (d.getMonth() + 1),\r\n day = d.getDate(),\r\n year = d.getFullYear();\r\n \r\n return (day + month) * year;\r\n } \r\n\r\n fecharConfigs(){\r\n this.controlStatus.popupConfig = false;\r\n }\r\n\r\n async onChangeTempoAtualizacao(evento){ \r\n this.tempoAtualizacao = evento;\r\n let config = this.listConfigGeral.find((config) => config.Nome == 'TempoDeAtualizacaoRadar');\r\n config.Valor = this.tempoAtualizacao.tempoMinutos.toString();\r\n let objParam: ObjectParam = {\r\n configuracaoGeral: config\r\n }\r\n await this.popupConfigService.updateConfiguracaoGeral(config.ConfiguracaoGeralID, objParam);\r\n \r\n }\r\n\r\n async getAlertas(){\r\n let response: any = await this.popupConfigService.getAlertas();\r\n this.alertas = this.trataAlertas(response);\r\n this.alertas.sort((anterior, proximo) => {\r\n if (anterior.mostraSelect === proximo.mostraSelect) {\r\n return 0;\r\n }\r\n return anterior.mostraSelect ? -1 : 1;\r\n });\r\n }\r\n\r\n trataAlertas(alerta: Array){\r\n alerta.forEach((alerta: AlertaPainel) => {\r\n alerta.options = this.selecionaCampoSelect(alerta.TipoAlerta)\r\n alerta.descricao = this.selecionaCampoDescricao(alerta.TipoAlerta)\r\n if(alerta.TipoAlerta == TipoAlerta.VoltoDepoisOuEntregaRecusada || alerta.TipoAlerta == TipoAlerta.CercaEletronica){\r\n alerta.mostraSelect = false\r\n }else{\r\n alerta.mostraSelect = true;\r\n }\r\n })\r\n\r\n return alerta;\r\n }\r\n\r\n selecionaCampoSelect(tipoAlerta: String){\r\n switch (tipoAlerta) {\r\n case TipoAlerta.TempoDeDescarga:\r\n case TipoAlerta.TempoDesconectado:\r\n case TipoAlerta.TempoParado:\r\n return [10,20,30,40,50,60] \r\n case TipoAlerta.DesvioDeRota:\r\n return [5,10,15,20] \r\n case TipoAlerta.VoltoDepoisOuEntregaRecusada:\r\n return [] \r\n default:\r\n return []\r\n }\r\n }\r\n\r\n selecionaCampoDescricao(tipoAlerta: String): string {\r\n switch (tipoAlerta) {\r\n case TipoAlerta.TempoDesconectado:\r\n case TipoAlerta.TempoDeDescarga:\r\n case TipoAlerta.TempoParado:\r\n return 'minutos';\r\n case TipoAlerta.DesvioDeRota:\r\n return 'quilômetros';\r\n case TipoAlerta.VoltoDepoisOuEntregaRecusada:\r\n return '';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n async updateAlerta(alerta: AlertaPainel){\r\n let objParam: ObjectParam = {\r\n painelAlerta: alerta\r\n }\r\n await this.popupConfigService.updateAlerta(alerta.AlertaPainelID, objParam)\r\n }\r\n\r\n async atualizarValorAlerta(valor: string, alerta: AlertaPainel){\r\n let novoValor = valor.split(' ')[0].trim()\r\n alerta.Valor = novoValor;\r\n await this.updateAlerta(alerta);\r\n }\r\n\r\n\r\n \r\n}","\r\n ","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { AlertaPainel, JsonReturn, ObjectParam } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class PopupConfigService {\r\n\r\n configPendentes: any = null;\r\n alertas: Array = []\r\n \r\n constructor(private conService: ApiConService) {}\r\n\r\n async getConfiguracoesGerais(){\r\n \r\n try {\r\n const response: JsonReturn = await this.conService.patch('DCConfiguracaoGeral');\r\n let configuracoesGerais = response.response\r\n \r\n return configuracoesGerais;\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async updateConfiguracaoGeral(id: number, objParam: ObjectParam) {\r\n try {\r\n const response = await this.conService.put('DCConfiguracaoGeral', `${id}`, objParam);\r\n return response.response;\r\n }catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async updateAlerta(id: number, objParam: ObjectParam) {\r\n try {\r\n const response = await this.conService.put('DCAlertaPainel', `${id}`, objParam);\r\n return response[0];\r\n }catch (error) {\r\n console.log(error);\r\n }\r\n } \r\n\r\n async getAlertas() {\r\n try {\r\n const response: JsonReturn = await this.conService.patch('DCAlertaPainel');\r\n this.alertas = response.response;\r\n document.getElementById('btnMostraAlertaNotic').click();\r\n \r\n return response.response;\r\n }catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async addConfiguracaoGeral(objParam: ObjectParam){\r\n try {\r\n const response: JsonReturn = await this.conService.post('DCConfiguracaoGeral', objParam);\r\n return response.response;\r\n }catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n async getConfiguracaoGeralId(id) {\r\n try {\r\n const response: JsonReturn = await this.conService.patch('DCConfiguracaoGeral/'+id);\r\n return response.response;\r\n }catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n}","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { BoxInfoRouterService } from '../box-info-router/box-info-router.service';\r\nimport { StatusRoteiroPedidos } from '../shared/Util';\r\n\r\n\r\ndeclare let jsPDF;\r\n@Component({\r\n selector: 'app-popup-dados-recebedor',\r\n templateUrl: './popup-dados-recebedor.component.html',\r\n styleUrls: ['./popup-dados-recebedor.component.css']\r\n})\r\nexport class PopupDadosRecebedorComponent{ \r\n\r\n constructor(public boxInfoRouterService: BoxInfoRouterService){}\r\n\r\n downloadPDFRecibo(){\r\n let item = this.boxInfoRouterService.dadosComprovante\r\n let doc = new jsPDF('l', 'mm', [297, 260]);\r\n let imgData = 'data:image/jpeg;base64,' + item.Arquivo;\r\n let titulos = 16\r\n let informacaoes = 26\r\n let data = 30\r\n let numeroNota = 26\r\n let alturaImagem = 28\r\n\r\n doc.setDrawColor(0)\r\n doc.setFillColor(255, 255, 255)\r\n doc.text(12, titulos, 'Data de recebimento')\r\n doc.setFontType('bold')\r\n doc.setFontSize(20)\r\n doc.text(18, data, new Date(item.dataFinalEntrega).toLocaleDateString())\r\n doc.setFontSize(16)\r\n doc.setFontType('normal')\r\n doc.text(69, titulos, 'Identificação e assinatura do recebedor')\r\n doc.setFontType('bold')\r\n doc.text(100, informacaoes, item.NomeRecebedor.substring(0,25))\r\n doc.text(202, informacaoes, item.DocumentoRecebedor)\r\n doc.setFontType('normal')\r\n doc.text(170, informacaoes, 'Documento:')\r\n doc.text(69, informacaoes, 'Recebedor:')\r\n doc.text(252, titulos, 'NF-e')\r\n\r\n\r\n item.pedidos.forEach(pedido => {\r\n if(pedido.IdRoteiroPedidoSituacao == StatusRoteiroPedidos.EntregaFinalizada){\r\n doc.setFontType('normal')\r\n doc.text(252, numeroNota, `Nº `)\r\n doc.setFontType('bold')\r\n doc.text(260, numeroNota, `${pedido.Nf}`)\r\n numeroNota += 6\r\n alturaImagem += 4\r\n }})\r\n\r\n doc.setFontType('normal')\r\n\r\n try {\r\n doc.addImage(imgData, 'jpeg', 0, alturaImagem + 10, 297, 260)\r\n } catch (error) {\r\n imgData = 'data:image/png;base64,' + item.Arquivo;\r\n doc.addImage(imgData, 'png', 0, alturaImagem + 10, 297, 260)\r\n }\r\n\r\n let nomeArquivo = '';\r\n\r\n item.pedidos.forEach(pedido => {\r\n if(pedido.IdRoteiroPedidoSituacao == StatusRoteiroPedidos.EntregaFinalizada){\r\n nomeArquivo += `NF_${pedido.Nf}`;\r\n }\r\n });\r\n doc.save(`${nomeArquivo}.pdf`);\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Dados do recebedor
\r\n \r\n
\r\n\r\n
Carregando comprovante...
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n Lista de produtos do pedido\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ProdutoQtd.
{{ item.cdProd }} - {{ item.descricaoProduto | truncate:40 }}{{ item.quantidade.toString().replace('.',',') }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PopupDetalhesPedidoService } from './popup-detalhes-pedido.service';\r\nimport { TruncatePipe } from '../shared/truncate.pipe';\r\n\r\n@Component({\r\n selector: 'app-popup-detalhes-pedido',\r\n templateUrl: './popup-detalhes-pedido.component.html',\r\n styleUrls: ['./popup-detalhes-pedido.component.css']\r\n})\r\nexport class PopupDetalhesPedidoComponent implements OnInit {\r\n\r\n constructor(public detalhesPedidoService: PopupDetalhesPedidoService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n fecharModal(){\r\n this.detalhesPedidoService.mostrarPopDetalhesPedido = false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PopupDetalhesPedidoService {\r\n\r\n mostrarPopDetalhesPedido = false;\r\n\r\n detalhesPedidos = [];\r\n constructor() { } \r\n atualizaDetalhesPedidos(lista){\r\n this.detalhesPedidos = lista;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n

|

\r\n
\r\n
\r\n
\r\n
\r\n {{item.legenda}}\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { IconService } from '../shared/icon.service';\r\n\r\n@Component({\r\n selector: 'popup-icones-row',\r\n templateUrl: './popup-icones-row.component.html',\r\n styleUrls: ['./popup-icones-row.component.css']\r\n})\r\nexport class PopupIconesRowComponent implements OnInit {\r\n\r\n @Input() codigoDoIcone;\r\n icones: any[];\r\n cor: any = '#000000';\r\n corBorda: any = '#000000';\r\n corPadrao: any = '#000000';\r\n \r\n constructor(public iconService: IconService) { }\r\n\r\n ngOnInit() {\r\n this.cor = this.iconService.retornarCor(this.codigoDoIcone, false);\r\n this.corBorda = this.iconService.corBorda(this.cor);\r\n this.corPadrao = this.iconService.retornarCor(this.codigoDoIcone, true);\r\n\r\n this.icones = [];\r\n this.iconesLegenda(this.codigoDoIcone);\r\n }\r\n\r\n iconesLegenda(codigoDoIcone){\r\n this.icones = [];\r\n switch (codigoDoIcone) {\r\n case 0:\r\n this.icones.push( {codigo: 0, legenda: 'Não visitado', url: this.iconService.iconeCliente(0, 0, false, false), ocorrencia: false});\r\n this.icones.push( {codigo: 3, legenda: 'Volto depois', url: this.iconService.iconeCliente(0, 3, false, false), ocorrencia: false});\r\n this.icones.push( {codigo: 0, legenda: 'Com ocorrência', url: this.iconService.iconeCliente(0, 0, true, false), ocorrencia: true});\r\n this.icones.push( {codigo: 0, legenda: 'Entrega Parcial', url: this.iconService.iconeCliente(0, 0, false, true), ocorrencia: true});\r\n break;\r\n case 1:\r\n this.icones.push( {codigo: 1, legenda: 'No cliente', url: this.iconService.iconeCliente(0, 1, false, false), ocorrencia: false});\r\n this.icones.push( {codigo: 2, legenda: 'Entrega iniciada', url: this.iconService.iconeCliente(0, 2, false, false), ocorrencia: false});\r\n this.icones.push( {codigo: 1, legenda: 'Com ocorrência', url: this.iconService.iconeCliente(0, 1, true, false), ocorrencia: true});\r\n break;\r\n case 4:\r\n this.icones.push( {codigo: 4, legenda: 'Não entregue', url: this.iconService.iconeCliente(0, 4, false, false), ocorrencia: false});\r\n this.icones.push( {codigo: 4, legenda: 'Com ocorrência', url: this.iconService.iconeCliente(0, 4, true, false), ocorrencia: true});\r\n break;\r\n case 5:\r\n this.icones.push( {codigo: 5, legenda: 'Entregue', url: this.iconService.iconeCliente(0, 5, false, false), ocorrencia: false});\r\n this.icones.push( {codigo: 5, legenda: 'Com ocorrência', url: this.iconService.iconeCliente(0, 5, true, false), ocorrencia: true});\r\n break;\r\n }\r\n }\r\n\r\n async reset(){\r\n this.cor = await this.iconService.reset(this.codigoDoIcone);\r\n this.corBordaFunc(this.cor);\r\n this.atualizaUrl();\r\n }\r\n\r\n async mudouDeCor(){\r\n await this.iconService.novaCor(this.cor.replace('#', ''), this.codigoDoIcone);\r\n this.atualizaUrl();\r\n }\r\n\r\n atualizaUrl(){\r\n this.icones.filter(icone =>{\r\n icone.url = this.iconService.iconeCliente(0, icone.codigo, icone.ocorrencia, false);\r\n });\r\n }\r\n\r\n corBordaFunc(cor){\r\n this.corBorda = '#' + this.iconService.corBorda(cor);\r\n }\r\n \r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'popup-icones',\r\n templateUrl: './popup-icones.component.html',\r\n styleUrls: ['./popup-icones.component.css']\r\n})\r\nexport class PopupIconesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{this.controlStatus.avisoRelatorio}} \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { ControlStatusService } from './../shared/control-status.service';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'popup-jasper',\r\n templateUrl: './popup-jasper.component.html',\r\n styleUrls: ['./popup-jasper.component.css']\r\n})\r\nexport class PopupJasperComponent implements OnInit {\r\n\r\n constructor(public controlStatus:ControlStatusService) { }\r\n urlJasper: string = ''\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n fecharLoading() {\r\n this.controlStatus.erroRelatorio = false;\r\n this.controlStatus.carregandoRelatorios = false;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { RouteService } from '../shared/route.service';\r\n\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { environment } from '../../environments/environment';\r\nimport { IdTipoVeiculo, Util } from '../shared/Util';\r\nimport { OcorrenciaPedagioModel } from '../shared/models/ocorrenciaPedagioModel';\r\nimport { NotificationService } from '../shared/notification.service';\r\nimport { ObjectParam } from '../shared/interface/generic-interface';\r\nimport { ApiConService } from '../shared/api-con.service';\r\n\r\n\r\n\r\nconst tipoVeiculos = [\r\n {codigo: 1 , descricao: 'Auto 2 eixos' },\r\n {codigo: 2, descricao: 'Auto 3 eixos' },\r\n {codigo: 3, descricao: 'Auto 4 eixos' },\r\n {codigo: 4, descricao: 'Caminhão 10 eixos' },\r\n {codigo: 5, descricao: 'Caminhão 2 eixos'},\r\n {codigo: 6, descricao: 'Caminhão 3 eixos'},\r\n {codigo: 7, descricao: 'Caminhão 4 eixos'},\r\n {codigo: 8, descricao: 'Caminhão 5 eixos'},\r\n {codigo: 9, descricao: 'Caminhão 6 eixos'},\r\n {codigo: 10, descricao: 'Caminhão 7 eixos'},\r\n {codigo: 11, descricao: 'Caminhão 8 eixos'},\r\n {codigo: 12, descricao: 'Caminhão 9 eixos'},\r\n {codigo: 13, descricao: 'Motocicleta'},\r\n {codigo: 14, descricao: 'Ônibus 2 eixos'},\r\n {codigo: 15, descricao: 'Ônibus 3 eixos'},\r\n {codigo: 16, descricao: 'Ônibus 4 eixos'},\r\n {codigo: 17, descricao: 'Cobrança Livre'},\r\n]\r\n\r\n@Component({\r\n selector: 'popup-ocorrencia-pedagio',\r\n templateUrl: './popup-ocorrencia-pedagio.component.html',\r\n styleUrls: ['./popup-ocorrencia-pedagio.component.css']\r\n})\r\nexport class PopupOcorrenciaPedagioComponent implements OnInit{\r\n ocorrenciaPedagio: OcorrenciaPedagioModel = new OcorrenciaPedagioModel();\r\n praca: String = ''\r\n loading = false;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private util: Util,\r\n private notificationService: NotificationService,\r\n private conService: ApiConService\r\n ) { }\r\n\r\n ngOnInit(): void { \r\n this.criarFormulario();\r\n }\r\n\r\n\r\n criarFormulario() {\r\n \r\n const idPracaPegadio = window.globalThis['idPracaPedagio']\r\n const valor = window.globalThis['valor']\r\n this.praca = window.globalThis['praca']\r\n\r\n\r\n this.ocorrenciaPedagio.Empresa = this.util.cnpjEmpresas[0];\r\n this.ocorrenciaPedagio.IdPracaPedagio = idPracaPegadio;\r\n this.ocorrenciaPedagio.ValorNovo = this.converteValor(valor)\r\n this.ocorrenciaPedagio.ValorAntigo = this.converteValor(valor)\r\n this.ocorrenciaPedagio.DataOcorrencia = new Date().toLocaleDateString();\r\n this.ocorrenciaPedagio.IdTipoVeiculo = IdTipoVeiculo.Pedagio;\r\n this.ocorrenciaPedagio.Observacoes = 'RADAR MOTORISTA' \r\n\r\n }\r\n\r\n \r\n\r\n converteValor(valorAntigo: any): number{\r\n const numberString = valorAntigo?.replaceAll(\"R$\", \"\").replaceAll(\",\", \".\") ?? '';\r\n const number = parseFloat(numberString);\r\n return number\r\n }\r\n\r\n async onSubmit(){ \r\n this.loading = true; \r\n try {\r\n const objParam: ObjectParam = {\r\n pedagioOcorrencia: {\r\n IdPracaPedagio: this.ocorrenciaPedagio.IdPracaPedagio,\r\n IdTipoVeiculo: this.ocorrenciaPedagio.IdTipoVeiculo,\r\n ValorAntigo: this.ocorrenciaPedagio.ValorAntigo,\r\n ValorNovo: this.ocorrenciaPedagio.ValorNovo,\r\n Empresa: this.ocorrenciaPedagio.Empresa,\r\n DataOcorrencia: this.ocorrenciaPedagio.DataOcorrencia,\r\n Observacoes: this.ocorrenciaPedagio.Observacoes\r\n }\r\n };\r\n\r\n const response = await this.conService.post('DCPedagioOcorrencia', objParam);\r\n document.getElementById('ocorrendiaPedagioModal')?.click();\r\n this.notificationService.showSucesso(\"Ocorrência criada com sucesso.\");\r\n \r\n return response[0];\r\n } catch (error) {\r\n console.log(error);\r\n } finally {\r\n this.loading = false; \r\n }\r\n }\r\n showErroOcorrencia(){\r\n this.notificationService.showErro(\"Erro ao criar ocorrência.\");\r\n }\r\n\r\n \r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
Gerar ocorrência pedágio
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n Confirma criação de ocorrência referente a praça {{ praca }}\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
Pedágio - {{ praca }}
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n

{{ concesssionaria }} | {{ rodovia }}- km {{ km }}

\r\n
\r\n
\r\n

Free flow Desc. Sem Parar: {{ porcTagDesconto }}%

\r\n
\r\n
\r\n

Novos valores em análise

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Tipo de veículoQtd. eixoValor
{{ item.tipoVeiculo }} {{ item.QuantidadeEixo }} R$ {{ item.Valor | number:'1.2-2' }}
\r\n
\r\n
\r\n \r\n
\r\n Carregando informações... \r\n
\r\n
\r\n

\r\n Valores atualizados em {{ dataAtualizacao | date: 'dd/MM/yyyy'}}\r\n

\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { environment } from '../../environments/environment';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { TruckInfoService } from '../truck-info/truck-info.service';\r\nimport { SvgService } from '../shared/svg.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { element } from 'protractor';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\n\r\n@Component({\r\n selector: 'app-popup-precos-praca-pedagio',\r\n templateUrl: './popup-precos-praca-pedagio.component.html',\r\n styleUrls: ['./popup-precos-praca-pedagio.component.css']\r\n})\r\nexport class PopupPrecosPracaPedagioComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n\r\n concesssionaria = '';\r\n displayAceitaTag = '';\r\n displayFreeFlow = '';\r\n displayOcAbertaAviso = '';\r\n idPracaPedagio = 0;\r\n km = '';\r\n praca = '';\r\n rodovia = '';\r\n porcTagDesconto = 0\r\n pracasPrecos = []\r\n dataAtualizacao? : String = null;\r\n veiculoDestaqueID : any\r\n\r\n constructor(\r\n private conService: ApiConService,\r\n private truckInfoService: TruckInfoService,\r\n private svgService: SvgService,\r\n private sanitizer: DomSanitizer,\r\n private boxListTruckService : BoxListTruckService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n getIcone(tipoVeiculo: number) {\r\n switch (tipoVeiculo) {\r\n case 1:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.motocicletaPopup);\r\n case 2:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.auto2eixosPopup);\r\n case 3:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.auto3eixosPopup);\r\n case 4:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.auto4eixosPopup);\r\n case 5:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao2eixosPopup);\r\n case 6:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao3eixosPopup);\r\n case 7:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao4eixosPopup);\r\n case 8:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao5eixosPopup);\r\n case 9:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao6eixosPopup);\r\n case 10:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao6eixosPopup);\r\n case 11:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao6eixosPopup);\r\n case 12:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao6eixosPopup);\r\n case 13:\r\n return this.sanitizer.bypassSecurityTrustHtml(this.svgService.icones.caminhao6eixosPopup);\r\n }\r\n }\r\n\r\n async atualizarDados(){\r\n let objPrecosPedagio = window.globalThis['objPrecosPedagio']\r\n this.concesssionaria = objPrecosPedagio.concesssionaria;\r\n this.displayAceitaTag = objPrecosPedagio.displayAceitaTag;\r\n this.displayFreeFlow = objPrecosPedagio.displayFreeFlow;\r\n this.displayOcAbertaAviso = objPrecosPedagio.displayFreeFlow;\r\n this.idPracaPedagio = objPrecosPedagio.idPracaPedagio;\r\n this.km = objPrecosPedagio.km;\r\n this.praca = objPrecosPedagio.praca;\r\n this.rodovia = objPrecosPedagio.rodovia;\r\n this.porcTagDesconto = objPrecosPedagio.porcTagDesconto;\r\n this.veiculoDestaqueID = JSON.parse(this.boxListTruckService.listTruckService.InfoRota).CategoriaPedagioID;\r\n \r\n try{\r\n this.dataAtualizacao = null;\r\n this.loading = true;\r\n let result = await this.conService.patch(`DCPedagioOcorrencia/TabelaValoresPraca/${this.idPracaPedagio}`); \r\n this.atualizaListPracasPrecos(result.response)\r\n this.dataAtualizacao = await this.getDataAtualizacaoPraca();\r\n }catch(e){\r\n console.log(\"Erro ao consultar tabela de preços \" + e)\r\n }finally{\r\n this.loading = false;\r\n } \r\n }\r\n\r\n atualizaListPracasPrecos(listaPrecos){\r\n this.pracasPrecos = listaPrecos;\r\n this.pracasPrecos.forEach((itemPreco) => {\r\n itemPreco.tipoVeiculo = this.truckInfoService.categoriaPedagiosVeiculos.find((elememt) => elememt.codCategoriaPedagio == itemPreco.CodCategoriaPedagio).descricao\r\n }\r\n )\r\n }\r\n\r\n async getDataAtualizacaoPraca(){\r\n let result = await this.conService.patch( `DCPedagioOcorrencia/DataAtualizacaoPraca/${this.idPracaPedagio}`); \r\n if(result.response.length > 0){\r\n let dataAtual = new Date(result.response[0].dataApuracao);\r\n dataAtual.setDate(dataAtual.getDate() + 1)\r\n return dataAtual.toDateString();\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ControlStatusService } from '../shared/control-status.service';\r\n\r\n@Component({\r\n selector: 'popup-relatorios',\r\n templateUrl: './popup-relatorios.component.html',\r\n styleUrls: ['./popup-relatorios.component.css']\r\n})\r\nexport class PopupRelatoriosComponent implements OnInit {\r\n\r\n constructor(private controlStatus: ControlStatusService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n \r\n}\r\n","\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport * as QRCode from 'qrcode';\r\nimport { RouteService } from '../shared/route.service';\r\nimport { TokenService } from './token.service';\r\nimport { MotorTranspModel } from '../shared/models/motorTranspModel';\r\nimport { NotificationService } from '../shared/notification.service';\r\nimport { DashboardService } from '../dashboard/dashboard.service';\r\nimport { ObjectParam, TranspToken } from '../shared/interface/generic-interface';\r\ndeclare let jsPDF;\r\n@Component({\r\n selector: 'popup-tokens',\r\n templateUrl: './popup-tokens.component.html',\r\n styleUrls: ['./popup-tokens.component.css']\r\n})\r\nexport class PopupTokensComponent implements OnInit {\r\n qrCodeBase64: string;\r\n tokens: TranspToken[] = [];\r\n transportadoras: MotorTranspModel[] = [];\r\n loading = false;\r\n inputDescricao = '';\r\n inputDescricaoEdicao: String = '';\r\n cnpj = '';\r\n switchAtivo = true;\r\n validade: string;\r\n validadeEdicao: string;\r\n switchAtivoEdicao = false;\r\n motorTranspSelecionado?: MotorTranspModel\r\n versaoAtualApp = '';\r\n urlDownload = '';\r\n urlPortalTransportadora = 'https://rotaplan.paineltarget.inf.br/PortalTransportadora/'\r\n comValidade = false;\r\n\r\n constructor(\r\n private dashboardService: DashboardService,\r\n private routeService: RouteService,\r\n private tokenService: TokenService,\r\n private notificationService: NotificationService\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.loading = true; \r\n await this.carregarTransp();\r\n await this.carregarTokens();\r\n const dataAtual = new Date();\r\n dataAtual.setDate(dataAtual.getDate() + 3);\r\n this.validade = this.formatarData(dataAtual);\r\n this.loading = false;\r\n this.desabilitaModoEdicao();\r\n await this.consultaUltimaVersaoApp();\r\n }\r\n\r\n async carregarTokens() { \r\n this.cnpj = await this.tokenService.getEmpresas();\r\n this.tokens = await this.tokenService.getTokens(); \r\n }\r\n\r\n async carregarTransp() { \r\n this.transportadoras = await this.tokenService.getTransportadoras(); \r\n }\r\n\r\n async gerarChave(){\r\n\r\n let contemChaveTranspSelecionada = this.tokens.some((token) => token.motorID == this.motorTranspSelecionado.MotorID);\r\n if(contemChaveTranspSelecionada){\r\n this.mostrarAvisoTransportadora();\r\n }else{\r\n this.loading = true;\r\n let objParam: ObjectParam = {\r\n transpToken: {\r\n descricao: this.inputDescricao, \r\n ativo: this.switchAtivo, \r\n validade: this.comValidade ? this.validade : '2900-01-01', \r\n cnpj: this.cnpj,\r\n motorID: this.motorTranspSelecionado.MotorID\r\n }\r\n }\r\n\r\n let response = await this.tokenService.geraToken(objParam) \r\n if(response.length > 0){\r\n this.carregarTokens();\r\n this.inputDescricao = '';\r\n }\r\n\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private formatarData(data: Date): string {\r\n const dia = data.getDate().toString().padStart(2, '0');\r\n const mes = (data.getMonth() + 1).toString().padStart(2, '0');\r\n const ano = data.getFullYear();\r\n return `${ano}-${mes}-${dia}`;\r\n }\r\n\r\n editarChave(dados: TranspToken){\r\n this.desabilitaModoEdicao();\r\n dados.modoEdicao = true;\r\n this.validadeEdicao = this.formatarData(new Date(dados.validade.toString()));\r\n this.inputDescricaoEdicao = dados.descricao;\r\n this.switchAtivoEdicao = dados.ativo;\r\n }\r\n\r\n\r\n async gravarEdicao(token: TranspToken){\r\n this.loading = true;\r\n this.desabilitaModoEdicao();\r\n token.ativo = this.switchAtivoEdicao;\r\n token.validade = this.validadeEdicao;\r\n token.descricao = this.inputDescricaoEdicao;\r\n let objParam: ObjectParam = {\r\n transpToken : token\r\n }\r\n await this.tokenService.atualizaToken(objParam);\r\n this.loading = false;\r\n\r\n }\r\n\r\n fecharEdicao(){\r\n this.desabilitaModoEdicao();\r\n }\r\n\r\n mostrarAvisoTransportadora() {\r\n const mensagem = `Já existe um token para a transportadora ${this.motorTranspSelecionado.CdMotor}`;\r\n this.notificationService.showInformativo(mensagem);\r\n }\r\n\r\n desabilitaModoEdicao(){\r\n this.tokens.forEach((token) => token.modoEdicao= false)\r\n }\r\n\r\n gerarPDFQRCode(dados) {\r\n \r\n let indiceY = 10;\r\n let doc = new jsPDF('l', 'mm', [297, 260]);\r\n doc.setFontSize(12);\r\n const qrCodeData = dados.token;\r\n let text = this.routeService.nomeCliente != ''? this.routeService.nomeCliente : '';\r\n \r\n doc.text(5, indiceY, this.getDataAtualFormatada()); \r\n\r\n\r\n indiceY += 10;\r\n doc.setFontSize(24);\r\n doc.setFontType(\"bold\");\r\n let textWidth = doc.getStringUnitWidth(text) * doc.internal.getFontSize() / doc.internal.scaleFactor;\r\n let textX = (doc.internal.pageSize.width - textWidth) / 2;\r\n doc.text(textX, indiceY, text); \r\n \r\n doc.setFontSize(14);\r\n doc.setFontType(\"normal\");\r\n\r\n indiceY += 10;\r\n text = 'QR CODE TOKEN - Acesso ao aplicativo'\r\n textWidth = doc.getStringUnitWidth(text) * doc.internal.getFontSize() / doc.internal.scaleFactor;\r\n textX = (doc.internal.pageSize.width - textWidth) / 2;\r\n doc.text(textX, indiceY, text); \r\n\r\n indiceY += 7;\r\n text = 'Utilize a chave de acesso para liberar a utilização do seu aplicativo Rotaplan Transportadora'\r\n textWidth = doc.getStringUnitWidth(text) * doc.internal.getFontSize() / doc.internal.scaleFactor;\r\n textX = (doc.internal.pageSize.width - textWidth) / 2;\r\n doc.text(textX, indiceY, text);\r\n\r\n \r\n QRCode.toDataURL(qrCodeData, (err, url) => {\r\n if (err) {\r\n console.error('Erro ao gerar o QR Code:', err);\r\n return;\r\n }\r\n \r\n this.qrCodeBase64 = url.split(',')[1];\r\n var imgData = 'data:image/png;base64,' + this.qrCodeBase64;\r\n\r\n const qrCodeWidth = 120;\r\n const qrCodeHeight = 120;\r\n const qrCodeX = (doc.internal.pageSize.width - qrCodeWidth) / 2;\r\n const qrCodeY = 40\r\n \r\n doc.addImage(imgData, 'png', qrCodeX, qrCodeY, qrCodeWidth, qrCodeHeight); \r\n\r\n\r\n indiceY += 130;\r\n text = dados.descricao;\r\n textWidth = doc.getStringUnitWidth(text) * doc.internal.getFontSize() / doc.internal.scaleFactor;\r\n textX = (doc.internal.pageSize.width - textWidth) / 2;\r\n doc.text(textX, indiceY, text);\r\n\r\n doc.setFontSize(24);\r\n doc.setFontType(\"bold\");\r\n\r\n indiceY += 15;\r\n text = qrCodeData;\r\n textWidth = doc.getStringUnitWidth(text) * doc.internal.getFontSize() / doc.internal.scaleFactor;\r\n textX = (doc.internal.pageSize.width - textWidth) / 2;\r\n doc.text(textX, indiceY, text);\r\n \r\n \r\n doc.setFontSize(14);\r\n doc.setFontType(\"normal\");\r\n\r\n indiceY += 30;\r\n text = 'A chave de acesso é uma informação sensível, sendo da responsabilidade da transportadora mantê-la em segurança';\r\n textWidth = doc.getStringUnitWidth(text) * doc.internal.getFontSize() / doc.internal.scaleFactor;\r\n textX = (doc.internal.pageSize.width - textWidth) / 2;\r\n doc.text(textX, indiceY, text);\r\n\r\n indiceY += 7;\r\n text = 'e em caso de violação informar a distribuidora para sua desativação e renovação';\r\n textWidth = doc.getStringUnitWidth(text) * doc.internal.getFontSize() / doc.internal.scaleFactor;\r\n textX = (doc.internal.pageSize.width - textWidth) / 2;\r\n doc.text(textX, indiceY, text);\r\n\r\n indiceY += 35;\r\n doc.text(5, indiceY, 'Target Sistemas - Rotaplan Distribuidora');\r\n \r\n doc.save('token'+ qrCodeData + \".pdf\");\r\n });\r\n }\r\n \r\n\r\n getDataAtualFormatada() {\r\n const dataAtual = new Date();\r\n \r\n const dia = String(dataAtual.getDate()).padStart(2, '0');\r\n const mes = String(dataAtual.getMonth() + 1).padStart(2, '0');\r\n const ano = dataAtual.getFullYear();\r\n \r\n const dataFormatada = `${dia}/${mes}/${ano}`;\r\n return dataFormatada;\r\n } \r\n\r\n async getVersaoAtualAplicativoTransp() {\r\n return await this.dashboardService.getVersaoAtualAplicativoTransp();\r\n }\r\n\r\n async consultaUltimaVersaoApp() {\r\n let consultaVersaoBd: any = await this.getVersaoAtualAplicativoTransp();\r\n if(consultaVersaoBd.sucesso){\r\n this.versaoAtualApp = consultaVersaoBd.resultado[consultaVersaoBd.resultado.length -1 ].versao\r\n this.urlDownload = `https://rotaplan.paineltarget.inf.br/RotaPlanV2/APKTRANSP/${this.versaoAtualApp}/ROTA_TRANSPORTADORA.apk`;\r\n }\r\n }\r\n \r\n copyToClipboard() {\r\n navigator.clipboard.writeText(this.urlPortalTransportadora).then(() => {\r\n this.notificationService.showInformativo('Texto copiado para a área de transferência')\r\n }).catch((error) => {\r\n console.error('Erro ao copiar para a área de transferência: ', error);\r\n });\r\n }\r\n\r\n abrirMapaTransportadora(){\r\n const urlAtual = window.location.href; \r\n const urlTransportadora = urlAtual.replace( 'RadarMotoristaNew', 'RadarTransportadora' ); \r\n window.open(urlTransportadora, '_blank');\r\n }\r\n}\r\n","
\r\n\r\n
\r\n
\r\n\r\n
\r\n
Administração de chaves
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n Download do aplicativo\r\n
\r\n A partir de 01/10/2024 a administração de tokens deve ser acessada exclusivamente pelo Mapa da Transportadora.\r\n
\r\n
\r\n\r\n
\r\n \"gif Carregando\r\n informações\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n

Chaves cadastradas ({{ tokens.length }})

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
{{\r\n dadosChaveAcesso.descricao }}\r\n \r\n \r\n {{ dadosChaveAcesso.validade | date: 'dd/MM/yyyy' }}\r\n \r\n \r\n \r\n Ativo\r\n \r\n Inativo\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
{{ dadosChaveAcesso.cdMotor}}{{ dadosChaveAcesso.token}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { MotorTranspModel } from '../shared/models/motorTranspModel';\r\nimport { JsonReturn, ObjectParam, TranspToken } from '../shared/interface/generic-interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokenService {\r\n\r\n constructor(\r\n private conService: ApiConService\r\n ) { }\r\n\r\n async getTokens(): Promise {\r\n try {\r\n const response: JsonReturn = await this.conService.patch('DCtranspToken');\r\n return response.response;\r\n } catch (error) {\r\n console.log(\"Erro ao consultar tokens:\", error);\r\n return []; \r\n }\r\n }\r\n\r\n async geraToken(token) {\r\n try {\r\n const response: JsonReturn = await this.conService.post('DCtranspToken', token);\r\n return response.response;\r\n } catch (error) {\r\n console.log(\"Erro ao gerar token:\", error);\r\n return []; \r\n }\r\n }\r\n\r\n async atualizaToken(objParam: ObjectParam) {\r\n try {\r\n const response = await this.conService.put('DCtranspToken', objParam.transpToken.transpTokenID.toString(), objParam);\r\n return response[0];\r\n } catch (error) {\r\n console.log(\"Erro ao editar token:\", error);\r\n return []; \r\n }\r\n }\r\n\r\n async getTransportadoras(): Promise {\r\n try {\r\n const response: JsonReturn = await this.conService.patch('DCmotorTransp');\r\n return response.response;\r\n } catch (error) {\r\n console.log(\"Erro ao consultar transportadora\", error);\r\n return []; \r\n }\r\n }\r\n\r\n async getEmpresas() {\r\n try {\r\n let empresas: JsonReturn = await this.conService.patch('DCEmpresa');\r\n let empresa = empresas.response.find((empresa) => empresa.cdEmp == 1)\r\n \r\n if(empresa == undefined){\r\n empresa = empresas.response[0]\r\n }\r\n\r\n return empresa.cnpj;\r\n }\r\n catch (error) {\r\n console.error(' Não foi possivel requisitar nenhuma empresa ou filial')\r\n console.log(error);\r\n\r\n }\r\n }\r\n}\r\n","import { FormGroup, ValidatorFn, Validators, FormControl } from '@angular/forms';\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { FormField } from './formulario-relatorios';\r\nimport { of } from 'rxjs/internal/observable/of';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormularioRelatorioControlService {\r\n\r\n constructor() { }\r\n formulario: FormGroup\r\n\r\n toFormGroup(inputs: FormField[]): FormGroup {\r\n const group: any = {}\r\n inputs.forEach(input => {\r\n let validator: ValidatorFn[] = input.required ? [Validators.required] : [];\r\n switch (input.validator) {\r\n default:\r\n break;\r\n }\r\n group[input.key] = validator.length > 0 ? new FormControl(input.value || '', validator) : new FormControl(input.value || '')\r\n });\r\n return new FormGroup(group)\r\n }\r\n\r\n\r\n getFormFields(formulario?: FormField[]) {\r\n\r\n let inputs: FormField[] = []\r\n \r\n if (formulario) {\r\n\r\n inputs =[...inputs,...formulario]\r\n }\r\n\r\n return of(inputs.sort((a, b) => a.order - b.order));\r\n }\r\n\r\n}\r\n","\r\nimport { JasperService } from './../../../shared/jasper.service';\r\nimport { ControlStatusService } from './../../../shared/control-status.service';\r\nimport { FormGroup, Validators } from '@angular/forms';\r\nimport { FormField } from '../formulario-relatorios';\r\nimport { FormularioRelatorioControlService } from './../formulario-relatorio-control.service';\r\nimport { Component, Input, OnChanges } from '@angular/core';\r\nimport { reportType, conjuntoRelatorios, Util } from '../../../../app/shared/Util';\r\n\r\ndeclare let $: any\r\n@Component({\r\n selector: 'app-formulario-relatorio',\r\n templateUrl: './formulario-relatorio.component.html',\r\n styleUrls: ['./formulario-relatorio.component.css']\r\n})\r\nexport class FormularioRelatorioComponent implements OnChanges {\r\n\r\n @Input() formFields: FormField[] = [];\r\n form: FormGroup;\r\n formularioDados = ' ';\r\n urlJasper: string;\r\n formatoRelatorio: reportType\r\n roteiroSelecionado: string;\r\n pastaSelecionado: string;\r\n constructor(private formfieldService: FormularioRelatorioControlService,\r\n private controlStatus: ControlStatusService,\r\n private jasperService: JasperService,\r\n private util: Util) { }\r\n\r\n ngOnChanges(): void {\r\n this.form = this.formfieldService.toFormGroup(this.formFields);\r\n }\r\n\r\n onSubmit() {\r\n this.formularioDados = JSON.parse(JSON.stringify(this.form.getRawValue()));\r\n Object.entries(this.formularioDados).forEach(([key, value]) => {\r\n switch (key) {\r\n case 'fileFormat':\r\n //PDF VALOR PADRAO\r\n this.formatoRelatorio = reportType.pdf\r\n this.controlStatus.controleModeloReport = 'pdf'\r\n\r\n //EXCEL \r\n if ((value.toString().toUpperCase() == 'EXCEL' || value.toString().toUpperCase() == 'XLSX')) {\r\n this.formatoRelatorio = reportType.excel\r\n this.controlStatus.controleModeloReport = 'excel'\r\n }\r\n\r\n break;\r\n case 'dtInicio':\r\n this.controlStatus.dataInicio = value;\r\n break;\r\n case 'dtFinal':\r\n this.controlStatus.dataFim = value;\r\n break;\r\n case 'empresa':\r\n this.controlStatus.empresaSelecionada = value;\r\n break;\r\n case 'roteiro':\r\n this.roteiroSelecionado = value;\r\n break;\r\n }\r\n })\r\n\r\n this.openJasperReport();\r\n }\r\n\r\n async openJasperReport() {\r\n this.controlStatus.avisoRelatorio = 'Carregando Informações...'\r\n\r\n switch(this.controlStatus.controleModeloReport.toUpperCase()){\r\n case 'PDF':\r\n this.controlStatus.carregandoRelatoriosJasper = true;\r\n $(\"#modalJasper\").modal('show');\r\n this.urlJasper = this.jasperService.criaUrlConexaoJasper(this.controlStatus.reportName, this.formatoRelatorio, `${conjuntoRelatorios.painelMotorista}/${this.controlStatus.reportFolder}`, this.roteiroSelecionado);\r\n window.open(this.urlJasper, 'myFrame');\r\n break;\r\n case 'EXCEL':\r\n this.controlStatus.carregandoRelatorios = true\r\n this.urlJasper = this.jasperService.criaUrlConexaoJasper(this.controlStatus.reportName2, this.formatoRelatorio, `${conjuntoRelatorios.painelMotorista}/${this.controlStatus.reportFolder}`, this.roteiroSelecionado); \r\n const downloadWindow = window.open(this.urlJasper, 'DownloadWindow');\r\n const checkDownload = setInterval(() => {\r\n if (downloadWindow.closed) {\r\n clearInterval(checkDownload);\r\n setTimeout (()=> this.controlStatus.carregandoRelatorios= false, 2000); \r\n }\r\n }, 500);\r\n break;\r\n default: //same pdf \r\n this.controlStatus.carregandoRelatoriosJasper = true;\r\n $(\"#modalJasper\").modal('show');\r\n this.urlJasper = this.jasperService.criaUrlConexaoJasper(this.controlStatus.reportName, this.formatoRelatorio, `${conjuntoRelatorios.painelMotorista}/${this.controlStatus.reportFolder}`, this.roteiroSelecionado);\r\n window.open(this.urlJasper, 'myFrame');\r\n break;\r\n }\r\n }\r\n\r\n fechaModal() {\r\n $('#modalRelJasper').modal('hide')\r\n this.controlStatus.limpaEstadoRelatorios()\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n

* - Campo obrigatório

\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n","export class FormField{\r\n value: T|undefined;\r\n key: string;\r\n label: string;\r\n required: boolean;\r\n validator: string;\r\n order: number;\r\n controlType: string;\r\n type: string;\r\n options: { key: string; value: string }[];\r\n\r\n constructor(\r\n options: {\r\n value?: T;\r\n key?: string;\r\n label?: string;\r\n required?: boolean;\r\n validator?: string;\r\n order?: number;\r\n controlType?: string;\r\n type?: string;\r\n options?: { key: string; value: string }[];\r\n } = {}\r\n ) {\r\n this.value = options.value;\r\n this.key = options.key || \"\";\r\n this.label = options.label || \"\";\r\n this.required = !!options.required;\r\n this.validator = options.validator || \"\";\r\n this.order = options.order === undefined ? 1 : options.order;\r\n this.controlType = options.controlType || \"\";\r\n this.type = options.type || \"\";\r\n this.options = options.options || [];\r\n }\r\n}\r\n\r\n","
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n\r\n
0\">\r\n {{ msgAviso }} \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n","import { Util } from './../../../shared/Util';\r\nimport { ControlStatusService } from './../../../shared/control-status.service';\r\nimport { Component, Input, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormGroup, Validators } from '@angular/forms';\r\nimport { FormField } from '../formulario-relatorios';\r\nimport { data } from 'jquery';\r\n\r\n@Component({\r\n selector: 'app-input-relatorios',\r\n templateUrl: './input-relatorios.component.html',\r\n styleUrls: ['./input-relatorios.component.css']\r\n})\r\nexport class InputRelatoriosComponent implements OnInit {\r\n\r\n @Input() input: FormField;\r\n @Input() form: FormGroup;\r\n\r\n dataInicial: string = ''\r\n dataFinal: string = ''\r\n msgAviso: string = '';\r\n controleDataValida: boolean = false;\r\n\r\n constructor(public controlStatus: ControlStatusService, private util: Util) { }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n setDataFiltroPeriodo(numero: number): void {\r\n let data = new Date();\r\n this.dataFinal = this.util.dataAtual();\r\n this.dataInicial = this.util.filtroData(data, numero);\r\n }\r\n\r\n atualizaDataInicial(dataInicial: string) {\r\n this.controlStatus.dataInicio = this.form.controls['dtInicio'].value\r\n this.dataInicial = this.controlStatus.dataInicio\r\n this.verificaPeriodoData()\r\n }\r\n\r\n atualizaDataFinal(dataFinal: string) {\r\n this.controlStatus.dataFim = this.form.controls['dtFinal'].value\r\n this.dataFinal = this.controlStatus.dataFim\r\n this.verificaPeriodoData()\r\n }\r\n\r\n verificaPeriodoData() {\r\n if (this.controlStatus.dataInicio > this.controlStatus.dataFim) {\r\n this.msgAviso = 'Data inicial deve ser menor que a data final.';\r\n this.controleDataValida = true;\r\n }\r\n else if (this.verificaPeriodoMaximo()) {\r\n\r\n this.msgAviso = 'Período máximo de 45 dias'\r\n this.controleDataValida = true;\r\n }\r\n else {\r\n\r\n this.msgAviso = '';\r\n this.controleDataValida = false;\r\n }\r\n }\r\n\r\n verificaPeriodoMaximo() {\r\n let umDiaMilissegundos = 1000 * 60 * 60 * 24;\r\n let diferencaMilissegundos = new Date(this.controlStatus.dataFim).getTime() - new Date(this.controlStatus.dataInicio).getTime();\r\n let diferencaDeDias = diferencaMilissegundos / umDiaMilissegundos;\r\n return diferencaDeDias > 45 ? true : false\r\n }\r\n\r\n\r\n get isValid() {\r\n\r\n if (this.controleDataValida == true) {\r\n return this.form.controls['dtFinal'].invalid && this.form.controls['dtInicio'].invalid\r\n }\r\n\r\n\r\n return this.form.controls[this.input.key].valid;\r\n }\r\n\r\n\r\n}\r\n","import { FormularioRelatorioComponent } from './formulario-relatorio/formulario-relatorio.component';\r\nimport { empresaObj, reportName } from './../../shared/Util';\r\nimport { ControlStatusService } from './../../shared/control-status.service';\r\nimport { Component, Input, OnInit, ViewChild, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FormField } from './formulario-relatorios';\r\nimport { FormularioRelatorioControlService } from './formulario-relatorio-control.service';\r\nimport { Observable } from 'rxjs';\r\nimport { DashboardService } from '../../dashboard/dashboard.service';\r\n\r\n\r\ndeclare let $: any\r\n@Component({\r\n selector: 'app-modal-formuilario-relatorios',\r\n templateUrl: './modal-formuilario-relatorios.component.html',\r\n styleUrls: ['./modal-formuilario-relatorios.component.css']\r\n})\r\nexport class ModalFormuilarioRelatoriosComponent implements OnInit {\r\n title = '';\r\n formFields: Observable[]>;\r\n formulario: FormGroup\r\n listaEmpresas: Array = []\r\n empresaChaveValor: { key: any, value: string }[] = [];\r\n\r\n\r\n constructor(private service: FormularioRelatorioControlService, private dashBoardService: DashboardService, private controlStatus: ControlStatusService) {\r\n this.formFields = service.getFormFields();\r\n\r\n }\r\n\r\n async ngOnInit() {\r\n await this.getEmpresas()\r\n if (this.controlStatus.tipoRelatorio) {\r\n this.defineInputsRelatorios()\r\n }\r\n }\r\n\r\n\r\n async getEmpresas() {\r\n await this.dashBoardService.getEmpresas().then(response => {\r\n this.listaEmpresas = response\r\n })\r\n\r\n this.listaEmpresas.forEach(empresa => {\r\n this.empresaChaveValor.push({\r\n key: empresa.cdEmp, value: empresa.NomeFantazia\r\n })\r\n })\r\n }\r\n\r\n\r\n defineInputsRelatorios() {\r\n let formArray: Array> = [];\r\n\r\n formArray.push(new FormField({\r\n controlType: \"dateInicio\",\r\n key: 'dtInicio',\r\n label: 'Data Inicial.',\r\n required:true,\r\n type: 'date',\r\n order: 2\r\n }),\r\n new FormField({\r\n controlType: \"dateFinal\",\r\n key: 'dtFinal',\r\n label: 'Data Final.',\r\n required:true,\r\n type: 'date',\r\n order: 3\r\n }),\r\n new FormField({\r\n controlType: 'textbox',\r\n key: 'roteiro',\r\n label: 'Roteiro:',\r\n order: 5\r\n })\r\n );\r\n\r\n if (this.listaEmpresas.length > 0) {\r\n formArray.push(new FormField({\r\n controlType: 'dropdown',\r\n key: 'empresa',\r\n label: 'Empresa',\r\n options: this.empresaChaveValor,\r\n order: 4\r\n }))\r\n }\r\n\r\n switch (this.controlStatus.tipoRelatorio) {\r\n case 1:\r\n this.title = 'ROTEIRO DE ENTREGAS NO CLIENTE';\r\n this.controlStatus.reportName = reportName.RoteiroEntregasClientePDF;\r\n this.controlStatus.reportName2 = reportName.RoteiroEntregasClienteEXCEL;\r\n this.controlStatus.reportFolder = 'ROTENTR';\r\n break;\r\n case 2: this.title = 'OCORRÊNCIAS'\r\n this.title = 'OCORRÊNCIAS NO CLIENTE';\r\n this.controlStatus.reportName = reportName.OcorrenciasPDF;\r\n this.controlStatus.reportName2 = reportName.OcorrenciasEXCEL;\r\n this.controlStatus.reportFolder = 'ROTOC';\r\n break;\r\n case 3: this.title = 'ROTEIROS POR MOTORISTA'\r\n this.controlStatus.reportName = reportName.RoteirosMotoristaPDF;\r\n this.controlStatus.reportName2 = reportName.RoteirosMotoristaEXCEL;\r\n this.controlStatus.reportFolder = 'ROTPM';\r\n break;\r\n case 4: this.title = 'OCORRÊNCIAS POR MOTORISTA'\r\n this.title = 'OCORRÊNCIAS POR MOTORISTA';\r\n this.controlStatus.reportName = reportName.OcorrenciasMotoristaPDF;\r\n this.controlStatus.reportName2 = reportName.OcorrenciasMotoristaEXCEL;\r\n this.controlStatus.reportFolder = 'ROTOCP';\r\n break;\r\n case 5: this.title = 'ROTEIROS DO DIA'\r\n this.title = 'ROTEIROS DO DIA';\r\n this.controlStatus.reportName = reportName.RoteirosDiaPDF;\r\n this.controlStatus.reportName2 = reportName.RoteirosDiaEXCEL;\r\n this.controlStatus.reportFolder = 'ROTDIA';\r\n formArray = []; //nao usa parametros\r\n break;\r\n case 6: this.title = 'TEMPO MÉDIO DE ENTREGA POR CLIENTE'\r\n this.title = 'TEMPO MÉDIO';\r\n this.controlStatus.reportName = reportName.TempoMedioEntregaClientePDF;\r\n this.controlStatus.reportName2 = reportName.TempoMedioEntregaClienteEXCEL;\r\n this.controlStatus.reportFolder = 'ROTTC';\r\n break;\r\n case 7: this.title = 'INTERVALO DE ENTREGA POR CLIENTE'\r\n this.controlStatus.reportName = reportName.IntervaloEntregaClientePDF;\r\n this.controlStatus.reportName2 = reportName.IntervaloEntregaClienteEXCEL;\r\n this.controlStatus.reportFolder = 'ROTINTC';\r\n break;\r\n case 8: this.title = 'JORNADA DE TRABALHO DO MOTORISTA'\r\n this.controlStatus.reportName = reportName.JornadaTrabalhoMotoristaPDF;\r\n this.controlStatus.reportName2 = reportName.JornadaTrabalhoMotoristaEXCEL;\r\n this.controlStatus.reportFolder = 'ROTTABM'; //todo - remover parametro de roteiro\r\n break\r\n case 9: this.title = 'FORMA DE PAGAMENTO'\r\n this.controlStatus.reportName = reportName.FormaPagamentoPDF;\r\n this.controlStatus.reportName2 = reportName.FormaPagamentoEXCEL;\r\n this.controlStatus.reportFolder = 'ROTFP';\r\n break;\r\n case 10: this.title = 'CUSTO POR ENTREGA'\r\n this.controlStatus.reportName = reportName.CustoRoteiroPorEntregaPDF;\r\n this.controlStatus.reportName2 = reportName.CustoRoteiroPorEntregaExcel;\r\n this.controlStatus.reportFolder = 'ROTCUF';\r\n break;\r\n case 11: this.title = 'OCORRÊNCIAS DE CUSTO EXTRA POR ROTEIRO'\r\n this.controlStatus.reportName = reportName.OcorrenciasCustoExtraPDF;\r\n this.controlStatus.reportName2 = reportName.OcorrenciasCustoExtraEXCEL;\r\n this.controlStatus.reportFolder = 'OCEXTROT';\r\n break;\r\n }\r\n\r\n formArray.push(\r\n new FormField({\r\n controlType: \"radio\",\r\n key: 'fileFormat',\r\n label: 'Formato de Arquivos:',\r\n type: 'radio',\r\n options: [\r\n { key: '1', value: 'pdf' },\r\n { key: '2', value: 'excel' },\r\n ],\r\n order: 1\r\n }));\r\n \r\n this.formFields = this.service.getFormFields(formArray)\r\n }\r\n\r\n\r\n fechaModal() {\r\n $('#modalRelJasper').modal('hide')\r\n this.controlStatus.limpaEstadoRelatorios()\r\n this.title = ''\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
Relatório {{title}}
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n\r\n
\r\n {{ item.nome }}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { JasperService } from './../shared/jasper.service';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { ControlStatusService } from '../shared/control-status.service';\r\nimport { Util } from \"../shared/Util\";\r\nimport * as XLSX from 'xlsx';\r\n\r\ntype AOA = any[][];\r\ndeclare let jsPDF;\r\ndeclare var bootbox: any\r\ndeclare let $: any\r\n\r\n@Component({\r\n selector: 'app-relatorios-dashboard-card',\r\n templateUrl: './relatorios-dashboard-card.component.html',\r\n styleUrls: ['./relatorios-dashboard-card.component.css']\r\n})\r\nexport class RelatoriosDashboardCardComponent implements OnInit {\r\n\r\n @Input() card;\r\n relatorios: any = [];\r\n ordemPlanejada: any = [];\r\n ordemRelatorio: any[][]\r\n arrayRelatorios: any = [];\r\n urlJasper: string;\r\n\r\n constructor(private util: Util,\r\n public controlStatus: ControlStatusService,\r\n public jasperService: JasperService) { }\r\n\r\n data: AOA = [['Roteiro', 'Cliente', 'Razão Social', 'Lat/Long', 'Lat/Long Entrega', 'Distância Metros', 'Endereço'], this.relatorios];\r\n wopts: XLSX.WritingOptions = { bookType: 'xlsx', type: 'array' };\r\n fileName: string = 'SheetJS.xlsx';\r\n\r\n ngOnInit() {\r\n \r\n this.arrayRelatorios = [\r\n { id: 1, nome: 'Roteiro de entregas no cliente', pastaJasper: 'ROTENTR' },\r\n { id: 2, nome: 'Ocorrências', pastaJasper: 'ROTOC' },\r\n { id: 3, nome: 'Roteiros por motorista', pastaJasper: 'ROTPM' },\r\n { id: 4, nome: 'Ocorrências por motorista', pastaJasper: 'ROTOCP' },\r\n { id: 5, nome: 'Roteiros do dia', pastaJasper: 'ROTDIA' },\r\n { id: 6, nome: 'Tempo médio de entrega por cliente', pastaJasper: 'ROTTC' },\r\n { id: 7, nome: 'Intervalo de entrega por cliente', pastaJasper: 'ROTINTC' },\r\n { id: 8, nome: 'Jornada de trabalho do motorista', pastaJasper: 'ROTTABM' },\r\n { id: 9, nome: 'Forma de pagamento', pastaJasper: 'ROTFP' },\r\n { id: 10, nome: 'Custo do roteiro por entrega', pastaJasper: 'ROTCUF' },\r\n { id: 11, nome: 'Ocorrências de Custo Extra por Roteiro', pastaJasper: 'OCEXTROT' },\r\n ]\r\n\r\n let dataInicial = new Date();\r\n let mesInicio = dataInicial.getMonth() + 1;\r\n let anoInicio = dataInicial.getFullYear();\r\n this.controlStatus.dataInicio = `01/${this.util.formataDataMes(mesInicio)}/${anoInicio}`;\r\n this.controlStatus.dataFim = `${this.util.formataDataDia(dataInicial.getDate())}/${this.util.formataDataMes(dataInicial.getMonth() + 1)}/${dataInicial.getFullYear()}`\r\n\r\n }\r\n\r\n transform(val, args) {\r\n if (args === undefined) {\r\n return val;\r\n }\r\n\r\n if (val.length > args) {\r\n return val.substring(0, args) + '...';\r\n } else {\r\n return val;\r\n }\r\n }\r\n\r\n async openJasperReport(tipoRelatorio, formatoRelatorio?:string) {\r\n this.controlStatus.carregandoRelatoriosJasper = true;\r\n this.controlStatus.avisoRelatorio = 'Carregando Informações...'\r\n\r\n if(formatoRelatorio){\r\n this.controlStatus.controleModeloReport = formatoRelatorio\r\n }\r\n\r\n ///DEFINE OS TIPOS DE RELATORIOS E ABRE O MODAL\r\n this.controlStatus.tipoRelatorio = tipoRelatorio\r\n document.getElementById('defineTipoRel').click()\r\n $(\"#modalRelJasper\").modal('show');\r\n }\r\n}\r\n","\r\n
\r\n \r\n
0 && dados.porcentagem < 100 && dados.RoteiroTransportadora,\r\n 'total-transp': dados.porcentagem == 100 && dados.RoteiroTransportadora\r\n \r\n }\r\n \"\r\n >\r\n
\r\n \r\n {{dados.roteiro}} | {{dados.nome_motorista ? dados.nome_motorista.trim().split(' ')[0] : '-'}}\r\n
\r\n\r\n
\r\n \r\n \"Pendente\"\r\n \r\n \"Pausa\"\r\n \r\n \r\n \"Pausa\"\r\n \r\n \r\n \"Pausa\"\r\n \r\n \r\n
\r\n
\r\n
\r\n
0,\r\n 'total-color': dados.porcentagem == 100\r\n }\">\r\n {{dados.porcentagem}}%\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \"\" \r\n {{ dados.RoteiroTransportadora ? 'Transportadora: ' + dados.nome_motorista : dados.placaVeiculo + ' | ' + dados.veiculo }} \r\n
\r\n\r\n
\r\n {{ dados.Distancia? dados.Distancia.toFixed(0) : 0}} Km\r\n
\r\n\r\n
\r\n\r\n Clientes\r\n
\r\n\r\n \r\n
\r\n {{totais.totalCliente}}\r\n
\r\n\r\n \r\n
\r\n \"entregues\" {{totais.totalClienteEntregue}}\r\n
\r\n\r\n \r\n
\r\n \"Não {{totais.totalClienteNaoAtendidos + totais.totalClienteRecusado }}\r\n
\r\n\r\n \r\n
\r\n \"Em {{totais.totalClienteEmAnalise}}\r\n
\r\n\r\n \r\n
\r\n \"Pendente\" {{totais.totalClienteNaoVisitado}} \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'roteiro-card',\r\n templateUrl: './roteiro-card.component.html',\r\n styleUrls: ['./roteiro-card.component.css']\r\n})\r\nexport class RoteiroCardComponent implements OnInit {\r\n\r\n @Input() dados;\r\n @Input() totais;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.totais = this.totais.filter(totais => { if (totais.NumeroRoteiro == this.dados.roteiro) return totais })[0];\r\n this.dados.porcentagem = this.porcentagem()\r\n this.dados.tooltip = this.tooltipTexto(this.totais.situacao);\r\n this.dados.placaVeiculo = this.formataPlacaVeiculo(this.dados.cod_veiculo || this.dados.veiculo.trim())\r\n \r\n if(this.dados.porcentagem != 100){\r\n this.dados.icone = !this.dados.RoteiroTransportadora? 'assets/img/icons/icon_roteiro_card_distri.svg' : 'assets/img/icons/icon_roteiro_card_transp.svg';\r\n }else{\r\n this.dados.icone = !this.dados.RoteiroTransportadora? 'assets/img/icons/icon_roteiro_card_distri_w.svg' : 'assets/img/icons/icon_roteiro_card_transp_w.svg';\r\n }\r\n }\r\n\r\n formataPlacaVeiculo(placa){\r\n return placa.substring(0,3) + '-' + placa.substring(3,8);\r\n }\r\n\r\n porcentagem(){\r\n return Number(((this.dados.realizadas * 100) / (this.dados.QtdeEntregas == 0 ? 1 : this.dados.QtdeEntregas)).toFixed(0));\r\n }\r\n\r\n tooltipTexto(situacao){\r\n let text = 'Tooltip';\r\n\r\n if(situacao == null || situacao == undefined){\r\n return '-';\r\n }\r\n\r\n switch (situacao) {\r\n case 'Iniciou':\r\n text = 'Roteiro Ativo.';\r\n break;\r\n case 'Pausou':\r\n text = 'Roteiro Pausado.';\r\n break;\r\n case 'Roteiro Ativado':\r\n text = 'O Roteiro foi ativado.';\r\n break;\r\n case 'Saiu':\r\n text = 'Motorista saiu do aplicativo.';\r\n break;\r\n case '-':\r\n text = 'Roteiro Não Iniciado';\r\n break;\r\n }\r\n return text;\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'roteiros-ocorrencias-dashboard-card',\r\n templateUrl: './roteiros-ocorrencias-dashboard-card.component.html',\r\n styleUrls: ['./roteiros-ocorrencias-dashboard-card.component.css']\r\n})\r\nexport class RoteirosOcorrenciasDashboardCardComponent implements OnInit {\r\n\r\n urlOcorrencias = '';\r\n @Input() ocorrencias;\r\n @Input() totaisOcorrencias;\r\n dadosOcorrencias = [];\r\n\r\n todaOcorrenciaFiltro: any;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.urlOcorrencias = environment.url_telaOcorrencias + '/index.html' + window.location.search;\r\n this.todaOcorrenciaFiltro = this.ocorrencias;\r\n this.iniciaDadosOcorrencia();\r\n }\r\n\r\n abrirOcorrencias(){\r\n window.open(this.urlOcorrencias, \"_blank\");\r\n }\r\n\r\n atualizaOcorrencia(roteiros: any[]){\r\n this.ocorrencias = this.todaOcorrenciaFiltro.filter((roteiro) => roteiros.includes(roteiro.NumeroRoteiro))\r\n\r\n this.totaisOcorrencias.emAberto = this.ocorrencias.reduce((preVal, elem) => preVal + elem.emAberto, 0);\r\n this.totaisOcorrencias.emAnalise = this.ocorrencias.reduce((preVal, elem) => preVal + elem.emAnalise, 0);\r\n this.totaisOcorrencias.finalizadas = this.ocorrencias.reduce((preVal, elem) => preVal + elem.finalizadas, 0);\r\n this.iniciaDadosOcorrencia();\r\n }\r\n\r\n iniciaDadosOcorrencia(){\r\n this.dadosOcorrencias = [\r\n {descricao: 'Em Aberto', img: 'assets/img/ocorrencia_aberta.svg', bgColor : 'bg-em-aberto', qtdOcorrencia : this.totaisOcorrencias.emAberto },\r\n {descricao: 'Em avaliação', img: 'assets/img/ocorrencia_avaliacao.svg', bgColor : 'bg-em-analise', qtdOcorrencia : this.totaisOcorrencias.emAnalise },\r\n {descricao: 'Finalizadas', img: 'assets/img/ocorrencia_finalizada.svg', bgColor : 'bg-finalizadas', qtdOcorrencia : this.totaisOcorrencias.finalizadas }\r\n ]\r\n }\r\n}\r\n","\r\n
\r\n
0\">\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{ ocorrencia.descricao }}
\r\n
{{ ocorrencia.qtdOcorrencia }}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
RoteiroEm AbertoEm AvaliaçãoFinalizadas
{{ ocorrencia.NumeroRoteiro }}{{ ocorrencia.emAberto }}{{ ocorrencia.emAnalise }}{{ ocorrencia.finalizadas }}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Nenhuma ocorrência relatada.

\r\n
\r\n
","\r\nimport { environment } from './../../environments/environment';\r\nimport * as JSLZString from 'lz-string';\r\nexport enum StatusCoordenada {\r\n CoordenadaRota = 1,\r\n Sincronizacao = 2,\r\n Checkin = 3,\r\n Ocorrencia = 6,\r\n UltimaLocalizacao = 7,\r\n Background = 11,\r\n Foreground = 12,\r\n Localizacaopause = 13,\r\n LocalizacaoNovoInicio = 14\r\n}\r\n\r\nexport enum StatusRoteiro {\r\n EmAberto = 1,\r\n Iniciado = 2,\r\n Pausado = 3,\r\n Saida = 4,\r\n Finalizado = 5\r\n}\r\n\r\nexport enum StatusRoteiroPedidos {\r\n EmAberto = 1,\r\n ChegueiEmCliente = 2,\r\n IniciouAEntrega = 3,\r\n VoltoDepois = 4,\r\n RecebimentoRecusado = 5,\r\n EntregaFinalizada = 6,\r\n EntregaParcial = 7,\r\n}\r\n\r\nexport enum StatusEntrega {\r\n EmAberto = 1,\r\n ChegouCliente = 2,\r\n IniciouEntrega = 3,\r\n VoltoDepois = 4,\r\n RecebimentoRecusado = 5,\r\n Finalizado = 6,\r\n FinalizadoExcecao = 7,\r\n Parcial = 8,\r\n ParcialComNaoIniciada = 9,\r\n ParcialComVoltoDepois = 10,\r\n ParcialNoCliente = 11\r\n}\r\n\r\nexport enum CodigoAcaoEnum {\r\n CoordenadaRota = 1,\r\n Sincronizacao = 2,\r\n Checkin = 3,\r\n InicioEntrega = 4,\r\n FinalEntrega = 5,\r\n Ocorrencia = 6,\r\n UltimaLocalizacao = 7,\r\n RoteiroIniciado = 8,\r\n RoteiroPausado = 9,\r\n RoteiroSaida = 10\r\n}\r\n\r\n\r\nexport interface dbJasperObj {\r\n IP: string,\r\n DbName: string\r\n Nome: string,\r\n IDServer: number\r\n}\r\n\r\nexport interface empresaObj{\r\n cdEmp:number,\r\n razaoSocial:string,\r\n NomeFantazia:string,\r\n cnpj:string\r\n ativos:boolean\r\n}\r\n\r\nexport interface jasperObj {\r\n ID?: string,\r\n DB: string,\r\n CONEXAO: string,\r\n DTINICIO: string,\r\n DTFIM: string,\r\n CDEMP:string,\r\n NUROM:string\r\n}\r\n\r\nexport enum reportName {\r\n TST001 = 'TST001',\r\n RoteiroEntregasClientePDF ='ROTENTR001',\r\n RoteiroEntregasClienteEXCEL='ROTENTR002',\r\n OcorrenciasPDF = 'ROTOC001',\r\n OcorrenciasEXCEL = 'ROTOC002',\r\n RoteirosMotoristaPDF = 'ROTPM001',\r\n RoteirosMotoristaEXCEL = 'ROTPM002',\r\n OcorrenciasMotoristaPDF = 'ROTOCP001',\r\n OcorrenciasMotoristaEXCEL = 'ROTOCP002',\r\n RoteirosDiaPDF=\"ROTDIA001\",\r\n RoteirosDiaEXCEL=\"ROTDIA002\",\r\n TempoMedioEntregaClientePDF = 'ROTTC001',\r\n TempoMedioEntregaClienteEXCEL = 'ROTTC002',\r\n IntervaloEntregaClientePDF = 'ROTINTC001',\r\n IntervaloEntregaClienteEXCEL ='ROTINTC002',\r\n JornadaTrabalhoMotoristaPDF = 'ROTTABM001',\r\n JornadaTrabalhoMotoristaEXCEL = 'ROTTABM002',\r\n FormaPagamentoPDF = 'ROTFP001',\r\n FormaPagamentoEXCEL = 'ROTFP002',\r\n CustoRoteiroPorEntregaPDF = 'ROTCUF001',\r\n CustoRoteiroPorEntregaExcel = 'ROTCUF002',\r\n OcorrenciasCustoExtraPDF = 'OCEXTROT001',\r\n OcorrenciasCustoExtraEXCEL = 'OCEXTROT002'\r\n}\r\n\r\nexport enum reportType {\r\n pdf = 'pdf',\r\n excel = 'xlsx',\r\n word = 'docx'\r\n}\r\nexport enum conjuntoRelatorios {\r\n painelMotorista = 'PAINELMOTORISTA',\r\n ocorrencia = 'OCORRENCIA',\r\n}\r\n\r\n\r\n\r\nexport class Util {\r\n cnpjEmpresas: Array = [];\r\n\r\n public converteData(data: any): Date {\r\n var dt = new Date(data);\r\n return new Date(dt.setMinutes(dt.getMinutes() + dt.getTimezoneOffset()));\r\n }\r\n\r\n public converterDataSemFuso(data: Date): string {\r\n let date = new Date(data);\r\n let year = date.getUTCFullYear();\r\n let month = date.getMonth() + 1;\r\n let day = date.getDate();\r\n let hours = date.getUTCHours();\r\n let minutes = date.getMinutes();\r\n let seconds = date.getSeconds();\r\n\r\n let monthAux = (month < 10) ? '0' + month : month;\r\n let dayAux = (day < 10) ? '0' + day : day;\r\n let hoursAux = (hours < 10) ? '0' + hours : hours;\r\n let minutesAux = (minutes < 10) ? '0' + minutes : minutes;\r\n let secondsAux = (seconds < 10) ? '0' + seconds : seconds;\r\n\r\n return year + '-' + monthAux + '-' + dayAux + ' ' + hoursAux + ':' + minutesAux + ':' + secondsAux;\r\n }\r\n\r\n public retornarDiaSemana(date: Date): any {\r\n let semana = new Array(7);\r\n semana[0] = \"SEG\";\r\n semana[1] = \"TER\";\r\n semana[2] = \"QUA\";\r\n semana[3] = \"QUI\";\r\n semana[4] = \"SEX\";\r\n semana[5] = \"SAB\";\r\n semana[6] = \"DOM\";\r\n\r\n return semana[date.getDay()];\r\n }\r\n\r\n public calcularDistanciaGeo(lat1, lon1, lat2, lon2) {\r\n let R = 6371; // Radius of the earth in km\r\n let dLat = this.deg2rad(lat2 - lat1); // deg2rad below\r\n let dLon = this.deg2rad(lon2 - lon1);\r\n\r\n let a =\r\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\r\n Math.cos(this.deg2rad(lat1)) * Math.cos(this.deg2rad(lat2)) *\r\n Math.sin(dLon / 2) * Math.sin(dLon / 2)\r\n ;\r\n\r\n let c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n let d = R * c; // Distance in km\r\n\r\n return d;\r\n }\r\n\r\n deg2rad(deg) {\r\n return deg * (Math.PI / 180)\r\n }\r\n\r\n static descricaoStatusRoteiro(codigo) {\r\n switch (codigo) {\r\n case 1: return 'Não iniciado';\r\n case 2: return 'Em rota';\r\n case 3: return 'Pausado';\r\n case 4: return 'Sem sinal';\r\n case 5: return 'Finalizado';\r\n }\r\n }\r\n\r\n static descricaoVeiculoEixo(categoriaPedagioID: number) {\r\n switch (categoriaPedagioID) {\r\n case 1: return 'motocicleta';\r\n case 2: return 'auto2eixos';\r\n case 3: return 'auto3eixos';\r\n case 4: return 'auto4eixos';\r\n case 5: return 'caminhao2eixos';\r\n case 6: return 'caminhao3eixos';\r\n case 7: return 'caminhao4eixos';\r\n case 8: return 'caminhao5eixos';\r\n case 9: return 'caminhao6eixos';\r\n case 10: return 'caminhao6eixos';\r\n case 11: return 'caminhao6eixos';\r\n case 12: return 'caminhao6eixos';\r\n }\r\n }\r\n\r\n static obterDimensoesIconePorCategoria(categoriaPedagioID: number) {\r\n switch (categoriaPedagioID) {\r\n case 1: return { largura: 33, altura: 24};\r\n case 2: return { largura: 74, altura: 33};\r\n case 3: return { largura: 133, altura: 33};\r\n case 4: return { largura: 133, altura: 33};\r\n case 5: return { largura: 67, altura: 33};\r\n case 6: return { largura: 81, altura: 33};\r\n case 7: return { largura: 101, altura: 33};\r\n case 8: return { largura: 115, altura: 33};\r\n case 9: return { largura: 129, altura: 33};\r\n case 10: return { largura: 129, altura: 33};\r\n case 11: return { largura: 129, altura: 33};\r\n case 12: return { largura: 129, altura: 33};\r\n }\r\n }\r\n\r\n\r\n public DescricaoStatusEntrega(codigo) {\r\n switch (codigo) {\r\n case 1: return 'Em Aberto';\r\n case 2: return 'Chegou no cliente';\r\n case 3: return 'Iniciou a entrega';\r\n case 4: return 'Volto depois';\r\n case 5: return 'Recebimento recusado';\r\n case 6: return 'Entrega efetuada';\r\n case 7: return 'Entrega Parcial';\r\n }\r\n }\r\n\r\n public DescricaoStatusCoordenada(codigo) {\r\n switch (codigo) {\r\n case 1: return 'Coordenada da Rota';\r\n case 2: return 'Sincronização';\r\n case 3: return 'Check-in Realizado';\r\n case 5: return 'Ocorrência reportada';\r\n case 7: return 'Ultima localização';\r\n case 11: return 'Coleta de coordenada';\r\n case 12: return 'Coleta de coordenada';\r\n case 13: return 'Roteiro Pausado';\r\n case 14: return 'Roteiro Reativado';\r\n }\r\n }\r\n\r\n public formatarCEP(cep: string): string {\r\n if (cep == undefined || cep == null) {\r\n return '';\r\n }\r\n\r\n var resultado = cep.toString();\r\n\r\n if (cep.toString().length == 7) {\r\n resultado = \"0\" + cep.toString().substring(0, 4) + \"-\" + cep.toString().substring(4, 7);\r\n }\r\n else if (cep.toString().length == 8) {\r\n resultado = cep.toString().substring(0, 5) + \"-\" + cep.toString().substring(5, 8);\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n public formatarDocumento(doc: string): string {\r\n if (doc == undefined || doc == null || doc == '') {\r\n return '';\r\n }\r\n\r\n var resultado = \"Documento:\" + doc;\r\n\r\n if (doc.length == 14) {\r\n resultado = \"CNPJ: \" + doc.substring(0, 2) + \".\" + doc.substring(2, 5) + \".\" + doc.substring(5, 8) + \"/\" + doc.substring(8, 12) + \"-\" + doc.substring(12, 14) + \"\";\r\n }\r\n else if (doc.length == 11) {\r\n resultado = \"CPF: \" + doc.substring(0, 3) + \".\" + doc.substring(3, 6) + \".\" + doc.substring(6, 9) + \"-\" + doc.substring(9, 11) + \"\";\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n public formataDataMes(mes) {\r\n if (mes <= 9) {\r\n return `0${mes}`;\r\n } else\r\n return mes;\r\n }\r\n\r\n public formataDataDia(dia) {\r\n if (dia <= 9) {\r\n return `0${dia}`;\r\n } else\r\n return dia;\r\n }\r\n\r\n public formataDataFront(data) {\r\n let datasplit = data.split('-');\r\n return `${datasplit[2]}/${datasplit[1]}/${datasplit[0]}`;\r\n }\r\n\r\n public formataDataBanco(data) {\r\n let datasplit = data.split('/');\r\n return `${datasplit[2]}${datasplit[1]}${datasplit[0]}`;\r\n }\r\n\r\n public secondsToHMS(secs) {\r\n function z(n) { return (n < 10 ? '0' : '') + n; }\r\n var sign = secs < 0 ? '-' : '';\r\n secs = Math.abs(secs);\r\n return sign + z(secs / 3600 | 0) + ':' + z((secs % 3600) / 60 | 0) + ':' + z(secs % 60 | 0);\r\n }\r\n\r\n public retornarHora(data: Date): string {\r\n let hora = data.getHours().toString();\r\n let minuto = data.getMinutes().toString();\r\n\r\n return (hora.length < 2 ? '0' + hora : hora) + ':' + (minuto.length < 2 ? '0' + minuto : minuto);\r\n }\r\n\r\n public retornarKm(km: string): string {\r\n if (km != null) {\r\n return km + ' km';\r\n }\r\n return km;\r\n }\r\n\r\n public retronarHoraString(hora: string): string {\r\n\r\n if (hora.length == 4) {\r\n let control = hora.split(':');\r\n return '0' + control[0] + ':' + control[1]\r\n }\r\n return hora;\r\n }\r\n\r\n dataMesAnterior(): string {\r\n const data = new Date();\r\n const ano = data.getUTCFullYear();\r\n const mes = data.getUTCMonth();\r\n const dia = data.getUTCDate();\r\n const dataString = ano + '-' + this.verificaMes(mes) + mes + '-' + this.verificarDia(dia) + dia;\r\n return dataString;\r\n }\r\n\r\n dataAtual(): string {\r\n const data = new Date();\r\n const ano = data.getUTCFullYear();\r\n const mes = data.getUTCMonth() + 1;\r\n const dia = data.getUTCDate();\r\n const dataString = ano + '-' + this.verificaMes(mes) + mes + '-' + this.verificarDia(dia) + dia;\r\n return dataString;\r\n }\r\n\r\n filtroData(data: Date, numero: number): string {\r\n data.setMonth(data.getMonth() - numero)\r\n const ano = data.getUTCFullYear();\r\n const mes = data.getUTCMonth() + 1;\r\n const dia = data.getUTCDate();\r\n const dataString = ano + '-' + this.verificaMes(mes) + mes + '-' + this.verificarDia(dia) + dia;\r\n return dataString;\r\n }\r\n\r\n verificaMes(id: number): string {\r\n if (id <= 9) {\r\n return '0';\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n verificarDia(id: number): string {\r\n if (id <= 9) {\r\n return '0';\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n verificaMensagem(mensagem?: string): string {\r\n\r\n if (mensagem !== null) {\r\n let msg = mensagem.replace(/(\\r\\n|\\n|\\r)/gm, \"\")\r\n if (mensagem.includes(\" 40) {\r\n return msg.substring(0, 40) + '...';\r\n }\r\n return msg;\r\n }\r\n }\r\n\r\n static compress(data: string) {\r\n return JSLZString.compressToEncodedURIComponent(data);\r\n }\r\n\r\n static decompress(data: string){\r\n return JSLZString.decompressFromEncodedURIComponent(data);\r\n }\r\n\r\n static converteStringHora(tempo: number){\r\n let hora: any = Math.floor(tempo / 60);\r\n let minutos: any = tempo % 60;\r\n hora = hora < 10 ? '0' + hora : hora;\r\n minutos = minutos < 10 ? '0' + minutos : minutos;\r\n return hora + ':' + minutos;\r\n }\r\n\r\n static converterMinutos(strTempo){\r\n let splitTempo = strTempo.split(':')\r\n let minutos = +splitTempo[0] * 60;\r\n minutos += +splitTempo[1];\r\n return minutos;\r\n }\r\n\r\n static formataStringDataJasper(data) {\r\n var dia = data.split(\"/\")[0];\r\n var mes = data.split(\"/\")[1];\r\n var ano = data.split(\"/\")[2];\r\n\r\n return ano + '-' + (\"0\"+mes).slice(-2) + '-' + (\"0\"+dia).slice(-2);\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n static calcularDiferencaDias(data1, data2) {\r\n const dt1 = new Date(data1);\r\n const dt2 = new Date(data2);\r\n const formData1 = new Date(dt1.getFullYear(), dt1.getMonth(), dt1.getDate());\r\n const formData2 = new Date(dt2.getFullYear(), dt2.getMonth(), dt2.getDate());\r\n const diferencaTempo = formData2.getTime() - formData1.getTime(); \r\n \r\n const diferencaDias = diferencaTempo / (1000 * 60 * 60 * 24); \r\n return Math.floor(diferencaDias); \r\n}\r\n\r\n}\r\n\r\nexport interface IAvisosNovidades{\r\n Titulo?: string;\r\n TextoPrincipal?: string;\r\n Imagem?: string;\r\n Url?: string;\r\n Conteudo?: string;\r\n SubConteudo?: string;\r\n TxtBtn?: string;\r\n OnPressed?: Function;\r\n MostrarBtn?: boolean;\r\n ConteudoFooter?: string;\r\n Pagina?: number;\r\n}\r\n\r\n\r\nexport interface IAlertaPainelInterface {\r\n NumeroRoteiro?: number;\r\n AlertaPainelID?: number;\r\n RoteiroAlertaID?: number,\r\n PlacaVeiculo?: string,\r\n CoordenadaID?: number;\r\n DTAlerta?: string;\r\n IdStatus?: number;\r\n NomeMotorista?: string;\r\n OcorrenciaID?: number;\r\n RoteiroID?: number;\r\n TipoAlerta?: string;\r\n Visualizado?: boolean;\r\n Latitude?: number;\r\n Longitude?: number;\r\n CodigoOcorrencia?: string;\r\n}\r\n\r\n\r\nexport enum IdTipoVeiculo{\r\n Pedagio = 18\r\n}\r\n\r\nexport enum TipoAlerta {\r\n TempoDesconectado = 'Tempo desconectado',\r\n DesvioDeRota = 'Desvio de rota',\r\n TempoDeDescarga = 'Tempo de descarga',\r\n TempoParado = 'Tempo parado',\r\n VoltoDepoisOuEntregaRecusada = 'Volto depois ou entrega recusada',\r\n CercaEletronica = 'Cerca Eletrônica'\r\n}\r\n\r\nexport enum SituacaoOdometro {\r\n Inicio = '1',\r\n Final = '2' \r\n}\r\n\r\nexport enum TipoEntregas {\r\n Entrega = 'ENTREGA',\r\n Coleta = 'COLETA'\r\n}\r\n\r\nexport interface DiaRoteiro {\r\n DT: string;\r\n HoraCalcAcumuladaT: string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { BodyDefault, JsonReturn, ObjectParam } from './interface/generic-interface';\r\nimport { NotificationService } from './notification.service';\r\n\r\n@Injectable()\r\nexport class ApiConService \r\n{\r\n token: any;\r\n private bodyDefault: BodyDefault;\r\n\r\n constructor (\r\n private http: HttpClient,\r\n private notificationService: NotificationService\r\n ) { }\r\n\r\n\r\n public async post(instanceName: string, objParam?: ObjectParam): Promise\r\n {\r\n this.bodyDefault.objParam = objParam;\r\n const retorno = await this.http.post(environment.restApiURL + instanceName, this.bodyDefault).toPromise();\r\n if(!retorno.sucesso){\r\n this.notificationService.showErro(retorno.msg)\r\n }\r\n delete this.bodyDefault.objParam;\r\n return retorno;\r\n }\r\n\r\n public async put(instanceName: string, id: string, objParam?: ObjectParam): Promise\r\n {\r\n this.bodyDefault.objParam = objParam;\r\n const retorno = await this.http.put(environment.restApiURL + instanceName + '/' + id, this.bodyDefault).toPromise();\r\n if(!retorno.sucesso){\r\n this.notificationService.showErro(retorno.msg)\r\n }\r\n delete this.bodyDefault.objParam;\r\n return retorno\r\n }\r\n \r\n public async putBody(instanceName: string, objParam: ObjectParam): Promise {\r\n try {\r\n this.bodyDefault.objParam = {\r\n roteiroAlerta: {\r\n RoteiroAlertaID: objParam.roteiroAlerta.RoteiroAlertaID\r\n }\r\n };\r\n const retorno = await this.http.put(environment.restApiURL + instanceName, this.bodyDefault).toPromise();\r\n if (!retorno.sucesso) {\r\n this.notificationService.showErro(retorno.msg);\r\n }\r\n delete this.bodyDefault.objParam; \r\n return retorno;\r\n } catch (error) {\r\n console.error('Erro na requisição:', error);\r\n }\r\n }\r\n\r\n private gerarToken()\r\n { \r\n this.token = \r\n {\r\n headers: new HttpHeaders\r\n ({\r\n 'Authorization': btoa('{\"usuarioLogado\": \"'+ environment.usuarioLogado +'\", \"baseDados\":\"'+ environment.baseDados +'\", \"servidor\":\"'+ environment.servidor +'\"}')\r\n })\r\n };\r\n }\r\n\r\n public async patchTransp(instanceName: string, id: string, body) \r\n {\r\n this.gerarToken();\r\n return await this.http.patch(environment.restApiTransp + instanceName + '/' + id, body).toPromise();\r\n }\r\n \r\n public async patch(instanceName: string): Promise\r\n {\r\n const retorno = await this.http.patch(environment.restApiURL + instanceName, this.bodyDefault).toPromise();\r\n if(!retorno.sucesso) this.notificationService.showErro(retorno.msg);\r\n return retorno;\r\n }\r\n\r\n public async patchInit() \r\n {\r\n let retorno = await this.http.patch(environment.restApiURL + 'authDistribuidora', \r\n {\r\n \"cnpj\": environment.baseDados,\r\n \"authKey\": \"見つかりません\"\r\n }\r\n ).toPromise();\r\n if(retorno.sucesso){\r\n this.bodyDefault = {\r\n cnpj: retorno.response.distribuidora.cnpj,\r\n serverID: retorno.response.distribuidora.serverID,\r\n dbName: retorno.response.distribuidora.dbName,\r\n authKey: \"見つかりません\"\r\n }\r\n } else{\r\n this.notificationService.showErro(retorno.msg)\r\n }\r\n return retorno;\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-bar-date',\r\n templateUrl: './bar-date.component.html',\r\n styleUrls: ['./bar-date.component.css']\r\n})\r\nexport class BarDateComponent {\r\n \r\n @Input() infoDia = '';\r\n @Input() data = Date.now();\r\n\r\n}\r\n","

Dia {{ infoDia }} - {{ data | date : 'dd/MM/yyyy'}}

\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-botao-primario',\r\n templateUrl: './botao-primario.component.html',\r\n styleUrls: ['./botao-primario.component.css']\r\n})\r\nexport class BotaoPrimarioComponent {\r\n\r\n @Input() titulo = '';\r\n @Input() modoDark = false;\r\n @Input() disabled = false;\r\n @Input() imagemBtn = null\r\n @Output() onPress = new EventEmitter(); \r\n \r\n emitirEvento(){\r\n this.onPress.emit();\r\n }\r\n\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-data-horario',\r\n templateUrl: './data-horario.component.html',\r\n styleUrls: ['./data-horario.component.css']\r\n})\r\nexport class DataHorarioComponent {\r\n @Input() data: string;\r\n\r\n}\r\n","{{ data | date : 'dd/MM/yyyy' }} às {{ data | date : 'hh:mm' : '+00:00' }} ","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dual-info-component',\r\n templateUrl: './dual-info-component.component.html',\r\n styleUrls: ['./dual-info-component.component.css']\r\n})\r\nexport class DualInfoComponentComponent {\r\n\r\n @Input() tituloPrincipal = '';\r\n @Input() infoPrincipal = '';\r\n @Input() tituloSecundario = '';\r\n @Input() infoSecundario = '';\r\n @Input() centralizarTexto: boolean = true\r\n}\r\n","\r\n
\r\n\r\n
\r\n
\r\n {{ tituloPrincipal }} \r\n

{{ infoPrincipal }}

\r\n
\r\n
\r\n
\r\n {{ tituloSecundario }}\r\n

{{ infoSecundario }}

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n","
\r\n \"ícone {{ titulo }}\r\n
\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-texto-link',\r\n templateUrl: './texto-link.component.html',\r\n styleUrls: ['./texto-link.component.css']\r\n})\r\nexport class TextoLinkComponent {\r\n\r\n @Input() titulo = '';\r\n @Input() icone = null;\r\n @Input() disabled = false;\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { reportType, reportName } from './Util';\r\n\r\n@Injectable()\r\nexport class ControlStatusService {\r\n private _currentState: State = State.visaoGeral;\r\n public mostrarMapas: boolean = false;\r\n public mostrarLegendas: boolean = false;\r\n public carregando: boolean = false;\r\n public dateChange: boolean = false;\r\n public numeroRoteiroBusca: number;\r\n public numeroRoteiroBuscaDetalhe: boolean;\r\n public carregouMapa: boolean = false;\r\n public popupConfig: boolean = false;\r\n public mostrarApenasPendentes: boolean = false;\r\n public msgErroBusca: string = '';\r\n\r\n //CONTROLES RELATÓRIOS\r\n public empresaSelecionada: string = ''\r\n public tipoRelatorio: number\r\n public carregandoRelatorios: boolean = false;\r\n public carregandoRelatoriosJasper: boolean = false;\r\n public dataInicio: any = '';\r\n public dataFim: any = '';\r\n public avisoRelatorio: string = '';\r\n public erroRelatorio: boolean = false;\r\n public controleModeloReport: string = 'pdf'\r\n public reportName:reportName\r\n public reportName2:reportName\r\n public reportFolder: any = '';\r\n\r\n\r\n set currentState(stt: State) {\r\n this._currentState = stt;\r\n }\r\n\r\n get currentState(): State {\r\n return this._currentState;\r\n }\r\n\r\n controlarLoading(show) {\r\n this.carregandoRelatorios = show;\r\n }\r\n\r\n limpaEstadoRelatorios() {\r\n this.dataInicio = '';\r\n this.dataFim = '';\r\n this.avisoRelatorio = '';\r\n this.erroRelatorio = false;\r\n this.controleModeloReport = ''\r\n this.tipoRelatorio = null\r\n }\r\n\r\n}\r\n\r\n\r\nexport enum State {\r\n 'visualizadorLinhasPontos' = 0,\r\n 'visualizadorDeRoteiros' = 1,\r\n 'visaoGeral' = 2\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { environment } from '../../environments/environment';\r\n\r\nimport { setDefaultOptions, loadModules } from 'esri-loader';\r\n\r\nexport let LoadedModules: any = null;\r\nlet esriLoaderService: EsriLoadService = null;\r\n\r\n@Injectable()\r\nexport class EsriLoadService {\r\n loading: boolean = false;\r\n waitInterval: any = null;\r\n constructor() {\r\n esriLoaderService = this;\r\n}\r\n\r\nasync loadClass() {\r\n if(LoadedModules == null && !this.loading){\r\n this.loading = true;\r\n\r\n setDefaultOptions({ version: '4.28' })\r\n return loadModules( [\r\n \"esri/Map\",\r\n \"esri/widgets/Expand\",\r\n \"esri/views/MapView\",\r\n \"esri/rest/route\",\r\n \"esri/symbols/PictureMarkerSymbol\",\r\n \"esri/Graphic\",\r\n \"esri/symbols/SimpleMarkerSymbol\",\r\n \"esri/symbols/SimpleLineSymbol\",\r\n \"esri/PopupTemplate\",\r\n \"esri/geometry/Extent\",\r\n \"esri/geometry/Point\",\r\n \"esri/widgets/BasemapGallery\",\r\n \"esri/Basemap\",\r\n \"esri/Color\",\r\n \"esri/widgets/Sketch/SketchViewModel\",\r\n \"esri/geometry/Polyline\",\r\n \"esri/layers/GraphicsLayer\",\r\n \"esri/geometry/SpatialReference\",\r\n \"esri/rest/support/FeatureSet\",\r\n \"esri/config\",\r\n \"esri/widgets/Popup\",\r\n \"esri/geometry/support/jsonUtils\",\r\n \"esri/widgets/Editor\",\r\n \"esri/geometry/support/webMercatorUtils\",\r\n \"esri/rest/support/PointBarrier\",\r\n \"esri/geometry/Polygon\"\r\n ])\r\n .then(([\r\n _Map,\r\n _Expand,\r\n _MapView,\r\n _RouteTask,\r\n _PictureMarkerSymbol,\r\n _graphic,\r\n _SimpleMarkerSymbol,\r\n _SimpleLineSymbol,\r\n _PopupTemplate,\r\n _Extent,\r\n _Point,\r\n _BasemapGallery,\r\n _Basemap,\r\n _Color,\r\n _SketchViewModel,\r\n _Polyline,\r\n _GraphicsLayer,\r\n _SpatialReference,\r\n _FeatureSet,\r\n _Config,\r\n _InfoWindow,\r\n _JsonUtils,\r\n _Edit,\r\n _WebMercatorUtils,\r\n _PointBarrier,\r\n _Polygon\r\n ]\r\n ) => {\r\n LoadedModules = {\r\n Map: _Map,\r\n Expand: _Expand,\r\n MapView: _MapView,\r\n RouteTask: _RouteTask,\r\n PictureMarkerSymbol: _PictureMarkerSymbol,\r\n Graphic: _graphic,\r\n SimpleMarkerSymbol: _SimpleMarkerSymbol,\r\n SimpleLineSymbol: _SimpleLineSymbol,\r\n PopupTemplate: _PopupTemplate,\r\n Extent: _Extent,\r\n Point: _Point,\r\n BasemapGallery: _BasemapGallery,\r\n Basemap: _Basemap,\r\n Color: _Color,\r\n SketchViewModel: _SketchViewModel,\r\n Polyline: _Polyline,\r\n GraphicsLayer: _GraphicsLayer,\r\n SpatialReference: _SpatialReference,\r\n FeatureSet: _FeatureSet,\r\n EsriConfig: _Config,\r\n InfoWindow: _InfoWindow,\r\n JsonUtils: _JsonUtils,\r\n Edit: _Edit,\r\n WebMercatorUtils: _WebMercatorUtils,\r\n PointBarrier: _PointBarrier,\r\n Polygon: _Polygon\r\n }\r\n });\r\n }\r\n else {\r\n return new Promise((resolve, reject) => {\r\n esriLoaderService.waitInterval = setInterval(function () {\r\n if (LoadedModules != null) {\r\n clearInterval(esriLoaderService.waitInterval);\r\n resolve(() => { });\r\n }\r\n }, 100);\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable, ViewChild } from '@angular/core';\r\nimport { State, ControlStatusService } from './control-status.service';\r\nimport { EsriLoadService, LoadedModules } from './esri-load-control.service';\r\nimport { RouteService } from './route.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { TipoEntregas, Util } from '../shared/Util';\r\nimport { isNullOrUndefined, isNull } from 'is-what';\r\nimport { BoxHistoricoAcoesService } from '../box-historico-acoes/box-historico-acoes.service';\r\nimport { BoxListTruckService } from '../box-list-truck/box-list-truck.service';\r\nimport { SvgService } from './svg.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { DecimalPipe } from '@angular/common';\r\n\r\nlet graphicService: GraphicService;\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class GraphicService {\r\n map: any;\r\n view: any;\r\n\r\n linhaRotaPlanejada: any;\r\n linhaRota: any[] = [];\r\n pontoRota: any[] = [];\r\n public listaPedagios: any = [];\r\n mostraConfiguracaoRoteiro = false;\r\n\r\n public layers: any[] = [];\r\n public ultimaPosicao: any;\r\n public distanciaTotalRealizada: number = 0;\r\n public distanciaTotalPlanejada: number = 0;\r\n public percentualDistancia: number = 0;\r\n public posicaoCliente: {};\r\n public numeroRoteiroAcesso: number = 0;\r\n public duracaoTotalEntrega: string;\r\n listaOcPedagioCriada: Array = [];\r\n numeroClienteFoco = 0\r\n coordenadaCenter = null;\r\n pointBarriers: any[] =[];\r\n polygonGraphicCerca = null;\r\n\r\n constructor\r\n (\r\n private esriLoadService: EsriLoadService,\r\n private controlStatus: ControlStatusService,\r\n private routeService: RouteService,\r\n private util: Util,\r\n public boxHistoricoAcoesService: BoxHistoricoAcoesService,\r\n private boxListTruckService: BoxListTruckService,\r\n private svgService: SvgService,\r\n private sanitizer:DomSanitizer\r\n ) {\r\n graphicService = this;\r\n }\r\n\r\n iniLayers() {\r\n this.layers[State.visualizadorLinhasPontos] = new LoadedModules.GraphicsLayer();\r\n this.layers[State.visualizadorDeRoteiros] = new LoadedModules.GraphicsLayer();\r\n\r\n this.map.add(this.layers[State.visualizadorLinhasPontos]);\r\n this.map.add(this.layers[State.visualizadorDeRoteiros]);\r\n }\r\n\r\n createSymbol(client: any, tipoIcone?: number, catPedagioID = 0) {\r\n\r\n let url = '';\r\n let altura = 0;\r\n let largura = 0;\r\n let options\r\n switch (tipoIcone) {\r\n case 1:\r\n\r\n if(catPedagioID == 0 || catPedagioID == 1 ){\r\n options = { icone: \"RotaGPSCaminhao\", NumeroRoteiro: client.NumeroRoteiro }\r\n altura = 32;\r\n largura = 47;\r\n }else{\r\n options = { icone: Util.descricaoVeiculoEixo(catPedagioID), NumeroRoteiro: client.NumeroRoteiro }\r\n let dadosAlturaLargura = Util.obterDimensoesIconePorCategoria(catPedagioID);\r\n altura = dadosAlturaLargura.altura;\r\n largura = dadosAlturaLargura.largura;\r\n } \r\n url = this.svgService.geraSVG(options) \r\n break;\r\n case 2:\r\n\r\n url = client.urlImagemRoteiro;\r\n altura = 39.75;\r\n largura = 30.75;\r\n break;\r\n case 3:\r\n url = 'assets/img/icon-ponto-partida.png';\r\n altura = 38;\r\n largura = 26;\r\n break;\r\n case 4:\r\n url = this.retornaIcone(client);\r\n altura = 30;\r\n largura = 30;\r\n break;\r\n }\r\n\r\n client.urlIcon = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n return new LoadedModules.PictureMarkerSymbol\r\n ({\r\n 'url': url,\r\n 'height': altura,\r\n 'width': largura,\r\n 'contentType': 'image/svg+xml'\r\n });\r\n }\r\n\r\n private async criarPontoRota(list: any, ultimaPosicao?: boolean) {\r\n\r\n let listaDeAcoes = await this.boxHistoricoAcoesService.getListaDeAcoes();\r\n\r\n //Verifica clientes com coordenadas iguais.\r\n let coordenadas = {};\r\n let controle = 1 ;\r\n list.forEach(cliente => {\r\n let chave = `${cliente.Latitude.toFixed(6)}_${cliente.Longitude.toFixed(6)}`;\r\n if (coordenadas[chave]) { \r\n cliente.Latitude -= 0.0005 * controle;\r\n cliente.Longitude -= 0.0005 * controle;\r\n controle++\r\n chave = `${cliente.Latitude.toFixed(6)}_${cliente.Longitude.toFixed(6)}`;\r\n }\r\n coordenadas[chave] = true;\r\n });\r\n\r\n // Insere os pontos de rota\r\n for (let i = 0, len = list.length; i < len; i++) {\r\n let client = list[i];\r\n let tipoIcone = 2;\r\n\r\n let acoes = listaDeAcoes.filter(x => client.CodigoCliente == x.CodigoCliente);\r\n let infoTemplate = this.criarInfoTemplateRoteiro(ultimaPosicao, client, acoes);\r\n let acoesAux = [];\r\n\r\n if (ultimaPosicao) {\r\n tipoIcone = 1\r\n }\r\n else if (acoes != undefined) {\r\n //Popular lista de acoes\r\n acoesAux = this.iconeAcaoPopup(acoes);\r\n };\r\n\r\n if (acoes.length == 0 && client.statusEntrega > 1) {\r\n\r\n let listaDeAcoesPorPedido = await this.boxHistoricoAcoesService.getListaDeAcoesPorPedido(client.CodigoCliente);\r\n acoesAux = this.iconeAcaoPopupPorPedido(listaDeAcoesPorPedido);\r\n\r\n }\r\n let symbol = this.createSymbol(client, tipoIcone);\r\n if (symbol.url != undefined) {\r\n let g = new LoadedModules.Graphic\r\n (\r\n this.CriaPontoMapa(client.Latitude, client.Longitude),\r\n symbol,\r\n ultimaPosicao ?\r\n {\r\n \"DATA\": this.util.converteData(new Date(client.Data)).toLocaleDateString() + ' ' + this.util.converteData(new Date(client.Data)).toLocaleTimeString(),\r\n 'NumeroRoteiro': client.NumeroRoteiro\r\n } :\r\n {\r\n 'NumeroRoteiro': client.NumeroRoteiro,\r\n 'CDCLIENT': client.CodigoCliente,\r\n 'Name': client.CodigoCliente,\r\n 'NOME': client.RazaoSocial,\r\n 'NOMEFANTASIA': client.NomeFantasia,\r\n 'DOC': graphicService.util.formatarDocumento(client.CnpjCpf),\r\n 'ENDERECO': client.Endereco + \",\" + client.Numero,\r\n 'BAIRRO': client.Bairro,\r\n 'MUNICIPIO': client.Cidade,\r\n 'UF': client.UF,\r\n 'CEP': graphicService.util.formatarCEP(client.Cep),\r\n 'LATITUDE': client.Latitude,\r\n 'LONGITUDE': client.Longitude,\r\n 'SYMBOLURLSTREET': encodeURI(symbol.url),\r\n 'listaDeAcoes': acoesAux,\r\n 'statusEntrega': client.statusEntrega,\r\n 'custoDescarga': client.custoDescarga\r\n }\r\n ,\r\n infoTemplate\r\n );\r\n\r\n client.graphic = g;\r\n this.addGraphic(g, false);\r\n }\r\n }\r\n\r\n this.resetExtent(true, []);\r\n this.controlStatus.carregando = false;\r\n }\r\n\r\n public iconeAcaoPopup(listaDeAcoes) {\r\n let listaAux = [];\r\n\r\n listaDeAcoes.forEach(item => {\r\n let options\r\n let informacoes = JSON.parse(item.Informacoes)\r\n\r\n switch (item.IdRoteiroPedidoSituacao) {\r\n case 2:\r\n options = { icone: \"DashboardChegouCliente\" }\r\n break;\r\n case 3:\r\n options = informacoes = informacoes.tipo == TipoEntregas.Coleta? { icone: \"DashboardIniciouColeta\" } : { icone: \"DashboardIniciouEntrega\" }\r\n break;\r\n case 4:\r\n options = { icone: \"DashboardVoltaDepois\" }\r\n break;\r\n case 5:\r\n options = { icone: \"DashboardNaoEntrega\" }\r\n break;\r\n case 6:\r\n options = informacoes = informacoes.tipo == TipoEntregas.Coleta? { icone: \"DashboardColetaFinalizada\" } : { icone: \"DashboardEntregaFinalizada\" }\r\n break;\r\n }\r\n\r\n if (options != null) {\r\n let data = this.util.converteData(new Date(item.Data));\r\n\r\n let acao = {\r\n icone: this.svgService.geraSVG(options),\r\n data: this.util.formataDataDia(data.getDate()) + '/' + this.util.formataDataMes((data.getMonth() + 1)) + '/' + data.getFullYear(),\r\n hora: this.util.retornarHora(data),\r\n descricaoStatus : this.descricaoStatusAcao(item.IdRoteiroPedidoSituacao, JSON.parse(item.Informacoes))\r\n };\r\n\r\n listaAux.push(acao);\r\n }\r\n });\r\n\r\n return listaAux;\r\n }\r\n\r\n public criarPontoAcao(ponto: any, exibir: boolean) {\r\n if (exibir) {\r\n let infoTemplate = this.criarInfoTemplateAcao();\r\n\r\n let symbol = this.createSymbol(ponto, 4);\r\n\r\n let g = new LoadedModules.Graphic\r\n (\r\n\r\n this.CriaPontoMapa(ponto.Latitude, ponto.Longitude),\r\n symbol,\r\n {\r\n \"CDCLIENT\": \"0\",\r\n \"ID\": ponto.IdCoordenada,\r\n \"TITULO\": \"Ação - \" + new Date(ponto.Data).toLocaleDateString() + \" \" + new Date(ponto.Data.replace('Z', '')).toLocaleTimeString(),\r\n \"CORPO\": \"

\" + ponto.TextoInfo.toUpperCase() + \"

\" + ponto.Cliente + \"

\",\r\n }\r\n ,\r\n infoTemplate\r\n );\r\n\r\n this.addGraphic(g, true);\r\n this.centralizarMapa(g.geometry, 16);\r\n }\r\n else {\r\n const graphics = this.layers[this.controlStatus.currentState].graphics;\r\n\r\n for (let i = 0; i < graphics.items.length; i++) {\r\n if (graphics.items[i].attributes && graphics.items[i].attributes.ID != undefined) {\r\n if (graphics.items[i].attributes.ID == ponto.IdCoordenada) {\r\n this.removeGraphic(graphics.items[i]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n retornaIcone(item) {\r\n let codigo = 0;\r\n let icone: string;\r\n\r\n if (isNull(item.IdRoteiroSituacao) && isNull(item.IdRoteiroPedidoSituacao)) {\r\n codigo = item.CodigoAcao;\r\n } else if (!isNull(item.IdRoteiroSituacao)) {\r\n switch (item.IdRoteiroSituacao) {\r\n case 1: codigo = 18; break; //Roteiro - Novo\r\n case 2: codigo = 8; break; //Roteiro - Iniciado\r\n case 3: codigo = 9; break; //Roteiro - Pausado\r\n case 4: codigo = 10; break; //Roteiro - Saída\r\n case 5: codigo = 19; break; //Roteiro - Finalizado\r\n }\r\n } else {\r\n switch (item.IdRoteiroPedidoSituacao) {\r\n case 1: codigo = 20; break; //Entrega em aberto\r\n case 2: codigo = 3; break; //Check-in\r\n case 3: codigo = 4; break; //Início da Entrega\r\n case 4: codigo = 16; break; //RotaGPSAcao\r\n case 5: codigo = 17; break; //Recebimento recusado\r\n case 6: codigo = 5; break; //Entrega Realizada\r\n case 8: codigo = 15; break; //Entrega Realizada com exceção > criar com ponto de exclação\r\n }\r\n }\r\n\r\n let options = { icone: 'RotaGPSAcao' + codigo.toString() }\r\n icone = this.svgService.geraSVG(options)\r\n\r\n return icone;\r\n }\r\n\r\n async loadPoints() {\r\n // Carrega o ultimo ponto de cada caminhão\r\n this.ultimaPosicao = await this.routeService.ultimaPosicao();\r\n\r\n this.criarPontoRota(this.ultimaPosicao, true);\r\n }\r\n\r\n public CriaPontoMapa(latitude, longitude) {\r\n if (latitude == undefined || longitude == undefined) {\r\n return;\r\n }\r\n\r\n var pt = new LoadedModules.Point(0, 0, this.map.spatialReference);\r\n\r\n pt.latitude = latitude;\r\n pt.longitude = longitude;\r\n\r\n return pt;\r\n }\r\n\r\n private criarInfoTemplate() {\r\n let popupTemplate = new LoadedModules.PopupTemplate();\r\n popupTemplate.title = \"Cliente\";\r\n popupTemplate.content = \"\";\r\n }\r\n\r\n\r\n fixGraphicOrder(init: number) {\r\n const list = this.routeService.SelectedClients;\r\n for (let i = init - 1, len = list.length; i < len; i++) {\r\n list[i].graphic.setSymbol(this.createSymbol(list[i]));\r\n }\r\n }\r\n\r\n toggleGraphicSelect(graphic: any) {\r\n if (graphic.attributes === undefined || graphic.attributes.CDCLIENT === undefined) { return; }\r\n const client = this.routeService.toggleSelect(graphic.attributes.CDCLIENT);\r\n graphic.setSymbol(this.createSymbol(client));\r\n const shape = graphic.getDojoShape();\r\n if (shape) {\r\n if (client.selected) {\r\n shape.moveToFront();\r\n } else {\r\n shape.moveToBack();\r\n }\r\n }\r\n if (!client.selected) { this.fixGraphicOrder(client.order); }\r\n\r\n this.limparRota();\r\n }\r\n\r\n addGraphic(g: any, sendBack: boolean, layerNumber?: any) {\r\n let aux;\r\n if (!isNullOrUndefined(layerNumber)) {\r\n aux = this.layers[layerNumber].add(g);\r\n }\r\n else {\r\n aux = this.layers[State.visualizadorDeRoteiros].add(g);\r\n }\r\n\r\n if (sendBack) {\r\n }\r\n }\r\n\r\n removeGraphic(g: any) {\r\n this.layers[State.visualizadorLinhasPontos].remove(g);\r\n this.layers[State.visualizadorDeRoteiros].remove(g);\r\n }\r\n\r\n resetExtent(hideDisable: boolean, objs: any) {\r\n let extent = null,\r\n graphics = objs;\r\n if (objs === undefined || objs.length === 0) {\r\n graphics = this.layers[State.visualizadorLinhasPontos].graphics.concat(\r\n this.layers[State.visualizadorDeRoteiros].graphics\r\n );\r\n }\r\n const CheckExtent = function (point) {\r\n if (point === undefined || point.x === undefined) { return; }\r\n if (extent == null) {\r\n extent = new LoadedModules.Extent(\r\n point.x,\r\n point.y,\r\n point.x,\r\n point.y,\r\n graphicService.map.spatialReference\r\n );\r\n return;\r\n }\r\n if (extent.xmax < point.x) { extent.xmax = point.x; }\r\n if (extent.xmin > point.x) { extent.xmin = point.x; }\r\n if (extent.ymax < point.y) { extent.ymax = point.y; }\r\n if (extent.ymin > point.y) { extent.ymin = point.y; }\r\n },\r\n leftCorrection = function () {\r\n try {\r\n const f = 0.30;\r\n extent.xmin -= (extent.xmax - extent.xmin) * f;\r\n }\r\n catch (e) {\r\n console.log(\"CATCH________filtrarRoteiro\");\r\n console.log(e);\r\n }\r\n }\r\n\r\n for (let i = 0; i < graphics.items.length; i++) {\r\n if (\r\n graphics.items[i].visible &&\r\n (\r\n hideDisable === undefined ||\r\n (\r\n hideDisable === false &&\r\n graphics.items[i].attributes !== undefined\r\n ) ||\r\n (\r\n hideDisable &&\r\n graphics.items[i].attributes !== undefined\r\n )\r\n )\r\n ) {\r\n CheckExtent(graphics.items[i].geometry);\r\n }\r\n }\r\n\r\n leftCorrection();\r\n if (extent != null) { this.view.extent = extent.expand(1.6) }\r\n\r\n\r\n\r\n }\r\n\r\n selectClientsByExtent(extent: any) {\r\n const graphics = this.layers[this.controlStatus.currentState].graphics;\r\n for (let i = 0; i < graphics.length; i++) {\r\n if (extent.geometry.contains(graphics[i].geometry) &&\r\n graphics[i].attributes !== undefined) {\r\n if (graphics[i].visible) {\r\n const client = this.routeService.getItem(graphics[i].attributes.CDCLIENT);\r\n if (client.selected !== true) { this.toggleGraphicSelect(graphics[i]); }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /* Limpa o roteiro realizado caso exista no mapa */\r\n limparRota() {\r\n if (this.routeService.CurrentRouteGraphic != null) {\r\n this.removeGraphic(this.routeService.CurrentRouteGraphic);\r\n this.removeGraphic(this.routeService.PontoInicial);\r\n this.routeService.CurrentRouteGraphic = null;\r\n this.routeService.CurrentRoute = null;\r\n }\r\n }\r\n\r\n async limparPontosMapa() {\r\n const graphicsLinhaPonto = this.layers[State.visualizadorLinhasPontos].graphics;\r\n const graphicsRot = this.layers[State.visualizadorDeRoteiros].graphics;\r\n\r\n while (graphicsRot.items.length > 0) {\r\n this.removeGraphic(graphicsRot.items[graphicsRot.items.length - 1]);\r\n graphicsRot.splice(graphicsRot.items.length, 1);\r\n }\r\n while (graphicsLinhaPonto.items.length > 0) {\r\n this.removeGraphic(graphicsLinhaPonto.items[graphicsLinhaPonto.items.length - 1]);\r\n graphicsLinhaPonto.splice(graphicsLinhaPonto.items.length, 1);\r\n }\r\n }\r\n\r\n mudarVisaoMapa(state: State) {\r\n if (state == State.visaoGeral) {\r\n this.layers[State.visualizadorLinhasPontos].setVisibility(false);\r\n this.layers[State.visualizadorDeRoteiros].setVisibility(false);\r\n }\r\n else {\r\n this.layers[State.visualizadorLinhasPontos].setVisibility(true);\r\n this.layers[State.visualizadorDeRoteiros].setVisibility(true);\r\n\r\n }\r\n }\r\n\r\n async visualizarRoteiroMapa(e, contemPontosFixo: boolean, infoRota) {\r\n this.removeCercaEletronica();\r\n this.linhaRotaPlanejada = null;\r\n let geometry;\r\n let pedagio: any;\r\n let pt: any;\r\n let servico = false;\r\n let routeSymbol = {\r\n join: \"round\",\r\n type: \"simple-line\",\r\n color: [0, 0, 255, 0.5],\r\n width: \"4px\",\r\n };\r\n\r\n let infoRoteirizacao = JSON.parse(infoRota).InfoRoteirizacao ?? null;\r\n if(infoRoteirizacao && infoRoteirizacao.cercaEletronica){ \r\n this.insereCercaEletronica(infoRoteirizacao.cercaEletronica);\r\n }\r\n \r\n\r\n \r\n if(e) {\r\n if (e.newVersion) {\r\n \r\n if (e.stops) {\r\n pt = new LoadedModules.Point(e.mergedGeometry.paths[0][0][1], e.mergedGeometry.paths[0][0][0]);\r\n e.mergedGeometry.paths[0] = e.mergedGeometry.paths[0].map((element) => LoadedModules.WebMercatorUtils.lngLatToXY(element[1], element[0]));\r\n \r\n let geometria = e.mergedGeometry;\r\n geometry = LoadedModules.JsonUtils.fromJSON(geometria);\r\n } else {\r\n geometry = new LoadedModules.Polyline(e.mergedGeometry);\r\n pt = new LoadedModules.Point(e.mergedGeometry.paths[0][0][0], e.mergedGeometry.paths[0][0][1]);\r\n }\r\n pedagio = e.pedagio;\r\n }\r\n else if (e.stops) {\r\n // Roteirização através do serviço\r\n geometry = LoadedModules.JsonUtils.fromJSON(e.routes.features[0].geometry);\r\n \r\n // Retorna o primeiro ponto da rota - ponto inicial de saída\r\n pt = new LoadedModules.Point(geometry.paths[0][0][0], geometry.paths[0][0][1]);\r\n \r\n servico = true;\r\n }\r\n else if (e.result) {\r\n geometry = LoadedModules.JsonUtils.fromJSON(e.result.routeResults[0].directions.mergedGeometry);\r\n pedagio = e.result.routeResults[0].directions.pedagio\r\n \r\n // Retorna o primeiro ponto da rota - ponto inicial de saída\r\n let coordenadas = new LoadedModules.Point(geometry.paths[0][0][0], geometry.paths[0][0][1], this.map.spatialReference);\r\n let lgnLong = LoadedModules.WebMercatorUtils.webMercatorToGeographic(coordenadas)\r\n pt = this.CriaPontoMapa(lgnLong.latitude, lgnLong.longitude)\r\n \r\n \r\n }\r\n else if (e.paths) {\r\n // Roteirização automatica multi veiculos\r\n let polylineJson = {\r\n \"paths\": e.paths,\r\n \"spatialReference\": e.spatialReference\r\n };\r\n \r\n // Retorna o primeiro ponto da rota - ponto inicial de saída\r\n pt = new LoadedModules.Point(e.paths[0][0][0], e.paths[0][0][1]);\r\n \r\n geometry = new LoadedModules.Polyline(polylineJson);\r\n }\r\n } \r\n\r\n \r\n //Adiciona os pontos de barreira\r\n if(e != null){\r\n if (e.pointBarriers) {\r\n let barreiras = e.pointBarriers\r\n barreiras.forEach((elemento) => {\r\n const coordenadas = LoadedModules.WebMercatorUtils.xyToLngLat(elemento.geometry.x, elemento.geometry.y);\r\n var point = new LoadedModules.Point({\r\n x: coordenadas[0],\r\n y: coordenadas[1] \r\n });\r\n\r\n const url = this.svgService.geraSvgBarreiraa();\r\n var pointSymbol = new LoadedModules.PictureMarkerSymbol({\r\n url: url,\r\n width: \"32px\",\r\n height: \"32px\"\r\n }); \r\n \r\n // Criando o gráfico com o ponto e o símbolo\r\n var pointGraphic = new LoadedModules.Graphic({\r\n geometry: point,\r\n symbol: pointSymbol\r\n }); \r\n this.view.graphics.add(pointGraphic);\r\n })\r\n }\r\n if (e.polylineBarriers) {\r\n let barreiras = e.polylineBarriers\r\n barreiras.forEach((elemento) => {\r\n const paths = elemento.geometry.paths[0].map((path) => {\r\n const coordenadas = LoadedModules.WebMercatorUtils.xyToLngLat(path[0], path[1]);\r\n return [coordenadas[0], coordenadas[1]];\r\n });\r\n const polyline = new LoadedModules.Polyline({\r\n paths,\r\n spatialReference: this.view.spatialReference\r\n });\r\n const polylineWM = LoadedModules.WebMercatorUtils.geographicToWebMercator(polyline);\r\n const symbol = {\r\n type: \"simple-line\",\r\n color: [255,0,0], \r\n width: 2\r\n };\r\n var polylineGraphic = new LoadedModules.Graphic({\r\n geometry: polylineWM, \r\n symbol: symbol\r\n });\r\n this.view.graphics.add(polylineGraphic)\r\n })\r\n }\r\n if (e.polygonBarriers) { \r\n let barreiras = e.polygonBarriers\r\n barreiras.forEach((elemento) => {\r\n let rings = elemento.geometry.rings[0].map((path) => {\r\n const coordenadas = LoadedModules.WebMercatorUtils.xyToLngLat(path[0], path[1])\r\n return [coordenadas[0], coordenadas[1]]\r\n }) \r\n var polygon = new LoadedModules.Polygon({\r\n rings\r\n });\r\n const polygonWM = LoadedModules.WebMercatorUtils.geographicToWebMercator(polygon);\r\n var symbol = {\r\n type: \"simple-fill\",\r\n color: [150, 150, 150, 0.5], // cor do preenchimento do polígono \r\n outline: {\r\n color: [255,0,0], \r\n width: 2\r\n }\r\n };\r\n var polygonGraphic = new LoadedModules.Graphic({\r\n geometry: polygonWM,\r\n symbol: symbol\r\n });\r\n this.view.graphics.add(polygonGraphic)\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n if (!contemPontosFixo) {\r\n // Insere o ponto inicial\r\n let symbol = new LoadedModules.PictureMarkerSymbol\r\n ({\r\n \"url\": 'assets/img/icon-ponto-partida.png',\r\n \"height\": 38,\r\n \"width\": 26,\r\n \"contentType\": \"image/svg+xml\"\r\n });\r\n\r\n let gp = new LoadedModules.Graphic\r\n (\r\n pt,\r\n symbol,\r\n {\r\n 'PontoInicial': 1\r\n }\r\n );\r\n setTimeout(() => {\r\n this.addGraphic(gp, false, State.visualizadorDeRoteiros);\r\n }, 1000);\r\n }\r\n\r\n this.linhaRotaPlanejada = new LoadedModules.Graphic(geometry, routeSymbol);\r\n this.addGraphic(this.linhaRotaPlanejada, true, State.visualizadorLinhasPontos);\r\n\r\n if (!servico) {\r\n try {\r\n this.resetExtent(true, []);\r\n }\r\n catch (e) {\r\n console.log(\"CATCH________visualizarRoteiroMapa\");\r\n console.log(e);\r\n }\r\n }\r\n\r\n // Exibe os pedágios\r\n if (pedagio) {\r\n this.listaPedagios = []\r\n let valorTotalPorPedagio = 0;\r\n let quantidadePassagemPegadio = 0;\r\n for (let i = 0; i < pedagio.length; i++) {\r\n let item = pedagio[i];\r\n quantidadePassagemPegadio = 0;\r\n pedagio.forEach(ped => {\r\n if (item.IdRodovia === ped.IdRodovia && item.Km === ped.Km) {\r\n quantidadePassagemPegadio++;\r\n valorTotalPorPedagio += pedagio[i].Valor;\r\n }\r\n });\r\n item.Valor = valorTotalPorPedagio * quantidadePassagemPegadio;\r\n let point = this.CriaPontoPedagioMapa(item.Latitude1, item.Longitude1);\r\n this.exibePedagioMapa(item, point, quantidadePassagemPegadio);\r\n }\r\n }\r\n\r\n }\r\n\r\n async visualizarRoteiroMapaAux(eAux) {\r\n this.linhaRotaPlanejada = null;\r\n let geometry;\r\n let pt: any;\r\n let routeSymbol = {\r\n join: \"round\",\r\n type: \"simple-line\",\r\n color: [0, 255, 255, 0.7],\r\n width: \"4px\",\r\n };\r\n\r\n if (eAux.newVersion) {\r\n pt = new LoadedModules.Point(eAux.mergedGeometry.paths[0][0][1], eAux.mergedGeometry.paths[0][0][0]);\r\n eAux.mergedGeometry.paths[0] = eAux.mergedGeometry.paths[0].map((element) => LoadedModules.WebMercatorUtils.lngLatToXY(element[1], element[0]))\r\n geometry = LoadedModules.JsonUtils.fromJSON(eAux.mergedGeometry);\r\n } else {\r\n geometry = LoadedModules.JsonUtils.fromJSON(eAux.result.routeResults[0].directions.mergedGeometry);\r\n // Retorna o primeiro ponto da rota - ponto inicial de saída\r\n pt = new LoadedModules.Point(geometry.paths[0][0][0], geometry.paths[0][0][1], this.map.spatialReference);\r\n }\r\n\r\n // Insere o ponto inicial\r\n let symbol = new LoadedModules.PictureMarkerSymbol\r\n ({\r\n 'url': 'assets/img/icon-ponto-partida.png',\r\n 'height': 38,\r\n 'width': 26,\r\n 'contentType': 'image/svg+xml'\r\n });\r\n\r\n let gp = new LoadedModules.Graphic\r\n (\r\n pt,\r\n symbol,\r\n {\r\n 'PontoInicial': 1\r\n }\r\n );\r\n\r\n this.linhaRotaPlanejada = new LoadedModules.Graphic(geometry, routeSymbol);\r\n this.addGraphic(this.linhaRotaPlanejada, true, State.visualizadorLinhasPontos);\r\n setTimeout(() => {\r\n this.addGraphic(gp, false, State.visualizadorDeRoteiros);\r\n }, 1000);\r\n }\r\n\r\n async visualizarPontosMapa(pontosOriginal, pontosComUltimaPosicao) {\r\n let pontos = pontosComUltimaPosicao.map((item, index) => {\r\n if (item.CodigoAcao == 1) {\r\n return { ponto: item, index: index };\r\n }\r\n }).filter((item) => { if (item != undefined) return item }).reduce((acc, curr) => {\r\n const x = acc.find(value => value.ponto.CodigoAcao === curr.ponto.CodigoAcao && value.ponto.Data === curr.ponto.Data && value.ponto.Latitude === curr.ponto.Latitude && value.ponto.Longitude === curr.ponto.Longitude);\r\n if (!x) {\r\n return acc.concat([curr]);\r\n } else {\r\n return acc;\r\n }\r\n }, []);\r\n\r\n this.linhaRota = [];\r\n this.pontoRota = [];\r\n\r\n let pontoAnterior: any = null;\r\n let dataFinalAnterior = null;\r\n let pontoInicial = { Latitude: 0, Longitude: 0 };\r\n\r\n this.percentualDistancia = 0;\r\n this.distanciaTotalRealizada = 0;\r\n let caminhao = false;\r\n let kmPercorrida = JSON.parse(this.boxListTruckService.listTruckService.InfoRota).KmPercorrido;\r\n let controladorCalculoDistancia = true;\r\n\r\n //filtra pontos versao >= 2.0.0\r\n let versaoApp = graphicService.boxListTruckService.listTruckService.VersaoApp;\r\n if (versaoApp >= '2.0.0' && this.util.cnpjEmpresas.length > 0) {\r\n let filtroCnpjs = pontos.filter((ponto) => {\r\n let cnpj = JSON.parse(ponto.ponto.Informacoes).cnpj\r\n return this.util.cnpjEmpresas.includes(cnpj)\r\n });\r\n pontos = filtroCnpjs;\r\n }\r\n\r\n //filtra coordenada ajudante\r\n pontos = pontos.filter((ponto) => {\r\n let entregaAjudante = JSON.parse(ponto.ponto.Informacoes).CoordAjudante\r\n return entregaAjudante == 1? false: true\r\n }) \r\n \r\n //#region Adiciona pontos na tela\r\n for (let i = 0; i < pontos.length; i++) {\r\n let listaUltimaPosicao = [];\r\n if (pontos.length != i + 1) {\r\n listaUltimaPosicao = pontosComUltimaPosicao.slice(pontos[i].index, pontos[i + 1].index).reduce((acc, curr) => {\r\n const x = acc.find(value => value.CodigoAcao === 1 && value.CodigoAcao === curr.CodigoAcao && value.Data === curr.Data && value.Latitude === curr.Latitude && value.Longitude === curr.Longitude);\r\n if (!x) {\r\n return acc.concat([curr]);\r\n } else {\r\n return acc;\r\n }\r\n }, []).slice(1);\r\n }\r\n\r\n let parado = listaUltimaPosicao.length > 0 ? true : false;\r\n let dataFinal = null;\r\n let tempo = 0;\r\n\r\n if (parado) {\r\n dataFinal = listaUltimaPosicao[listaUltimaPosicao.length - 1].Data;\r\n tempo = (this.util.converteData(new Date(dataFinal)).getTime() - this.util.converteData(new Date(pontos[i].ponto.Data)).getTime());\r\n }\r\n\r\n if (!pontos[i].ponto.Data.includes('Z')) {\r\n let data = new Date(pontos[i].ponto.Data);\r\n data.setHours(data.getHours() - 3);\r\n pontos[i].ponto.Data = data.toISOString();\r\n }\r\n\r\n let infoTemplate = this.criarInfoTemplateRota((i + 1), pontos[i].ponto, dataFinal); \r\n\r\n if(pontos[i + 1] != undefined && pontos[i].ponto.ChaveDispositivo != pontos[i + 1].ponto.ChaveDispositivo){\r\n tempo = 0\r\n }\r\n\r\n let temAlerta = pontos[i].ponto.TipoAlerta != null;\r\n let symbol = this.createSymbolRota(tempo, temAlerta);\r\n\r\n if ((i + 1) == pontos.length || (pontos[i + 1] != undefined && pontos[i].ponto.ChaveDispositivo != pontos[i + 1].ponto.ChaveDispositivo) ) {\r\n symbol = this.createSymbol(pontos[i].ponto, 1 , JSON.parse(this.boxListTruckService.listTruckService.InfoRota).CategoriaPedagioID ?? 0);\r\n caminhao = true;\r\n }else{\r\n caminhao = false\r\n }\r\n\r\n let ponto = this.CriaPontoMapa(pontos[i].ponto.Latitude, pontos[i].ponto.Longitude);\r\n\r\n let g = new LoadedModules.Graphic\r\n (\r\n ponto,\r\n symbol,\r\n {\r\n 'PontoRota': (i + 1),\r\n }\r\n ,\r\n infoTemplate\r\n );\r\n\r\n if (caminhao) {\r\n this.addGraphic(g, true);\r\n caminhao = false;\r\n }\r\n else {\r\n this.addGraphic(g, false, State.visualizadorLinhasPontos);\r\n }\r\n\r\n this.pontoRota.push(g);\r\n\r\n if (pontoAnterior != null) {\r\n // Calcula a distância\r\n\r\n if (kmPercorrida === undefined) {\r\n if(pontos[i].ponto.ChaveDispositivo == pontos[i - 1].ponto.ChaveDispositivo){\r\n let distancia = this.util.calcularDistanciaGeo(pontos[i - 1].ponto.Latitude, pontos[i - 1].ponto.Longitude, pontos[i].ponto.Latitude, pontos[i].ponto.Longitude);\r\n this.distanciaTotalRealizada += distancia;\r\n }\r\n\r\n } else if (controladorCalculoDistancia) {\r\n this.distanciaTotalRealizada = parseFloat(kmPercorrida);\r\n controladorCalculoDistancia = false;\r\n }\r\n\r\n\r\n let line = new LoadedModules.Polyline(this.map.spatialReference);\r\n line.addPath([pontoAnterior, ponto]);\r\n\r\n let dataTemp = dataFinalAnterior == null ? pontos[i - 1].ponto.Data : dataFinalAnterior;\r\n let semCoordenadas = this.calculaTempoSemCoordenada(dataTemp, pontos[i].ponto.Data);\r\n\r\n let linha = this.createSymbolLinha(semCoordenadas);\r\n\r\n let lineGraphic = new LoadedModules.Graphic(line, linha);\r\n\r\n this.linhaRota.push(lineGraphic);\r\n //linha\r\n if(pontos[i].ponto.ChaveDispositivo == pontos[i - 1].ponto.ChaveDispositivo){\r\n this.addGraphic(lineGraphic, true, State.visualizadorLinhasPontos);\r\n }\r\n }\r\n pontoAnterior = ponto;\r\n dataFinalAnterior = dataFinal;\r\n }\r\n\r\n document.getElementById('atualizaIconeKmPercorrida').click()\r\n if (this.distanciaTotalRealizada > this.distanciaTotalPlanejada) {\r\n this.percentualDistancia = (1 - (this.distanciaTotalPlanejada / this.distanciaTotalRealizada)) * 100;\r\n }\r\n\r\n //#endregion\r\n }\r\n\r\n calculaTempoSemCoordenada(dataPonto1, dataPonto2) {\r\n let tempo = this.util.converteData(new Date(dataPonto2)).getTime() - this.util.converteData(new Date(dataPonto1)).getTime();\r\n return tempo >= 600000 ? true : false;\r\n }\r\n\r\n createSymbolLinha(semCoordenadas) {\r\n let lineSym = {\r\n type: \"simple-line\",\r\n color: semCoordenadas ? [255, 0, 0] : [0, 0, 0],\r\n style: semCoordenadas ? \"dash\" : \"solid\",\r\n width: 3,\r\n\r\n };\r\n return lineSym;\r\n }\r\n\r\n createSymbolRota(tempo, alerta = false) {\r\n let cor = tempo == 0 ? [255, 255, 255] : tempo > 1800000 ? [255, 52, 31] : 600000 < tempo && tempo <= 1800000 ? [255, 161, 0] : [80, 228, 80];\r\n let borda = tempo == 0 ? [0, 0, 0] : tempo > 1800000 ? [189, 0, 0] : 600000 < tempo && tempo <= 1800000 ? [173, 109, 0] : [53, 150, 53];\r\n\r\n let pointSym = new LoadedModules.SimpleMarkerSymbol\r\n (\r\n {\r\n \"color\": alerta? [188,138,225]: cor,\r\n \"size\": 6,\r\n \"outline\":\r\n {\r\n \"color\": alerta? [156,68,190] : borda,\r\n width: 1\r\n }\r\n }\r\n );\r\n\r\n return pointSym;\r\n }\r\n\r\n private criarInfoTemplateRota(contador: number, ponto: any, dataFinal?) {\r\n let dt = this.util.converteData(new Date(ponto.Data));\r\n\r\n let informacaoComplementarTemplate = '';\r\n let ObjInformacoes = JSON.parse(ponto.Informacoes);\r\n let versaoApp = graphicService.boxListTruckService.listTruckService.VersaoApp;\r\n if (versaoApp >= '2.0.0') {\r\n informacaoComplementarTemplate +=\r\n `
`+\r\n `
\r\n \r\n Informações Gerais\r\n
`\r\n if (!isNullOrUndefined(dataFinal)){\r\n let dtfinal = this.util.converteData(new Date(dataFinal));\r\n const permanencia = this.util.secondsToHMS((dtfinal.getTime() - dt.getTime()) / 1000)\r\n informacaoComplementarTemplate +=\r\n `
Permanência: ${permanencia}
`\r\n }\r\n informacaoComplementarTemplate +=\r\n `
Altitude: ${ObjInformacoes.altitude.toFixed(2)} metros acima do nível do mar
` +\r\n `
Velocidade aproximada: ${ObjInformacoes.speed.toFixed(2)} km/h
` +\r\n `
Veículo em movimento: ${ObjInformacoes.veiculoEmMovimento ? 'Sim' : 'Não'}
`+\r\n `
Bateria estava sendo carregada: ${ObjInformacoes.bateriaCarregando ? 'Sim' : 'Não'}
`\r\n \r\n }\r\n if (ponto.IdRoteiroPedidoSituacao == null && ponto.IdRoteiroSituacao == null) {\r\n informacaoComplementarTemplate += `
`\r\n } \r\n\r\n let divAlerta = ''\r\n\r\n let popupTemplate = new LoadedModules.PopupTemplate();\r\n\r\n if(ponto.TipoAlerta != null || ponto.CodigoOcorrencia != null ){\r\n\r\n divAlerta += `
Ponto ${contador}
`\r\n divAlerta += `
`\r\n \r\n if(ponto.TipoAlerta != null){\r\n\r\n divAlerta += `\r\n
\r\n \r\n ${ponto.TipoAlerta} \r\n
\r\n `\r\n }\r\n\r\n if(ponto.CodigoOcorrencia != null){\r\n divAlerta += `\r\n
\r\n \r\n ${ponto.CodigoOcorrencia} \r\n
\r\n `\r\n }\r\n\r\n divAlerta += `
` \r\n\r\n popupTemplate.title = divAlerta;\r\n \r\n }else{\r\n popupTemplate.title = \"Ponto \" + contador;\r\n }\r\n\r\n \r\n if (!isNullOrUndefined(dataFinal)) {\r\n let dtfinal = this.util.converteData(new Date(dataFinal));\r\n const permanencia = this.util.secondsToHMS((dtfinal.getTime() - dt.getTime()) / 1000)\r\n popupTemplate.content = function (feature) {\r\n const obj = feature.graphic.attributes;\r\n const div = document.createElement(\"div\")\r\n div.innerHTML =\r\n `\r\n
\r\n
\r\n
\r\n \r\n Data\r\n
\r\n
Início: ${dt.toLocaleDateString()} ${dt.toLocaleTimeString()}
\r\n
Fim: ${dtfinal.toLocaleDateString()} ${dtfinal.toLocaleTimeString()}
\r\n
${informacaoComplementarTemplate}\r\n
\r\n `;\r\n return div;\r\n }\r\n } else {\r\n popupTemplate.content = function (feature) {\r\n const obj = feature.graphic.attributes;\r\n const div = document.createElement(\"div\")\r\n div.style.padding = '8px'\r\n div.innerHTML =\r\n `\r\n \r\n Data: ${dt.toLocaleDateString()} ${dt.toLocaleTimeString()} ${informacaoComplementarTemplate}\r\n `;\r\n return div;\r\n }\r\n }\r\n\r\n return popupTemplate;\r\n }\r\n\r\n private criarInfoTemplateRoteiro(ultimaPosicao: boolean, cliente: any, acoes: any[]) {\r\n let popupTemplate = new LoadedModules.PopupTemplate();\r\n\r\n if (ultimaPosicao) {\r\n popupTemplate.title = \"Posição Atual\";\r\n popupTemplate.content = function (feature) {\r\n const obj = feature.graphic.attributes;\r\n const div = document.createElement(\"div\")\r\n div.innerHTML =\r\n `\r\n \"Data: ${obj.DATA}\";\r\n `;\r\n return div;\r\n }\r\n }\r\n else {\r\n popupTemplate.title = \"Cliente\";\r\n\r\n let aviso = '';\r\n\r\n if (cliente.statusEntrega > 1 && acoes.length == 0) {\r\n aviso = `
\r\n
\r\n \r\n
`\r\n }\r\n\r\n let entregaAjudante = false;\r\n acoes.forEach((acao) => {\r\n let informacoes = JSON.parse(acao.Informacoes).CoordAjudante\r\n entregaAjudante = informacoes == 1 ? true: false;\r\n })\r\n\r\n\r\n popupTemplate.content = function (feature) {\r\n const obj = feature.graphic.attributes;\r\n const div = document.createElement(\"div\")\r\n\r\n let decimalPipe = new DecimalPipe('pt-BR'); \r\n let valorFormatado = decimalPipe.transform(obj.custoDescarga, '1.2-2')\r\n\r\n let custoDescarga = `\r\n
\r\n \r\n Custo descarga: R$ ${valorFormatado} \r\n
\r\n `\r\n\r\n let layoutListaAcoes = ''\r\n let layoutAjudante = ''\r\n let listaDeAcoes = []\r\n if (obj.listaDeAcoes) {\r\n listaDeAcoes = obj.listaDeAcoes\r\n layoutListaAcoes = '

Histórico de ações

0\">'\r\n if (obj.CDCLIENT != undefined && listaDeAcoes != undefined && listaDeAcoes.length > 0) {\r\n \r\n for (let i = 0; i < listaDeAcoes.length; i++) {\r\n let item = listaDeAcoes[i];\r\n \r\n let escondeLinha = (i + 1) % 5 === 0 || i + 1 == listaDeAcoes.length;\r\n \r\n if (item.data != null && item.hora != null) {\r\n layoutListaAcoes += `
\r\n `\r\n \r\n if(!escondeLinha){\r\n layoutListaAcoes += ' '\r\n }\r\n\r\n layoutListaAcoes += `\r\n ` + item.descricaoStatus + `\r\n ` + item.data + `\r\n ` + item.hora + `
;\r\n ` \r\n \r\n } else {\r\n layoutListaAcoes += `
`;\r\n }\r\n }\r\n layoutListaAcoes += '
'\r\n }\r\n }\r\n\r\n if (listaDeAcoes.length == 0) {\r\n layoutListaAcoes = '';\r\n }\r\n\r\n if(entregaAjudante){\r\n layoutAjudante =`
Entrega realizada pelo ajudante
`\r\n }\r\n\r\n div.innerHTML =\r\n `\r\n
\r\n

${obj.NOME} (${obj.CDCLIENT})

\r\n
\r\n
\r\n

${obj.NOMEFANTASIA}

\r\n

${obj.DOC}

\r\n
\r\n

${obj.ENDERECO}

\r\n

${obj.BAIRRO} - ${obj.MUNICIPIO}/${obj.UF}

\r\n

CEP: ${obj.CEP}

\r\n
\r\n
\r\n
\r\n ${custoDescarga}\r\n \r\n
\r\n \r\n ${layoutAjudante}\r\n ${aviso}\r\n ${layoutListaAcoes}\r\n\r\n
\r\n
\r\n `;\r\n\r\n return div;\r\n }\r\n return popupTemplate;\r\n }\r\n return popupTemplate;\r\n }\r\n\r\n private criarInfoTemplateAcao() {\r\n let popupTemplate = new LoadedModules.PopupTemplate();\r\n popupTemplate.title = \"{TITULO}\";\r\n popupTemplate.content = function (feature) {\r\n const obj = feature.graphic.attributes;\r\n const div = document.createElement(\"div\")\r\n div.innerHTML =\r\n `\r\n ${obj.CORPO}\r\n `;\r\n return div;\r\n }\r\n return popupTemplate;\r\n }\r\n\r\n async visualizarRoteiroCliente(e) {\r\n await this.criarPontoRota(e);\r\n }\r\n\r\n retornarPontoCliente(codigo: number) {\r\n\r\n const graphics = this.layers[State.visualizadorLinhasPontos].graphics.concat(\r\n this.layers[State.visualizadorDeRoteiros].graphics\r\n );\r\n\r\n for (let i = 0; i < graphics.length; i++) {\r\n if (graphics.items[i].attributes && graphics.items[i].attributes.CDCLIENT != undefined) {\r\n if (graphics.items[i].attributes.CDCLIENT == codigo) {\r\n\r\n this.centralizarMapa(graphics.items[i].geometry, 16);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n retornarPontoCoordenada() { \r\n this.view.goTo({\r\n center: [this.coordenadaCenter.longitude , this.coordenadaCenter.latitude ],\r\n zoom: 15\r\n }); \r\n } \r\n\r\n centralizarMapa(point, zoom) {\r\n if (point != undefined) {\r\n if (zoom) {\r\n this.view.goTo({\r\n center: [point.x, point.y],\r\n zoom: zoom\r\n });\r\n }\r\n else {\r\n this.view.goTo({\r\n center: [point.x, point.y],\r\n });\r\n }\r\n }\r\n }\r\n\r\n redimensionaMapa() {\r\n\r\n let wait = setTimeout(() => {\r\n clearTimeout(wait);\r\n }, 700);\r\n }\r\n\r\n exibirDistanciaPercorrida(exibir: boolean) {\r\n let contador = this.pontoRota.length - 2;\r\n\r\n while (contador >= 0) {\r\n if (exibir) {\r\n this.addGraphic(this.pontoRota[contador], true, State.visualizadorLinhasPontos); \r\n }\r\n else {\r\n this.removeGraphic(this.pontoRota[contador]);\r\n }\r\n\r\n contador--;\r\n }\r\n\r\n contador = this.linhaRota.length - 1;\r\n\r\n while (contador >= 0) {\r\n if (exibir) {\r\n this.addGraphic(this.linhaRota[contador], true, State.visualizadorLinhasPontos);\r\n } else {\r\n this.removeGraphic(this.linhaRota[contador]);\r\n }\r\n contador--;\r\n }\r\n }\r\n\r\n exibirDistanciaPlanejada(exibir: boolean) {\r\n if (exibir) {\r\n this.addGraphic(this.linhaRotaPlanejada, true, State.visualizadorLinhasPontos);\r\n } else {\r\n this.removeGraphic(this.linhaRotaPlanejada);\r\n }\r\n }\r\n\r\n public iconeAcaoPopupPorPedido(listaDeAcoes) {\r\n let listaAux = [];\r\n\r\n listaDeAcoes.forEach(item => {\r\n let icone = '';\r\n let options\r\n switch (item.IdRoteiroPedidoSituacao) {\r\n case 2:\r\n options = { icone: \"DashboardChegouCliente\" }\r\n\r\n\r\n break;\r\n case 3:\r\n options = { icone: \"DashboardIniciouEntrega\" }\r\n\r\n break;\r\n case 4:\r\n options = { icone: \"DashboardVoltaDepois\" }\r\n break;\r\n case 5:\r\n options = { icone: \"DashboardNaoEntrega\" }\r\n break;\r\n case 6:\r\n options = { icone: \"DashboardEntregaFinalizada\" }\r\n break;\r\n }\r\n\r\n if (icone != '') {\r\n\r\n let acao = {\r\n icone: this.svgService.geraSVG(options)\r\n };\r\n listaAux.push(acao);\r\n }\r\n });\r\n\r\n return listaAux;\r\n }\r\n\r\n atualizaMapView() {\r\n\r\n this.layers[State.visualizadorLinhasPontos].graphics.items.sort((a, b) => {\r\n if (b.geometry.type < a.geometry.type) {\r\n return -1;\r\n }\r\n if (b.geometry.type > a.geometry.type) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n\r\n let pontosMapa = Array.from(this.layers[State.visualizadorLinhasPontos].graphics);\r\n\r\n this.layers[State.visualizadorLinhasPontos].removeAll()\r\n this.layers[State.visualizadorLinhasPontos].addMany(pontosMapa)\r\n\r\n }\r\n\r\n private CriaPontoPedagioMapa(latitude, longitude) {\r\n if (latitude == undefined || longitude == undefined) {\r\n return;\r\n }\r\n\r\n var pt = new LoadedModules.Point(0, 0, this.map.spatialReference);\r\n pt.latitude = latitude;\r\n pt.longitude = longitude;\r\n\r\n return pt;\r\n }\r\n exibePedagioMapa(item, circuloComparar, qtdPassagemPedagio?: number) {\r\n let vlEixo = Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(item.ValorEixo);\r\n let valor = Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(item.ValorEixo * qtdPassagemPedagio);\r\n var graphic = new LoadedModules.Graphic\r\n (\r\n circuloComparar,\r\n this.configuraIconePedagio(),\r\n {\r\n \"IDPRACAPEDAGIO\": item.IdPracaPedagio,\r\n \"PEDAGIO\": true,\r\n \"PRACA\": item.Praca,\r\n \"CONCESSIONARIA\": item.Concessionaria,\r\n \"RODOVIA\": item.Rodovia,\r\n \"KM\": item.Km,\r\n \"VLEIXO\": vlEixo,\r\n \"VALOR\": valor,\r\n \"SITE\": item.Site,\r\n \"LOGO\": item.Logo\r\n },\r\n this.configuraTemplatePedagio(qtdPassagemPedagio)\r\n );\r\n\r\n this.listaPedagios.push(item);\r\n this.addGraphic(graphic, true);\r\n }\r\n \r\n configuraTemplatePedagio(qtdPassagemPedagio: number) {\r\n let messagemPedagio = qtdPassagemPedagio == 1 ? 'Total Pedágio ida: ' : 'Total Pedágio ida e volta: '\r\n let popupTemplate = new LoadedModules.PopupTemplate();\r\n popupTemplate.title = \"Pedágio - {PRACA}\";\r\n popupTemplate.content = function (feature) {\r\n const obj = feature.graphic.attributes;\r\n const div = document.createElement(\"div\")\r\n const displayFreeFlow: String = obj.freeFlow? 'inline-block' : 'none';\r\n const displayAceitaTag: String = obj.aceitaTag? 'inline-block' : 'none';\r\n const contemOcAberta = graphicService.listaOcPedagioCriada.some((IdPracaPedagio) => IdPracaPedagio == obj.IDPRACAPEDAGIO );\r\n let displayOcAbertaAviso: String = obj.ocAberta || contemOcAberta? 'inline-block' : 'none';\r\n let htmlextra = '';\r\n if (obj.LOGO && obj.SITE) {\r\n htmlextra = ``;\r\n }\r\n div.innerHTML =\r\n `\r\n
\r\n ${htmlextra}\r\n
\r\n ${obj.CONCESSIONARIA} \r\n
${obj.RODOVIA} - Km ${obj.KM}
\r\n Tarifa do veículo: ${obj.VLEIXO}\r\n
${messagemPedagio} ${obj.VALOR}\r\n \r\n
\r\n
\r\n `;\r\n return div;\r\n }\r\n return popupTemplate;\r\n }\r\n\r\n configuraIconePedagio() {\r\n let iconePedagio = new LoadedModules.PictureMarkerSymbol\r\n (\r\n {\r\n \"angle\": 0,\r\n \"xoffset\": 0,\r\n \"yoffset\": 12,\r\n \"url\": \"assets/img/pedagio.png\",\r\n \"contentType\": \"image/png\",\r\n \"width\": 22,\r\n \"height\": 22\r\n }\r\n );\r\n\r\n return iconePedagio;\r\n }\r\n\r\n\r\n // **************************** CONTROLES DE BARREIRAS\r\n\r\n criarPontoBarreira(latitude, longitude) {\r\n // cria a geometria da barreira e atribui o icone\r\n const point = {\r\n type: \"point\",\r\n x: longitude,\r\n y: latitude\r\n };\r\n\r\n const pointGraphic = new LoadedModules.Graphic({\r\n geometry: point,\r\n symbol: new LoadedModules.PictureMarkerSymbol\r\n ({\r\n url: 'assets/img/pointBarrier.png',\r\n height: 22,\r\n width: 22,\r\n })\r\n })\r\n //adiciona o icone ao mapa - layer 0\r\n this.addGraphic(pointGraphic, true, State.visualizadorLinhasPontos);\r\n // cria a Barreira\r\n const pointBarrier = new LoadedModules.PointBarrier({\r\n geometry: pointGraphic.geometry,\r\n barrierType: 'restriction',\r\n curbApproach: 'either-side-of-vehicle',\r\n fullEdge: 'restrict',\r\n })\r\n this.pointBarriers.push(pointBarrier),\r\n //nomeia a barreira\r\n pointBarrier.name = `Bloqueio de Via Nº0${this.pointBarriers.length}`\r\n //cria o popup da barreira\r\n let popupTemplate = this.gerapopUpBarreira(pointBarrier)\r\n pointGraphic.popupTemplate = popupTemplate;\r\n pointGraphic.attributes = pointBarrier.name\r\n pointBarrier.graphic = pointGraphic\r\n this.routeService.pointBarrier = this.pointBarriers\r\n }\r\n\r\n gerapopUpBarreira(barreira) {\r\n let popupTemplate = new LoadedModules.PopupTemplate();\r\n popupTemplate.title = barreira.name;\r\n popupTemplate.content = function (feature) {\r\n const div = document.createElement(\"div\")\r\n let tipoBarreira = barreira.barrierType == 'restriction' ? 'Restrição' : 'Pedágio'\r\n div.innerHTML =\r\n `\r\n
\r\n Tipo de Barreira: ${tipoBarreira}\r\n
\r\n Sentido de Bloqueio: 'Unidirecional'\r\n
\r\n
\r\n `\r\n ;\r\n return div;\r\n }\r\n return popupTemplate;\r\n }\r\n\r\n insereCercaEletronica(cercaEletronica: any) {\r\n const polygon = new LoadedModules.Polygon({\r\n rings: cercaEletronica,\r\n spatialReference: { wkid: 4326 }\r\n });\r\n this.polygonGraphicCerca = new LoadedModules.Graphic({\r\n geometry: polygon,\r\n symbol: {\r\n type: 'simple-fill',\r\n color: [150, 152, 155, 0.2],\r\n outline: {\r\n color: [150, 152, 155],\r\n width: 2\r\n }\r\n }\r\n });\r\n\r\n this.view.graphics.add(this.polygonGraphicCerca);\r\n }\r\n\r\n removeCercaEletronica(){\r\n if(this.polygonGraphicCerca != null){\r\n this.view.graphics.remove(this.polygonGraphicCerca)\r\n this.polygonGraphicCerca = null;\r\n } \r\n }\r\n\r\n descricaoStatusAcao(codigo, informacoes){\r\n switch (codigo) {\r\n case 1: return 'Entrega em aberto'; \r\n case 2: return 'Check-in'; \r\n case 3: return informacoes.tipo == TipoEntregas.Coleta ? 'Início da Coleta' : 'Início da Entrega'; \r\n case 4: return 'Volto depois'; \r\n case 5: return informacoes.tipo == TipoEntregas.Coleta ? 'Coleta não efetuada' :'Recebimento recusado'; \r\n case 6: return informacoes.tipo == TipoEntregas.Coleta ? 'Coleta realizada' : 'Entrega realizada'; \r\n case 7: return informacoes.tipo == TipoEntregas.Coleta ? 'Coleta realizada com exceção' : 'Entrega realizada com exceção'; \r\n }\r\n }\r\n\r\n}\r\n","import { Injectable, OnInit } from \"@angular/core\";\r\nimport { environment } from \"../../environments/environment\";\r\nimport { PopupConfigService } from \"../popup-config/popup-config.service\";\r\nimport { isNullOrUndefined } from \"is-what\";\r\nimport { CodigoAcaoEnum } from '../shared/Util'\r\nimport { SvgService } from \"./svg.service\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Injectable()\r\nexport class IconService implements OnInit{\r\n\r\n constructor(public popupConfigService: PopupConfigService, private svgService:SvgService, private sanitizer:DomSanitizer){}\r\n\r\n public corPadraoIcone = [\r\n {codigo:0,cor:'E9B448', nome:'emAberto'},\r\n {codigo:1,cor:'5B9DEF', nome:'noCliente'},\r\n {codigo:2,cor:'5B9DEF', nome:'entregaIniciada'},\r\n {codigo:3,cor:'E9B448', nome:'voltoDepois'},\r\n {codigo:4,cor:'BC4100', nome:'naoEntregue'},\r\n {codigo:5,cor:'009533', nome:'entregue'}\r\n ];\r\n\r\n public corEscolhidaIcone = [\r\n {codigo:0, cor:'E9B448', nome:'emAberto'},\r\n {codigo:1, cor:'5B9DEF', nome:'noCliente'},\r\n {codigo:2, cor:'5B9DEF', nome:'entregaIniciada'},\r\n {codigo:3, cor:'E9B448', nome:'voltoDepois'},\r\n {codigo:4, cor:'BC4100', nome:'naoEntregue'},\r\n {codigo:5, cor:'009533', nome:'entregue'}\r\n ];\r\n\r\n //AtualizaConfiguração dos ícones\r\n public configuracao = null;\r\n\r\n ngOnInit(){}\r\n\r\n public iconeCliente(index, codigoAcao, temOcorrencia, parcial, IdRoteiroPedidoSituacao?, statusEntrega?, regiaoRisco?, naoSanitizado?, temColeta? ){\r\n\r\n this.corEscolhidaIcone = [\r\n {codigo:0, cor:'C0C1C3', nome:'emAberto'},\r\n {codigo:1, cor:'0288D1', nome:'noCliente'},\r\n {codigo:2, cor:'0288D1', nome:'entregaIniciada'},\r\n {codigo:3, cor:'FF9D43', nome:'voltoDepois'},\r\n {codigo:4, cor:'E53935', nome:'naoEntregue'},\r\n {codigo:5, cor:'00A745', nome:'entregue'}\r\n ];\r\n\r\n let corIcone = null;\r\n let alerta = \"nada\";\r\n let alertaDuplo = false;\r\n let regiaoRiscoIcon\r\n\r\n if(regiaoRisco){\r\n if (regiaoRisco == 'ALAGAMENTO'){\r\n regiaoRiscoIcon ='alag'\r\n }else if(regiaoRisco == 'FURTO/ROUBO'){\r\n regiaoRiscoIcon = 'furto'\r\n }\r\n }else{\r\n regiaoRiscoIcon = 'false'\r\n }\r\n\r\n\r\n if(temOcorrencia && parcial){\r\n alerta = \"nada\";\r\n alertaDuplo = true;\r\n }else if(temOcorrencia){\r\n alerta = \"alto\";\r\n }else if(parcial){\r\n alerta = \"medio\";\r\n }\r\n let voltoDepois = codigoAcao == 3;\r\n let entrega = codigoAcao == 2;\r\n\r\n //Set padrão caso não exista valor.\r\n if(!isNullOrUndefined(IdRoteiroPedidoSituacao) || (!isNullOrUndefined(statusEntrega))){\r\n if(statusEntrega > 0){\r\n voltoDepois = statusEntrega == 10;\r\n entrega = statusEntrega == 11;\r\n }else{\r\n voltoDepois = IdRoteiroPedidoSituacao == 4;\r\n entrega = IdRoteiroPedidoSituacao == 3;\r\n }\r\n let codAux = this.conversorCodigoAcao(IdRoteiroPedidoSituacao, statusEntrega);\r\n corIcone = this.corEscolhidaIcone.find(item => { return item.codigo == codAux});\r\n }else if(codigoAcao == null && isNullOrUndefined(IdRoteiroPedidoSituacao)){\r\n corIcone = this.corEscolhidaIcone.find(item => { return item.codigo == 0});\r\n }else{\r\n corIcone = this.corEscolhidaIcone.find(item => {\r\n return item.codigo == codigoAcao;\r\n });\r\n }\r\n\r\n corIcone = corIcone.cor;\r\n let options = {icone:\"RotaClienteSelDashboard\",alerta: alerta ,alertaDuplo: alertaDuplo,index: index ,cor: corIcone ,regiaoRisco: regiaoRiscoIcon ,REntrega: entrega,RVoltaDepois:false,RHorario:false, RFeriado:false, RPedido:false, Opacidade:1, RColeta: temColeta? temColeta : false}\r\n\r\n let url = this.svgService.geraSVG(options)\r\n let urlSanitizado = this.sanitizer.bypassSecurityTrustResourceUrl(url)\r\n if(naoSanitizado==true){\r\n return url\r\n }\r\n\r\n\r\n return urlSanitizado;\r\n }\r\n\r\n conversorCodigoAcao(IdRoteiroPedidoSituacao, statusEntrega?){\r\n let CodigoAcao = 0;\r\n if((statusEntrega != null || statusEntrega != undefined) && statusEntrega > 6){\r\n switch (statusEntrega) {\r\n case 7: CodigoAcao = 5; break;\r\n case 8: CodigoAcao = 0; break;\r\n case 9: CodigoAcao = 1; break;\r\n case 10: CodigoAcao = 3; break;\r\n case 11: CodigoAcao = 2; break;\r\n default: CodigoAcao = 0; break;\r\n }\r\n }else{\r\n switch (IdRoteiroPedidoSituacao) {\r\n case 1: CodigoAcao = 0; break;\r\n case 2: CodigoAcao = 1; break;\r\n case 3: CodigoAcao = 2; break;\r\n case 4: CodigoAcao = 3; break;\r\n case 5: CodigoAcao = 4; break;\r\n case 6: CodigoAcao = 5; break;\r\n case 7: CodigoAcao = 5; break;\r\n default: CodigoAcao = 0; break;\r\n }\r\n }\r\n\r\n return CodigoAcao;\r\n }\r\n\r\n async novaCor(cor, codigo){\r\n this.corEscolhidaIcone.filter(item => {\r\n //Popula objeto 'volto depois'\r\n if(codigo == 0 && item.codigo == 3){\r\n item.cor = cor;\r\n }\r\n //Popula objeto 'entregaIniciada'\r\n if(codigo == 1 && item.codigo == 2){\r\n item.cor = cor;\r\n }\r\n\r\n if(codigo == item.codigo){\r\n item.cor = cor;\r\n }\r\n });\r\n\r\n //Salvar novo objeto\r\n await this.alterarConfigIcones(JSON.stringify(this.corEscolhidaIcone));\r\n }\r\n\r\n async resetAll(){\r\n //TODO - salvar nas configurações a nova cor.\r\n this.corEscolhidaIcone = this.corPadraoIcone;\r\n await this.alterarConfigIcones(JSON.stringify(this.corEscolhidaIcone));\r\n }\r\n\r\n async reset(codigo){\r\n let cor = '';\r\n\r\n this.corEscolhidaIcone.filter(item => {\r\n let aux;\r\n //Popula objeto 'volto depois'\r\n if(codigo == 0 && item.codigo == 3){\r\n aux = this.corPadraoIcone.find(item => { return codigo == item.codigo});\r\n item.cor = aux.cor;\r\n }\r\n //Popula objeto 'entregaIniciada'\r\n if(codigo == 1 && item.codigo == 2){\r\n aux = this.corPadraoIcone.find(item => { return codigo == item.codigo});\r\n item.cor = aux.cor;\r\n }\r\n\r\n if(codigo == item.codigo){\r\n aux = this.corPadraoIcone.find(item => { return codigo == item.codigo});\r\n item.cor = aux.cor;\r\n cor = aux.cor;\r\n }\r\n });\r\n await this.alterarConfigIcones(JSON.stringify(this.corEscolhidaIcone));\r\n return '#'+cor;\r\n }\r\n\r\n retornarCor(codigo, padrao){\r\n let obj = null;\r\n if(padrao){\r\n obj = this.corPadraoIcone.find(item => {return codigo == item.codigo});\r\n }else{\r\n obj = this.corEscolhidaIcone.find(item => {return codigo == item.codigo});\r\n }\r\n return '#'+obj.cor;\r\n }\r\n\r\n corBorda(color: string) : string\r\n {\r\n color = color.replace('#', '');\r\n\t let f = 0.5;\r\n\t\tlet pAux = parseInt(color.substr(0,2), 16);\r\n\t\tlet pAux1 = parseInt(color.substr(2,2), 16);\r\n\t\tlet pAux2 = parseInt(color.substr(4,2), 16);\r\n\r\n let aux = (pAux - (pAux * f)).toString();\r\n let aux1 = (pAux1 - (pAux1 * f)).toString();\r\n let aux2 = (pAux2 - (pAux2 * f)).toString();\r\n\r\n aux = parseInt(aux, 10).toString(16);\r\n aux1 = parseInt(aux1, 10).toString(16);\r\n aux2 = parseInt(aux2, 10).toString(16);\r\n\r\n aux = aux.length == 1 ? '0' + aux : aux;\r\n aux1 = aux1.length == 1 ? '0' + aux1 : aux1;\r\n aux2 = aux2.length == 1 ? '0' + aux2 : aux2;\r\n\r\n return aux + aux1 + aux2;\r\n }\r\n\r\n async alterarConfigIcones(valor)\r\n {\r\n try {\r\n this.configuracao.Valor = valor;\r\n const resp = await this.popupConfigService.updateConfiguracaoGeral(this.configuracao.ConfiguracaoGeralID, this.configuracao);\r\n console.log(resp);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n}\r\n","import { isNull } from 'is-what';\r\nimport { ControlStatusService } from './control-status.service';\r\nimport { ApiConService } from './api-con.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Util, dbJasperObj, jasperObj } from './Util';\r\nimport { environment } from '../../environments/environment';\r\nimport { JsonReturn } from './interface/generic-interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JasperService {\r\n objetoDeConexao: dbJasperObj;\r\n stringChaveValor: string\r\n objJasper: jasperObj;\r\n\r\n usuarioJasper = atob(environment.usuarioJasper)\r\n senhaJasper = atob(environment.passwordjasper)\r\n waitJasper: boolean = false\r\n\r\n constructor(private conService: ApiConService, private controlStatus: ControlStatusService) { }\r\n\r\n\r\n async getDadosDBeServidor(cnpjEmpresas: string): Promise {\r\n try {\r\n\r\n let result: JsonReturn = await this.conService.patch(`DCDistribuidoraEmpresa/${cnpjEmpresas}`)\r\n this.objetoDeConexao = result.response[0]\r\n\r\n // Inicializa o objeto jasper\r\n this.objJasper = {\r\n DB: this.objetoDeConexao.DbName,\r\n CONEXAO: this.objetoDeConexao.IDServer.toString(),\r\n DTINICIO: '',\r\n DTFIM: '',\r\n CDEMP:'',\r\n NUROM:''\r\n }\r\n\r\n this.waitJasper = true\r\n return this.objetoDeConexao\r\n\r\n } catch (error) {\r\n console.log('Não foi possivel requisitar os dados esperados de conexão ao servidor Jasper');\r\n console.log(error);\r\n }\r\n }\r\n\r\n\r\n\r\n montaChaveValor() {\r\n let stringObj: string = ''\r\n\r\n // CRIA A STRING DE CHAVE VALOR\r\n Object.entries(this.objJasper).forEach(([key, value]) => {\r\n if(value!=''){\r\n stringObj = stringObj + '&' + key + '=' + value;\r\n }\r\n })\r\n\r\n\r\n return stringObj\r\n }\r\n\r\n\r\n public criaUrlConexaoJasper(reportName: string, reportType: string, caminhoRelatorio: string, nuRom?:string): string {\r\n\r\n let url = '';\r\n // //atribui as datas\r\n this.objJasper.DTINICIO = this.controlStatus.dataInicio + ' 00:00:00' ;\r\n this.objJasper.DTFIM = this.controlStatus.dataFim + ' 23:59:59';\r\n\r\n nuRom == undefined ? this.objJasper.NUROM = '' : this.objJasper.NUROM = nuRom;\r\n this.controlStatus.empresaSelecionada == null ? this.objJasper.CDEMP='' : this.objJasper.CDEMP = this.controlStatus.empresaSelecionada;\r\n let stringChaveValor = this.montaChaveValor();\r\n url = environment.urlBaseJasper +\r\n '/ROTAPLAN/' +\r\n this.objJasper.CONEXAO +\r\n '/' +\r\n caminhoRelatorio +\r\n '/' +\r\n reportName +\r\n '&j_username=' +\r\n this.usuarioJasper +\r\n '&j_password=' +\r\n this.senhaJasper +\r\n '&output=' +\r\n reportType +\r\n stringChaveValor;\r\n\r\n return url\r\n }\r\n}\r\n","export class OcorrenciaPedagioModel {\r\n\r\n IdPracaPedagio: number;\r\n IdTipoVeiculo: number;\r\n ValorAntigo: number;\r\n ValorNovo: number;\r\n Empresa: String;\r\n DataOcorrencia: String;\r\n Observacoes: String;\r\n \r\n}","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n\r\n constructor(\r\n private toastr: ToastrService\r\n ) { }\r\n\r\n showSucesso(mensagem: string){\r\n this.toastr.success(mensagem);\r\n }\r\n\r\n showErro(mensagem: string){\r\n this.toastr.error(mensagem);\r\n }\r\n\r\n showInformativo(mensagem: string){\r\n this.toastr.info(mensagem, 'Aviso');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from './api-con.service';\r\nimport { IAvisosNovidades } from './Util';\r\nimport { JsonReturn } from './interface/generic-interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PainelMensagensService {\r\n\r\n dcPainelMensagens = 'DCPainelMensagens';\r\n constructor(private conService: ApiConService) { }\r\n\r\n async dados(){\r\n let avisosNovidades: IAvisosNovidades[] = []\r\n const response: JsonReturn = await this.conService.patch(`${this.dcPainelMensagens}`);\r\n \r\n let pagina = 1;\r\n response.response.forEach((element) => { \r\n element.Pagina = pagina;\r\n pagina++;\r\n avisosNovidades.push(element);\r\n });\r\n\r\n return avisosNovidades;\r\n }\r\n\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { JsonReturn } from './interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class RouteService {\r\n private _currentPoints: any;\r\n public empresa: any;\r\n public retornarOrigem: boolean = false;\r\n public pointBarrier: any[] = []\r\n\r\n SelectedClients: any = [];\r\n CurrentRoute: any;\r\n CurrentRouteGraphic: any;\r\n PontoInicial: any;\r\n contador: number = 0;\r\n checkAll: any;\r\n valorFrete: any = '';\r\n cbChecked = false;\r\n exibeAlerta = false;\r\n nomeCliente = '';\r\n\r\n constructor(\r\n private conService: ApiConService\r\n ) { }\r\n\r\n async getPointsRoute() {\r\n try {\r\n }\r\n catch (Error) {\r\n console.log(\"CATCH________getPointsRoute\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async ultimaPosicao() {\r\n try {\r\n const response: JsonReturn = await this.conService.patch('DCcoordenadas/ultimaPosicao/0');\r\n\r\n return response.response;\r\n }\r\n catch (Error) {\r\n console.log(\"CATCH________ultimaPosicao\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n async dadosEmpresa(codigoEmpresa: any) {\r\n try {\r\n const response: JsonReturn = await this.conService.patch('empresa/' + codigoEmpresa);\r\n this.empresa = response.response[0];\r\n\r\n return this.empresa;\r\n }\r\n catch (Error) {\r\n console.log(\"CATCH________dadosEmpresa\");\r\n console.log(Error);\r\n }\r\n }\r\n\r\n private indexItem(cdClient: any) {\r\n if (this.SelectedClients.length == 0) { return -1; }\r\n for (let i = 0, len = this.SelectedClients.length; i < len; i++) {\r\n if (this.SelectedClients[i].cd_clien == cdClient) { return i; }\r\n }\r\n return -1;\r\n }\r\n\r\n public getItem(cdClient): any {\r\n for (let i = 0, len = this._currentPoints.length; i < len; i++) {\r\n if (this._currentPoints[i].cd_clien == cdClient) { return this._currentPoints[i]; }\r\n }\r\n return null;\r\n }\r\n\r\n fixOrder() {\r\n for (let i = 0, len = this.SelectedClients.length; i < len; i++) { this.SelectedClients[i].order = i + 1; }\r\n }\r\n\r\n toggleSelect(cdClient: any): any {\r\n let index = this.indexItem(cdClient);\r\n let item: any;\r\n let clientes: number;\r\n\r\n if (index != -1) {\r\n item = this.SelectedClients[index];\r\n item.selected = false;\r\n this.SelectedClients.splice(index, 1);\r\n this.fixOrder();\r\n }\r\n else {\r\n item = this.getItem(cdClient);\r\n\r\n if (item == null) { return null; }\r\n\r\n item.selected = true;\r\n item.order = this.SelectedClients.length + 1;\r\n\r\n this.SelectedClients[this.SelectedClients.length] = item;\r\n }\r\n\r\n return item;\r\n }\r\n\r\n private updateSequence(stops: any[], custoKM: number) {\r\n let aux: any[] = [];\r\n\r\n // Calculo do custo de cada ponto de parada\r\n let qtdePontosParada = stops.length - 1;\r\n\r\n for (var i = 0; i < stops.length; i++) {\r\n let index = this.indexItem(stops[i].attributes.Name);\r\n\r\n if (index != -1) {\r\n let distancia = stops[i].attributes.Cumul_Kilometers;\r\n let item = this.SelectedClients[index];\r\n\r\n this.SelectedClients.splice(index, 1);\r\n if (item.order != i) { item.order = i; }\r\n aux[i - 1] = item;\r\n\r\n if (i == 1) {\r\n stops[i].attributes.percCusto = distancia / qtdePontosParada;\r\n }\r\n else if (i > 1) {\r\n distancia -= stops[i - 1].attributes.Cumul_Kilometers;\r\n stops[i].attributes.percCusto = distancia / (qtdePontosParada - (i - 1)) + stops[i - 1].attributes.percCusto;\r\n }\r\n\r\n item.custo = stops[i].attributes.percCusto * custoKM;\r\n }\r\n }\r\n\r\n this.SelectedClients = aux;\r\n }\r\n\r\n updateRoute(router: any, custoTotalKM: number) {\r\n this.updateSequence(router.result.routeResults[0].stops, custoTotalKM);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SvgService {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n iconSvg: SafeHtml = ''\r\n\r\n icones = {\r\n RotaClienteSel: `\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {Index}\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n C\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n `,\r\n RotaCliente: `\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n +\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n C\r\n \r\n\r\n \r\n \r\n \r\n \r\n `,\r\n RotaClienteSelDashboard: `\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n {Index}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n C\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n `,\r\n RotaGPSCaminhao: `\r\n \r\n\r\n \r\n \r\n \r\n {NumeroRoteiro}\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n `,\r\n RotaGPSCaminhaoMapaGeral: `\r\n\r\n\r\n \r\n \r\n \r\n{NumeroRoteiro}\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n`,\r\n DashboardChegouCliente: \r\n `\r\n \r\n \r\n \r\n \r\n `,\r\n DashboardIniciouEntrega: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n`,\r\nDashboardIniciouColeta: `\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n`,\r\n DashboardVoltaDepois: `\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n `,\r\n DashboardNaoEntrega: `\r\n\r\n\r\n\r\n\r\n\r\n\r\n`,\r\n DashboardEntregaFinalizada: `\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n` ,\r\nDashboardColetaFinalizada: `\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n` ,\r\n RotaGPSAcao3: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao4: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao5: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n `,\r\n RotaGPSAcao6: `\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao6a: `\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao8: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao9: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao10: `\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao13: `\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao14: `\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao15: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao16: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao17: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n`,\r\n RotaGPSAcao18: `\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao19: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcao20: `\r\n \r\n\r\n \r\n Layer 1\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n\r\n Odometro: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n\r\n RotaGPSAcaoColeta4 : `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcaoColeta5 : `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n RotaGPSAcaoColeta17 : `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n`,\r\nRotaGPSAcaoColeta15 : `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n`,\r\n\r\n\r\n barreira: \r\n `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n motocicleta: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n auto2eixos: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n auto3eixos: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n auto4eixos: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao2eixos: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao3eixos : `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao4eixos : `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao5eixos: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao6eixos: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n\r\n motocicletaPopup: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n auto2eixosPopup: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n auto3eixosPopup: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n auto4eixosPopup: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao2eixosPopup: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao3eixosPopup : `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao4eixosPopup : `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao5eixosPopup: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n caminhao6eixosPopup: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `\r\n\r\n \r\n\r\n }\r\n\r\n geraSVG(options) {\r\n\r\n //cria lista com as chaves do objeto Icones\r\n let icons = Object.keys(this.icones)\r\n let icone = ''\r\n\r\n //caso o icone passado nas opções for igual ao icone no\r\n for (let icon of icons) {\r\n if (options.icone == icon) {\r\n icone = this.icones[icon]\r\n }\r\n }\r\n\r\n let index = options.index;\r\n let cor = options.cor;\r\n let alerta = options.alerta;\r\n let vRPedido = options.RPedido;\r\n let vRHorario = options.RHorario;\r\n let vRFeriado = options.RFeriado;\r\n let vRAgendada = options.RAgendada;\r\n let vRRestricao = options.RRestricao;\r\n let vPin = options.RPin;\r\n let vRCritico = options.RCritico;\r\n let opacidade = options.Opacidade;\r\n let numeroRoteiro = options.NumeroRoteiro;\r\n let vRVoltaDepois = options.RVoltaDepois;\r\n let vRColeta = options.RColeta;\r\n let vREntrega = options.REntrega;\r\n let alertaDuplo = options.alertaDuplo;\r\n let corTp = options.corTp;\r\n let vRAlerta = options.RAlerta;\r\n let regiaoRisco = options.regiaoRisco ?? \"false\"\r\n\r\n if (numeroRoteiro) { icone = icone.replace(/{NumeroRoteiro}/g, numeroRoteiro); }\r\n\r\n if (corTp) {\r\n icone = icone.replace(/{CorTp}/g, corTp);\r\n if (corTp = 'FFFFFF') {\r\n icone = icone.replace(/#FFFFFFAB;/g, '#000000');\r\n }\r\n }\r\n\r\n if (cor) {\r\n icone = icone.replace(/{Cor}/g, cor);\r\n icone = icone.replace(/{CorBorda}/g, cor);\r\n }\r\n else {\r\n icone = icone.replace(/{Cor}/g, \"fff\");\r\n icone = icone.replace(/{CorBorda}/g, \"000\");\r\n }\r\n\r\n icone = icone.replace(/{Opacidade}/g, opacidade);\r\n\r\n if (alerta != '') { icone = icone.replace(/{Alerta}/g, alerta); }\r\n\r\n if (alertaDuplo) { icone = icone.replace(/{alertaDuplo}/g, \"show\"); }\r\n else { icone = icone.replace(/{alertaDuplo}/g, \"nada\"); }\r\n\r\n if (index) { icone = icone.replace(/{Index}/g, index); }\r\n else { icone = icone.replace(/{Index}/g, \"\"); }\r\n\r\n\r\n if (regiaoRisco) { icone = icone.replace(/{regiaoRisco}/g, regiaoRisco); }\r\n\r\n let countRs = 0;\r\n\r\n if (vRPedido) { icone = icone.replace(/{RPedido}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RPedido}/g, \"none\"); }\r\n\r\n if (vRHorario) { icone = icone.replace(/{RHorario}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RHorario}/g, \"none\"); }\r\n\r\n if (vRAlerta) { icone = icone.replace(/{RAlerta}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RAlerta}/g, \"none\"); }\r\n\r\n if (vRRestricao) { icone = icone.replace(/{RRestricao}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RRestricao}/g, \"none\"); }\r\n\r\n if (vPin) { icone = icone.replace(/{RPin}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RPin}/g, \"none\"); }\r\n\r\n if (vRFeriado) { icone = icone.replace(/{RFeriado}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RFeriado}/g, \"none\"); }\r\n\r\n if (vRAgendada) { icone = icone.replace(/{RAgendada}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RAgendada}/g, \"none\"); }\r\n\r\n if (vRCritico) { icone = icone.replace(/{RCritico}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RCritico}/g, \"none\"); }\r\n\r\n //Dashboard - novo\r\n if (vRVoltaDepois) { icone = icone.replace(/{RVoltaDepois}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RVoltaDepois}/g, \"none\"); }\r\n\r\n\r\n if (vRColeta) { icone = icone.replace(/{RColeta}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{RColeta}/g, \"none\"); }\r\n\r\n if (vREntrega) { icone = icone.replace(/{REntrega}/g, \"block\"); countRs++; }\r\n else { icone = icone.replace(/{REntrega}/g, \"none\"); }\r\n\r\n if (countRs > 2) { icone = icone.replace(/{VBHeight}/g, '64'); }\r\n else { icone = icone.replace(/{VBHeight}/g, '53'); }\r\n\r\n if (countRs > 0) {\r\n let controle = 0;\r\n if (vRPedido) {\r\n controle++;\r\n let desP: any = countRs > 1 ? 0 : 6;\r\n icone = icone.replace(/{DPedido}/g, desP);\r\n }\r\n else {\r\n icone = icone.replace(/{DPedido}/g, '0');\r\n }\r\n\r\n if (vRHorario) {\r\n let desH: any = countRs == 1 ? 6 : controle > 0 ? 12 : 0; // 6 0 6\r\n icone = icone.replace(/{DHorario}/g, desH);\r\n controle++;\r\n }\r\n else {\r\n icone = icone.replace(/{DHorario}/g, '0');\r\n }\r\n\r\n if (!vRFeriado) {\r\n let desF: any = countRs == 1 ? 6 : countRs == 2 ? (controle == 1 ? 12 : 0) : countRs == 3 ? (controle == 2 ? 6 : 12) : 0;\r\n let altF: any = controle != 2 ? 34.5 : 46.5;\r\n\r\n icone = icone.replace(/{DFeriado}/g, desF);\r\n icone = icone.replace(/{AFeriado}/g, altF);\r\n }\r\n else {\r\n icone = icone.replace(/{DFeriado}/g, '0');\r\n }\r\n\r\n if (vRAgendada) {\r\n let desA: any = countRs % 2 == 1 ? 6 : 12;\r\n let altA: any = countRs < 3 ? 34.5 : 46.5;\r\n\r\n icone = icone.replace(/{DAgendada}/g, desA);\r\n icone = icone.replace(/{AAgendada}/g, altA);\r\n }\r\n else {\r\n icone = icone.replace(/{DAgendada}/g, '0');\r\n }\r\n }\r\n else {\r\n icone = icone.replace(/{DPedido}/g, '0');\r\n icone = icone.replace(/{DHorario}/g, '0');\r\n icone = icone.replace(/{DFeriado}/g, '0');\r\n icone = icone.replace(/{DAgendada}/g, '0');\r\n }\r\n // string SVG que será convertida\r\n const svgString = icone\r\n // converte a string SVG em um formato de imagem codificado em Base64\r\n const base64Svg = btoa(svgString);\r\n\r\n // cria uma URL válida para a propriedade src da tag img\r\n const imageUrl = `data:image/svg+xml;base64,${base64Svg}`;\r\n\r\n return imageUrl\r\n }\r\n\r\n corBorda(color: string): string {\r\n let f = 0.5;\r\n let pAux = parseInt(color.substr(0, 2), 16);\r\n let pAux1 = parseInt(color.substr(2, 2), 16);\r\n let pAux2 = parseInt(color.substr(4, 2), 16);\r\n\r\n let aux = (pAux - (pAux * f)).toString();\r\n let aux1 = (pAux1 - (pAux1 * f)).toString();\r\n let aux2 = (pAux2 - (pAux2 * f)).toString();\r\n\r\n aux = parseInt(aux, 10).toString(16);\r\n aux1 = parseInt(aux1, 10).toString(16);\r\n aux2 = parseInt(aux2, 10).toString(16);\r\n\r\n aux = aux.length == 1 ? '0' + aux : aux;\r\n aux1 = aux1.length == 1 ? '0' + aux1 : aux1;\r\n aux2 = aux2.length == 1 ? '0' + aux2 : aux2;\r\n\r\n return aux + aux1 + aux2;\r\n }\r\n\r\n geraSvgBarreiraa(){\r\n let icone = ''\r\n icone = this.icones['barreira']\r\n const base64Svg = btoa(icone);\r\n const imageUrl = `data:image/svg+xml;base64,${base64Svg}`;\r\n return imageUrl;\r\n }\r\n\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n transform(value: string, limit: number): string {\r\n if (!value) {\r\n return '';\r\n }\r\n return value.length > limit ? value.substring(0, limit) + '...' : value;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-card-status-entregas',\r\n templateUrl: './card-status-entregas.component.html',\r\n styleUrls: ['./card-status-entregas.component.css']\r\n})\r\nexport class CardStatusEntregasComponent {\r\n\r\n @Input() corIndicador: String = '#fff'\r\n @Input() titulo: String = ''\r\n @Input() valor: number = 0;\r\n @Input() dados = { porcetagem: 0, peso: 0 ,valor : 0}\r\n\r\n}\r\n","\r\n
{{ titulo }} {{ valor }} \r\n
\r\n

% {{ dados.porcetagem | number:'1.2-2' }}

\r\n

Kg {{ dados.peso | number:'1.2-2' }}

\r\n

R$ {{ dados.valor | number:'1.2-2' }}

\r\n
\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { StatusDasEntregasService } from './status-das-entregas.service';\r\nimport { StatusRoteiroPedidos } from '../shared/Util';\r\n\r\n@Component({\r\n selector: 'app-status-das-entregas',\r\n templateUrl: './status-das-entregas.component.html',\r\n styleUrls: ['./status-das-entregas.component.css']\r\n})\r\nexport class StatusDasEntregasComponent implements OnChanges {\r\n\r\n @Input() dashboardResult = [];\r\n @Input() totais: any;\r\n dadosPedidos: any; \r\n\r\n atendidos = { porcetagem: 0, peso: 0 ,valor : 0};\r\n naoAtendidos = { porcetagem: 0, peso: 0 ,valor : 0};\r\n emAnalise = { porcetagem: 0, peso: 0 ,valor : 0};\r\n pendentes = { porcetagem: 0, peso: 0 ,valor : 0};\r\n\r\n\r\n constructor(\r\n private statusDasEntregasService: StatusDasEntregasService,\r\n ) { }\r\n\r\n ngOnChanges(): void {\r\n let strRoteiros = this.dashboardResult.map((roteiro) => roteiro.NumeroRoteiro).join(', '); \r\n this.getStatusDeEntregas(strRoteiros); \r\n }\r\n\r\n\r\n async getStatusDeEntregas(strRoteiros: String){\r\n if(strRoteiros){\r\n this.dadosPedidos = await this.statusDasEntregasService.getStatusDeEntregas(strRoteiros)\r\n this.atualizaTotalizadores();\r\n } else{\r\n this.atendidos = { porcetagem: 0, peso: 0 ,valor : 0};\r\n this.naoAtendidos = { porcetagem: 0, peso: 0 ,valor : 0};\r\n this.emAnalise = { porcetagem: 0, peso: 0 ,valor : 0};\r\n this.pendentes = { porcetagem: 0, peso: 0 ,valor : 0};\r\n }\r\n }\r\n\r\n atualizaTotalizadores(){ \r\n this.atualizaAtendidos();\r\n this.atualizaNaoAtendidos();\r\n this.atualizaEmAnalise();\r\n this.atualizaPendentes();\r\n }\r\n\r\n\r\n atualizaAtendidos(){\r\n let listaFiltrada = this.dadosPedidos.filter((pedido) => [StatusRoteiroPedidos.EntregaFinalizada, StatusRoteiroPedidos.EntregaParcial].includes( pedido.IdRoteiroPedidoSituacao) ) \r\n this.atendidos.valor = listaFiltrada.reduce((preVal, elem) => preVal + elem.ValorPedido, 0);\r\n this.atendidos.peso = listaFiltrada.reduce((preVal, elem) => preVal + elem.Peso, 0); \r\n this.atendidos.porcetagem = +((this.totais.totalClientesAtendidos / this.totais.totalClientes) * 100 ).toFixed(2)\r\n }\r\n\r\n atualizaNaoAtendidos(){\r\n let listaFiltrada = this.dadosPedidos.filter((pedido) => [StatusRoteiroPedidos.RecebimentoRecusado].includes( pedido.IdRoteiroPedidoSituacao) ) \r\n this.naoAtendidos.valor = listaFiltrada.reduce((preVal, elem) => preVal + elem.ValorPedido, 0);\r\n this.naoAtendidos.peso = listaFiltrada.reduce((preVal, elem) => preVal + elem.Peso, 0); \r\n this.naoAtendidos.porcetagem = +((this.totais.totalClientesNaoAtendidos / this.totais.totalClientes) * 100 ).toFixed(2)\r\n }\r\n\r\n atualizaEmAnalise(){\r\n let listaFiltrada = this.dadosPedidos.filter((pedido) => pedido.emAnalise ) \r\n this.emAnalise.valor = listaFiltrada.reduce((preVal, elem) => preVal + elem.ValorPedido, 0);\r\n this.emAnalise.peso = listaFiltrada.reduce((preVal, elem) => preVal + elem.Peso, 0); \r\n this.emAnalise.porcetagem = +((this.totais.totalClientesAnalise / this.totais.totalClientes) * 100 ).toFixed(2)\r\n }\r\n\r\n atualizaPendentes(){\r\n let listaFiltrada = this.dadosPedidos.filter((pedido) => \r\n ![StatusRoteiroPedidos.EntregaFinalizada, StatusRoteiroPedidos.EntregaParcial, StatusRoteiroPedidos.RecebimentoRecusado].includes( pedido.IdRoteiroPedidoSituacao) \r\n && !pedido.emAnalise\r\n )\r\n this.pendentes.valor = listaFiltrada.reduce((preVal, elem) => preVal + elem.ValorPedido, 0);\r\n this.pendentes.peso = listaFiltrada.reduce((preVal, elem) => preVal + elem.Peso, 0); \r\n this.pendentes.porcetagem = +((this.totais.totalClientesNaoVisitados / this.totais.totalClientes) * 100 ).toFixed(2)\r\n }\r\n}\r\n","
\r\n\r\n

Total de clientes {{ totais.totalClientes}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StatusDasEntregasService {\r\n\r\n constructor(\r\n private apiConService: ApiConService\r\n ) { }\r\n\r\n\r\n async getStatusDeEntregas(roteiros: String){\r\n let response: JsonReturn = await this.apiConService.patch(`DCroteiroPedido/pedido/statusDeEntregas/${roteiros}`)\r\n return response.response;\r\n }\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-status-roteiro',\r\n templateUrl: './status-roteiro.component.html',\r\n styleUrls: ['./status-roteiro.component.css']\r\n})\r\nexport class StatusRoteiroComponent {\r\n @Input() mensagem; \r\n @Input() color;\r\n @Input() caminho;\r\n}\r\n","
\r\n
\r\n \"\"\r\n {{mensagem}}\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable()\r\nexport class TruckInfoService \r\n{\r\n pesoBruto: number = 0;\r\n cubagem: number = 0;\r\n veiculoCargaPeso: number = 0;\r\n veiculoCubagem: number = 0;\r\n vlKilometro: number = 0;\r\n \r\n public selectedTruck: any;\r\n public tiposVeiculo: any;\r\n\r\n categoriaPedagiosVeiculos = [\r\n { codCategoriaPedagio: null, descricao: 'Sem Categ. ', qtdeEixo: 0, imagemPath:'../../assets/img/auto2eixos.svg' },\r\n { codCategoriaPedagio: 1, descricao: 'Moto' , qtdeEixo: 0, imagemPath:'../../assets/img/Moto_2_icon.svg' },\r\n { codCategoriaPedagio: 2 , descricao: 'Auto', qtdeEixo: 2, imagemPath:'../../assets/img/auto2eixos.svg' },\r\n { codCategoriaPedagio: 3, descricao: 'Auto' , qtdeEixo: 3, imagemPath:'../../assets/img/auto3eixos.svg' },\r\n { codCategoriaPedagio: 4, descricao: 'Auto' , qtdeEixo: 4, imagemPath:'../../assets/img/auto4eixos.svg' },\r\n { codCategoriaPedagio: 5, descricao: 'Caminhão', qtdeEixo: 2, imagemPath:'../../assets/img/caminhao2eixos.svg' },\r\n { codCategoriaPedagio: 6, descricao: 'Caminhão', qtdeEixo: 3, imagemPath:'../../assets/img/caminhao3eixos.svg' },\r\n { codCategoriaPedagio: 7, descricao: 'Caminhão', qtdeEixo: 4, imagemPath:'../../assets/img/caminhao4eixos.svg' },\r\n { codCategoriaPedagio: 8, descricao: 'Caminhão', qtdeEixo: 5, imagemPath:'../../assets/img/caminhao5eixos.svg' },\r\n { codCategoriaPedagio: 9, descricao: 'Caminhão', qtdeEixo: 6, imagemPath:'../../assets/img/caminhao6eixos.svg' },\r\n { codCategoriaPedagio: 10, descricao: 'Caminhão', qtdeEixo: 7, imagemPath:'../../assets/img/caminhao6eixos.svg' },\r\n { codCategoriaPedagio: 11, descricao: 'Caminhão', qtdeEixo: 8, imagemPath:'../../assets/img/caminhao6eixos.svg' },\r\n { codCategoriaPedagio: 12, descricao: 'Caminhão', qtdeEixo: 9, imagemPath:'../../assets/img/caminhao6eixos.svg' },\r\n { codCategoriaPedagio: 13, descricao: 'Caminhão' , qtdeEixo: 10, imagemPath:'../../assets/img/caminhao6eixos.svg' },\r\n { codCategoriaPedagio: 14, descricao: 'Ônibus', qtdeEixo: 2, imagemPath:'../../assets/img/caminhao2eixos.svg' },\r\n { codCategoriaPedagio: 15, descricao: 'Ônibus', qtdeEixo: 3, imagemPath:'../../assets/img/caminhao2eixos.svg' },\r\n { codCategoriaPedagio: 16, descricao: 'Ônibus', qtdeEixo: 4, imagemPath:'../../assets/img/caminhao2eixos.svg' },\r\n { codCategoriaPedagio: 17, descricao: 'Ônibus', qtdeEixo: 4, imagemPath:'../../assets/img/caminhao2eixos.svg' },\r\n ]\r\n\r\n constructor \r\n (\r\n private conService: ApiConService\r\n ) \r\n { }\r\n\r\n async getTrucks() \r\n {\r\n try \r\n {\r\n const response: JsonReturn = await this.conService.patch('tipoVeiculo');\r\n this.tiposVeiculo = response.response;\r\n\r\n return response[0];\r\n }\r\n catch (Error) {\r\n console.log(\"CATCH________getTrucks\");\r\n console.log(Error);\r\n }\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n
{{ ((roteiro.totalClienteEntregue / roteiro.totalCliente) * 100).toFixed(0) + '%' }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ status.titulo }}

\r\n

{{ status.valor }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-info-entregas-visita',\r\n templateUrl: './info-entregas-visita.component.html',\r\n styleUrls: ['./info-entregas-visita.component.css']\r\n})\r\nexport class InfoEntregasVisitaComponent implements OnInit{\r\n @Input() roteiro: any;\r\n \r\n informacoesStatus = []; \r\n\r\n ngOnInit() {\r\n this.iniciaInformacoesStatus();\r\n }\r\n\r\n iniciaInformacoesStatus(){\r\n this.informacoesStatus = [\r\n { titulo: 'Entregues', valor: this.roteiro.totalClienteEntregue },\r\n { titulo: 'Recusados', valor: this.roteiro.totalClienteRecusado },\r\n { titulo: 'Em análise', valor: this.roteiro.totalClienteEmAnalise },\r\n { titulo: 'Não visitados', valor: this.roteiro.totalClienteNaoVisitado }\r\n ];\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{ info.titulo }}

\r\n

{{ info.valor }}

\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-info-roteiro-visita',\r\n templateUrl: './info-roteiro-visita.component.html',\r\n styleUrls: ['./info-roteiro-visita.component.css']\r\n})\r\nexport class InfoRoteiroVisitaComponent implements OnInit{\r\n @Input() roteiro: any;\r\n\r\n informacoesRoteiro = {}\r\n\r\n ngOnInit() {\r\n this.iniciaInfoRoteiro();\r\n } \r\n\r\n iniciaInfoRoteiro(){\r\n this.informacoesRoteiro = [\r\n { titulo: 'Roteiro', valor: this.roteiro.NumeroRoteiro },\r\n { titulo: 'Motorista', valor: this.roteiro.NomeMotorista },\r\n { titulo: 'Placa veículo', valor: this.roteiro.PlacaVeiculo }\r\n ] \r\n }\r\n \r\n }\r\n\r\n\r\n","\r\n
\r\n \"loading\"\r\n {{ msgLoading }}\r\n
\r\n\r\n\r\n
\r\n {{ horarioInicioRoteiro }}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n

Cliente

\r\n
\r\n
\r\n

{{ cliente.RazaoSocial }} ({{cliente.CodigoCliente }})

\r\n
\r\n
\r\n

{{ cliente.NomeFantasia}}

\r\n

\r\n
\r\n

{{ cliente.Endereco }}

\r\n

{{ cliente.Bairro }} - {{ cliente.Cidade }}/{{ cliente.UF }}

\r\n

CEP: {{ cliente.Cep }}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Entrega realizada pelo ajudante
\r\n \r\n
\r\n \"loading\"\r\n {{ msgLoading }}\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ acao.data }} \r\n {{ acao.hora }}
; \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n = 5, 'custom-border-open': cliente.IdRoteiroPedidoSituacao < 5 }\"\r\n [ngStyle]=\"cliente.IdRoteiroPedidoSituacao >= 5 ? { 'border-top': '1px solid #4C5054' } : { 'border-top': '1px solid #C0C1C3' }\">\r\n \r\n \r\n
\r\n
\r\n Bandeira Visita\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, Input, } from '@angular/core';\r\nimport { IconService } from '../../shared/icon.service';\r\nimport { VisitasService } from '../visitas.service';\r\nimport { GraphicService } from '../../shared/graphic.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-status-cliente-visita',\r\n templateUrl: './status-cliente-visita.component.html',\r\n styleUrls: ['./status-cliente-visita.component.css']\r\n})\r\nexport class StatusClienteVisitaComponent {\r\n\r\n\r\n@Input() roteiro : any;\r\n@Input() index: number;\r\n@Input() ultimoRoteiro: boolean;\r\n@Input() dadosVisitas = [];\r\nclientes = [];\r\ncarregandoClientes = false;\r\nmsgLoading = ''\r\n\r\nentregaAjudante = false;\r\nnumeroRoteiroAtual = 0\r\nlistaDeAcoes = []\r\nlistaAcoesPorCliente = [];\r\nhorarioInicioRoteiro = '00:00'\r\n\r\n constructor(\r\n private iconService: IconService,\r\n private visitasService: VisitasService,\r\n private graphicService: GraphicService,\r\n private sanitizer: DomSanitizer,\r\n\r\n ) { }\r\n\r\n\r\n ngOnChanges(): void { \r\n this.iniciaClientes() ; \r\n if(this.roteiro.horarioInicioRoteiro != null){\r\n this.horarioInicioRoteiro = this.retronarHoraString(this.roteiro.horarioInicioRoteiro);\r\n }\r\n }\r\n\r\n\r\n\r\n async iniciaClientes(){\r\n this.msgLoading = 'Carregando dados dos clientes';\r\n let clinteReduced= [];\r\n let consideraEndPed = JSON.parse(this.roteiro.InfoRota).ConsideraEndPed ?? false\r\n\r\n this.clientes = this.dadosVisitas.filter((pedido) => pedido.NumeroRoteiro == this.roteiro.NumeroRoteiro)\r\n this.clientes.forEach((cli) => {\r\n let temCliente = clinteReduced.some((cliente) => cliente.CodigoCliente == cli.CodigoCliente)\r\n if(consideraEndPed || !temCliente ){\r\n clinteReduced.push(cli)\r\n }\r\n }) \r\n\r\n this.clientes = clinteReduced;\r\n\r\n let contador = 1\r\n this.clientes.forEach(async (cliente) => {\r\n let temOcorrencia = cliente.problemaReportado;\r\n let regiaoRisco = cliente.RegiaoRisco\r\n let codigoAcao = cliente.CodigoAcao;\r\n let IdRoteiroPedidoSituacao = cliente.IdRoteiroPedidoSituacao;\r\n let urlLimpo = this.iconService.iconeCliente(contador, codigoAcao, temOcorrencia, 0, IdRoteiroPedidoSituacao, 0, regiaoRisco);\r\n cliente.icon = urlLimpo\r\n contador++;\r\n })\r\n }\r\n \r\n\r\n async exibirPopup(cliente: any, event: MouseEvent): Promise { \r\n cliente.mostrarPopup = true; \r\n if(cliente.NumeroRoteiro != this.numeroRoteiroAtual && !this.carregandoClientes){\r\n this.carregandoClientes = true;\r\n this.msgLoading = 'Aguarde, consultando ações do cliente'\r\n this.listaDeAcoes = await this.visitasService.getListaDeAcoes(cliente.NumeroRoteiro); \r\n this.carregandoClientes = false;\r\n this.numeroRoteiroAtual = cliente.NumeroRoteiro \r\n }\r\n\r\n let acoes = this.listaDeAcoes.filter(cli => cliente.CodigoCliente == cli.CodigoCliente);\r\n acoes.forEach((acao) => {\r\n let informacoes = JSON.parse(acao.Informacoes).CoordAjudante\r\n this.entregaAjudante = informacoes == 1 ? true: false;\r\n })\r\n\r\n this.listaAcoesPorCliente = this.graphicService.iconeAcaoPopup(acoes);\r\n this.listaAcoesPorCliente.forEach(element => { \r\n element.image = this.getIconeBase64(element.icone)\r\n }); \r\n }\r\n\r\n esconderPopup(cliente: any): void {\r\n cliente.mostrarPopup = false;\r\n }\r\n\r\n\r\n getIconeBase64(icone){\r\n return this.sanitizer.bypassSecurityTrustUrl(icone);\r\n }\r\n\r\n private retronarHoraString(dataParametro: string): string {\r\n dataParametro = dataParametro.replace('Z', '')\r\n const data = new Date(dataParametro);\r\n const hora = data.getHours();\r\n const minutos = data.getMinutes();\r\n const horaFormatada = (hora <= 9 ? '0' : '') + hora;\r\n const minutosFormatados = (minutos <= 9 ? '0' : '') + minutos;\r\n return `${horaFormatada}:${minutosFormatados}`;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { VisitasService } from './visitas.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Component({\r\n selector: 'app-visitas',\r\n templateUrl: './visitas.component.html',\r\n styleUrls: ['./visitas.component.css']\r\n})\r\nexport class VisitasComponent{\r\n @Input() dashboardResult = []; \r\n @Output() abrirModalMapa = new EventEmitter(); \r\n dadosVisitas = [];\r\n constructor(private visitasService: VisitasService){}\r\n \r\n ngOnChanges(): void {\r\n this.getVisitas()\r\n }\r\n\r\n abrirRoteiro(roteiro){\r\n this.abrirModalMapa.emit(roteiro.NumeroRoteiro);\r\n }\r\n\r\n async getVisitas(){\r\n let strRoteiros = this.dashboardResult.map((roteiro) => roteiro.NumeroRoteiro).join(', '); \r\n if(strRoteiros){\r\n let response: JsonReturn = await this.visitasService.getVisitas(strRoteiros)\r\n this.dadosVisitas = response.response;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiConService } from '../shared/api-con.service';\r\nimport { JsonReturn } from '../shared/interface/generic-interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VisitasService {\r\n\r\n constructor(\r\n private apiConService: ApiConService\r\n ) { }\r\n\r\n async getVisitas(roteiros: String){\r\n let response: JsonReturn = await this.apiConService.patch(`DCroteiroPedido/pedido/visitas/${roteiros}`)\r\n return response;\r\n }\r\n\r\n async getListaDeAcoes(numeroRoteiro){\r\n try{\r\n let response: JsonReturn = await this.apiConService.patch('DCcoordenadas/listaDeAcoes/' + numeroRoteiro );\r\n return response.response;\r\n }catch (Error) {\r\n console.log(Error);\r\n return [];\r\n }\r\n }\r\n\r\n async getRoteiro(numeroRoteiro){\r\n let response: JsonReturn = await this.apiConService.patch('DCroteiroPedido/' + numeroRoteiro + '/0');\r\n return response.response;\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n esriApiURL: 'https://js.arcgis.com/4.28/',\r\n restApiURL: 'https://rotaplan.paineltarget.inf.br:55002/',\r\n restApiTransp: 'https://rotaplan.paineltarget.inf.br:25002/',\r\n url_SvgService: 'https://rotaplan.paineltarget.inf.br:55002',\r\n url_telaOcorrencias: 'https://rotaplan.paineltarget.inf.br:8184/RotaPlanV2/Ocorrencia',\r\n path_Ocorrencia: '/RotaPlanV2/Ocorrencia/index.html',\r\n urlBaseJasper:'https://rotaplan.paineltarget.inf.br:15002/jasperserver/flow.html?_flowId=viewReportFlow&reportUnit=',\r\n usuarioJasper:'amFzcGVyYWRtaW4=',\r\n passwordjasper:'bW9pdGd0MjUyNg==',\r\n usuarioLogado: \"\",\r\n baseDados: \"\",\r\n servidor: \"\"\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'orderBy'\r\n})\r\nexport class ArraySortPipe implements PipeTransform {\r\n transform(array: any, field: string): any[] {\r\n if (!Array.isArray(array)) {\r\n return;\r\n }\r\n array.sort((a: any, b: any) => {\r\n if (a[field] > b[field]) {\r\n return -1;\r\n } else if (a[field] < b[field]) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n return array;\r\n }\r\n }","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'searchfilter'\r\n})\r\nexport class FilterPipe implements PipeTransform \r\n{\r\n transform(items: any[], filter: string, roteirosDoDia: boolean): any \r\n {\r\n if (roteirosDoDia) {\r\n // Selecionar apenas os itens com roteiros para o dia de hoje\r\n const date = new Date(); \r\n date.setHours(0, 0, 0, 0);\r\n items = items.filter(item => { \r\n let dateItem = new Date(item.PrevisaoSaida);\r\n dateItem.setHours(0, 0, 0, 0);\r\n return dateItem.toString() === date.toString();\r\n });\r\n }\r\n\r\n if (!items || !filter) {\r\n return items;\r\n }\r\n\r\n filter = filter.toLowerCase();\r\n\r\n return items.filter(item => {\r\n // Verificar se o filtro corresponde a `NumeroPedido` ou qualquer outro campo\r\n const numeroPedidoMatch = item.pedidos?.NumeroPedido?.toLowerCase().includes(filter);\r\n const generalMatch = JSON.stringify(item).toLowerCase().includes(filter);\r\n \r\n return numeroPedidoMatch || generalMatch;\r\n });\r\n }\r\n}"],"names":["EventEmitter","environment","i0","ɵɵelementStart","ɵɵlistener","AlertaCardNotificacaoComponent_div_0_div_18_Template_app_botao_primario_onPress_1_listener","ɵɵrestoreView","_r7","ctx_r6","ɵɵnextContext","ɵɵresetView","ocorrencia","ɵɵelementEnd","AlertaCardNotificacaoComponent_div_0_ng_template_19_Template_app_botao_primario_click_0_listener","_r9","ctx_r8","ɵɵtext","ɵɵelement","AlertaCardNotificacaoComponent_div_0_Template_button_click_16_listener","_r11","ctx_r10","abrirMaparoteiroAlerta","ɵɵtemplate","AlertaCardNotificacaoComponent_div_0_div_18_Template","AlertaCardNotificacaoComponent_div_0_ng_template_19_Template","ɵɵtemplateRefExtractor","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","roteiroAlerta","TipoAlerta","ɵɵproperty","DTAlerta","NumeroRoteiro","ɵɵtextInterpolate2","NomeMotorista","PlacaVeiculo","IdStatus","_r4","AlertaCardNotificacaoComponent_ng_template_1_button_15_Template_button_click_0_listener","_r20","ctx_r19","AlertaCardNotificacaoComponent_ng_template_1_ng_template_16_Template_button_click_0_listener","_r22","ctx_r21","AlertaCardNotificacaoComponent_ng_template_1_img_6_Template","AlertaCardNotificacaoComponent_ng_template_1_div_9_Template","AlertaCardNotificacaoComponent_ng_template_1_span_12_Template","AlertaCardNotificacaoComponent_ng_template_1_span_13_Template","AlertaCardNotificacaoComponent_ng_template_1_button_15_Template","AlertaCardNotificacaoComponent_ng_template_1_ng_template_16_Template","ɵɵtextInterpolate1","ctx_r2","CodigoOcorrencia","Visualizado","_r17","AlertaCardNotificacaoComponent","constructor","alertaService","telaPrincipal","abrirModalMapa","urlOcorrencias","ngOnInit","_this","_asyncToGenerator","isModal","document","getElementById","click","emit","latitude","Latitude","longitude","Longitude","roteiroAlertaID","RoteiroAlertaID","objParam","updateVisualizadoAlertaRoteiro","console","error","_this2","url_telaOcorrencias","window","location","search","idRoteiroAlerta","btoa","toString","open","_","ɵɵdirectiveInject","i1","AlertasCardService","_2","selectors","inputs","outputs","decls","vars","consts","template","AlertaCardNotificacaoComponent_Template","rf","ctx","AlertaCardNotificacaoComponent_div_0_Template","AlertaCardNotificacaoComponent_ng_template_1_Template","_r1","AlertaNotificacaoComponent_div_0_Template_div_click_1_listener","ctx_r3","alteraMostraAlerta","alertasNaoVisto","length","silenciado","AlertaNotificacaoComponent_ng_template_1_div_15_Template_app_alerta_card_notificacao_abrirModalMapa_1_listener","$event","abrirMapa","item_r7","AlertaNotificacaoComponent_ng_template_1_Template_button_click_10_listener","marcaComoVisualizado","AlertaNotificacaoComponent_ng_template_1_img_12_Template","AlertaNotificacaoComponent_ng_template_1_Template_img_click_13_listener","ctx_r12","AlertaNotificacaoComponent_ng_template_1_div_15_Template","isUpdating","AlertaNotificacaoComponent","alertasService","popupConfigService","notification","dashboardResult","qtdAlertaAnterior","mostraAlerta","algumAlertaAtivo","alertas","some","alerta","Ativo","setInterval","consultaAlertas","ngOnChanges","idsRoteiros","map","roteiro","IdRoteiro","join","response","getAlertas","filter","setTimeout","clickUsuario","ids","i2","PopupConfigService","i3","NotificationService","features","ɵɵNgOnChangesFeature","AlertaNotificacaoComponent_Template","AlertaNotificacaoComponent_div_0_Template","AlertaNotificacaoComponent_ng_template_1_Template","alerta_r4","AlertaRoteiroNotificacaoComponent_ng_template_1_div_0_Template","AlertaRoteiroNotificacaoComponent","alertasCardService","consultaAlertaPorRoteiro","dados","AlertaRoteiroNotificacaoComponent_Template","AlertaRoteiroNotificacaoComponent_div_0_Template","AlertaRoteiroNotificacaoComponent_ng_template_1_Template","alerta_r2","AlertasCardComponent_tr_17_Template_button_click_5_listener","restoredCtx","_r6","$implicit","ctx_r5","AlertasCardComponent_tr_17_Template_button_click_8_listener","ctx_r7","AlertasCardComponent_tr_17_td_19_Template","OcorrenciaID","ɵɵsanitizeUrl","ctx_r1","AlertasCardComponent","AlertasCardComponent_Template","AlertasCardComponent_th_15_Template","AlertasCardComponent_tr_17_Template","ɵɵpureFunction1","_c0","conService","qtdAlertas","patch","log","putBody","undefined","showSucesso","showErro","ɵɵinject","ApiConService","factory","ɵfac","providedIn","PillAlertasComponent","srcPill","SrcPillEnum","NOVO_ALERTA","ALERTA_VISUALIZADO","OC_EM_ANDAMENTO","OC_FINALIZADA","determinarStatusPill","idSituacao","visualizado","PillAlertasComponent_Template","AppComponent","apiConService","title","acessoLiberado","dadosAcesso","url","URL","href","base","searchParams","get","servidor","usuario","data","atob","dataAcesso","Date","diferenca","getTime","body","innerHTML","baseDados","usuarioLogado","retorno","configInicial","sucesso","msg","patchInit","AppComponent_Template","AppComponent_app_dashboard_0_Template","InputRelatoriosComponent","FormularioRelatorioComponent","ModalFormuilarioRelatoriosComponent","BrowserModule","LOCALE_ID","FormsModule","ReactiveFormsModule","HttpClientModule","CurrencyPipe","registerLocaleData","localePt","GridsterModule","Ng2GoogleChartsModule","NgbModule","ColorPickerModule","MapComponent","DashboardComponent","RoteiroCardComponent","DistanciaDashboardCardComponent","OcorrenciasDashborardCardComponent","MotivosOcorrenciasDashboardCardComponent","RoteirosOcorrenciasDashboardCardComponent","DistanciaRoteiroCardComponent","CardSemComunicacaoDashboardComponent","MainHeaderComponent","HeaderFilterComponent","MainHeaderTruckComponent","BoxListTruckComponent","BoxInfoLeftComponent","BoxInfoAlertComponent","BoxInfoDeliveryRouterComponent","BoxInfoJourneyComponent","BoxInfoRouterComponent","BoxInfoPathComponent","BoxInfoTruckComponent","BoxTitleComponent","BoxInfoRouterAddessComponent","BasemapComponent","BoxHistoricoAcoesComponent","PopupConfigComponent","PopupRelatoriosComponent","RelatoriosDashboardCardComponent","BoxAcoesComponent","PopupAlertaComponent","PopupIconesComponent","FilterPipe","ArraySortPipe","DashboardService","EsriLoadService","BoxListTruckService","BoxInfoJourneyService","BoxInfoRouterService","BoxInfoTruckService","ControlStatusService","HeaderFilterService","GraphicService","RouteService","BoxInfoAlertService","MainHeaderTruckService","BoxHistoricoAcoesService","IconService","PopupIconesRowComponent","Util","PopupAvisosNovidadesComponent","PopupDetalhesPedidoComponent","PopupJasperComponent","PopupOcorrenciaPedagioComponent","ToastNoAnimationModule","CardUltimasEntregasComponent","PopupTokensComponent","TokenService","CookieService","DadosEntregasComponent","CardInfoEntregasComponent","StatusDasEntregasComponent","CardStatusEntregasComponent","VisitasComponent","InfoRoteiroVisitaComponent","InfoEntregasVisitaComponent","StatusClienteVisitaComponent","DataHorarioComponent","DetalheEntregaColetaComponent","StatusRoteiroComponent","MatFormFieldModule","MatSelectModule","BrowserAnimationsModule","ConfigConfirmacaoEntregaComponent","PopupPrecosPracaPedagioComponent","TruckInfoService","TruncatePipe","BarDateComponent","BotaoPrimarioComponent","PopupDadosRecebedorComponent","DualInfoComponentComponent","TextoLinkComponent","AppModule","bootstrap","_3","provide","useValue","imports","forRoot","preventDuplicates","declarations","LoadedModules","BASEMAPS","esriLoadService","controlStatus","alteraVisibilidade","event","$","target","parent","toggleClass","AdicionaMapaGaleria","layer","BasemapLayer","url2","isReference","basemap","Basemap","layers","titulo","thumbnailUrl","imagem","basemapGallery","add","AdicionaBaseMapas","i","openstreetmap","type","id","iniciaBaseMapaGallery","BasemapGallery","view","visible","position","on","trigger","FecharOpcoesMapas","mostrarMapas","ɵɵProvidersFeature","BasemapComponent_Template","BasemapComponent_Template_img_click_3_listener","ɵɵclassProp","BoxAcoesComponent_div_3_Template_input_ngModelChange_1_listener","_r3","chaveValidacao","BoxAcoesComponent_div_3_Template_button_click_2_listener","ctx_r4","confirmarExclusaoRoteiro","numeroRoteiro","BoxAcoesComponent_div_6_Template_input_ngModelChange_3_listener","BoxAcoesComponent_div_6_Template_app_texto_link_click_5_listener","esconderInputFinalizar","BoxAcoesComponent_div_6_Template_app_botao_primario_onPress_6_listener","finalizarRoteiro","acoesComponent","dashboardService","boxListTruckService","boxInfoRouterService","controlaJornadaMotorista","loading","chaveDispositivoAcesso","pedidosPendentesEntrega","showInput","showInputFinalizar","idRoteiro","ChaveDispositivoAcesso","vetInfoRota","JSON","parse","InfoRota","ControlaJornadaMotorista","getInfoRouter","excluirRoteiro","result","deleteRoteiro","_this3","desconectarVeiculo","mostraInputExcluir","mostraInputFinalizar","bootbox","dialog","message","size","buttons","cancel","label","className","ok","callback","_ref","resultado","apply","arguments","confirmarFinalizacaoRoteiro","_ref2","_this4","_this5","listaPedidos","pedido","IdRoteiroPedidoSituacao","BoxAcoesComponent_Template","BoxAcoesComponent_Template_app_botao_primario_onPress_2_listener","BoxAcoesComponent_div_3_Template","BoxAcoesComponent_Template_app_botao_primario_onPress_5_listener","BoxAcoesComponent_div_6_Template","IdRoteiroSituacao","roteiroLimpo","SituacaoOdometro","TipoEntregas","isNull","BoxHistoricoAcoesComponent_div_16_li_2_div_1_app_texto_link_14_Template_app_texto_link_click_0_listener","downloadOdometro","BoxHistoricoAcoesComponent_div_16_li_2_div_1_Template_img_click_3_listener","_r12","itens_r3","exibirAcaoMapa","IdCoordenada","check","BoxHistoricoAcoesComponent_div_16_li_2_div_1_app_texto_link_14_Template","iconeAcao","Acao","ɵɵpipeBind2","Data","replace","km","kmOdometroInicio","ɵɵpropertyInterpolate1","BoxHistoricoAcoesComponent_div_16_li_2_ng_template_2_div_3_span_1_Template_img_click_1_listener","_r21","item_r15","BoxHistoricoAcoesComponent_div_16_li_2_ng_template_2_div_3_div_13_Template_app_texto_link_click_1_listener","_r25","ctx_r23","comprovanteEntrega","BoxHistoricoAcoesComponent_div_16_li_2_ng_template_2_div_3_span_1_Template","BoxHistoricoAcoesComponent_div_16_li_2_ng_template_2_div_3_div_13_Template","ɵɵpureFunction3","i_r16","CodigoCliente","RazaoSocial","ctx_r14","mostraComprovanteApp","BoxHistoricoAcoesComponent_div_16_li_2_ng_template_2_Template_img_click_2_listener","_r28","ctx_r26","BoxHistoricoAcoesComponent_div_16_li_2_ng_template_2_div_3_Template","urlIcone","BoxHistoricoAcoesComponent_div_16_li_2_div_1_Template","BoxHistoricoAcoesComponent_div_16_li_2_ng_template_2_Template","_r5","BoxHistoricoAcoesComponent_div_16_li_2_Template","historicoAcoesPorDia_r1","dia","ɵɵpipeBind3","pesquisaAcoes","boxHistoricoAcoesService","graphicService","util","svgService","sanitizer","notificationService","acoesSepPorDia","agrupadoDiaCliente","exibirTodos","kmOdometroFinal","getHistoryAction","infoRota","infoHistoricoAcoes","listHistoryAction","x","CodigoAcao","infoCoordenadasRota","codigoCliente","contador","informacoes","Informacoes","situacaoOdometro","Inicio","KmOdometroInicio","KmOdometroFinal","codigo","converterDataSemFuso","posicaoCliente","options","icone","cor","index","RHorario","RFeriado","RPedido","RAgendada","Opacidade","bypassSecurityTrustResourceUrl","geraSVG","retornaAcao","forEach","item","retornaIcone","pontosComUltimaPosicao","dataReferencia","calcularDiferencaDias","listaAgrupadaPorDia","push","Object","values","clientesAgrupados","cliente","visualizarPontosMapa","atualizaMapView","ConfigRecebimentoApp","tipo","Coleta","exibirClienteMapa","retornarPontoCliente","idCoordenada","checado","find","TextoInfo","Cliente","criarPontoAcao","marcarTodos","itens","checked","value","alteraExibirTodos","limpaBuscaAcao","pedidos","infoRouter","IdPedidoConfirmacaoEntrega","dadosComprovante","idPedidoConfirmacaoEntrega","contemConfirmacaoEntrega","getComprovante","NomeRecebedor","DocumentoRecebedor","Arquivo","decompress","showInformativo","i4","SvgService","i5","DomSanitizer","i6","i7","BoxHistoricoAcoesComponent_Template","BoxHistoricoAcoesComponent_Template_input_ngModelChange_5_listener","BoxHistoricoAcoesComponent_Template_a_click_6_listener","BoxHistoricoAcoesComponent_Template_input_click_10_listener","BoxHistoricoAcoesComponent_div_16_Template","roteiroSelecionado","Error","getListaDeAcoes","getListaDeAcoesPorPedido","BoxInfoAlertComponent_li_1_Template_app_botao_primario_onPress_11_listener","abrirOcorrencia","item_r1","Motivo","dadosStatus","caminho","boxInfoAlertService","routeService","getInfoAlertRouter","alertRouter","element","statusOcorrencia","idStatus","BoxInfoAlertComponent_Template","BoxInfoAlertComponent_li_1_Template","swal","DatePipe","ultima_entrega","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵpureFunction2","_c1","distanciaTotalRealizada","distanciaPercorridaPorcentagem","toFixed","BoxInfoDeliveryRouterComponent_div_35_span_5_Template","BoxInfoDeliveryRouterComponent_div_35_ng_container_9_Template","BoxInfoDeliveryRouterComponent_div_35_span_30_Template","BoxInfoDeliveryRouterComponent_div_35_app_status_roteiro_32_Template","BoxInfoDeliveryRouterComponent_div_35_app_status_roteiro_33_Template","BoxInfoDeliveryRouterComponent_div_35_Template_app_botao_primario_onPress_35_listener","_r13","atualizaKmPercorrida","imgUltimaEntrega","_c2","descricaoUltimaEntrega","_c3","distanciaTotalPlanejada","listaKmPercorrida","tmp_7_0","realizadas","QtdeEntregas","BoxInfoDeliveryRouterComponent_ng_template_36_div_26_Template_app_botao_primario_onPress_1_listener","_r19","ctx_r18","alternarModalOdometro","BoxInfoDeliveryRouterComponent_ng_template_36_app_status_roteiro_16_Template","BoxInfoDeliveryRouterComponent_ng_template_36_app_status_roteiro_17_Template","BoxInfoDeliveryRouterComponent_ng_template_36_app_status_roteiro_18_Template","BoxInfoDeliveryRouterComponent_ng_template_36_div_26_Template","BoxInfoDeliveryRouterComponent_ng_template_36_Template_button_click_27_listener","ctx_r20","downloadFotosOdometros","tituloDistancia","ctx_r24","distanciaOdometro","ctx_r25","fotoOdoFinal","BoxInfoDeliveryRouterComponent_div_39_div_8_div_2_Template","BoxInfoDeliveryRouterComponent_div_39_div_8_img_15_Template","BoxInfoDeliveryRouterComponent_div_39_div_8_ng_template_16_Template","BoxInfoDeliveryRouterComponent_div_39_div_8_Template_app_botao_primario_onPress_19_listener","_r29","ctx_r28","dataInicialOdometro","fotoOdoInicial","dataFinalOdometro","_r26","loadingBtnDownloadOdometro","BoxInfoDeliveryRouterComponent_div_39_Template_img_click_6_listener","_r31","ctx_r30","BoxInfoDeliveryRouterComponent_div_39_div_7_Template","BoxInfoDeliveryRouterComponent_div_39_div_8_Template","loadingFotoOdo","fb","datePipe","distanciaPercorrida","distanciaPlanejada","kmPercorridaAtualizada","datakmOdometroInicio","dataKmOdometroFinal","solicitaOdometro","icones","showModalOdometro","imagesLoaded","listTruckService","InfoRoteirizacao","solicitaFotoOdometro","configuracaoApp","contemManterSequenciaEntrega","ManterSequenciaEntrega","manterSequenciaEntrega","permitirInicioPrevisao","PermitirIniciarRoteiroAntesPrevisao","permitirIniciarRoteiroAntesPrevisao","versaoApp","VersaoApp","formularioConfigApp","group","config","atualizaDadosOdometro","atualizaDadosUltimaEntregas","getInfoDeliveryRouter","alterarKmPercorridaInfoRota","carregarFotoOdometro","fotoInicio","fotoFinal","getFotoOdometro","Final","transform","atualizaIconeKmPercorrida","valor","gerarListaIcons","larguraBarraProgresso","progressBar","nativeElement","offsetWidth","larguraIcone","numeroIcone","Math","floor","Array","fill","valorCalculado","primeira_entrega","converteData","exibirDistanciaPercorrida","exibirDistanciaPlanejada","kmPercorrida","KmPercorrido","nome_motorista","cod_veiculo","DescricaoVeiculo","veiculo","infoRotaString","stringify","put","distanciaTotal","pontos","ponto","reduce","acc","curr","concat","cnpjEmpresas","filtroCnpjs","cnpj","includes","distancia","calcularDistanciaGeo","atualizaConfigApp","_this6","contemNomeMotorista","atualizaCoordenadas","nuRotAtualizaCoordenadas","desativaCoordenada","_this7","idCooordenada","confirmacaoDesativaCoordenada","fire","text","icon","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","cancelButtonText","then","isConfirmed","atualizaManterSequencia","atualizaPermiInicRotAntesPrevisao","_this8","dadosOdometro","_this9","dataInicialFormatada","dataFinalFormatada","doc","jsPDF","img1Path","img2Path","img1","Image","img2","src","onload","addImage","save","setFillColor","roundedRect","setFontSize","RetornoOrigem","RetornoMotorista","FormBuilder","i8","viewQuery","BoxInfoDeliveryRouterComponent_Query","BoxInfoDeliveryRouterComponent_Template","BoxInfoDeliveryRouterComponent_Template_button_click_1_listener","BoxInfoDeliveryRouterComponent_span_30_Template","BoxInfoDeliveryRouterComponent_Template_app_texto_link_click_34_listener","BoxInfoDeliveryRouterComponent_div_35_Template","BoxInfoDeliveryRouterComponent_ng_template_36_Template","BoxInfoDeliveryRouterComponent_Template_button_click_38_listener","BoxInfoDeliveryRouterComponent_div_39_Template","_c4","_r2","i_r3","item_r2","DT","HoraCalcAcumuladaT","BoxInfoJourneyComponent_table_3_tr_10_Template","diasRoteiro","tempoTotal","tempoTotalRoteiro","getTempoTotalRtoeiro","dadosFunc","ordenarDiasRoteiro","primeiraEntrega","ultimaEntrega","primeira","ultima","msToTime","minutos","converterMinutos","converteStringHora","sort","diaA","diaB","timestampDiaA","timestampDiaB","duration","milliseconds","parseInt","seconds","minutes","hours","hoursAux","minutesAux","secondsAux","BoxInfoJourneyComponent_Template","BoxInfoJourneyComponent_table_3_Template","duracaoTotalEntrega","getInfoJourney","classOpen","classPullRight","classPullDown","showHideBoxMainEditRoute","BoxInfoLeftComponent_Template","BoxInfoLeftComponent_Template_button_click_1_listener","BoxInfoLeftComponent_box_title_4_Template","BoxInfoLeftComponent_box_title_13_Template","exibeAlerta","tmp_9_0","mostraConfiguracaoRoteiro","attributes","BoxInfoPathComponent_Template","BoxInfoPathComponent_li_2_Template","infoTrajeto","formatarCEP","cep","substring","BoxInfoRouterAddessComponent_Template","NomeFantasia","Endereco","Numero","ɵɵtextInterpolate3","Bairro","Cidade","UF","Cep","StatusEntrega","StatusRoteiroPedidos","BoxInfoRouterComponent_div_1_Template_a_click_7_listener","proximoCliente","item_r4","BoxInfoRouterComponent_li_11_div_1_div_1_app_texto_link_23_Template_app_texto_link_click_0_listener","ctx_r15","BoxInfoRouterComponent_li_11_div_1_div_1_div_24_Template_a_click_1_listener","abreImgLocalEntrega","BoxInfoRouterComponent_li_11_div_1_div_1_Template_img_click_5_listener","_r23","BoxInfoRouterComponent_li_11_div_1_div_1_Template_img_click_19_listener","i_r5","showHideAddress","BoxInfoRouterComponent_li_11_div_1_div_1_box_info_router_addess_20_Template","BoxInfoRouterComponent_li_11_div_1_div_1_div_21_Template","BoxInfoRouterComponent_li_11_div_1_div_1_app_texto_link_23_Template","BoxInfoRouterComponent_li_11_div_1_div_1_div_24_Template","urlImagemRoteiroBoxLateral","entregaAtrasada","DataPedido","show","selectedIndex","problemaReportado","imgLocalEntrega","urlIcon","nome","toUpperCase","BoxInfoRouterComponent_li_11_div_1_div_1_Template","BoxInfoRouterComponent_li_11_div_1_ng_template_2_Template","_r8","BoxInfoRouterComponent_li_11_div_1_Template","mostrarClientesVisitados","iconService","detalhesPedidosServices","roteiroFinalizado","iconRotated","listaRoteiroCliente","tempoTotalEntrega","iconesENomesIntervalos","limparPontosMapa","codigoClienteAnterior","getInfoIntervalos","preencheCustoDescargaCli","consideraEndPed","ConsideraEndPed","valorTotalPedido","pesoTotalPedido","temOcorrencia","regiaoRisco","RegiaoRisco","codigoAcao","filtroPedido","j","FormaPagamento","FormaPagamentoEfetuada","Nf","NumeroPedido","Peso","QtdeVolumes","ValorPedido","EntregaRealizada","detalhePedido","ResumoNFeJSON","Tipo","statusEntrega","parcial","Parcial","ParcialComNaoIniciada","ParcialComVoltoDepois","ParcialNoCliente","FinalizadoExcecao","indexOf","unSanitizaded","temColeta","urlSujo","iconeCliente","urlLimpo","urlImagemRoteiro","dataInicioEntrega","dataFinalEntrega","tempoEntrega","split","entregaParcial","EntregaParcial","tempoEntregaValor","controle","infoIntervalos","intervalo","Minutos","indice","findIndex","NumeroPedidoAnteced","splice","dtAux","setSeconds","tempo","toISOString","substr","pontoInicial","visualizarRoteiroCliente","atualizaProximoCliente","numeroClienteFoco","coordenadaCenter","retornarPontoCoordenada","AbrirTabelaPedidos","e","currentTarget","hasClass","removeClass","slideUp","addClass","slideDown","listPed","RecebimentoRecusado","Finalizado","listPedTotal","ChegouCliente","VoltoDepois","IniciouEntrega","atualizaDetalhesPedido","lista","atualizaDetalhesPedidos","ProximoCliente","IdRoteiroPedido","descomprimiArquivos","arquivo","getComprovanteLocalEntrega","IdCliente","clienteLocalEntrega","listaCustoDescarga","custoDescargaClientes","custoDescarga","cli","codCliente","PopupDetalhesPedidoService","BoxInfoRouterComponent_Template","BoxInfoRouterComponent_div_1_Template","BoxInfoRouterComponent_Template_input_ngModelChange_3_listener","pesquisaCliente","BoxInfoRouterComponent_Template_input_ngModelChange_6_listener","BoxInfoRouterComponent_li_11_Template","loadingLocalEntrega","loadingComprovante","clienteID","Validators","nomeAjudante","i_r4","ajudante_r3","nome_r8","i_r10","ajudante_r9","placa_r11","BoxInfoTruckComponent_div_93_Template_button_click_5_listener","toggleEdicao","BoxInfoTruckComponent_div_93_Template_mat_select_selectionChange_20_listener","alterarNome","BoxInfoTruckComponent_div_93_mat_option_21_Template","BoxInfoTruckComponent_div_93_mat_form_field_23_Template","BoxInfoTruckComponent_div_93_Template_mat_select_selectionChange_28_listener","alterarPlaca","BoxInfoTruckComponent_div_93_mat_option_29_Template","BoxInfoTruckComponent_div_93_Template_button_click_31_listener","ctx_r16","BoxInfoTruckComponent_div_93_Template_app_botao_primario_onPress_33_listener","ctx_r17","salvaEdicao","formFiltro","info","nomesMotoristas","ajudantes","placasVeiculos","custoKm","showEdicao","novaPlaca","novoNomeMotorista","nomeAbreviado","rota1","required","rota2","rota3","rota4","getInfoTruck","placasVeiculosDisponiveis","motoristasDisponiveis","idRoteiroSituacao","descricaoSituacaoRoteiro","descricaoStatusRoteiro","atualizaQtdEntrega","abreviarNomeCompleto","getCaminho","color","getCorSituacao","infoRoteirizacao","totalCustoDescarga","latitudeMotorista","LatitudeMotorista","longitudeMotorista","LongitudeMotorista","vlrPedagio","ValorPedagio","custoTotal","CustoTotal","custoIdealPorcentagem","CustoIdealPorcentagem","custoPorcentagem","CustoPorcentagem","tempoEstimado","TempoEstimado","NomeAjudante","CustoKM","Ajudante","symbol","PictureMarkerSymbol","g","Graphic","CriaPontoMapa","addGraphic","placa","nomesMotoristasDisponiveis","motor","novoNome","nomeCompleto","partesDoNome","primeiroNome","segundaParte","inicialSegundoNome","charAt","atulizaPlacasVeiculosDisponiveis","atulizaNomeMotoristaDisponiveis","BoxInfoTruckComponent_Template","BoxInfoTruckComponent_Template_button_click_43_listener","BoxInfoTruckComponent_article_52_Template","BoxInfoTruckComponent_article_53_Template","BoxInfoTruckComponent_div_93_Template","PesoBrutoTotal","Cubagem","Qtde","PrevisaoSaida","trim","roteirosLimpo","State","BoxListTruckComponent_tr_41_Template_a_click_11_listener","visualizadorDeRoteiros","BoxListTruckComponent_tr_41_Template_a_click_15_listener","primeira_sinc","ɵɵclassMapInterpolate1","EstiloBateriaAtual","primeira_bateria","Distancia","problemas","exibirData","maximize","carregou","dadosRoteiro","getListRouterTruck","preencherDadosRoteiro","getListRouterTruckPorId","responsePorId","buscarRoteiro","numeroRoteiroBusca","getListRouterTruckPesquisa","carregando","currentState","showHideBoxListRouter","MaximizaTabela","filtrarRoteiro","pesquisa","pesquisaValor","toLowerCase","BoxListTruckComponent_Template","BoxListTruckComponent_Template_button_click_1_listener","BoxListTruckComponent_Template_button_click_6_listener","numeroRoteiroAcesso","BoxListTruckComponent_Template_button_click_7_listener","BoxListTruckComponent_tr_41_Template","BoxListTruckComponent_Template_input_input_67_listener","BoxListTruckComponent_Template_label_click_77_listener","mainHeaderTruckService","listTruckServiceSel","nomeMotorista","nomeCompletoMotorista","contatoMotorista","ContatoMotorista","porcBateria","msgErroBusca","situacao","_this10","BoxTitleComponent_img_5_Template_img_click_0_listener","alteraMostraConfRoteiro","BoxTitleComponent_img_6_Template_img_click_0_listener","abrirFecharBox","BoxTitleComponent_ng_template_7_Template_img_click_0_listener","ɵɵprojection","classOcultar","mensagem","horario","textColor","mostraAviso","btnConfiguracao","btnClose","shadow","classClosed","ngContentSelectors","_c5","BoxTitleComponent_Template","BoxTitleComponent_img_2_Template","BoxTitleComponent_img_5_Template","BoxTitleComponent_img_6_Template","BoxTitleComponent_ng_template_7_Template","BoxTitleComponent_div_9_Template","ɵɵstyleProp","ɵɵpureFunction7","ɵɵpureFunction0","isNullOrUndefined","roteiro_r3","formataMinutos","dataDiff","CardSemComunicacaoDashboardComponent_div_1_tr_14_Template","roteiros","toDateString","showTable","todosRoteiros","aux","atualizaRoteiroSemComunicacao","roteirosFiltrados","CardSemComunicacaoDashboardComponent_Template","CardSemComunicacaoDashboardComponent_div_1_Template","CardSemComunicacaoDashboardComponent_div_2_Template","CardUltimasEntregasComponent_div_1_tr_17_button_8_Template_button_click_0_listener","entrega_r3","CardUltimasEntregasComponent_div_1_tr_17_Template_button_click_5_listener","abriRoteiro","CardUltimasEntregasComponent_div_1_tr_17_button_8_Template","CardUltimasEntregasComponent_div_1_tr_17_ng_template_9_Template","DataEntrega","CardUltimasEntregasComponent_div_1_tr_17_Template","ultimasEntregas","boxInfoRouter","numeroPedido","downloadPDFRecibo","imgData","titulos","informacaoes","numeroNota","alturaImagem","setDrawColor","setFontType","toLocaleDateString","nomeArquivo","CardUltimasEntregasComponent_Template","CardUltimasEntregasComponent_div_1_Template","CardUltimasEntregasComponent_div_2_Template","ConfigConfirmacaoEntregaComponent_div_21_Template_form_change_1_listener","formularioManterSequencia","formularioPermitirIniciar","fecharModalConfig","ConfigConfirmacaoEntregaComponent_Template","ConfigConfirmacaoEntregaComponent_div_5_Template","ConfigConfirmacaoEntregaComponent_Template_form_change_6_listener","ConfigConfirmacaoEntregaComponent_div_21_Template","ConfigConfirmacaoEntregaComponent_Template_form_change_23_listener","ConfigConfirmacaoEntregaComponent_Template_app_texto_link_click_29_listener","ConfigConfirmacaoEntregaComponent_Template_app_texto_link_click_32_listener","quantidade","CardInfoEntregasComponent_Template","totalClientes","totalClientesAtendidos","totalClientesNaoAtendidos","totalClientesNaoVisitados","totalClientesAnalise","DadosEntregasComponent_Template","DashboardComponent_div_10_Template_button_click_1_listener","visualizouAlerta","avisoConsumo","mesConsumo","qtdLiberada","qtdUsada","qtdSimu","DashboardComponent_div_12_button_6_Template_button_click_0_listener","_r34","empresa_r32","ctx_r33","getRoteirosPorEmpresa","cdEmp","nomeFantasia","DashboardComponent_div_12_span_2_Template","DashboardComponent_div_12_button_6_Template","DashboardComponent_div_12_Template_button_click_7_listener","_r36","ctx_r35","resetFiltroEmpresa","razaoSocial","listaEmpresas","roteiro_r39","DashboardComponent_div_37_img_2_Template","DashboardComponent_div_37_tr_23_Template","roteirosVersaoDesatualizada","jasperService","waitJasper","versaoAtualApp","urlDownload","roteiro_r42","DashboardComponent_div_38_img_2_Template","DashboardComponent_div_38_tr_20_Template","DashboardComponent_div_38_Template_a_click_22_listener","_r44","ctx_r43","downloadApptransp","versaoTranspDesatualizada","versaoAtualTransp","DashboardComponent_button_46_Template_button_click_0_listener","_r46","ctx_r45","hide","ocorrencias","totaisOcorrencias","ɵɵnamespaceSVG","ctx_r9","totais","DashboardComponent_div_135_Template_card_sem_comunicacao_dashboard_abrirModalMapa_1_listener","_r48","ctx_r47","ctx_r11","roteirosSemComunicacao","DashboardComponent_div_167_Template_card_ultimas_entregas_abrirModalMapa_1_listener","_r50","ctx_r49","DashboardComponent_div_178_Template_app_visitas_abrirModalMapa_1_listener","_r52","ctx_r51","DashboardComponent_div_191_Template_app_alertas_card_abrirModalMapa_1_listener","_r54","ctx_r53","DashboardComponent_div_225_roteiro_card_1_Template_roteiro_card_click_0_listener","_r58","roteiro_r56","ctx_r57","ctx_r55","dashboardResultTotal","DashboardComponent_div_225_Template_div_wheel_0_listener","_r60","ctx_r59","onScroll","DashboardComponent_div_225_roteiro_card_1_Template","expand_class","mostrarApenasPendentes","roteiroModal","ctx_r22","DashboardComponent_app_alerta_notificacao_247_Template_app_alerta_notificacao_abrirModalMapa_0_listener","_r62","ctx_r61","DashboardComponent_button_252_Template_button_click_0_listener","_r64","ctx_r63","fecharLoading","ctx_r65","DashboardComponent_div_265_div_18_Template","ctx_r27","CnpjCpf","controller","painelMensagensService","state","canSee","model","modalNumber","arrayTitulo","arrayBody","valorInput","dataInicio","dataFim","dateChange","filtroParametro","placeholderBusca","meses","exibeOpcaoPainelAntigo","mostrarRecursoToken","auxFiltraPorEmpresa","roteirosPorEmpresa","mostraNotAlerta","urlJasper","dataAtual","comunicacaoComDataAtual","roteirosComunicaoFiltro","cardVisitas","posicao","cols","rows","y","mostrar","cardClientes","cardRoteiros","cardSemComunicacao","cardUltimasEntregas","cardRelatorios","cardAjusteLayout","clientes","semComunicacao","cardAlertas","emAberto","emAnalise","finalizadas","totaisSituacoes","totalEntregues","iniciou","pausou","semCoordenadas","saiu","finalizou","roteirosAtivos","roteirosPausa","relatorios","allRoteiros","auxOcorrencias","auxTotaisOcorrencias","today","now","primeiraCarga","contemAvisosNovidades","filtroAtivo","idSituacaoFiltro","itemInitCallback","itemInit","itemChangeCallback","itemChange","itemResizeCallback","itemResize","itemRemovedCallback","itemRemove","keepFixedHeightInMobile","mobileBreakpoint","draggable","enabled","ignoreContent","gridType","maxCols","pushItems","swap","fixedRowHeight","getConfiguracoesGerais","contemTempoAtualizacao","Nome","configuracao","Number","Valor","refreshTela","atualizaPosicoes","getConsumoDt","getUltimasEntregas","getEmpresasJasper","empresa","emp","CGC","getDadosDBeServidor","_x","avisoVersaoDesativda","verificaDesatToken","changedOptions","api","optionsChanged","scrollLeft","deltaY","preventDefault","tipoFiltro","parametro","controlarLoading","modal","voltarTelaInicial","alertaRoteiro","erroRelatorio","carregandoRelatorios","avisoRelatorio","alert","numeroBusca","busca","isArray","situacaoResult","getSituacaoRoteiro","carregouMapa","redimensionaMapa","limparRota","visaoGeral","mostrarPendentes","configPendentes","configuracaoGeral","updateConfiguracaoGeral","ConfiguracaoGeralID","contaClientesPorTipo","getTotalClientes","getTotalRoteiro","totalClienteEmAnalise","totalClienteEntregue","totalClienteNaoAtendidos","totalClienteNaoVisitado","totalClienteRecusado","totalCliente","setDashboardResult","contemRoteiro","ped","from","consultaVersaoBd","getVersaoAtualAplicativo","consultaVersaoTransp","getVersaoTranspAplicativo","versao","ativa","RoteiroTransportadora","limparTotais","atualizaTotais","contaRoteirosPorSituacao","limparTotaisSituacao","arr","filtrarPorSituacao","roteirosOriginal","slice","contaOcorrenciasPorTipo","getTotalOcorrencias","limparTotaisOcorrencias","preVal","elem","filtraRoteirosComunicaoAtual","dataRoteiro","montarRoteiroCard","_this11","getRoteiros","roteirosFiltrado","roteiroFiltrados","verificaPorcentagemMaxima","a","assign","retornaDataDiffPorNumero","porcentagem","itemComponent","salvarPosicoes","expandRoteiros","removeCardClientes","removeCardRoteiros","removeCardRelatorios","removeCardSemComunicacao","removeUltimasEntregas","removeAlertas","removeCardVisitas","localStorage","setItem","posicoes","getItem","resetarPosicoes","_this12","getEmpresa","abreDropdown","popupConfig","_this13","_this14","getEmpresas","contemEmpresa","ativo","NomeFantazia","nomeCliente","_this15","atualizaDashboard","empresaSelecionada","_this16","cardSemComunicao","roteiroOcorrencia","atualizaOcorrencia","rot","_this17","listaCdEmp","menorCdEmp","min","_this18","_this19","_this20","_this21","formataCNPJ","_this22","getMonth","_this23","removeItem","reload","mostraAlertaNotic","alterarPainelAntigo","currentUrl","newUrl","dataLimite","JasperService","PainelMensagensService","i9","i10","DashboardComponent_Query","DashboardComponent_div_10_Template","DashboardComponent_div_12_Template","DashboardComponent_Template_label_click_19_listener","DashboardComponent_Template_label_click_23_listener","DashboardComponent_Template_input_ngModelChange_28_listener","DashboardComponent_Template_div_click_29_listener","DashboardComponent_Template_button_click_33_listener","DashboardComponent_div_37_Template","DashboardComponent_div_38_Template","DashboardComponent_img_40_Template","DashboardComponent_i_41_Template","DashboardComponent_Template_button_click_44_listener","DashboardComponent_button_46_Template","DashboardComponent_Template_button_click_47_listener","DashboardComponent_Template_input_click_60_listener","DashboardComponent_Template_input_click_64_listener","DashboardComponent_Template_input_click_68_listener","DashboardComponent_Template_input_click_72_listener","DashboardComponent_Template_input_click_76_listener","DashboardComponent_Template_input_click_80_listener","DashboardComponent_Template_button_click_84_listener","DashboardComponent_div_103_Template","DashboardComponent_div_104_Template","DashboardComponent_div_118_Template","DashboardComponent_div_120_Template","DashboardComponent_Template_input_click_128_listener","DashboardComponent_Template_input_ngModelChange_128_listener","DashboardComponent_div_135_Template","DashboardComponent_div_136_Template","DashboardComponent_div_155_Template","DashboardComponent_div_167_Template","DashboardComponent_div_168_Template","DashboardComponent_div_178_Template","DashboardComponent_div_179_Template","DashboardComponent_div_191_Template","DashboardComponent_div_192_Template","DashboardComponent_Template_div_click_201_listener","DashboardComponent_Template_div_click_205_listener","DashboardComponent_Template_div_click_209_listener","DashboardComponent_Template_div_click_213_listener","DashboardComponent_Template_input_ngModelChange_218_listener","DashboardComponent_Template_input_ngModelChange_220_listener","DashboardComponent_Template_input_change_220_listener","DashboardComponent_Template_i_click_224_listener","DashboardComponent_div_225_Template","DashboardComponent_Template_img_click_232_listener","DashboardComponent_main_header_truck_236_Template","DashboardComponent_box_info_left_237_Template","DashboardComponent_Template_button_click_246_listener","DashboardComponent_app_alerta_notificacao_247_Template","DashboardComponent_img_249_Template","DashboardComponent_button_252_Template","DashboardComponent_Template_button_click_253_listener","DashboardComponent_div_264_Template","DashboardComponent_div_265_Template","DashboardComponent_Template_card_ultimas_entregas_abrirModalMapa_276_listener","DashboardComponent_Template_app_alertas_card_abrirModalMapa_287_listener","ɵɵpropertyInterpolate","currencyPipe","getRelatoriosDistancia","dataFinal","CodigoCLiente","latCadastro","latitudeCadastro","longCadastro","longitudeCadastro","latEntrega","latitudeEntrega","LongEntrega","longitudeEntrega","distanciaMetros","endereco","houveOcorrencia","Pedidos","nf","Notas","valorNFs","ValorNFs","valorTotal","ValorTotal","peso","roteirosPorData","roteirosPorDataFiltrado","pos","ordemRecebida","rotasPlanejadas","getOrdemPlanejadaDeEntrega","idRoteiroPedido","roteiroRecebido","roteiroPorCliente","rotasOrdenadasPorCliente","ordemReal","rowsComIndice","getRelatoriosOcorrencia","getRelatoriosMotorista","motorista","distPlanejada","distPercorrida","entregas","inicioTrabalho","finalTrabalho","getMotoristasOcorrencias","getOcorrenciasDetalhes","codigoOcorrencia","motivo","verificaMensagem","Mensagem","post","ordem","ordemFiltrada","cod","_id","_rot","_cod","indiceRotasPlanejadas","rotasPlanejada","intervaloEntregaPorCliente","dataUTC","DtChegada","empOrigem","EmpresaOrigem","dtChegada","horaChegada","HoraChegada","inicioEntrega","InicioEntrega","fimEntrega","FimEntrega","intervaloEntrega","IntervaloEntrega","qtdePedidos","QtdePedidos","jornadaTrabalhoMotorista","diasTrabalhados","DiasTrabalhados","totalDeHoras","TotalHoras","mediaHoraDia","MediaHoras","totalDePausa","TotalPausa","kmRodado","TotalKm","totalRoteiro","TotalRoteiros","totalPedidos","TotalEntregas","totalVlPedidos","TotalValores","formaDePagamento","formaPagamentoOrigin","formaPagamentoEfetuada","valorPedido","dataPedido","situacaoPedido","DescricaoStatusEntrega","empresas","getVersaoAtualAplicativoTransp","patchTransp","date","primeiroDia","getFullYear","toLocaleString","ultimoDia","editPrimeroDia","editUltimoDia","_this24","contadorPedEntregues","contadorPedRecusados","contadorPedPendentes","DetalheEntregaColetaComponent_div_1_div_11_img_2_Template","dadosEntregas","DetalheEntregaColetaComponent_div_1_tr_46_Template_tr_click_0_listener","_r15","itemPedido_r10","DetalheEntregaColetaComponent_div_1_tr_46_img_4_Template","DetalheEntregaColetaComponent_div_1_tr_46_img_5_Template","DetalheEntregaColetaComponent_div_1_tr_46_img_6_Template","CodigoVendedor","DetalheEntregaColetaComponent_div_1_div_7_Template","DetalheEntregaColetaComponent_div_1_div_8_Template","DetalheEntregaColetaComponent_div_1_div_9_Template","DetalheEntregaColetaComponent_div_1_div_11_Template","DetalheEntregaColetaComponent_div_1_Template_div_click_13_listener","DetalheEntregaColetaComponent_div_1_div_28_Template","DetalheEntregaColetaComponent_div_1_tr_46_Template","contadorColEntregues","contadorColRecusados","contadorColPendentes","DetalheEntregaColetaComponent_div_3_tr_45_Template_tr_click_0_listener","_r27","itemColeta_r22","DetalheEntregaColetaComponent_div_3_tr_45_img_3_Template","DetalheEntregaColetaComponent_div_3_tr_45_img_4_Template","DetalheEntregaColetaComponent_div_3_tr_45_img_5_Template","DetalheEntregaColetaComponent_div_3_div_8_Template","DetalheEntregaColetaComponent_div_3_div_9_Template","DetalheEntregaColetaComponent_div_3_div_10_Template","DetalheEntregaColetaComponent_div_3_Template_div_click_13_listener","DetalheEntregaColetaComponent_div_3_tr_45_Template","dadosColetas","coletas","getPedidosEntregues","getPedidosRecusados","getPedidosPendentes","getColetasEntregues","getColetasRecusados","getColetasPendentes","Entrega","total","mostrarPopDetalhesPedido","itemPedido","DetalheEntregaColetaComponent_Template","DetalheEntregaColetaComponent_div_1_Template","DetalheEntregaColetaComponent_app_popup_detalhes_pedido_2_Template","DetalheEntregaColetaComponent_div_3_Template","DistanciaDashboardCardComponent_Template","DistanciaRoteiroCardComponent_Template","ɵɵnamespaceHTML","item_r3","cd_gerencia","descricao","equips_r5","cd_equipe","descEquipe","motoristas_r7","cd_motorista","headerFilterService","getListaGerentes","respListaGerentes","listaGerentes","slcGerentes","gerenteSelecionado","onChangeObjGerentes","getEquipePorGerente","respListaEquipesPorGerente","listaEquipesPorGerente","slcEquipePorGerente","equipePorGerenteSelecionado","onChangeObjEquipesPorGerente","getMotoristas","respListaMotoristas","listaMotoristas","slcMotoristas","motoristaSelecionado","onChangeObjMotoristas","resposta","HeaderFilterComponent_Template","HeaderFilterComponent_Template_select_ngModelChange_12_listener","HeaderFilterComponent_option_13_Template","HeaderFilterComponent_Template_select_ngModelChange_14_listener","HeaderFilterComponent_option_15_Template","HeaderFilterComponent_Template_select_ngModelChange_16_listener","HeaderFilterComponent_option_17_Template","HeaderFilterComponent_Template_button_click_21_listener","getGerente","respGerente","getListaEquipes","getListaMotoristas","respMotoristas","dataUltimaInformacao","boxInfoTruckService","controlStatusService","canSeeConfig","carregarRoteiroMapa","onChangeObj","option","eAux","ResultRotaBinConvert","ResultadoRota","resultadosRotas","eval","ResultadoRotaAux","contemPontoFixo","visualizarRoteiroMapaAux","visualizarRoteiroMapa","MostrarOpcoesMenu","opt","mostrarLegendas","MainHeaderTruckComponent_Template","MainHeaderTruckComponent_div_17_Template","numeroRoteiroBuscaDetalhe","MainHeaderComponent_Template","MainHeaderComponent_Template_input_ngModelChange_12_listener","MainHeaderComponent_Template_button_click_13_listener","MainHeaderComponent_Template_a_click_22_listener","entregaIniciadaURL","emAbertoURL","voltoDepoisURL","comOcorrenciaURL","riscoAlagamento","noClienteURL","entregaParcialURL","riscoFurtoRoubo","entregueURL","naoEntregueURL","alertaDuploURL","mapControl","drawMap","chRef","cookieService","_drawActive","mostrarTabela","mapas","loadClass","mapaEscolhido","Map","MapView","container","center","zoom","popup","dockEnabled","dockOptions","buttonEnabled","breakpoint","visibleElements","closeButton","createElement","bgExpand","Expand","content","watch","activeBasemap","posicaoUltimoHifen","lastIndexOf","set","mobileSize","heightBreakpoint","widthBreakpoint","collapse","ui","iniLayers","hitTest","results","graphic","geometry","exibePopup","hasOwnProperty","style","cursor","centroid","openPopup","closePopup","getRouter","acessarRoteiro","loadGallery","baseMapGallery","ChangeDetectorRef","MapComponent_Query","MapComponent_Template_div_mouseenter_8_listener","MapComponent_Template_div_mouseleave_8_listener","MapComponent_div_11_Template","barChartData","chartType","dataTable","role","height","width","chartArea","left","top","hAxis","baselineColor","gridlines","textPosition","tooltip","textStyle","legend","isStacked","annotations","alwaysOutside","MotivosOcorrenciasDashboardCardComponent_Template","pieChartData","pieStartAngle","pieSliceTextStyle","fontSize","showColorCode","ignoreBounds","slices","maxLines","bold","italic","alignment","OcorrenciasDashborardCardComponent_Template","confirmarEvent","cancelar","confirmar","botaoFechar","botaoFecharExibir","botaoConfirmar","botaoConfirmarExibir","PopupAlertaComponent_Template","PopupAlertaComponent_Template_img_click_6_listener","PopupAlertaComponent_Template_button_click_13_listener","PopupAvisosNovidadesComponent_div_8_div_1_div_1_label_2_Template_label_click_0_listener","slide_r9","alteraPaginaSlide","Pagina","PopupAvisosNovidadesComponent_div_8_div_1_div_1_label_2_Template","slides","slide_r1","Url","Imagem","PopupAvisosNovidadesComponent_div_8_div_1_button_12_Template_button_click_0_listener","_r16","OnPressed","TxtBtn","PopupAvisosNovidadesComponent_div_8_div_1_div_1_Template","PopupAvisosNovidadesComponent_div_8_div_1_a_4_Template","PopupAvisosNovidadesComponent_div_8_div_1_ng_template_5_Template","PopupAvisosNovidadesComponent_div_8_div_1_button_12_Template","TextoPrincipal","Conteudo","SubConteudo","MostrarBtn","ConteudoFooter","PopupAvisosNovidadesComponent_div_8_div_1_Template","pagina","iniciaNovidades","download","obj","Titulo","clearInterval","randomPaginaSlide","novaUrl","urlAtual","self","PopupAvisosNovidadesComponent_Template","PopupAvisosNovidadesComponent_div_8_Template","horario_r3","option_r7","PopupConfigComponent_div_44_select_6_Template_select_change_0_listener","atualizarValorAlerta","PopupConfigComponent_div_44_select_6_option_1_Template","PopupConfigComponent_div_44_Template_label_change_1_listener","_r14","ctx_r13","updateAlerta","PopupConfigComponent_div_44_Template_input_ngModelChange_2_listener","PopupConfigComponent_div_44_select_6_Template","AlertaPainelID","mostraSelect","exibirTelefone","exibirTelefoneCliente","obrigaFinalizarRoteiroAntes","guardarFoto","solicitarAssinatura","idConfiguracaoGeral","listConfigGeral","horariosAtualizacoes","tempoMinutos","tempoAtualizacao","existeConfigTelefone","resp","addConfig","existeGuardarFoto","existeSolicitarAssinatura","existeConfigIcones","corPadraoIcone","existeListarPendentes","filtro","corEscolhidaIcone","conf","tmp","onResetarPosicoesClick","acaoConfirmar","isRefresh","alterarConfig","grupo","tipoDado","valorPadrao","Grupo","Descricao","ValorPadrao","TipoDado","addConfiguracaoGeral","getConfiguracaoGeralId","calculoCodigoAcesso","d","month","day","getDate","year","fecharConfigs","onChangeTempoAtualizacao","evento","trataAlertas","anterior","proximo","selecionaCampoSelect","selecionaCampoDescricao","VoltoDepoisOuEntregaRecusada","CercaEletronica","tipoAlerta","TempoDeDescarga","TempoDesconectado","TempoParado","DesvioDeRota","painelAlerta","novoValor","PopupConfigComponent_Template","PopupConfigComponent_Template_img_click_6_listener","PopupConfigComponent_Template_input_ngModelChange_16_listener","PopupConfigComponent_Template_input_change_16_listener","PopupConfigComponent_Template_input_ngModelChange_22_listener","PopupConfigComponent_Template_input_change_22_listener","PopupConfigComponent_Template_input_ngModelChange_28_listener","PopupConfigComponent_Template_input_change_28_listener","PopupConfigComponent_Template_select_ngModelChange_35_listener","PopupConfigComponent_option_36_Template","PopupConfigComponent_Template_button_click_40_listener","PopupConfigComponent_div_44_Template","PopupConfigComponent_Template_button_click_46_listener","PopupConfigComponent_popup_icones_51_Template","configuracoesGerais","EntregaFinalizada","PopupDadosRecebedorComponent_Template","PopupDadosRecebedorComponent_div_7_Template","PopupDadosRecebedorComponent_div_11_Template","PopupDadosRecebedorComponent_ng_template_12_Template","PopupDadosRecebedorComponent_Template_app_botao_primario_onPress_15_listener","cdProd","descricaoProduto","PopupDetalhesPedidoComponent_div_0_Template_img_click_6_listener","fecharModal","PopupDetalhesPedidoComponent_div_0_tr_17_Template","detalhesPedidoService","detalhesPedidos","PopupDetalhesPedidoComponent_Template","PopupDetalhesPedidoComponent_div_0_Template","legenda","corBorda","corPadrao","retornarCor","codigoDoIcone","iconesLegenda","reset","corBordaFunc","atualizaUrl","mudouDeCor","novaCor","PopupIconesRowComponent_Template","PopupIconesRowComponent_Template_button_colorPickerChange_12_listener","PopupIconesRowComponent_Template_button_colorPickerSelect_12_listener","PopupIconesRowComponent_div_18_Template","PopupIconesRowComponent_Template_button_click_20_listener","PopupIconesComponent_Template","styles","PopupJasperComponent_button_10_Template_button_click_0_listener","PopupJasperComponent_Template","PopupJasperComponent_img_7_Template","PopupJasperComponent_button_10_Template","PopupJasperComponent_Template_iframe_load_11_listener","carregandoRelatoriosJasper","ɵɵsanitizeResourceUrl","IdTipoVeiculo","OcorrenciaPedagioModel","tipoVeiculos","http","ocorrenciaPedagio","praca","criarFormulario","idPracaPegadio","globalThis","Empresa","IdPracaPedagio","ValorNovo","converteValor","ValorAntigo","DataOcorrencia","Pedagio","Observacoes","valorAntigo","numberString","replaceAll","number","parseFloat","onSubmit","pedagioOcorrencia","showErroOcorrencia","HttpClient","PopupOcorrenciaPedagioComponent_Template","PopupOcorrenciaPedagioComponent_Template_button_click_4_listener","PopupOcorrenciaPedagioComponent_Template_form_ngSubmit_10_listener","item_r5","CodCategoriaPedagio","veiculoDestaqueID","getIcone","ɵɵsanitizeHtml","tipoVeiculo","QuantidadeEixo","PopupPrecosPracaPedagioComponent_div_23_tr_13_Template","pracasPrecos","PopupPrecosPracaPedagioComponent_ng_template_24_div_0_Template","dataAtualizacao","truckInfoService","concesssionaria","displayAceitaTag","displayFreeFlow","displayOcAbertaAviso","idPracaPedagio","rodovia","porcTagDesconto","bypassSecurityTrustHtml","motocicletaPopup","auto2eixosPopup","auto3eixosPopup","auto4eixosPopup","caminhao2eixosPopup","caminhao3eixosPopup","caminhao4eixosPopup","caminhao5eixosPopup","caminhao6eixosPopup","atualizarDados","objPrecosPedagio","CategoriaPedagioID","atualizaListPracasPrecos","getDataAtualizacaoPraca","listaPrecos","itemPreco","categoriaPedagiosVeiculos","elememt","codCategoriaPedagio","dataApuracao","setDate","PopupPrecosPracaPedagioComponent_Template","PopupPrecosPracaPedagioComponent_Template_button_click_7_listener","PopupPrecosPracaPedagioComponent_div_23_Template","PopupPrecosPracaPedagioComponent_ng_template_24_Template","PopupPrecosPracaPedagioComponent_p_26_Template","PopupRelatoriosComponent_Template","QRCode","transportadora_r3","CdMotor","dadosChaveAcesso_r4","PopupTokensComponent_tr_81_ng_template_12_Template_input_ngModelChange_1_listener","_r18","inputDescricaoEdicao","validade","PopupTokensComponent_tr_81_ng_template_15_Template_input_ngModelChange_1_listener","validadeEdicao","PopupTokensComponent_tr_81_td_19_span_1_Template","PopupTokensComponent_tr_81_td_19_ng_template_2_Template","PopupTokensComponent_tr_81_ng_template_20_Template_input_ngModelChange_2_listener","switchAtivoEdicao","PopupTokensComponent_tr_81_Template_button_click_5_listener","gerarPDFQRCode","PopupTokensComponent_tr_81_Template_button_click_8_listener","editarChave","PopupTokensComponent_tr_81_td_11_Template","PopupTokensComponent_tr_81_ng_template_12_Template","PopupTokensComponent_tr_81_td_14_Template","PopupTokensComponent_tr_81_ng_template_15_Template","PopupTokensComponent_tr_81_ng_template_17_Template","PopupTokensComponent_tr_81_td_19_Template","PopupTokensComponent_tr_81_ng_template_20_Template","PopupTokensComponent_tr_81_Template_a_click_27_listener","ctx_r31","fecharEdicao","PopupTokensComponent_tr_81_Template_a_click_30_listener","ctx_r32","gravarEdicao","modoEdicao","cdMotor","token","tokenService","tokens","transportadoras","inputDescricao","switchAtivo","urlPortalTransportadora","comValidade","carregarTransp","carregarTokens","formatarData","desabilitaModoEdicao","consultaUltimaVersaoApp","getTokens","getTransportadoras","gerarChave","contemChaveTranspSelecionada","motorID","motorTranspSelecionado","MotorID","mostrarAvisoTransportadora","transpToken","geraToken","padStart","mes","ano","atualizaToken","indiceY","qrCodeData","getDataAtualFormatada","textWidth","getStringUnitWidth","internal","getFontSize","scaleFactor","textX","pageSize","toDataURL","err","qrCodeBase64","qrCodeWidth","qrCodeHeight","qrCodeX","qrCodeY","String","dataFormatada","copyToClipboard","navigator","clipboard","writeText","catch","abrirMapaTransportadora","urlTransportadora","PopupTokensComponent_Template","PopupTokensComponent_Template_button_click_9_listener","PopupTokensComponent_Template_a_click_17_listener","PopupTokensComponent_div_21_Template","PopupTokensComponent_Template_input_ngModelChange_29_listener","PopupTokensComponent_Template_input_ngModelChange_32_listener","PopupTokensComponent_Template_input_ngModelChange_37_listener","PopupTokensComponent_Template_select_ngModelChange_41_listener","PopupTokensComponent_option_42_Template","PopupTokensComponent_Template_input_ngModelChange_46_listener","PopupTokensComponent_Template_button_click_51_listener","PopupTokensComponent_tr_81_Template","transpTokenID","FormGroup","FormControl","of","FormularioRelatorioControlService","toFormGroup","input","validator","key","getFormFields","formulario","b","order","reportType","conjuntoRelatorios","formField_r2","form","formfieldService","formFields","formularioDados","getRawValue","entries","formatoRelatorio","pdf","controleModeloReport","excel","openJasperReport","criaUrlConexaoJasper","reportName","painelMotorista","reportFolder","reportName2","downloadWindow","checkDownload","closed","fechaModal","limpaEstadoRelatorios","FormularioRelatorioComponent_Template","FormularioRelatorioComponent_Template_form_ngSubmit_1_listener","FormularioRelatorioComponent_div_2_Template","FormularioRelatorioComponent_div_3_Template","FormularioRelatorioComponent_Template_button_click_8_listener","ɵɵpipeBind1","valid","FormField","controlType","InputRelatoriosComponent_div_2_small_3_Template","ɵɵattribute","opt_r10","InputRelatoriosComponent_div_3_small_3_Template","InputRelatoriosComponent_div_3_option_5_Template","opt_r12","InputRelatoriosComponent_div_6_div_6_Template","InputRelatoriosComponent_div_8_small_3_Template","InputRelatoriosComponent_div_8_Template_input_change_4_listener","atualizaDataInicial","dataInicial","msgAviso","InputRelatoriosComponent_div_9_small_3_Template","InputRelatoriosComponent_div_9_Template_input_change_4_listener","atualizaDataFinal","InputRelatoriosComponent_div_9_div_5_Template","controleDataValida","setDataFiltroPeriodo","numero","filtroData","controls","verificaPeriodoData","verificaPeriodoMaximo","umDiaMilissegundos","diferencaMilissegundos","diferencaDeDias","isValid","invalid","InputRelatoriosComponent_Template","InputRelatoriosComponent_div_2_Template","InputRelatoriosComponent_div_3_Template","InputRelatoriosComponent_div_4_Template","InputRelatoriosComponent_div_6_Template","InputRelatoriosComponent_div_7_Template","InputRelatoriosComponent_div_8_Template","InputRelatoriosComponent_div_9_Template","service","dashBoardService","empresaChaveValor","tipoRelatorio","defineInputsRelatorios","formArray","RoteiroEntregasClientePDF","RoteiroEntregasClienteEXCEL","OcorrenciasPDF","OcorrenciasEXCEL","RoteirosMotoristaPDF","RoteirosMotoristaEXCEL","OcorrenciasMotoristaPDF","OcorrenciasMotoristaEXCEL","RoteirosDiaPDF","RoteirosDiaEXCEL","TempoMedioEntregaClientePDF","TempoMedioEntregaClienteEXCEL","IntervaloEntregaClientePDF","IntervaloEntregaClienteEXCEL","JornadaTrabalhoMotoristaPDF","JornadaTrabalhoMotoristaEXCEL","FormaPagamentoPDF","FormaPagamentoEXCEL","CustoRoteiroPorEntregaPDF","CustoRoteiroPorEntregaExcel","OcorrenciasCustoExtraPDF","OcorrenciasCustoExtraEXCEL","ModalFormuilarioRelatoriosComponent_Template","ModalFormuilarioRelatoriosComponent_Template_button_click_6_listener","ModalFormuilarioRelatoriosComponent_Template_button_click_12_listener","RelatoriosDashboardCardComponent_div_2_button_4_Template_button_click_0_listener","RelatoriosDashboardCardComponent_div_2_button_4_Template","card","ordemPlanejada","arrayRelatorios","wopts","bookType","fileName","pastaJasper","mesInicio","anoInicio","formataDataMes","formataDataDia","val","args","RelatoriosDashboardCardComponent_Template","RelatoriosDashboardCardComponent_div_2_Template","RoteiroCardComponent_ng_template_10_img_0_Template","RoteiroCardComponent_ng_template_12_img_0_Template","tooltipTexto","placaVeiculo","formataPlacaVeiculo","RoteiroCardComponent_Template","RoteiroCardComponent_span_7_Template","RoteiroCardComponent_img_9_Template","RoteiroCardComponent_ng_template_10_Template","RoteiroCardComponent_ng_template_12_Template","RoteiroCardComponent_ng_template_14_Template","ɵɵpureFunction4","ocorrencia_r4","bgColor","img","qtdOcorrencia","RoteirosOcorrenciasDashboardCardComponent_div_1_tbody_16_Template_tr_click_1_listener","abrirOcorrencias","ocorrencia_r5","RoteirosOcorrenciasDashboardCardComponent_div_1_div_3_Template","RoteirosOcorrenciasDashboardCardComponent_div_1_tbody_16_Template","dadosOcorrencias","todaOcorrenciaFiltro","iniciaDadosOcorrencia","RoteirosOcorrenciasDashboardCardComponent_Template","RoteirosOcorrenciasDashboardCardComponent_div_1_Template","RoteirosOcorrenciasDashboardCardComponent_div_2_Template","JSLZString","StatusCoordenada","StatusRoteiro","CodigoAcaoEnum","dt","setMinutes","getMinutes","getTimezoneOffset","getUTCFullYear","getUTCHours","getSeconds","monthAux","dayAux","retornarDiaSemana","semana","getDay","lat1","lon1","lat2","lon2","R","dLat","deg2rad","dLon","sin","cos","c","atan2","sqrt","deg","PI","descricaoVeiculoEixo","categoriaPedagioID","obterDimensoesIconePorCategoria","largura","altura","DescricaoStatusCoordenada","formatarDocumento","formataDataFront","datasplit","formataDataBanco","secondsToHMS","secs","z","n","sign","abs","retornarHora","hora","getHours","minuto","retornarKm","retronarHoraString","control","dataMesAnterior","getUTCMonth","getUTCDate","dataString","verificaMes","verificarDia","setMonth","compress","compressToEncodedURIComponent","decompressFromEncodedURIComponent","strTempo","splitTempo","formataStringDataJasper","data1","data2","dt1","dt2","formData1","formData2","diferencaTempo","diferencaDias","HttpHeaders","instanceName","bodyDefault","restApiURL","toPromise","gerarToken","headers","restApiTransp","distribuidora","serverID","dbName","authKey","infoDia","BarDateComponent_Template","imagemBtn","modoDark","disabled","onPress","emitirEvento","BotaoPrimarioComponent_Template","BotaoPrimarioComponent_Template_button_click_0_listener","BotaoPrimarioComponent_img_1_Template","DataHorarioComponent_Template","tituloPrincipal","infoPrincipal","tituloSecundario","infoSecundario","centralizarTexto","DualInfoComponentComponent_Template","TextoLinkComponent_Template","TextoLinkComponent_img_1_Template","_currentState","stt","setDefaultOptions","loadModules","esriLoaderService","waitInterval","version","_Map","_Expand","_MapView","_RouteTask","_PictureMarkerSymbol","_graphic","_SimpleMarkerSymbol","_SimpleLineSymbol","_PopupTemplate","_Extent","_Point","_BasemapGallery","_Basemap","_Color","_SketchViewModel","_Polyline","_GraphicsLayer","_SpatialReference","_FeatureSet","_Config","_InfoWindow","_JsonUtils","_Edit","_WebMercatorUtils","_PointBarrier","_Polygon","RouteTask","SimpleMarkerSymbol","SimpleLineSymbol","PopupTemplate","Extent","Point","Color","SketchViewModel","Polyline","GraphicsLayer","SpatialReference","FeatureSet","EsriConfig","InfoWindow","JsonUtils","Edit","WebMercatorUtils","PointBarrier","Polygon","Promise","resolve","reject","DecimalPipe","linhaRota","pontoRota","listaPedagios","percentualDistancia","listaOcPedagioCriada","pointBarriers","polygonGraphicCerca","visualizadorLinhasPontos","createSymbol","client","tipoIcone","catPedagioID","dadosAlturaLargura","criarPontoRota","list","ultimaPosicao","listaDeAcoes","coordenadas","chave","len","acoes","infoTemplate","criarInfoTemplateRoteiro","acoesAux","iconeAcaoPopup","listaDeAcoesPorPedido","iconeAcaoPopupPorPedido","toLocaleTimeString","encodeURI","resetExtent","listaAux","acao","descricaoStatus","descricaoStatusAcao","exibir","criarInfoTemplateAcao","centralizarMapa","graphics","items","ID","removeGraphic","loadPoints","pt","spatialReference","criarInfoTemplate","popupTemplate","fixGraphicOrder","init","SelectedClients","setSymbol","toggleGraphicSelect","CDCLIENT","toggleSelect","shape","getDojoShape","selected","moveToFront","moveToBack","sendBack","layerNumber","remove","hideDisable","objs","extent","CheckExtent","point","xmax","xmin","ymax","ymin","leftCorrection","f","expand","selectClientsByExtent","contains","CurrentRouteGraphic","PontoInicial","CurrentRoute","graphicsLinhaPonto","graphicsRot","mudarVisaoMapa","setVisibility","contemPontosFixo","removeCercaEletronica","linhaRotaPlanejada","pedagio","servico","routeSymbol","cercaEletronica","insereCercaEletronica","newVersion","stops","mergedGeometry","paths","lngLatToXY","geometria","fromJSON","routes","routeResults","directions","lgnLong","webMercatorToGeographic","polylineJson","barreiras","elemento","xyToLngLat","geraSvgBarreiraa","pointSymbol","pointGraphic","polylineBarriers","path","polyline","polylineWM","geographicToWebMercator","polylineGraphic","polygonBarriers","rings","polygon","polygonWM","outline","polygonGraphic","gp","valorTotalPorPedagio","quantidadePassagemPegadio","IdRodovia","Km","CriaPontoPedagioMapa","Latitude1","Longitude1","exibePedagioMapa","pontosOriginal","pontoAnterior","dataFinalAnterior","caminhao","controladorCalculoDistancia","entregaAjudante","CoordAjudante","listaUltimaPosicao","parado","setHours","criarInfoTemplateRota","ChaveDispositivo","temAlerta","createSymbolRota","line","addPath","dataTemp","calculaTempoSemCoordenada","linha","createSymbolLinha","lineGraphic","dataPonto1","dataPonto2","lineSym","borda","pointSym","informacaoComplementarTemplate","ObjInformacoes","dtfinal","permanencia","altitude","speed","veiculoEmMovimento","bateriaCarregando","divAlerta","feature","div","padding","DATA","aviso","decimalPipe","valorFormatado","layoutListaAcoes","layoutAjudante","escondeLinha","NOME","NOMEFANTASIA","DOC","ENDERECO","BAIRRO","MUNICIPIO","CEP","LATITUDE","LONGITUDE","SYMBOLURLSTREET","CODIGO","CORPO","goTo","wait","clearTimeout","pontosMapa","removeAll","addMany","circuloComparar","qtdPassagemPedagio","vlEixo","Intl","NumberFormat","currency","format","ValorEixo","configuraIconePedagio","Praca","Concessionaria","Rodovia","Site","Logo","configuraTemplatePedagio","messagemPedagio","freeFlow","aceitaTag","contemOcAberta","IDPRACAPEDAGIO","ocAberta","htmlextra","LOGO","SITE","CONCESSIONARIA","RODOVIA","KM","VLEIXO","VALOR","PRACA","iconePedagio","criarPontoBarreira","pointBarrier","barrierType","curbApproach","fullEdge","name","gerapopUpBarreira","barreira","tipoBarreira","wkid","naoSanitizado","corIcone","alertaDuplo","regiaoRiscoIcon","voltoDepois","entrega","codAux","conversorCodigoAcao","REntrega","RVoltaDepois","RColeta","urlSanitizado","alterarConfigIcones","resetAll","padrao","pAux","pAux1","pAux2","aux1","aux2","usuarioJasper","senhaJasper","passwordjasper","objetoDeConexao","objJasper","DB","DbName","CONEXAO","IDServer","DTINICIO","DTFIM","CDEMP","NUROM","montaChaveValor","stringObj","caminhoRelatorio","nuRom","stringChaveValor","urlBaseJasper","toastr","success","ToastrService","dcPainelMensagens","avisosNovidades","retornarOrigem","valorFrete","cbChecked","getPointsRoute","dadosEmpresa","codigoEmpresa","indexItem","cdClient","cd_clien","_currentPoints","fixOrder","updateSequence","custoKM","qtdePontosParada","Name","Cumul_Kilometers","percCusto","custo","updateRoute","router","custoTotalKM","iconSvg","RotaClienteSel","RotaCliente","RotaClienteSelDashboard","RotaGPSCaminhao","RotaGPSCaminhaoMapaGeral","DashboardChegouCliente","DashboardIniciouEntrega","DashboardIniciouColeta","DashboardVoltaDepois","DashboardNaoEntrega","DashboardEntregaFinalizada","DashboardColetaFinalizada","RotaGPSAcao3","RotaGPSAcao4","RotaGPSAcao5","RotaGPSAcao6","RotaGPSAcao6a","RotaGPSAcao8","RotaGPSAcao9","RotaGPSAcao10","RotaGPSAcao13","RotaGPSAcao14","RotaGPSAcao15","RotaGPSAcao16","RotaGPSAcao17","RotaGPSAcao18","RotaGPSAcao19","RotaGPSAcao20","Odometro","RotaGPSAcaoColeta4","RotaGPSAcaoColeta5","RotaGPSAcaoColeta17","RotaGPSAcaoColeta15","motocicleta","auto2eixos","auto3eixos","auto4eixos","caminhao2eixos","caminhao3eixos","caminhao4eixos","caminhao5eixos","caminhao6eixos","icons","keys","vRPedido","vRHorario","vRFeriado","vRAgendada","vRRestricao","RRestricao","vPin","RPin","vRCritico","RCritico","opacidade","vRVoltaDepois","vRColeta","vREntrega","corTp","vRAlerta","RAlerta","countRs","desP","desH","desF","altF","desA","altA","svgString","base64Svg","imageUrl","limit","pure","corIndicador","porcetagem","CardStatusEntregasComponent_Template","statusDasEntregasService","atendidos","naoAtendidos","pendentes","strRoteiros","getStatusDeEntregas","dadosPedidos","atualizaTotalizadores","atualizaAtendidos","atualizaNaoAtendidos","atualizaEmAnalise","atualizaPendentes","listaFiltrada","StatusDasEntregasService","StatusDasEntregasComponent_Template","StatusDasEntregasComponent_div_6_Template","StatusDasEntregasComponent_div_7_Template","StatusDasEntregasComponent_div_8_Template","StatusDasEntregasComponent_div_9_Template","StatusDasEntregasComponent_div_10_Template","StatusDasEntregasComponent_div_11_Template","StatusRoteiroComponent_Template","pesoBruto","cubagem","veiculoCargaPeso","veiculoCubagem","vlKilometro","qtdeEixo","imagemPath","getTrucks","tiposVeiculo","status_r1","informacoesStatus","iniciaInformacoesStatus","InfoEntregasVisitaComponent_Template","InfoEntregasVisitaComponent_div_10_Template","info_r1","informacoesRoteiro","iniciaInfoRoteiro","InfoRoteiroVisitaComponent_Template","InfoRoteiroVisitaComponent_div_2_Template","msgLoading","horarioInicioRoteiro","acao_r14","StatusClienteVisitaComponent_ng_template_1_div_1_div_1_ng_template_25_div_0_div_1_span_2_Template","StatusClienteVisitaComponent_ng_template_1_div_1_div_1_ng_template_25_div_0_div_1_span_3_Template","image","StatusClienteVisitaComponent_ng_template_1_div_1_div_1_ng_template_25_div_0_div_1_Template","listaAcoesPorCliente","StatusClienteVisitaComponent_ng_template_1_div_1_div_1_ng_template_25_div_0_Template","StatusClienteVisitaComponent_ng_template_1_div_1_div_1_div_23_Template","StatusClienteVisitaComponent_ng_template_1_div_1_div_1_div_24_Template","StatusClienteVisitaComponent_ng_template_1_div_1_div_1_ng_template_25_Template","cliente_r5","expression","carregandoClientes","_r10","StatusClienteVisitaComponent_ng_template_1_div_1_Template_div_mouseenter_0_listener","exibirPopup","StatusClienteVisitaComponent_ng_template_1_div_1_Template_div_mouseleave_0_listener","esconderPopup","StatusClienteVisitaComponent_ng_template_1_div_1_div_1_Template","ultimoRoteiro","mostrarPopup","StatusClienteVisitaComponent_ng_template_1_div_0_Template","StatusClienteVisitaComponent_ng_template_1_div_1_Template","visitasService","dadosVisitas","numeroRoteiroAtual","iniciaClientes","clinteReduced","temCliente","getIconeBase64","bypassSecurityTrustUrl","dataParametro","horaFormatada","minutosFormatados","VisitasService","StatusClienteVisitaComponent_Template","StatusClienteVisitaComponent_div_0_Template","StatusClienteVisitaComponent_ng_template_1_Template","VisitasComponent_div_0_Template_div_click_2_listener","roteiro_r1","abrirRoteiro","i_r2","getVisitas","VisitasComponent_Template","VisitasComponent_div_0_Template","getRoteiro","production","esriApiURL","url_SvgService","path_Ocorrencia","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","array","field","roteirosDoDia","dateItem","numeroPedidoMatch","generalMatch"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}