angular.module('focaHojaRuta') .controller('listaHojaRutaCtrl', [ '$scope', '$location', '$filter', '$uibModal', 'hojaRutaService', 'focaLoginService', 'focaModalService', '$rootScope', '$localStorage', function( $scope, $location, $filter, $uibModal, hojaRutaService, focaLoginService, focaModalService, $rootScope, $localStorage ) { var loginData = focaLoginService.getLoginData(); config(); function config() { $scope.cabecera = []; $scope.showCabecera = true; $scope.now = new Date(); $scope.puntoVenta = '0000'; $scope.comprobante = '00000000'; } hojaRutaService.getHojaRuta(loginData.chofer).then(function(res) { if (res.data) { var hojaRuta = res.data; $scope.hojaRuta = hojaRuta; $scope.hojaRuta.abierta = true; $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('/'); } watch(); if (!$scope.esatadoRed) { getLSHojaRuta(); } }); function watch() { $scope.$watch('hojaRuta', function(nuevoValor) { $localStorage.hojaRuta = JSON.stringify(nuevoValor); }, true); } $scope.verDetalle = function(remito) { var modalInstance = $uibModal.open( { ariaLabelledBy: 'Detalle hoja ruta', templateUrl: 'modal-detalle-hoja-ruta.html', controller: 'focaModalDetalleHojaRutaController', resolve: { parametros: { remito: remito, } }, size: 'lg' } ); modalInstance.result.then(function() { //funcion se ejecuta cuando se carga pantalla }); }; 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.rellenar = function(relleno, longitud) { relleno = '' + relleno; while (relleno.length < longitud) { relleno = '0' + relleno; } return relleno; }; $scope.salir = function() { $location.path('/'); }; $scope.terminarHojaRuta = function() { focaModalService .confirm('¿Desea terminar la hoja de ruta? No podra realizar ninguna ' + 'otra descarga ni modificación') .then(function() {$scope.datosExtraCierre(terminar);}); function terminar(datosExtraCierre) { $scope.hojaRuta = angular.extend({}, $scope.hojaRuta, datosExtraCierre); //limpio objeto para guardar delete $scope.hojaRuta.chofer; delete $scope.hojaRuta.remitos; delete $scope.hojaRuta.transportista; delete $scope.hojaRuta.vehiculo; $scope.hojaRuta.fechaCreacion = $scope.hojaRuta.fechaCreacion.slice(0, 19).replace('T', ' '); $scope.hojaRuta.fechaReparto = $scope.hojaRuta.fechaReparto.slice(0, 19).replace('T', ' '); $scope.hojaRuta.estado = 2; hojaRutaService.terminarHojaRuta($scope.hojaRuta).then( function() { focaModalService.alert( 'Hoja de ruta ' + $filter('comprobante')([$scope.puntoVenta, $scope.comprobante]) + ' cerrada con éxito'); $location.path('/'); } ); } }; $scope.datosExtraCierre = function(terminar) { var modalInstance = $uibModal.open( { templateUrl: 'focaDatosExtra.html', controller: 'focaModalDatosExtraCierre', } ); modalInstance.result.then(terminar); }; $scope.modalDescargas = function() { var modalInstance = $uibModal.open( { templateUrl: 'foca-modal-descarga.html', controller: 'focaModalDescargaCtrl' } ); modalInstance.result.then(function(data) { console.log(data); }); }; $rootScope.$on('estadoRed', function(event, value) { $scope.esatadoRed = value; }); function getLSHojaRuta() { var hojaRuta = JSON.parse($localStorage.hojaRuta || null); if (hojaRuta) { $scope.hojaRuta = hojaRuta; delete $localStorage.hojaRuta; } } } ]);