Commit f75c84fd8903dfeddf04d15a17cca20b342104eb

Authored by Jose Pinto
Exists in master and in 1 other branch develop

Merge remote-tracking branch 'upstream/master'

src/js/controller.js
... ... @@ -37,7 +37,7 @@ angular.module('focaAdminSeguimiento') .controller('focaAdminSeguimientoControll
37 37 label: 'General',
38 38 valor: ''
39 39 });
40   - })
  40 + });
41 41  
42 42 //SETEO BOTONERA LATERAL
43 43 focaBotoneraLateralService.showSalir(true);
src/js/osm-directive.js
... ... @@ -15,134 +15,184 @@ angular.module('focaAdminSeguimiento').directive('osm', function() {
15 15 }
16 16  
17 17 $scope.markers = [];
  18 + var observacion = '';
  19 +
18 20 angular.forEach($scope.marcadores, function(marcador) {
19   - var observacion = '';
20   -
21 21 if ($scope.parametros.actividad === 'Nota de pedido') {
22   - observacion +=
23   - 'Vendedor: ' + marcador.notaPedido.idVendedor + ' - ' +
24   - (
25   - marcador.notaPedido.vendedor ?
26   - marcador.notaPedido.vendedor.NomVen :
27   - ''
28   - ) + '<br/>';
29   -
30   - if (!$scope.parametros.individual) {
31   - observacion += '<b>Ultima Nota de Pedido</b><br/>';
32   - }
33   - observacion += 'Fecha: ' +
34   - $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' +
35   - marcador.fecha.slice(11,19) + '<br/>';
36   - observacion += 'Nº: ' + $filter('comprobante')([
37   - marcador.notaPedido.sucursal,
38   - marcador.notaPedido.numeroNotaPedido
39   - ]) + '<br/>';
40   - observacion += 'Cliente: ' +
41   - marcador.notaPedido.cliente.NOM + '<br/>';
42   -
43   - if ($scope.parametros.individual) {
44   - observacion +=
45   - 'Total: ' + $filter('currency')(marcador.notaPedido.total, '$');
46   - observacion = 'Orden: ' + marcador.orden + '<br/>' + observacion;
47   -
48   - if (marcador.distancia) {
49   - observacion += '<br/>Distancia a casa central: ' +
50   - marcador.distancia + 'km';
51   - }
52   - } else {
53   - observacion += 'Cantidad de nota de pedido: ' +
54   - marcador.cantidad + '<br/>';
55   - observacion += 'Total Vendido: ' +
56   - $filter('currency')(marcador.total, '$');
57   - }
  22 + observacion = generarObservacion(getNotaPedido(marcador));
58 23 }
59 24  
60 25 if ($scope.parametros.actividad === 'Cobranza') {
61   - observacion += 'Cobrador: ' + marcador.recibo.cobrador.id + ' - ' +
62   - marcador.recibo.CFE + '<br/>';
  26 + observacion = getCobranza(marcador);
  27 + }
  28 +
  29 + if ($scope.parametros.actividad === 'Entrega de producto') {
  30 + observacion = getEntrega(marcador);
  31 + }
  32 +
  33 + if (observacion) {
  34 + $scope.markers.push(
  35 + L.marker([marcador.latitud, marcador.longitud]).addTo($scope.map)
  36 + .bindPopup(observacion)
  37 + );
  38 +
  39 + $scope.markers[0].openPopup();
  40 + }
  41 + });
63 42  
64   - if (!$scope.parametros.individual) {
65   - observacion += '<b>Ultima Cobranza</b><br/>';
  43 + function getNotaPedido(marcador) {
  44 + var observacion = [];
  45 +
  46 + if (!marcador.notaPedido.id) {
  47 + return false;
  48 + }
  49 +
  50 + var notaPedido = marcador.notaPedido;
  51 + var textVendedor = notaPedido.idVendedor + ' - ';
  52 +
  53 + if (notaPedido.vendedor) {
  54 + textVendedor += notaPedido.vendedor.NomVen;
  55 + }
  56 +
  57 + observacion.push(['Vendedor', textVendedor]);
  58 +
  59 + if (!$scope.parametros.individual) {
  60 + observacion.push(['Ultima Nota de Pedido', '']);
  61 + }
  62 +
  63 + var textFecha = $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') +
  64 + ' ' + marcador.fecha.slice(11,19);
  65 + observacion.push(['Fecha', textFecha]);
  66 +
  67 + observacion.push(['Nº',
  68 + $filter('comprobante')([notaPedido.sucursal, notaPedido.numeroNotaPedido ])
  69 + ]);
  70 +
  71 + if (notaPedido.cliente) {
  72 + observacion.push(['Cliente', notaPedido.cliente.NOM]);
  73 + }
  74 +
  75 + if ($scope.parametros.individual) {
  76 + observacion.push(['Total', $filter('currency')(notaPedido.total, '$')]);
  77 + observacion.unshift(['Orden', marcador.orden]);
  78 +
  79 + if (marcador.distancia) {
  80 + observacion.push(['Distancia a casa central',
  81 + marcador.distancia + 'km'
  82 + ]);
66 83 }
  84 + } else {
  85 + observacion.push(['Cantidad de nota de pedido',
  86 + marcador.cantidad
  87 + ]);
  88 +
  89 + observacion.push(['Total Vendido',
  90 + $filter('currency')(marcador.total, '$')
  91 + ]);
  92 + }
  93 +
  94 + console.info(marcador, observacion);
  95 + return observacion;
  96 + }
  97 +
  98 + function getCobranza(marcador) {
  99 + observacion += 'Cobrador: ' + marcador.recibo.cobrador.id + ' - ' +
  100 + marcador.recibo.CFE + '<br/>';
  101 +
  102 + if (!$scope.parametros.individual) {
  103 + observacion += '<b>Ultima Cobranza</b><br/>';
  104 + }
67 105  
68   - observacion += 'Fecha: ' +
69   - $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' +
70   - marcador.fecha.slice(11,19) + '<br/>';
71   - observacion += 'Nº: ' + $filter('comprobante')([
72   - marcador.sucursal, marcador.idUsuario]) + '<br/>';
73   - observacion += 'Cliente: ' + marcador.recibo.cliente.NOM + '<br/>';
74   -
75   - if ($scope.parametros.individual) {
76   - if (marcador.distancia) {
77   - observacion += 'Distancia a casa central: ' +
78   - marcador.distancia + 'km' + '<br/>';
79   - observacion += 'Total Cobrado: ' +
80   - $filter('currency')(marcador.factura.IPA, '$');
81   - }
82   - } else {
83   - observacion += 'Cantidad de cobranzas: ' +
84   - marcador.cantidad + '<br/>';
  106 + observacion += 'Fecha: ' +
  107 + $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' +
  108 + marcador.fecha.slice(11,19) + '<br/>';
  109 + observacion += 'Nº: ' + $filter('comprobante')([
  110 + marcador.sucursal, marcador.idUsuario]) + '<br/>';
  111 + observacion += 'Cliente: ' + marcador.recibo.cliente.NOM + '<br/>';
  112 +
  113 + if ($scope.parametros.individual) {
  114 + if (marcador.distancia) {
  115 + observacion += 'Distancia a casa central: ' +
  116 + marcador.distancia + 'km' + '<br/>';
85 117 observacion += 'Total Cobrado: ' +
86 118 $filter('currency')(marcador.factura.IPA, '$');
87 119 }
88   - }
  120 + } else {
  121 + observacion += 'Cantidad de cobranzas: ' +
  122 + marcador.cantidad + '<br/>';
  123 + observacion += 'Total Cobrado: ' +
  124 + $filter('currency')(marcador.factura.IPA, '$');
  125 + }
89 126  
90   - if ($scope.parametros.actividad === 'Entrega de producto') {
91   - var remito = marcador.hojaRutaMovimiento.remito;
92   - observacion += 'Vehiculo: ' +
93   - remito.hojaRuta.idVehiculo + ' - ' +
94   - remito.hojaRuta.vehiculo.tractor + '<br/>';
95   - observacion += 'Transportista: ' +
96   - remito.hojaRuta.transportista.NOM + '<br/>';
97   - observacion += 'Chofer: ' +
98   - remito.hojaRuta.chofer.nombre + '<br/>';
99   - observacion += 'Hoja de ruta: ' + $filter('comprobante')([
100   - remito.hojaRuta.sucursal,
101   - remito.hojaRuta.numeroHojaRuta
102   - ]) + '<br/>';
103   -
104   - if (!$scope.parametros.individual) {
105   - observacion += '<b>Ultimo Remito</b><br/>';
  127 + return observacion;
  128 + }
  129 +
  130 + function getEntrega(marcador) {
  131 + var observacion = '';
  132 + var remito = marcador.hojaRutaMovimiento.remito;
  133 + observacion += 'Vehiculo: ' +
  134 + remito.hojaRuta.idVehiculo + ' - ' +
  135 + remito.hojaRuta.vehiculo.tractor + '<br/>';
  136 + observacion += 'Transportista: ' +
  137 + remito.hojaRuta.transportista.NOM + '<br/>';
  138 + observacion += 'Chofer: ' +
  139 + remito.hojaRuta.chofer.nombre + '<br/>';
  140 + observacion += 'Hoja de ruta: ' + $filter('comprobante')([
  141 + remito.hojaRuta.sucursal,
  142 + remito.hojaRuta.numeroHojaRuta
  143 + ]) + '<br/>';
  144 +
  145 + if (!$scope.parametros.individual) {
  146 + observacion += '<b>Ultimo Remito</b><br/>';
  147 + }
  148 +
  149 + observacion += 'Fecha: ' +
  150 + $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' +
  151 + marcador.fecha.slice(11,19) + '<br/>';
  152 +
  153 + observacion += 'Nº: ' + $filter('comprobante')([
  154 + remito.sucursal,
  155 + remito.numeroRemito
  156 + ]) + '<br/>';
  157 + observacion += 'Cliente: ' +
  158 + remito.cliente.NOM + '<br/>';
  159 +
  160 + if ($scope.parametros.individual) {
  161 + observacion += 'Producto: ' +
  162 + remito.articulosRemito[0].descripcion + '<br/>';
  163 + observacion += 'Cantidad entregada: ' +
  164 + remito.carga + '<br/>';
  165 +
  166 + if (marcador.distancia) {
  167 + observacion += 'Distancia a casa central: ' + marcador.distancia +
  168 + 'km <br/>';
106 169 }
107 170  
108   - observacion += 'Fecha: ' +
109   - $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' +
110   - marcador.fecha.slice(11,19) + '<br/>';
111   -
112   - observacion += 'Nº: ' + $filter('comprobante')([
113   - remito.sucursal,
114   - remito.numeroRemito
115   - ]) + '<br/>';
116   - observacion += 'Cliente: ' +
117   - remito.cliente.NOM + '<br/>';
118   -
119   - if ($scope.parametros.individual) {
120   - observacion += 'Producto: ' +
121   - remito.articulosRemito[0].descripcion + '<br/>';
122   - observacion += 'Cantidad entregada: ' +
123   - remito.carga + '<br/>';
124   -
125   - if (marcador.distancia) {
126   - observacion += 'Distancia a casa central: ' + marcador.distancia +
127   - 'km <br/>';
128   - }
129   -
130   - if (marcador.observaciones) {
131   - observacion += 'Observaciones: ' + marcador.observaciones;
132   - }
133   - observacion = 'Orden: ' + marcador.orden + '<br/>' + observacion;
134   - } else {
135   - observacion += 'Cantidad de entregas: ' + marcador.cantidad;
  171 + if (marcador.observaciones) {
  172 + observacion += 'Observaciones: ' + marcador.observaciones;
136 173 }
  174 + observacion = 'Orden: ' + marcador.orden + '<br/>' + observacion;
  175 + } else {
  176 + observacion += 'Cantidad de entregas: ' + marcador.cantidad;
137 177 }
138 178  
139   - $scope.markers.push(
140   - L.marker([marcador.latitud, marcador.longitud]).addTo($scope.map)
141   - .bindPopup(observacion)
142   - );
  179 + return observacion;
  180 + }
143 181  
144   - $scope.markers[0].openPopup();
145   - });
  182 + function generarObservacion(array) {
  183 + var resultado = '';
  184 +
  185 + for (var i = 0; i < array.length; i++) {
  186 + resultado += '<b>' + array[i][0] + ': </b>';
  187 + resultado += array[i][1];
  188 +
  189 + if (i < (array.length - 1)) {
  190 + resultado += '<br/>';
  191 + }
  192 + }
  193 +
  194 + return resultado;
  195 + }
146 196 });
147 197 }],
148 198 scope: {
src/views/foca-admin-seguimiento.html
... ... @@ -31,7 +31,7 @@
31 31 class="btn col-12 my-1"
32 32 ng-click="general()"
33 33 >General</button>
34   - <button
  34 + <button
35 35 type="button"
36 36 ng-class="{'active': idUsuario != 0}"
37 37 class="btn col-12 my-1"
... ... @@ -66,6 +66,66 @@
66 66 ng-show="actividad == 'Cobranza'"
67 67 >
68 68 </div>
  69 + <div ng-show="actividad === 'Entrega de producto'">
  70 + <div class="custom-control custom-radio">
  71 + <input
  72 + type="radio"
  73 + class="custom-control-input"
  74 + id="idTodos"
  75 + name="filtro"
  76 + ng-model="filtroEstado"
  77 + ng-change="search()"
  78 + checked>
  79 + <label class="custom-control-label pb-3" for="idTodos"></label>
  80 + <img src="img/marker-icon-grey.png">
  81 + <strong>Todos</strong>
  82 + </div>
  83 + <div class="custom-control custom-radio">
  84 + <input
  85 + type="radio"
  86 + class="custom-control-input"
  87 + id="entregado"
  88 + name="filtro"
  89 + ng-model="filtroEstado"
  90 + ng-change="search()"
  91 + ng-value="false">
  92 + <label class="custom-control-label pb-3" for="entregado"></label>
  93 + <img src="img/marker-icon-green.png">
  94 + <strong>Entregado</strong>
  95 + </div>
  96 + <div class="custom-control custom-radio">
  97 + <input
  98 + type="radio"
  99 + class="custom-control-input"
  100 + id="noEntregado"
  101 + name="filtro"
  102 + ng-model="filtroEstado"
  103 + ng-change="search()"
  104 + ng-value="true">
  105 + <label class="custom-control-label pb-3" for="noEntregado"></label>
  106 + <img src="img/marker-icon-yellow.png">
  107 + <strong>No entregado</strong>
  108 + </div>
  109 + </div>
69 110 </div>
70 111 </div>
  112 + <div ng-show="actividad === 'Entrega de producto'">
  113 + <strong>Remitos pendientes de entrega</strong>
  114 + <table class="table">
  115 + <thead>
  116 + <tr>
  117 + <th>Remito Nº</th>
  118 + <th>Cliente</th>
  119 + <th>Dirección</th>
  120 + </tr>
  121 + </thead>
  122 + <tbody>
  123 + <tr>
  124 + <td>ejemplo</td>
  125 + <td>ejemplo</td>
  126 + <td>ejemplo</td>
  127 + </tr>
  128 + </tbody>
  129 + </table>
  130 + </div>
71 131 </div>