diff --git a/src/js/controller.js b/src/js/controller.js index e68366b..12ecc41 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -56,6 +56,7 @@ angular.module('focaModalDetalleCisternas') $uibModalInstance.dismiss(); return; } + $scope.seleccionarArticulo($scope.articulos[0]); var tieneUsuario = $scope.cisternas.filter(function(cisterna) { if(cisterna.cisternaCarga && cisterna.cisternaCarga.idUsuarioProceso) { @@ -89,10 +90,8 @@ angular.module('focaModalDetalleCisternas') } focaModalDetalleCisternasService.guardarCisternas(cisterna, $scope.remito.id) .then(function() { - focaModalService.alert('Cisternas cargadas con éxito').then(function() { - $scope.cargando = false; - $uibModalInstance.close(); - }); + $scope.cargando = false; + $uibModalInstance.close(); }).catch(function(error) { $scope.cargando = false; $uibModalInstance.close(); @@ -167,12 +166,14 @@ angular.module('focaModalDetalleCisternas') elementHtml.style.width = porcentaje; } }; + $scope.seleccionarArticulo = function(articulo) { $scope.articuloSeleccionado = articulo; $scope.cisternaDisponible(); $scope.autoCompletar(); $scope.actualizarArticulo(); }; + $scope.actualizarArticulo = function() { $scope.articuloSeleccionado.cantidadCargada = 0; for(var i = 0; i < $scope.aCargar.length; i++) { @@ -180,18 +181,39 @@ angular.module('focaModalDetalleCisternas') parseFloat($scope.aCargar[i]) || 0; } }; + $scope.autoCompletar = function() { + var arrayMismoProducto = []; + var arrayVacioProducto = []; for(var i = 0; i < $scope.cisternas.length; i++) { - if($scope.cisternas[i].disabled) { - continue; + var cisterna = $scope.cisternas[i]; + cisterna.posicion = i; + console.info(i, cisterna.posicion); + if (!cisterna.disabled && cisterna.disponible > 0) { + if (cisterna.cisternaCarga) { + arrayMismoProducto.push(cisterna); + } else { + arrayVacioProducto.push(cisterna); + } } + } + + arrayMismoProducto.sort(function(a,b) { + return a.disponible - b.disponible; + }); + + var cisternas = arrayMismoProducto.concat(arrayVacioProducto); + + for (var j = 0; j < cisternas.length; j++) { var aCargar = $scope.articuloSeleccionado.cantidad - ($scope.articuloSeleccionado.cantidadCargada || 0); - if(aCargar > $scope.cisternas[i].disponible) { - aCargar = $scope.cisternas[i].disponible; + + if(aCargar > cisternas[j].disponible) { + aCargar = cisternas[j].disponible; } - if(aCargar) { - $scope.aCargar[i] = aCargar; + + if(aCargar > 0) { + $scope.aCargar[cisternas[j].posicion] = aCargar; $scope.actualizarArticulo(); } } diff --git a/src/views/foca-detalle-vehiculo.html b/src/views/foca-detalle-vehiculo.html index 0d2d528..b175ba1 100644 --- a/src/views/foca-detalle-vehiculo.html +++ b/src/views/foca-detalle-vehiculo.html @@ -52,7 +52,7 @@