Commit c6df5ebaa04346f007465dc160cd607794e60ddd
1 parent
262c826ac8
Exists in
master
and in
2 other branches
refactor seguimiento de cobranzas
Showing
1 changed file
with
12 additions
and
6 deletions
Show diff stats
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 | if ($scope.parametros.actividad === 'Nota de pedido') { | 21 | if ($scope.parametros.actividad === 'Nota de pedido') { |
22 | observacion = generarObservacion(getNotaPedido(marcador)); | 22 | observacion = generarObservacion(getNotaPedido(marcador)); |
23 | } | 23 | } |
24 | 24 | ||
25 | if ($scope.parametros.actividad === 'Cobranza') { | 25 | if ($scope.parametros.actividad === 'Cobranza') { |
26 | observacion = getCobranza(marcador); | 26 | observacion = getCobranza(marcador); |
27 | } | 27 | } |
28 | 28 | ||
29 | if ($scope.parametros.actividad === 'Entrega de producto') { | 29 | if ($scope.parametros.actividad === 'Entrega de producto') { |
30 | observacion = getEntrega(marcador); | 30 | observacion = getEntrega(marcador); |
31 | } | 31 | } |
32 | 32 | ||
33 | if (observacion) { | 33 | if (observacion) { |
34 | $scope.markers.push( | 34 | $scope.markers.push( |
35 | L.marker([marcador.latitud, marcador.longitud]).addTo($scope.map) | 35 | L.marker([marcador.latitud, marcador.longitud]).addTo($scope.map) |
36 | .bindPopup(observacion) | 36 | .bindPopup(observacion) |
37 | ); | 37 | ); |
38 | 38 | ||
39 | $scope.markers[0].openPopup(); | 39 | $scope.markers[0].openPopup(); |
40 | } | 40 | } |
41 | }); | 41 | }); |
42 | 42 | ||
43 | function getNotaPedido(marcador) { | 43 | function getNotaPedido(marcador) { |
44 | var observacion = []; | 44 | var observacion = []; |
45 | 45 | ||
46 | if (!marcador.notaPedido.id) { | 46 | if (!marcador.notaPedido.id) { |
47 | return false; | 47 | return false; |
48 | } | 48 | } |
49 | 49 | ||
50 | var notaPedido = marcador.notaPedido; | 50 | var notaPedido = marcador.notaPedido; |
51 | var textVendedor = notaPedido.idVendedor + ' - '; | 51 | var textVendedor = notaPedido.idVendedor + ' - '; |
52 | 52 | ||
53 | if (notaPedido.vendedor) { | 53 | if (notaPedido.vendedor) { |
54 | textVendedor += notaPedido.vendedor.NomVen; | 54 | textVendedor += notaPedido.vendedor.NomVen; |
55 | } | 55 | } |
56 | 56 | ||
57 | observacion.push(['Vendedor', textVendedor]); | 57 | observacion.push(['Vendedor', textVendedor]); |
58 | 58 | ||
59 | if (!$scope.parametros.individual) { | 59 | if (!$scope.parametros.individual) { |
60 | observacion.push(['Ultima Nota de Pedido', '']); | 60 | observacion.push(['Ultima Nota de Pedido', '']); |
61 | } | 61 | } |
62 | 62 | ||
63 | var textFecha = $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + | 63 | var textFecha = $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + |
64 | ' ' + marcador.fecha.slice(11,19); | 64 | ' ' + marcador.fecha.slice(11,19); |
65 | observacion.push(['Fecha', textFecha]); | 65 | observacion.push(['Fecha', textFecha]); |
66 | 66 | ||
67 | observacion.push(['Nº', | 67 | observacion.push(['Nº', |
68 | $filter('comprobante')([notaPedido.sucursal, notaPedido.numeroNotaPedido ]) | 68 | $filter('comprobante')([notaPedido.sucursal, notaPedido.numeroNotaPedido ]) |
69 | ]); | 69 | ]); |
70 | 70 | ||
71 | if (notaPedido.cliente) { | 71 | if (notaPedido.cliente) { |
72 | observacion.push(['Cliente', notaPedido.cliente.NOM]); | 72 | observacion.push(['Cliente', notaPedido.cliente.NOM]); |
73 | } | 73 | } |
74 | 74 | ||
75 | if ($scope.parametros.individual) { | 75 | if ($scope.parametros.individual) { |
76 | observacion.push(['Total', $filter('currency')(notaPedido.total, '$')]); | 76 | observacion.push(['Total', $filter('currency')(notaPedido.total, '$')]); |
77 | observacion.unshift(['Orden', marcador.orden]); | 77 | observacion.unshift(['Orden', marcador.orden]); |
78 | 78 | ||
79 | if (marcador.distancia) { | 79 | if (marcador.distancia) { |
80 | observacion.push(['Distancia a casa central', | 80 | observacion.push(['Distancia a casa central', |
81 | marcador.distancia + 'km' | 81 | marcador.distancia + 'km' |
82 | ]); | 82 | ]); |
83 | } | 83 | } |
84 | } else { | 84 | } else { |
85 | observacion.push(['Cantidad de nota de pedido', | 85 | observacion.push(['Cantidad de nota de pedido', |
86 | marcador.cantidad | 86 | marcador.cantidad |
87 | ]); | 87 | ]); |
88 | 88 | ||
89 | observacion.push(['Total Vendido', | 89 | observacion.push(['Total Vendido', |
90 | $filter('currency')(marcador.total, '$') | 90 | $filter('currency')(marcador.total, '$') |
91 | ]); | 91 | ]); |
92 | } | 92 | } |
93 | 93 | ||
94 | console.info(marcador, observacion); | 94 | console.info(marcador, observacion); |
95 | return observacion; | 95 | return observacion; |
96 | } | 96 | } |
97 | 97 | ||
98 | function getCobranza(marcador) { | 98 | function getCobranza(marcador) { |
99 | observacion += 'Cobrador: ' + marcador.recibo.cobrador.id + ' - ' + | 99 | observacion = ''; |
100 | observacion += 'Cobrador: ' + marcador.recibo.cobrador.CodVen + ' - ' + | ||
100 | marcador.recibo.CFE + '<br/>'; | 101 | marcador.recibo.CFE + '<br/>'; |
101 | 102 | ||
102 | if (!$scope.parametros.individual) { | 103 | if (!$scope.parametros.individual) { |
103 | observacion += '<b>Ultima Cobranza</b><br/>'; | 104 | observacion += '<b>Ultima Cobranza</b><br/>'; |
104 | } | 105 | } |
105 | 106 | ||
106 | observacion += 'Fecha: ' + | 107 | observacion += 'Fecha: ' + |
107 | $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + | 108 | $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + |
108 | marcador.fecha.slice(11,19) + '<br/>'; | 109 | marcador.fecha.slice(11,19) + '<br/>'; |
109 | observacion += 'Nº: ' + $filter('comprobante')([ | 110 | observacion += 'Nº: ' + $filter('comprobante')([ |
110 | marcador.sucursal, marcador.idUsuario]) + '<br/>'; | 111 | marcador.recibo.PVE, marcador.recibo.NCO]) + '<br/>'; |
111 | observacion += 'Cliente: ' + marcador.recibo.cliente.NOM + '<br/>'; | 112 | observacion += 'Cliente: ' + marcador.recibo.cliente.NOM + '<br/>'; |
113 | var totalCobrado = 0; | ||
114 | for (var i = 0; i < marcador.recibo.facturas.length; i++) { | ||
115 | if (marcador.recibo.facturas[i].LOP === 'P') { | ||
116 | totalCobrado += marcador.recibo.facturas[i].IMP; | ||
117 | } | ||
118 | } | ||
112 | 119 | ||
113 | if ($scope.parametros.individual) { | 120 | if ($scope.parametros.individual) { |
114 | if (marcador.distancia) { | 121 | if (marcador.distancia) { |
115 | observacion += 'Distancia a casa central: ' + | 122 | observacion += 'Distancia a casa central: ' + |
116 | marcador.distancia + 'km' + '<br/>'; | 123 | marcador.distancia + 'km' + '<br/>'; |
117 | observacion += 'Total Cobrado: ' + | 124 | observacion += 'Total Cobrado: ' + |
118 | $filter('currency')(marcador.factura.IPA, '$'); | 125 | $filter('currency')(totalCobrado, '$'); |
119 | } | 126 | } |
120 | } else { | 127 | } else { |
121 | observacion += 'Cantidad de cobranzas: ' + | 128 | observacion += 'Cantidad de cobranzas: ' + |
122 | marcador.cantidad + '<br/>'; | 129 | marcador.cantidad + '<br/>'; |
123 | observacion += 'Total Cobrado: ' + | 130 | observacion += 'Total Cobrado: ' + |
124 | $filter('currency')(marcador.factura.IPA, '$'); | 131 | $filter('currency')(totalCobrado, '$'); |
125 | } | 132 | } |
126 | |||
127 | return observacion; | 133 | return observacion; |
128 | } | 134 | } |
129 | 135 | ||
130 | function getEntrega(marcador) { | 136 | function getEntrega(marcador) { |
131 | var observacion = ''; | 137 | var observacion = ''; |
132 | var remito = marcador.hojaRutaMovimiento.remito; | 138 | var remito = marcador.hojaRutaMovimiento.remito; |
133 | observacion += 'Vehiculo: ' + | 139 | observacion += 'Vehiculo: ' + |
134 | remito.hojaRuta.idVehiculo + ' - ' + | 140 | remito.hojaRuta.idVehiculo + ' - ' + |
135 | remito.hojaRuta.vehiculo.tractor + '<br/>'; | 141 | remito.hojaRuta.vehiculo.tractor + '<br/>'; |
136 | observacion += 'Transportista: ' + | 142 | observacion += 'Transportista: ' + |
137 | remito.hojaRuta.transportista.NOM + '<br/>'; | 143 | remito.hojaRuta.transportista.NOM + '<br/>'; |
138 | observacion += 'Chofer: ' + | 144 | observacion += 'Chofer: ' + |
139 | remito.hojaRuta.chofer.nombre + '<br/>'; | 145 | remito.hojaRuta.chofer.nombre + '<br/>'; |
140 | observacion += 'Hoja de ruta: ' + $filter('comprobante')([ | 146 | observacion += 'Hoja de ruta: ' + $filter('comprobante')([ |
141 | remito.hojaRuta.sucursal, | 147 | remito.hojaRuta.sucursal, |
142 | remito.hojaRuta.numeroHojaRuta | 148 | remito.hojaRuta.numeroHojaRuta |
143 | ]) + '<br/>'; | 149 | ]) + '<br/>'; |
144 | 150 | ||
145 | if (!$scope.parametros.individual) { | 151 | if (!$scope.parametros.individual) { |
146 | observacion += '<b>Ultimo Remito</b><br/>'; | 152 | observacion += '<b>Ultimo Remito</b><br/>'; |
147 | } | 153 | } |
148 | 154 | ||
149 | observacion += 'Fecha: ' + | 155 | observacion += 'Fecha: ' + |
150 | $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + | 156 | $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + |
151 | marcador.fecha.slice(11,19) + '<br/>'; | 157 | marcador.fecha.slice(11,19) + '<br/>'; |
152 | 158 | ||
153 | observacion += 'Nº: ' + $filter('comprobante')([ | 159 | observacion += 'Nº: ' + $filter('comprobante')([ |
154 | remito.sucursal, | 160 | remito.sucursal, |
155 | remito.numeroRemito | 161 | remito.numeroRemito |
156 | ]) + '<br/>'; | 162 | ]) + '<br/>'; |
157 | observacion += 'Cliente: ' + | 163 | observacion += 'Cliente: ' + |
158 | remito.cliente.NOM + '<br/>'; | 164 | remito.cliente.NOM + '<br/>'; |
159 | 165 | ||
160 | if ($scope.parametros.individual) { | 166 | if ($scope.parametros.individual) { |
161 | observacion += 'Producto: ' + | 167 | observacion += 'Producto: ' + |
162 | remito.articulosRemito[0].descripcion + '<br/>'; | 168 | remito.articulosRemito[0].descripcion + '<br/>'; |
163 | observacion += 'Cantidad entregada: ' + | 169 | observacion += 'Cantidad entregada: ' + |
164 | remito.carga + '<br/>'; | 170 | remito.carga + '<br/>'; |
165 | 171 | ||
166 | if (marcador.distancia) { | 172 | if (marcador.distancia) { |
167 | observacion += 'Distancia a casa central: ' + marcador.distancia + | 173 | observacion += 'Distancia a casa central: ' + marcador.distancia + |
168 | 'km <br/>'; | 174 | 'km <br/>'; |
169 | } | 175 | } |
170 | 176 | ||
171 | if (marcador.observaciones) { | 177 | if (marcador.observaciones) { |
172 | observacion += 'Observaciones: ' + marcador.observaciones; | 178 | observacion += 'Observaciones: ' + marcador.observaciones; |
173 | } | 179 | } |
174 | observacion = 'Orden: ' + marcador.orden + '<br/>' + observacion; | 180 | observacion = 'Orden: ' + marcador.orden + '<br/>' + observacion; |
175 | } else { | 181 | } else { |
176 | observacion += 'Cantidad de entregas: ' + marcador.cantidad; | 182 | observacion += 'Cantidad de entregas: ' + marcador.cantidad; |
177 | } | 183 | } |
178 | 184 | ||
179 | return observacion; | 185 | return observacion; |
180 | } | 186 | } |
181 | 187 | ||
182 | function generarObservacion(array) { | 188 | function generarObservacion(array) { |
183 | var resultado = ''; | 189 | var resultado = ''; |
184 | 190 | ||
185 | for (var i = 0; i < array.length; i++) { | 191 | for (var i = 0; i < array.length; i++) { |
186 | resultado += '<b>' + array[i][0] + ': </b>'; | 192 | resultado += '<b>' + array[i][0] + ': </b>'; |
187 | resultado += array[i][1]; | 193 | resultado += array[i][1]; |
188 | 194 | ||
189 | if (i < (array.length - 1)) { | 195 | if (i < (array.length - 1)) { |
190 | resultado += '<br/>'; | 196 | resultado += '<br/>'; |
191 | } | 197 | } |
192 | } | 198 | } |
193 | 199 | ||
194 | return resultado; | 200 | return resultado; |
195 | } | 201 | } |
196 | }); | 202 | }); |
197 | }], | 203 | }], |
198 | scope: { | 204 | scope: { |
199 | latitud: '=', | 205 | latitud: '=', |
200 | longitud: '=', | 206 | longitud: '=', |
201 | zoom: '=', | 207 | zoom: '=', |
202 | marcadores: '=', | 208 | marcadores: '=', |
203 | parametros: '=' | 209 | parametros: '=' |
204 | } | 210 | } |
205 | }; | 211 | }; |
206 | }); | 212 | }); |