Compare View

switch
from
...
to
 
Commits (6)
src/js/controller.js
1 angular.module('focaAdminSeguimiento').controller('focaAdminSeguimientoController', [ 1 angular.module('focaAdminSeguimiento').controller('focaAdminSeguimientoController', [
2 '$scope', '$timeout', 'focaAdminSeguimientoService', '$uibModal', 2 '$scope', '$timeout', 'focaAdminSeguimientoService', '$uibModal',
3 'focaBotoneraLateralService','$location', '$routeParams', 3 'focaBotoneraLateralService','$location', '$routeParams',
4 function($scope, $timeout, focaAdminSeguimientoService, $uibModal, 4 function($scope, $timeout, focaAdminSeguimientoService, $uibModal,
5 focaBotoneraLateralService, $location, $routeParams) { 5 focaBotoneraLateralService, $location, $routeParams) {
6 $scope.actividad = ''; 6 $scope.actividad = '';
7 $scope.titulo = ''; 7 $scope.titulo = '';
8 var cabecera = ''; 8 var cabecera = '';
9 var plural = ''; 9 var plural = '';
10 10
11 $scope.now = new Date(); 11 $scope.now = new Date();
12 $scope.dateOptions = { 12 $scope.dateOptions = {
13 maxDate: new Date() 13 maxDate: new Date()
14 }; 14 };
15 15
16 switch ($routeParams.parametro) { 16 switch ($routeParams.parametro) {
17 case 'nota-pedido': 17 case 'nota-pedido':
18 $scope.actividad = 'Nota de pedido'; 18 $scope.actividad = 'Nota de pedido';
19 $scope.titulo = 'Seguimiento de nota de pedido'; 19 $scope.titulo = 'Seguimiento de nota de pedido';
20 cabecera = 'Vendedor:'; 20 cabecera = 'Vendedor:';
21 plural = 'Vendedores'; 21 plural = 'Vendedores';
22 break; 22 break;
23 case 'hoja-ruta': 23 case 'hoja-ruta':
24 $scope.actividad = 'Entrega de producto'; 24 $scope.actividad = 'Entrega de producto';
25 $scope.titulo = 'Seguimiento de hoja de ruta'; 25 $scope.titulo = 'Seguimiento de hoja de ruta';
26 cabecera = 'Vehiculo:'; 26 cabecera = 'Vehiculo:';
27 plural = 'Vehiculos'; 27 plural = 'Vehiculos';
28 break; 28 break;
29 case 'cobranza': 29 case 'cobranza':
30 $scope.actividad = 'Cobranza'; 30 $scope.actividad = 'Cobranza';
31 $scope.titulo = 'Seguimiento de cobranza'; 31 $scope.titulo = 'Seguimiento de cobranza';
32 cabecera = 'Cobrador:'; 32 cabecera = 'Cobrador:';
33 plural = 'Cobradores'; 33 plural = 'Cobradores';
34 break; 34 break;
35 } 35 }
36 36
37 $scope.idUsuario = 0; 37 $scope.idUsuario = 0;
38 $scope.marcadores = []; 38 $scope.marcadores = [];
39 getSeguimiento(); 39 getSeguimiento();
40 40
41 //SETEO BOTONERA LATERAL 41 //SETEO BOTONERA LATERAL
42 focaBotoneraLateralService.showSalir(true); 42 focaBotoneraLateralService.showSalir(true);
43 focaBotoneraLateralService.showPausar(false); 43 focaBotoneraLateralService.showPausar(false);
44 focaBotoneraLateralService.showGuardar(false); 44 focaBotoneraLateralService.showGuardar(false);
45 45
46 $scope.general = function() { 46 $scope.general = function() {
47 $scope.idUsuario = 0; 47 $scope.idUsuario = 0;
48 getSeguimiento(); 48 getSeguimiento();
49 }; 49 };
50 50
51 $scope.individual = function() { 51 $scope.individual = function() {
52 $scope.idUsuario = -1; 52 $scope.idUsuario = -1;
53 }; 53 };
54 54
55 $scope.salir = function() { 55 $scope.salir = function() {
56 $location.path('/'); 56 $location.path('/');
57 }; 57 };
58 58
59 $scope.search = function(key) { 59 $scope.search = function(key) {
60 if (key === 13) { 60 if (key === 13) {
61 $scope.idUsuario = $scope.idUsuarioInput; 61 $scope.idUsuario = $scope.idUsuarioInput;
62 62
63 getSeguimiento(); 63 getSeguimiento();
64 if ($scope.actividad === 'Entrega de producto' && $scope.idUsuario !== 0) { 64 if ($scope.actividad === 'Entrega de producto' && $scope.idUsuario !== 0) {
65 focaAdminSeguimientoService.obtenerRemitosVehiculo($scope.idUsuario) 65 focaAdminSeguimientoService.obtenerRemitosVehiculo($scope.idUsuario)
66 .then(function(res) { 66 .then(function(res) {
67 var remitos = []; 67 var remitos = [];
68 for (var i = 0; i < res.data.length; i++) { 68 for (var i = 0; i < res.data.length; i++) {
69 remitos = remitos.concat(res.data[i].remitos); 69 remitos = remitos.concat(res.data[i].remitos);
70 } 70 }
71 $scope.remitosVehiculo = remitos; 71 $scope.remitosVehiculo = remitos;
72 }); 72 });
73 } 73 }
74 } 74 }
75 }; 75 };
76 76
77 $scope.fecha = function() { 77 $scope.fecha = function() {
78 getSeguimiento(); 78 getSeguimiento();
79 }; 79 };
80 80
81 $scope.showMarcadores = function() { 81 $scope.showMarcadores = function() {
82 var texto = ''; 82 var texto = '';
83 83
84 if ($scope.actividad === 'Nota de pedido') { 84 if ($scope.actividad === 'Nota de pedido') {
85 texto = 'Marcadores de notas de pedido'; 85 texto = 'Marcadores de notas de pedido';
86 } 86 }
87 87
88 if ($scope.actividad === 'Entrega de producto') { 88 if ($scope.actividad === 'Entrega de producto') {
89 texto = 'Marcadores de entregas'; 89 texto = 'Marcadores de entregas';
90 } 90 }
91 91
92 if ($scope.actividad === 'Cobranza') { 92 if ($scope.actividad === 'Cobranza') {
93 texto = 'Marcadores de cobranzas'; 93 texto = 'Marcadores de cobranzas';
94 } 94 }
95 95
96 96
97 var modalInstance = $uibModal.open( 97 var modalInstance = $uibModal.open(
98 { 98 {
99 ariaLabelledBy: texto, 99 ariaLabelledBy: texto,
100 templateUrl: 'foca-modal-marcadores.html', 100 templateUrl: 'foca-modal-marcadores.html',
101 controller: 'focaModalMarcadoresController', 101 controller: 'focaModalMarcadoresController',
102 size: 'lg', 102 size: 'lg',
103 resolve: { 103 resolve: {
104 parametros: function() { 104 parametros: function() {
105 var parametros = { 105 var parametros = {
106 marcadores: $scope.marcadores, 106 marcadores: $scope.marcadores,
107 actividad: $scope.actividad 107 actividad: $scope.actividad
108 }; 108 };
109 109
110 return parametros; 110 return parametros;
111 } 111 }
112 } 112 }
113 } 113 }
114 ); 114 );
115 115
116 modalInstance.result.then( 116 modalInstance.result.then(
117 function(localizacion) { 117 function(localizacion) {
118 $scope.$broadcast('moveMap', { 118 $scope.$broadcast('moveMap', {
119 latitud: localizacion.latitud, 119 latitud: localizacion.latitud,
120 longitud: localizacion.longitud, 120 longitud: localizacion.longitud,
121 indice: localizacion.indice 121 indice: localizacion.indice
122 }); 122 });
123 }, function() { 123 }, function() {
124 // funcion ejecutada cuando se cancela el modal 124 // funcion ejecutada cuando se cancela el modal
125 } 125 }
126 ); 126 );
127 }; 127 };
128 128
129 function getSeguimiento() { 129 function getSeguimiento() {
130 var now = $scope.now; 130 var now = $scope.now;
131 var hasta = angular.copy(now); 131 var hasta = angular.copy(now);
132 hasta.setDate(hasta.getDate() + 1); 132 hasta.setDate(hasta.getDate() + 1);
133 133
134 var datos = { 134 var datos = {
135 actividad: $scope.actividad, 135 actividad: $scope.actividad,
136 idUsuario: $scope.idUsuario, 136 idUsuario: $scope.idUsuario,
137 fechaDesde: now, 137 fechaDesde: now,
138 fechaHasta: hasta, 138 fechaHasta: hasta,
139 entregado: $scope.filtroEstado ? true : ($scope.filtroEstado !== undefined ? 139 entregado: $scope.filtroEstado ? true : ($scope.filtroEstado !== undefined ?
140 false : undefined) 140 false : undefined)
141 }; 141 };
142 142
143 $scope.datosBuscados = { 143 $scope.datosBuscados = {
144 actividad: $scope.actividad, 144 actividad: $scope.actividad,
145 individual: $scope.idUsuario !== 0 ? true : false 145 individual: $scope.idUsuario !== 0 ? true : false
146 }; 146 };
147 147
148 focaAdminSeguimientoService 148 focaAdminSeguimientoService
149 .obtenerActividad(datos) 149 .obtenerActividad(datos)
150 .then(function(datos) { 150 .then(function(datos) {
151 $scope.marcadores = datos.data; 151 $scope.marcadores = datos.data;
152 $scope.$broadcast('cleanCabecera'); 152 $scope.$broadcast('cleanCabecera');
153 153
154 if ($scope.idUsuario !== 0) { 154 if ($scope.idUsuario !== 0) {
155 $scope.$broadcast('addCabecera', { 155 $scope.$broadcast('addCabecera', {
156 label: 'Individual', 156 label: 'Individual',
157 valor: ''
158 });
157 valor: '' 159
158 }); 160 var valor = '';
159 161 switch ($routeParams.parametro) {
160 var valor = ''; 162 case 'nota-pedido':
161 switch ($routeParams.parametro) { 163 if (datos.data.length) {
162 case 'nota-pedido': 164 valor = datos.data[0].notaPedido.vendedor.NUM + ' - ' +
163 if (datos.data.length) { 165 datos.data[0].notaPedido.vendedor.NOM.trim();
164 valor = datos.data[0].notaPedido.vendedor.NUM + ' - ' + 166 } else {
165 datos.data[0].notaPedido.vendedor.NOM.trim(); 167 valor = $scope.idUsuario;
166 } else { 168 }
167 valor = $scope.idUsuario; 169 break;
168 } 170 case 'hoja-ruta':
169 break; 171 if (datos.data.length) {
170 case 'hoja-ruta': 172 valor = datos.data[0].hojaRutaMovimiento.remito.hojaRuta
171 if (datos.data.length) { 173 .vehiculo.codigo + ' - ' + datos.data[0]
172 valor = $scope.idUsuario + ' - ' + datos.data[0] 174 .hojaRutaMovimiento.remito.hojaRuta.vehiculo.tractor.trim();
173 .hojaRutaMovimiento.remito.hojaRuta.vehiculo.tractor.trim(); 175 } else {
174 } else { 176 valor = $scope.idUsuario;
175 valor = $scope.idUsuario; 177 }
176 } 178
177 179 break;
178 break; 180 case 'cobranza':
179 case 'cobranza': 181 if (datos.data.length) {
180 if (datos.data.length) { 182 valor = datos.data[0].recibo.cobrador.NUM + ' - ' +
181 valor = datos.data[0].recibo.cobrador.NUM + ' - ' + 183 datos.data[0].recibo.cobrador.NOM.trim();
182 datos.data[0].recibo.cobrador.NOM.trim(); 184 } else {
183 } else { 185 valor = $scope.idUsuario;
184 valor = $scope.idUsuario; 186 }
187 break;
188 }
189
190 $scope.$broadcast('addCabecera', {
191 label: cabecera,
192 valor: valor
193 });
194
195 } else {
196 $scope.$broadcast('addCabecera',{
197 label: 'General',
198 valor: ''
199 });
185 } 200 }
186 break; 201
187 } 202 $scope.$broadcast('addCabecera', {
188 203 label: 'Cantidad: ',
189 $scope.$broadcast('addCabecera', { 204 valor: datos.data.length + ' Marcadores'
190 label: cabecera, 205 });
191 valor: valor
192 });
193
194 } else {
195 $scope.$broadcast('addCabecera',{
src/js/modalController.js
1 angular.module('focaAdminSeguimiento').controller('focaModalMarcadoresController', [ 1 angular.module('focaAdminSeguimiento').controller('focaModalMarcadoresController', [
2 '$uibModalInstance', '$scope', '$filter', 'parametros', 2 '$uibModalInstance', '$scope', '$filter', 'parametros',
3 function($uibModalInstance, $scope, $filter, parametros) { 3 function($uibModalInstance, $scope, $filter, parametros) {
4 init(); 4 init();
5 5
6 $scope.selectPage = selectPage; 6 $scope.selectPage = selectPage;
7 7
8 $scope.select = function(marcador, indice) { 8 $scope.select = function(marcador, indice) {
9 $uibModalInstance.close({ 9 $uibModalInstance.close({
10 latitud: marcador.latitud, 10 latitud: marcador.latitud,
11 longitud: marcador.longitud, 11 longitud: marcador.longitud,
12 indice: indice 12 indice: indice
13 }); 13 });
14 }; 14 };
15 15
16 $scope.cancel = function() { 16 $scope.cancel = function() {
17 $uibModalInstance.dismiss('cancel'); 17 $uibModalInstance.dismiss('cancel');
18 }; 18 };
19 19
20 function init() { 20 function init() {
21 $scope.numPerPage = 10; 21 $scope.numPerPage = 10;
22 $scope.currentPage = 1; 22 $scope.currentPage = 1;
23 $scope.currentPageMarcadores = []; 23 $scope.currentPageMarcadores = [];
24 $scope.actividad = parametros.actividad; 24 $scope.actividad = parametros.actividad;
25 $scope.marcadores = arrayDatos(angular.copy(parametros.marcadores)); 25 $scope.marcadores = arrayDatos(angular.copy(parametros.marcadores));
26 26
27 $scope.lastPage = Math.ceil( 27 $scope.lastPage = Math.ceil(
28 $scope.marcadores.length / $scope.numPerPage 28 $scope.marcadores.length / $scope.numPerPage
29 ); 29 );
30 30
31 selectPage(1); 31 selectPage(1);
32 } 32 }
33 33
34 function selectPage(page) { 34 function selectPage(page) {
35 var start = (page - 1) * $scope.numPerPage; 35 var start = (page - 1) * $scope.numPerPage;
36 var end = start + $scope.numPerPage; 36 var end = start + $scope.numPerPage;
37 $scope.paginas = []; 37 $scope.paginas = [];
38 $scope.paginas = calcularPages(page); 38 $scope.paginas = calcularPages(page);
39 $scope.currentPageMarcadores = $scope.marcadores.slice(start, end); 39 $scope.currentPageMarcadores = $scope.marcadores.slice(start, end);
40 $scope.currentPage = page; 40 $scope.currentPage = page;
41 } 41 }
42 42
43 function calcularPages(paginaActual) { 43 function calcularPages(paginaActual) {
44 var paginas = []; 44 var paginas = [];
45 paginas.push(paginaActual); 45 paginas.push(paginaActual);
46 46
47 if (paginaActual - 1 > 1) { 47 if (paginaActual - 1 > 1) {
48 48
49 paginas.unshift(paginaActual - 1); 49 paginas.unshift(paginaActual - 1);
50 if (paginaActual - 2 > 1) { 50 if (paginaActual - 2 > 1) {
51 paginas.unshift(paginaActual - 2); 51 paginas.unshift(paginaActual - 2);
52 } 52 }
53 } 53 }
54 54
55 if (paginaActual + 1 < $scope.lastPage) { 55 if (paginaActual + 1 < $scope.lastPage) {
56 paginas.push(paginaActual + 1); 56 paginas.push(paginaActual + 1);
57 if (paginaActual + 2 < $scope.lastPage) { 57 if (paginaActual + 2 < $scope.lastPage) {
58 paginas.push(paginaActual + 2); 58 paginas.push(paginaActual + 2);
59 } 59 }
60 } 60 }
61 61
62 if (paginaActual !== 1) { 62 if (paginaActual !== 1) {
63 paginas.unshift(1); 63 paginas.unshift(1);
64 } 64 }
65 65
66 if (paginaActual !== $scope.lastPage) { 66 if (paginaActual !== $scope.lastPage) {
67 paginas.push($scope.lastPage); 67 paginas.push($scope.lastPage);
68 } 68 }
69 69
70 return paginas; 70 return paginas;
71 } 71 }
72 72
73 function arrayDatos(marcadores) { 73 function arrayDatos(marcadores) {
74 marcadores.reverse(); 74 marcadores.reverse();
75 75
76 for (var i = marcadores.length - 1; i >= 0; i--) { 76 for (var i = marcadores.length - 1; i >= 0; i--) {
77 var marcador = marcadores[i]; 77 var marcador = marcadores[i];
78 78
79 if (marcador.visita) { 79 if (marcador.visita) {
80 marcador.numero = '-';
81
82 marcador.cliente = $filter('rellenarDigitos')(
83 marcador.visitas.cliente.COD, 3) + ' - ' +
84 marcador.visitas.cliente.NOM;
85
86 } else if ($scope.actividad === 'Nota de pedido') {
80 marcador.numero = '-'; 87 marcador.numero = $filter('comprobante')([
81 88 marcador.notaPedido.sucursal,
82 marcador.cliente = $filter('rellenarDigitos')( 89 marcador.notaPedido.numeroNotaPedido
83 marcador.visitas.cliente.COD, 3) + ' - ' + 90 ]);
84 marcador.visitas.cliente.NOM; 91
85 92 marcador.cliente = $filter('rellenarDigitos')(
86 } else if ($scope.actividad === 'Nota de pedido') { 93 marcador.notaPedido.cliente.COD, 3) + ' - ' +
87 marcador.numero = $filter('comprobante')([ 94 marcador.notaPedido.cliente.NOM;
88 marcador.notaPedido.sucursal, 95 } else if ($scope.actividad === 'Cobranza') {
89 marcador.notaPedido.numeroNotaPedido
90 ]);
91
92 marcador.cliente = $filter('rellenarDigitos')(
93 marcador.notaPedido.cliente.COD, 3) + ' - ' +
94 marcador.notaPedido.cliente.NOM;
95 } else if ($scope.actividad === 'Cobranza') { 96 marcador.numero = $filter('comprobante')([
96 marcador.numero = $filter('comprobante')([ 97 marcador.recibo.PVE,
97 marcador.recibo.PVE, 98 marcador.recibo.NCO
98 marcador.recibo.NCO 99 ]);
99 ]); 100
100 101 marcador.cliente = $filter('rellenarDigitos')(
101 marcador.cliente = $filter('rellenarDigitos')( 102 marcador.recibo.CLI, 3) + ' - ' +
102 marcador.recibo.CLI, 3) + ' - ' + 103 marcador.recibo.CFE;
103 marcador.recibo.CFE; 104 }
104 } 105 }
src/js/osm-directive.js
1 angular.module('focaAdminSeguimiento').directive('osm', function() { 1 angular.module('focaAdminSeguimiento').directive('osm', function() {
2 return { 2 return {
3 restrict: 'E', 3 restrict: 'E',
4 link: function(scope, el, attrs) { 4 link: function(scope, el, attrs) {
5 var contenedor = document.createElement('div'); 5 var contenedor = document.createElement('div');
6 el.append(contenedor); 6 el.append(contenedor);
7 scope.map = L.map(contenedor).setView([attrs.latitud, attrs.longitud], attrs.zoom); 7 scope.map = L.map(contenedor).setView([attrs.latitud, attrs.longitud], attrs.zoom);
8 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(scope.map); 8 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(scope.map);
9 }, 9 },
10 controller: ['$scope', '$filter', function($scope, $filter) { 10 controller: ['$scope', '$filter', function($scope, $filter) {
11 $scope.markers = []; 11 $scope.markers = [];
12 $scope.$watch('marcadores', function() { 12 $scope.$watch('marcadores', function() {
13 for(var i in $scope.markers) { 13 for(var i in $scope.markers) {
14 $scope.map.removeLayer($scope.markers[i]); 14 $scope.map.removeLayer($scope.markers[i]);
15 } 15 }
16 16
17 $scope.markers = []; 17 $scope.markers = [];
18 var observacion = ''; 18 var observacion = '';
19 19
20 angular.forEach($scope.marcadores, function(marcador) { 20 angular.forEach($scope.marcadores, function(marcador) {
21 var icon = new L.Icon({ 21 var icon = new L.Icon({
22 iconUrl: 'img/marker-icon-2x-blue.png', 22 iconUrl: 'img/marker-icon-2x-blue.png',
23 shadowUrl: 'img/marker-shadow.png', 23 shadowUrl: 'img/marker-shadow.png',
24 iconSize: [25, 41], 24 iconSize: [25, 41],
25 iconAnchor: [12, 41], 25 iconAnchor: [12, 41],
26 popupAnchor: [1, -34], 26 popupAnchor: [1, -34],
27 shadowSize: [41, 41] 27 shadowSize: [41, 41]
28 }); 28 });
29 if ($scope.parametros.actividad === 'Nota de pedido') { 29 if ($scope.parametros.actividad === 'Nota de pedido') {
30 observacion = generarObservacion(getNotaPedido(marcador)); 30 observacion = generarObservacion(getNotaPedido(marcador));
31 } 31 }
32 32
33 if ($scope.parametros.actividad === 'Cobranza') { 33 if ($scope.parametros.actividad === 'Cobranza') {
34 observacion = getCobranza(marcador); 34 observacion = getCobranza(marcador);
35 } 35 }
36 36
37 if ($scope.parametros.actividad === 'Entrega de producto') { 37 if ($scope.parametros.actividad === 'Entrega de producto') {
38 observacion = getEntrega(marcador); 38 observacion = getEntrega(marcador);
39 if (marcador.hojaRutaMovimiento.remito.rechazado) { 39 if (marcador.hojaRutaMovimiento.remito.rechazado) {
40 icon = new L.Icon({ 40 icon = new L.Icon({
41 iconUrl: 'img/marker-icon-2x-yellow.png', 41 iconUrl: 'img/marker-icon-2x-yellow.png',
42 shadowUrl: 'img/marker-shadow.png', 42 shadowUrl: 'img/marker-shadow.png',
43 iconSize: [25, 41], 43 iconSize: [25, 41],
44 iconAnchor: [12, 41], 44 iconAnchor: [12, 41],
45 popupAnchor: [1, -34], 45 popupAnchor: [1, -34],
46 shadowSize: [41, 41] 46 shadowSize: [41, 41]
47 }); 47 });
48 } else { 48 } else {
49 icon = new L.Icon({ 49 icon = new L.Icon({
50 iconUrl: 'img/marker-icon-2x-green.png', 50 iconUrl: 'img/marker-icon-2x-green.png',
51 shadowUrl: 'img/marker-shadow.png', 51 shadowUrl: 'img/marker-shadow.png',
52 iconSize: [25, 41], 52 iconSize: [25, 41],
53 iconAnchor: [12, 41], 53 iconAnchor: [12, 41],
54 popupAnchor: [1, -34], 54 popupAnchor: [1, -34],
55 shadowSize: [41, 41] 55 shadowSize: [41, 41]
56 }); 56 });
57 } 57 }
58 } 58 }
59 59
60 if (marcador.visita) icon.options.iconUrl = 'img/marker-icon-2x-yellow.png';
61
60 if (marcador.visita) icon.options.iconUrl = 'img/marker-icon-2x-yellow.png'; 62 if (observacion) {
61 63 $scope.markers.push(
62 if (observacion) { 64 L.marker(
63 $scope.markers.push( 65 [marcador.latitud, marcador.longitud],
64 L.marker( 66 {icon: icon}).addTo($scope.map)
65 [marcador.latitud, marcador.longitud], 67 .bindPopup(observacion)
66 {icon: icon}).addTo($scope.map) 68 );
67 .bindPopup(observacion) 69
68 ); 70 $scope.markers[0].openPopup();
69 71 }
70 $scope.markers[0].openPopup(); 72 });
71 } 73
72 }); 74 function getNotaPedido(marcador) {
73 75 var observacion = [];
74 function getNotaPedido(marcador) { 76
75 var observacion = []; 77 if(marcador.visita) {
78 return getVisita(marcador);
79 } else if(!marcador.notaPedido.id) {
76 80 return false;
77 if(marcador.visita) { 81 }
78 return getVisita(marcador); 82
79 } else if(!marcador.notaPedido.id) { 83 var notaPedido = marcador.notaPedido;
80 return false; 84
81 } 85 if (notaPedido.vendedor) {
82 86 observacion.push([
83 var notaPedido = marcador.notaPedido; 87 'Vendedor',
84 88 notaPedido.vendedor.NUM + ' - ' + notaPedido.vendedor.NOM
85 if (notaPedido.vendedor) { 89 ]);
86 observacion.push([ 90 }
87 'Vendedor', 91
88 notaPedido.vendedor.NUM + ' - ' + notaPedido.vendedor.NOM 92
89 ]); 93 if (!$scope.parametros.individual) {
90 } 94 observacion.push(['Ultima Nota de Pedido', '']);
91 95 }
92 96
93 if (!$scope.parametros.individual) { 97 var textFecha = $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') +
94 observacion.push(['Ultima Nota de Pedido', '']); 98 ' ' + marcador.fecha.slice(11,19);
95 } 99 observacion.push(['Fecha', textFecha]);
96 100
97 var textFecha = $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + 101 observacion.push(['Nº',
98 ' ' + marcador.fecha.slice(11,19); 102 $filter('comprobante')([notaPedido.sucursal, notaPedido.numeroNotaPedido ])
99 observacion.push(['Fecha', textFecha]); 103 ]);
100 104
101 observacion.push(['Nº', 105 if (notaPedido.cliente) {
102 $filter('comprobante')([notaPedido.sucursal, notaPedido.numeroNotaPedido ]) 106 observacion.push(['Cliente', notaPedido.cliente.NOM]);
103 ]); 107 }
104 108
105 if (notaPedido.cliente) { 109 if ($scope.parametros.individual) {
106 observacion.push(['Cliente', notaPedido.cliente.NOM]); 110 observacion.push(['Total', $filter('currency')(notaPedido.total, '$')]);
107 } 111 observacion.unshift(['Orden', marcador.orden]);
108 112
109 if ($scope.parametros.individual) { 113 if (marcador.distancia) {
110 observacion.push(['Total', $filter('currency')(notaPedido.total, '$')]); 114 observacion.push(['Distancia a casa central',
111 observacion.unshift(['Orden', marcador.orden]); 115 marcador.distancia + 'km'
112 116 ]);
113 if (marcador.distancia) { 117 }
114 observacion.push(['Distancia a casa central', 118 } else {
115 marcador.distancia + 'km' 119 observacion.push(['Cantidad de nota de pedido',
116 ]); 120 marcador.cantidad
117 } 121 ]);
118 } else { 122
119 observacion.push(['Cantidad de nota de pedido', 123 observacion.push(['Total Vendido',
120 marcador.cantidad 124 $filter('currency')(marcador.total, '$')
121 ]); 125 ]);
122 126 }
123 observacion.push(['Total Vendido', 127
124 $filter('currency')(marcador.total, '$') 128 return observacion;
125 ]); 129 }
126 } 130
127 131 function getCobranza(marcador) {
132 if(marcador.visita) {
133 return generarObservacion(getVisita(marcador));
134 }
135
128 return observacion; 136 observacion = '';
129 } 137 observacion += 'Cobrador: ' + marcador.recibo.cobrador.NUM + ' - ' +
130 138 marcador.recibo.CFE + '<br/>';
131 function getCobranza(marcador) { 139
132 if(marcador.visita) { 140 if (!$scope.parametros.individual) {
133 return generarObservacion(getVisita(marcador)); 141 observacion += '<b>Ultima Cobranza</b><br/>';
134 } 142 }
135 143
136 observacion = ''; 144 observacion += 'Fecha: ' +
137 observacion += 'Cobrador: ' + marcador.recibo.cobrador.NUM + ' - ' + 145 $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' +
138 marcador.recibo.CFE + '<br/>'; 146 marcador.fecha.slice(11,19) + '<br/>';
139 147 observacion += 'Nº: ' + $filter('comprobante')([
140 if (!$scope.parametros.individual) { 148 marcador.recibo.PVE, marcador.recibo.NCO]) + '<br/>';
141 observacion += '<b>Ultima Cobranza</b><br/>'; 149 observacion += 'Cliente: ' + marcador.recibo.cliente.NOM + '<br/>';
142 } 150 var totalCobrado = 0;
143 151 for (var i = 0; i < marcador.recibo.cuerpos.length; i++) {
144 observacion += 'Fecha: ' + 152 if (marcador.recibo.cuerpos[i].LOP === 'P') {
145 $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + 153 totalCobrado += marcador.recibo.cuerpos[i].IMP;
146 marcador.fecha.slice(11,19) + '<br/>'; 154 }
147 observacion += 'Nº: ' + $filter('comprobante')([ 155 }
148 marcador.recibo.PVE, marcador.recibo.NCO]) + '<br/>'; 156
149 observacion += 'Cliente: ' + marcador.recibo.cliente.NOM + '<br/>'; 157 if ($scope.parametros.individual) {
150 var totalCobrado = 0; 158 if (marcador.distancia) {
151 for (var i = 0; i < marcador.recibo.cuerpos.length; i++) { 159 observacion += 'Distancia a casa central: ' +
152 if (marcador.recibo.cuerpos[i].LOP === 'P') { 160 marcador.distancia + 'km' + '<br/>';
153 totalCobrado += marcador.recibo.cuerpos[i].IMP; 161 observacion += 'Total Cobrado: ' +
154 } 162 $filter('currency')(totalCobrado, '$');
155 } 163 }
156 164 } else {
157 if ($scope.parametros.individual) { 165 observacion += 'Cantidad de cobranzas: ' +
158 if (marcador.distancia) { 166 marcador.cantidad + '<br/>';
159 observacion += 'Distancia a casa central: ' + 167 observacion += 'Total Cobrado: ' +
160 marcador.distancia + 'km' + '<br/>'; 168 $filter('currency')(totalCobrado, '$');
161 observacion += 'Total Cobrado: ' + 169 }
162 $filter('currency')(totalCobrado, '$'); 170 return observacion;
163 } 171 }
164 } else { 172
165 observacion += 'Cantidad de cobranzas: ' + 173 function getEntrega(marcador) {
166 marcador.cantidad + '<br/>'; 174 var observacion = '';
167 observacion += 'Total Cobrado: ' + 175 var remito = marcador.hojaRutaMovimiento.remito;
168 $filter('currency')(totalCobrado, '$'); 176 observacion += 'Vehiculo: ' +
169 } 177 remito.hojaRuta.vehiculo.codigo + ' - ' +
170 return observacion; 178 remito.hojaRuta.vehiculo.tractor + '<br/>';
171 } 179 observacion += 'Transportista: ' +
172 180 remito.hojaRuta.transportista.NOM + '<br/>';
173 function getEntrega(marcador) { 181 observacion += 'Chofer: ' +
174 var observacion = ''; 182 remito.hojaRuta.chofer.nombre + '<br/>';
175 var remito = marcador.hojaRutaMovimiento.remito; 183 observacion += 'Hoja de ruta: ' + $filter('comprobante')([
176 observacion += 'Vehiculo: ' + 184 remito.hojaRuta.sucursal,
177 remito.hojaRuta.idVehiculo + ' - ' + 185 remito.hojaRuta.numeroHojaRuta
178 remito.hojaRuta.vehiculo.tractor + '<br/>'; 186 ]) + '<br/>';
179 observacion += 'Transportista: ' + 187
180 remito.hojaRuta.transportista.NOM + '<br/>'; 188 if (!$scope.parametros.individual) {
181 observacion += 'Chofer: ' + 189 observacion += '<b>Ultimo Remito</b><br/>';
182 remito.hojaRuta.chofer.nombre + '<br/>'; 190 }
183 observacion += 'Hoja de ruta: ' + $filter('comprobante')([ 191
184 remito.hojaRuta.sucursal, 192 observacion += 'Fecha: ' +
185 remito.hojaRuta.numeroHojaRuta 193 $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' +
186 ]) + '<br/>'; 194 marcador.fecha.slice(11,19) + '<br/>';
187 195
188 if (!$scope.parametros.individual) { 196 observacion += 'Nº: ' + $filter('comprobante')([
189 observacion += '<b>Ultimo Remito</b><br/>'; 197 remito.sucursal,
190 } 198 remito.numeroRemito
191 199 ]) + '<br/>';
192 observacion += 'Fecha: ' + 200 observacion += 'Cliente: ' +
193 $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + 201 remito.cliente.NOM + '<br/>';
194 marcador.fecha.slice(11,19) + '<br/>'; 202
195 203 if ($scope.parametros.individual) {
196 observacion += 'Nº: ' + $filter('comprobante')([ 204 // observacion += 'Producto: ' +
197 remito.sucursal, 205 // remito.articulosRemito[0].descripcion + '<br/>';
198 remito.numeroRemito 206 // observacion += 'Cantidad entregada: ' +
199 ]) + '<br/>'; 207 // remito.carga + '<br/>';
200 observacion += 'Cliente: ' + 208
201 remito.cliente.NOM + '<br/>'; 209 if (marcador.distancia) {
202 210 observacion += 'Distancia a casa central: ' + marcador.distancia +
203 if ($scope.parametros.individual) { 211 'km <br/>';
204 // observacion += 'Producto: ' + 212 }
205 // remito.articulosRemito[0].descripcion + '<br/>'; 213
206 // observacion += 'Cantidad entregada: ' + 214 observacion = 'Orden: ' + marcador.orden + '<br/>' + observacion;
207 // remito.carga + '<br/>'; 215 } else {
208 216 observacion += 'Cantidad de entregas: ' + marcador.cantidad;
209 if (marcador.distancia) { 217 }
210 observacion += 'Distancia a casa central: ' + marcador.distancia + 218 observacion += '<br/>';
211 'km <br/>'; 219 if (remito.rechazado) {
212 } 220 observacion += '<strong>Motivo del rechazo: ' + remito.motivoRechazo;
213 221 }
214 observacion = 'Orden: ' + marcador.orden + '<br/>' + observacion; 222
215 } else { 223 return observacion;
216 observacion += 'Cantidad de entregas: ' + marcador.cantidad; 224 }
217 } 225
226 function getVisita(marcador) {
227 var observacion = [];
228 var textFecha = $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') +
229 ' ' + marcador.fecha.slice(11,19);
230 var prospecto = marcador.visita.cliente.ES_PROS;
231 var tipoVisitante =
232 (marcador.visita.tipoVisitante) === 1 ? 'Vendedor' : 'Cobrador';
233 var visitante = marcador.visita.visitante.NUM + ' - ' +
234 marcador.visita.visitante.NOM;
235
236 observacion.push([tipoVisitante, visitante]);
237 observacion.push(['Fecha', textFecha]);
238 observacion.push(['Cliente', marcador.visita.cliente.NOM]);
239 observacion.push(['Es prospecto', (prospecto) ? 'Si' : 'No']);
240
241 return observacion;
242 }
243
218 observacion += '<br/>'; 244 function generarObservacion(array) {
219 if (remito.rechazado) { 245 var resultado = '';
220 observacion += '<strong>Motivo del rechazo: ' + remito.motivoRechazo; 246
221 } 247 for (var i = 0; i < array.length; i++) {
222 248 resultado += '<b>' + array[i][0] + ': </b>';
223 return observacion; 249 resultado += array[i][1];
224 } 250
225 251 if (i < (array.length - 1)) {
226 function getVisita(marcador) { 252 resultado += '<br/>';
227 var observacion = []; 253 }
228 var textFecha = $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + 254 }
229 ' ' + marcador.fecha.slice(11,19); 255
230 var prospecto = marcador.visita.cliente.ES_PROS; 256 return resultado;
231 var tipoVisitante = 257 }
232 (marcador.visita.tipoVisitante) === 1 ? 'Vendedor' : 'Cobrador'; 258 });
233 var visitante = marcador.visita.visitante.NUM + ' - ' + 259
234 marcador.visita.visitante.NOM; 260
235 261 $scope.$on('moveMap', function(evt, data) {
236 observacion.push([tipoVisitante, visitante]); 262 var center = new L.LatLng(data.latitud, data.longitud);
237 observacion.push(['Fecha', textFecha]); 263 $scope.map.flyTo(center, 11, {duration: 0.5});
238 observacion.push(['Cliente', marcador.visita.cliente.NOM]); 264 $scope.markers[data.indice].openPopup();
239 observacion.push(['Es prospecto', (prospecto) ? 'Si' : 'No']); 265 });
240 266 }],
241 return observacion; 267 scope: {
242 } 268 latitud: '=',
243 269 longitud: '=',
244 function generarObservacion(array) { 270 zoom: '=',
245 var resultado = ''; 271 marcadores: '=',
246 272 parametros: '='
247 for (var i = 0; i < array.length; i++) { 273 }
248 resultado += '<b>' + array[i][0] + ': </b>'; 274 };
249 resultado += array[i][1]; 275 });
250 276