From f14db6c53463a822618aabb9e8958e8dd425b82e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s?= Date: Tue, 15 Jan 2019 16:17:48 -0300 Subject: [PATCH] buscar hoja de ruta activa --- src/js/controller.js | 185 +++++++++++++++++++++++++++++---------------------- src/js/service.js | 4 +- 2 files changed, 107 insertions(+), 82 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 731400b..b40565c 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -1,92 +1,117 @@ angular.module('focaHojaRuta') .controller('listaHojaRutaCtrl', - ['$scope', '$location', '$filter', '$uibModal', 'hojaRutaService', 'focaSeguimientoService', - function($scope, $location, $filter, $uibModal, hojaRutaService, focaSeguimientoService) { - hojaRutaService.getHojasRuta().then(function(res) { - var hojaRuta = res.data.pop(); - $scope.hojasRuta = hojaRuta; - $scope.puntoVenta = hojaRuta.sucursal; - $scope.comprobante = hojaRuta.numeroHojaRuta; - addCabecera('Transportista:', hojaRuta.transportista.NOM); - addCabecera('Chofer:', hojaRuta.chofer.nombre); - addCabecera('Vehículo:', hojaRuta.vehiculo.tractor); - }); - $scope.cabecera = []; - $scope.showCabecera = true; + [ + '$scope', + '$location', + '$filter', + '$uibModal', + 'hojaRutaService', + 'focaSeguimientoService', + 'focaLoginService', + 'focaModalService', + function( + $scope, + $location, + $filter, + $uibModal, + hojaRutaService, + focaSeguimientoService, + focaLoginService, + focaModalService + ) { + var loginData = focaLoginService.getLoginData(); - $scope.now = new Date(); - $scope.puntoVenta = '0000'; - $scope.comprobante = '00000000'; - $scope.verDetalle = function(remito) { - var modalInstance = $uibModal.open( - { - ariaLabelledBy: 'Detalle hoja ruta', - templateUrl: 'modal-detalle-hoja-ruta.html', - controller: 'focaModalDetalleHojaRutaController', - resolve: { - parametrosDetalleHojaRuta: function(){ - return { - remito: $filter('comprobante')([ - remito.sucursal, remito.numeroRemito - ]), - cliente: remito.nombreCliente, - domicilio: remito.domicilioStamp, - producto: 'Super', - contacto: remito.nombreCliente, - telefonoContacto: '-', - litros: remito.carga, - idRemito: remito.id - }; - } - }, - size: 'lg' + hojaRutaService.getHojasRuta(loginData.chofer).then(function(res) { + if (res.data) { + var hojaRuta = res.data; + $scope.hojasRuta = hojaRuta; + $scope.puntoVenta = hojaRuta.sucursal; + $scope.comprobante = hojaRuta.numeroHojaRuta; + addCabecera('Transportista:', hojaRuta.transportista.NOM); + addCabecera('Chofer:', hojaRuta.chofer.nombre); + addCabecera('Vehículo:', hojaRuta.vehiculo.tractor); + } else { + focaModalService.alert('Sin hoja de ruta asignada'); + $location.path('/'); } - ); - modalInstance.result.then(function(parametros) { - // Al guardar los datos del producto entregado logueamos la - // actividad para su seguimiento. - hojaRutaService.postMovimientoHojaRuta({ - numeroRecibo: parametros.numeroRecibo, - idRemito: parametros.idRemito, - litrosDescargados: parametros.litrosDescargados - }).then(function(movimiento) { - focaSeguimientoService.guardarPosicion( - 'Entrega de producto', - movimiento.data.id, - parametros.observaciones - ); - }); - }); - }; - function addCabecera(label, valor) { - var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); - if(propiedad.length === 1) { - propiedad[0].valor = valor; - } else { - $scope.cabecera.push({label: label, valor: valor}); + $scope.cabecera = []; + $scope.showCabecera = true; + + $scope.now = new Date(); + $scope.puntoVenta = '0000'; + $scope.comprobante = '00000000'; + $scope.verDetalle = function(remito) { + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Detalle hoja ruta', + templateUrl: 'modal-detalle-hoja-ruta.html', + controller: 'focaModalDetalleHojaRutaController', + resolve: { + parametrosDetalleHojaRuta: function(){ + return { + remito: $filter('comprobante')([ + remito.sucursal, remito.numeroRemito + ]), + cliente: remito.nombreCliente, + domicilio: remito.domicilioStamp, + producto: 'Super', + contacto: remito.nombreCliente, + telefonoContacto: '-', + litros: remito.carga, + idRemito: remito.id + }; + } + }, + size: 'lg' + } + ); + modalInstance.result.then(function(parametros) { + // Al guardar los datos del producto entregado logueamos la + // actividad para su seguimiento. + hojaRutaService.postMovimientoHojaRuta({ + numeroRecibo: parametros.numeroRecibo, + idRemito: parametros.idRemito, + litrosDescargados: parametros.litrosDescargados + }).then(function(movimiento) { + focaSeguimientoService.guardarPosicion( + 'Entrega de producto', + movimiento.data.id, + parametros.observaciones + ); + }); + + }); + }; + + function addCabecera(label, valor) { + var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); + if(propiedad.length === 1) { + propiedad[0].valor = valor; + } else { + $scope.cabecera.push({label: label, valor: valor}); + } } - } - //TODO Descomentar cuando se use - // function removeCabecera(label) { - // var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); - // if(propiedad.length === 1) { - // $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1); + //TODO Descomentar cuando se use + // function removeCabecera(label) { + // var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); + // if(propiedad.length === 1) { + // $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1); + // } // } - // } - $scope.rellenar = function(relleno, longitud) { - relleno = '' + relleno; - while (relleno.length < longitud) { - relleno = '0' + relleno; - } + $scope.rellenar = function(relleno, longitud) { + relleno = '' + relleno; + while (relleno.length < longitud) { + relleno = '0' + relleno; + } - return relleno; - }; - $scope.salir = function() { - $location.path('/'); - }; - } + return relleno; + }; + $scope.salir = function() { + $location.path('/'); + }; + } ]); diff --git a/src/js/service.js b/src/js/service.js index d5e83e3..3b6b176 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -2,8 +2,8 @@ angular.module('focaHojaRuta') .service('hojaRutaService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) { var route = API_ENDPOINT.URL; return { - getHojasRuta: function() { - return $http.get(route + '/hoja-ruta'); + getHojasRuta: function(chofer) { + return $http.get(route + '/hoja-ruta/chofer/' + chofer); }, postMovimientoHojaRuta: function(datos) { return $http.post(route + '/hoja-ruta/movimiento', datos); -- 1.9.1