From 8aac173c17f19c7cbb829cc985984a184bf2f50b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s?= Date: Wed, 23 Jan 2019 16:33:30 -0300 Subject: [PATCH] refactor seguimiento --- src/js/controller.js | 2 +- src/js/osm-directive.js | 270 ++++++++++++++++++++++++++++-------------------- 2 files changed, 161 insertions(+), 111 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 5803b57..7efff1a 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -37,7 +37,7 @@ angular.module('focaAdminSeguimiento') .controller('focaAdminSeguimientoControll label: 'General', valor: '' }); - }) + }); //SETEO BOTONERA LATERAL focaBotoneraLateralService.showSalir(true); diff --git a/src/js/osm-directive.js b/src/js/osm-directive.js index 32cb637..01a5cbe 100644 --- a/src/js/osm-directive.js +++ b/src/js/osm-directive.js @@ -15,134 +15,184 @@ angular.module('focaAdminSeguimiento').directive('osm', function() { } $scope.markers = []; + var observacion = ''; + angular.forEach($scope.marcadores, function(marcador) { - var observacion = ''; - if ($scope.parametros.actividad === 'Nota de pedido') { - observacion += - 'Vendedor: ' + marcador.notaPedido.idVendedor + ' - ' + - ( - marcador.notaPedido.vendedor ? - marcador.notaPedido.vendedor.NomVen : - '' - ) + '
'; - - if (!$scope.parametros.individual) { - observacion += 'Ultima Nota de Pedido
'; - } - observacion += 'Fecha: ' + - $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + - marcador.fecha.slice(11,19) + '
'; - observacion += 'Nº: ' + $filter('comprobante')([ - marcador.notaPedido.sucursal, - marcador.notaPedido.numeroNotaPedido - ]) + '
'; - observacion += 'Cliente: ' + - marcador.notaPedido.cliente.NOM + '
'; - - if ($scope.parametros.individual) { - observacion += - 'Total: ' + $filter('currency')(marcador.notaPedido.total, '$'); - observacion = 'Orden: ' + marcador.orden + '
' + observacion; - - if (marcador.distancia) { - observacion += '
Distancia a casa central: ' + - marcador.distancia + 'km'; - } - } else { - observacion += 'Cantidad de nota de pedido: ' + - marcador.cantidad + '
'; - observacion += 'Total Vendido: ' + - $filter('currency')(marcador.total, '$'); - } + observacion = generarObservacion(getNotaPedido(marcador)); } if ($scope.parametros.actividad === 'Cobranza') { - observacion += 'Cobrador: ' + marcador.recibo.cobrador.id + ' - ' + - marcador.recibo.CFE + '
'; + observacion = getCobranza(marcador); + } + + if ($scope.parametros.actividad === 'Entrega de producto') { + observacion = getEntrega(marcador); + } + + if (observacion) { + $scope.markers.push( + L.marker([marcador.latitud, marcador.longitud]).addTo($scope.map) + .bindPopup(observacion) + ); + + $scope.markers[0].openPopup(); + } + }); - if (!$scope.parametros.individual) { - observacion += 'Ultima Cobranza
'; + function getNotaPedido(marcador) { + var observacion = []; + + if (!marcador.notaPedido.id) { + return false; + } + + var notaPedido = marcador.notaPedido; + var textVendedor = notaPedido.idVendedor + ' - '; + + if (notaPedido.vendedor) { + textVendedor += notaPedido.vendedor.NomVen; + } + + observacion.push(['Vendedor', textVendedor]); + + if (!$scope.parametros.individual) { + observacion.push(['Ultima Nota de Pedido', '']); + } + + var textFecha = $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + + ' ' + marcador.fecha.slice(11,19); + observacion.push(['Fecha', textFecha]); + + observacion.push(['Nº', + $filter('comprobante')([notaPedido.sucursal, notaPedido.numeroNotaPedido ]) + ]); + + if (notaPedido.cliente) { + observacion.push(['Cliente', notaPedido.cliente.NOM]); + } + + if ($scope.parametros.individual) { + observacion.push(['Total', $filter('currency')(notaPedido.total, '$')]); + observacion.unshift(['Orden', marcador.orden]); + + if (marcador.distancia) { + observacion.push(['Distancia a casa central', + marcador.distancia + 'km' + ]); } + } else { + observacion.push(['Cantidad de nota de pedido', + marcador.cantidad + ]); + + observacion.push(['Total Vendido', + $filter('currency')(marcador.total, '$') + ]); + } + + console.info(marcador, observacion); + return observacion; + } + + function getCobranza(marcador) { + observacion += 'Cobrador: ' + marcador.recibo.cobrador.id + ' - ' + + marcador.recibo.CFE + '
'; + + if (!$scope.parametros.individual) { + observacion += 'Ultima Cobranza
'; + } - observacion += 'Fecha: ' + - $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + - marcador.fecha.slice(11,19) + '
'; - observacion += 'Nº: ' + $filter('comprobante')([ - marcador.sucursal, marcador.idUsuario]) + '
'; - observacion += 'Cliente: ' + marcador.recibo.cliente.NOM + '
'; - - if ($scope.parametros.individual) { - if (marcador.distancia) { - observacion += 'Distancia a casa central: ' + - marcador.distancia + 'km' + '
'; - observacion += 'Total Cobrado: ' + - $filter('currency')(marcador.factura.IPA, '$'); - } - } else { - observacion += 'Cantidad de cobranzas: ' + - marcador.cantidad + '
'; + observacion += 'Fecha: ' + + $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + + marcador.fecha.slice(11,19) + '
'; + observacion += 'Nº: ' + $filter('comprobante')([ + marcador.sucursal, marcador.idUsuario]) + '
'; + observacion += 'Cliente: ' + marcador.recibo.cliente.NOM + '
'; + + if ($scope.parametros.individual) { + if (marcador.distancia) { + observacion += 'Distancia a casa central: ' + + marcador.distancia + 'km' + '
'; observacion += 'Total Cobrado: ' + $filter('currency')(marcador.factura.IPA, '$'); } - } + } else { + observacion += 'Cantidad de cobranzas: ' + + marcador.cantidad + '
'; + observacion += 'Total Cobrado: ' + + $filter('currency')(marcador.factura.IPA, '$'); + } - if ($scope.parametros.actividad === 'Entrega de producto') { - var remito = marcador.hojaRutaMovimiento.remito; - observacion += 'Vehiculo: ' + - remito.hojaRuta.idVehiculo + ' - ' + - remito.hojaRuta.vehiculo.tractor + '
'; - observacion += 'Transportista: ' + - remito.hojaRuta.transportista.NOM + '
'; - observacion += 'Chofer: ' + - remito.hojaRuta.chofer.nombre + '
'; - observacion += 'Hoja de ruta: ' + $filter('comprobante')([ - remito.hojaRuta.sucursal, - remito.hojaRuta.numeroHojaRuta - ]) + '
'; - - if (!$scope.parametros.individual) { - observacion += 'Ultimo Remito
'; + return observacion; + } + + function getEntrega(marcador) { + var observacion = ''; + var remito = marcador.hojaRutaMovimiento.remito; + observacion += 'Vehiculo: ' + + remito.hojaRuta.idVehiculo + ' - ' + + remito.hojaRuta.vehiculo.tractor + '
'; + observacion += 'Transportista: ' + + remito.hojaRuta.transportista.NOM + '
'; + observacion += 'Chofer: ' + + remito.hojaRuta.chofer.nombre + '
'; + observacion += 'Hoja de ruta: ' + $filter('comprobante')([ + remito.hojaRuta.sucursal, + remito.hojaRuta.numeroHojaRuta + ]) + '
'; + + if (!$scope.parametros.individual) { + observacion += 'Ultimo Remito
'; + } + + observacion += 'Fecha: ' + + $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + + marcador.fecha.slice(11,19) + '
'; + + observacion += 'Nº: ' + $filter('comprobante')([ + remito.sucursal, + remito.numeroRemito + ]) + '
'; + observacion += 'Cliente: ' + + remito.cliente.NOM + '
'; + + if ($scope.parametros.individual) { + observacion += 'Producto: ' + + remito.articulosRemito[0].descripcion + '
'; + observacion += 'Cantidad entregada: ' + + remito.carga + '
'; + + if (marcador.distancia) { + observacion += 'Distancia a casa central: ' + marcador.distancia + + 'km
'; } - observacion += 'Fecha: ' + - $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + - marcador.fecha.slice(11,19) + '
'; - - observacion += 'Nº: ' + $filter('comprobante')([ - remito.sucursal, - remito.numeroRemito - ]) + '
'; - observacion += 'Cliente: ' + - remito.cliente.NOM + '
'; - - if ($scope.parametros.individual) { - observacion += 'Producto: ' + - remito.articulosRemito[0].descripcion + '
'; - observacion += 'Cantidad entregada: ' + - remito.carga + '
'; - - if (marcador.distancia) { - observacion += 'Distancia a casa central: ' + marcador.distancia + - 'km
'; - } - - if (marcador.observaciones) { - observacion += 'Observaciones: ' + marcador.observaciones; - } - observacion = 'Orden: ' + marcador.orden + '
' + observacion; - } else { - observacion += 'Cantidad de entregas: ' + marcador.cantidad; + if (marcador.observaciones) { + observacion += 'Observaciones: ' + marcador.observaciones; } + observacion = 'Orden: ' + marcador.orden + '
' + observacion; + } else { + observacion += 'Cantidad de entregas: ' + marcador.cantidad; } - $scope.markers.push( - L.marker([marcador.latitud, marcador.longitud]).addTo($scope.map) - .bindPopup(observacion) - ); + return observacion; + } - $scope.markers[0].openPopup(); - }); + function generarObservacion(array) { + var resultado = ''; + + for (var i = 0; i < array.length; i++) { + resultado += '' + array[i][0] + ': '; + resultado += array[i][1]; + + if (i < (array.length - 1)) { + resultado += '
'; + } + } + + return resultado; + } }); }], scope: { -- 1.9.1