diff --git a/src/js/controller.js b/src/js/controller.js index f31df9a..150be92 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -1,84 +1,66 @@ angular.module('focaModalDetalleHojaRuta') - .controller('focaModalDetalleHojaRutaController', + .controller('focaModalDetalleHojaRutaController', [ - '$filter', - '$scope', - '$uibModalInstance', - 'parametros', - 'focaModalDetalleHojaRutaService', - 'focaModalService', - 'focaSeguimientoService', - '$uibModal', - function($filter, $scope, $uibModalInstance, parametros, focaModalDetalleHojaRutaService, - focaModalService, focaSeguimientoService, $uibModal) - { - //Seteo variables + '$filter', '$scope', '$uibModalInstance', 'parametros', 'focaModalDetalleHojaRutaService', + 'focaModalService', 'focaSeguimientoService', '$uibModal', + function ($filter, $scope, $uibModalInstance, parametros, focaModalDetalleHojaRutaService, + focaModalService, focaSeguimientoService, $uibModal) { + //#region SETEO VARIABLES $scope.remito = parametros.remito; $scope.cisternas = parametros.remito.cisternas; $scope.articuloSeleccionado = {}; $scope.aDescargar = []; $scope.cargando = false; + //#endregion - if ($scope.remito.rechazado) { + init(); + function init() { + if ($scope.remito.rechazado) { + $scope.readonly = true; + } + var articuloAChequear = $scope.remito.articulosRemito.filter( + function (articulo) { + return !articulo.descargado; + }); - $scope.readonly = true; + if (!articuloAChequear.length || $scope.remito.rechazado) { + $scope.readonly = true; + $scope.cambio($scope.remito.articulosRemito[0]); + } else { + $scope.cambio(articuloAChequear[0]); + } } - //Datos - // var promesaRemito = focaModalDetalleHojaRutaService - // .getRemitoById(idRemito); - // var promesaCisternas = focaModalDetalleHojaRutaService - // .getCisternasByIdRemito(idRemito); - - // Promise.all([promesaRemito, promesaCisternas]).then(function(res) { - // $scope.cargando = false; - // $scope.remito = res[0].data; - // $scope.cisternas = res[1].data; - // var articuloAChequear = $scope.remito.articulosRemito.filter( - // function(articulo) { - // return !articulo.descargado; - // }); - // if(!articuloAChequear.length || $scope.remito.rechazado) { - // $scope.readonly = true; - // $scope.cambio($scope.remito.articulosRemito[0]); - // }else { - // $scope.cambio(articuloAChequear[0]); - // } - // $scope.$digest(); - // }, function() { - // focaModalService.alert('El servicio no responde intente más tarde'); - // $uibModalInstance.dismiss(); - // }); - $scope.cambio = function(articulo) { - if(!$scope.articuloSeleccionado.descargado) { + $scope.cambio = function (articulo) { + if (!$scope.articuloSeleccionado.descargado) { $scope.articuloSeleccionado.cantidadDescargada = 0; } $scope.aDescargar = []; $scope.articuloSeleccionado = articulo; }; - $scope.descargar = function(key) { - if(key === 13) { + $scope.descargar = function (key) { + if (key === 13) { $scope.cargando = true; var hojaRutaMovimientos = []; var cisternaMovimientos = []; var cisternaCargas = []; var totalADescargar = 0; - for(var i = 0; i < $scope.aDescargar.length; i++) { + for (var i = 0; i < $scope.aDescargar.length; i++) { totalADescargar += $scope.aDescargar[i] || 0; } focaModalService .confirm('¿Desea descargar ' + totalADescargar + ' litros de ' + - $scope.articuloSeleccionado.descripcion + '?') - .then(descargar, function() { + $scope.articuloSeleccionado.descripcion + '?') + .then(descargar, function () { $scope.cargando = false; }); } function descargar() { - for(var i = 0; i < $scope.cisternas.length; i++) { + for (var i = 0; i < $scope.cisternas.length; i++) { var descarga = $scope.aDescargar[i]; var cisternaCarga = $scope.cisternas[i].cisternaCarga; - if(!descarga) continue; - if(descarga > cisternaCarga.cantidad) { + if (!descarga) continue; + if (descarga > cisternaCarga.cantidad) { focaModalService.alert('La cantidad a descargar no debe ser ' + 'mayor a la cantidad de la cisterna'); $scope.cargando = false; @@ -117,13 +99,13 @@ angular.module('focaModalDetalleHojaRuta') $scope.remito.observaciones = ''; if ($scope.articuloSeleccionado.cantidadDescargada === - $scope.articuloSeleccionado.cantidad ) { + $scope.articuloSeleccionado.cantidad) { - $scope.articuloSeleccionado.descargado = true; + $scope.articuloSeleccionado.descargado = true; } var siguienteArticulo = $scope.remito.articulosRemito.filter( - function(articulo) { + function (articulo) { return articulo.id != $scope.articuloSeleccionado.id; } ); @@ -132,7 +114,7 @@ angular.module('focaModalDetalleHojaRuta') $scope.cambio(siguienteArticulo[0]); } - success().then(function() { + success().then(function () { $uibModalInstance.close($scope.remito); }); //TODO: enviar puntos de descarga, se quita para la demo. @@ -159,56 +141,51 @@ angular.module('focaModalDetalleHojaRuta') } } }; - - $scope.cancel = function() { + $scope.cancel = function () { $uibModalInstance.dismiss('cancel'); }; - - $scope.distribucionDisponible = function() { - return $scope.articuloSeleccionado.cantidadDescargada && + $scope.distribucionDisponible = function () { + return $scope.articuloSeleccionado.cantidadDescargada && $scope.articuloSeleccionado.cantidadDescargada <= $scope.articuloSeleccionado.cantidad; }; - - $scope.actualizarArticulo = function() { + $scope.actualizarArticulo = function () { $scope.articuloSeleccionado.cantidadDescargada = 0; - for(var i = 0; i < $scope.aDescargar.length; i++) { + for (var i = 0; i < $scope.aDescargar.length; i++) { $scope.articuloSeleccionado.cantidadDescargada += parseFloat($scope.aDescargar[i]) || 0; } }; - - $scope.actualizarPuntoDescarga = function() { + $scope.actualizarPuntoDescarga = function () { var modalInstance = $uibModal.open( { ariaLabelledBy: 'Actualizar punto de descarga', templateUrl: 'modal-actualizar-punto-descarga.html', controller: 'focaModalActualizarPuntoDescargaController', resolve: { - notaPedido: function() { + notaPedido: function () { return $scope.remito.notaPedido; } }, size: 'lg' } ); - modalInstance.result.then(function() { - success().then(function() { + modalInstance.result.then(function () { + success().then(function () { $uibModalInstance.close($scope.remito); }); - }, function() { - success().then(function() { + }, function () { + success().then(function () { $uibModalInstance.close($scope.remito); }); }); }; - - $scope.rechazar = function() { + $scope.rechazar = function () { focaModalService .prompt({ titulo: 'Aclare el motivo de rechazo' }) - .then(function(motivo) { + .then(function (motivo) { $scope.cargando = true; var remitoRechazado = $.extend(true, {}, $scope.remito); delete remitoRechazado.articulosRemito; @@ -220,19 +197,19 @@ angular.module('focaModalDetalleHojaRuta') remitoRechazado.fechaRemito.slice(0, 19).replace('T', ' '); focaModalDetalleHojaRutaService.rechazarRemito(remitoRechazado) - .then(function(res) { + .then(function (res) { focaSeguimientoService.guardarPosicion( 'Entrega de producto', res.data[1].id, motivo); success(); - }) + }) .catch(error); $scope.readonly = true; }); }; - //funciones + //#region FUNCIONES function error(error) { focaModalService.alert('Hubo un error ' + error); } @@ -240,22 +217,10 @@ angular.module('focaModalDetalleHojaRuta') $scope.cargando = false; return focaModalService.alert('Operación realizada con éxito'); } - - var articuloAChequear = $scope.remito.articulosRemito.filter( - function(articulo) { - return !articulo.descargado; - }); - - if (!articuloAChequear.length || $scope.remito.rechazado) { - $scope.readonly = true; - $scope.cambio($scope.remito.articulosRemito[0]); - } else { - $scope.cambio(articuloAChequear[0]); - } - + //#endregion } ]) - .controller('focaModalActualizarPuntoDescargaController', + .controller('focaModalActualizarPuntoDescargaController', [ '$scope', '$uibModalInstance', @@ -263,16 +228,15 @@ angular.module('focaModalDetalleHojaRuta') 'focaModalService', 'notaPedido', 'focaModalDetalleHojaRutaService', - function($scope, $uibModalInstance, focaSeguimientoService, - focaModalService, notaPedido, focaModalDetalleHojaRutaService) - { + function ($scope, $uibModalInstance, focaSeguimientoService, + focaModalService, notaPedido, focaModalDetalleHojaRutaService) { $scope.notaPedido = notaPedido; $scope.descripcion = ''; - focaSeguimientoService.obtenerPosicion(function(res) { + focaSeguimientoService.obtenerPosicion(function (res) { $scope.posicion = res.coords; }); - $scope.cancel = function() { + $scope.cancel = function () { if ($scope.ingreso) { $scope.ingreso = false; } else { @@ -280,7 +244,7 @@ angular.module('focaModalDetalleHojaRuta') } }; - $scope.select = function(puntoDescarga) { + $scope.select = function (puntoDescarga) { if (!$scope.posicion) { focaModalService.alert('No se pudo obtener la ubicación'); return; @@ -291,7 +255,7 @@ angular.module('focaModalDetalleHojaRuta') $uibModalInstance.close(); }; - $scope.guardar = function() { + $scope.guardar = function () { if (!$scope.posicion) { focaModalService.alert('No se pudo obtener la ubicación'); return; @@ -305,7 +269,7 @@ angular.module('focaModalDetalleHojaRuta') latitud: $scope.posicion.latitude, longitud: $scope.posicion.longitude }) - .then(function(res) { + .then(function (res) { $uibModalInstance.close(res.data); }); };