angular.module('focaModalDetalleHojaRuta') .controller('focaModalDetalleHojaRutaController', [ '$filter', '$scope', '$uibModalInstance', 'remito', 'focaModalDetalleHojaRutaService', function($filter, $scope, $uibModalInstance, remito, focaModalDetalleHojaRutaService) { $scope.remito = remito; $scope.cisternas = []; $scope.articuloSeleccionado = {}; $scope.cambio = function(articulo) { $scope.articuloSeleccionado = articulo; }; focaModalDetalleHojaRutaService.getCisternasByIdRemito($scope.remito.id) .then(function(res) { $scope.cisternas = res.data; }); $scope.aceptar = function() { var articulos = articulosDescargados(); var cisternaMovimientos = []; var hojaRutaMovimientos = []; for(var i = 0; i < articulos.length; i++) { var cisternaMovimiento = { idRemito: $scope.remito.id, cantidad: articulos[i].aCargar, metodo: 'descarga' }; var hojaRutaMovimiento = { idRemito: $scope.remito.id, reciboDescarga: articulos[i].numeroRecibo }; cisternaMovimientos.push(cisternaMovimiento); hojaRutaMovimientos.push(hojaRutaMovimiento); } var result = { cisternaMovimientos: cisternaMovimientos, hojaRutaMovimientos: hojaRutaMovimientos, idRemito: $scope.remito.id, observaciones: $scope.remito.observaciones }; $uibModalInstance.close(result); }; $scope.cancel = function() { $uibModalInstance.dismiss('cancel'); }; $scope.validar = function() { if(!articulosDescargados().length) { return true; } return false; }; function articulosDescargados() { var articulosDescargados = $scope.remito.articulosRemito.filter( function(articulo) { if(articulo.aCargar && articulo.numeroRecibo) { return articulo; } }); return articulosDescargados; } } ] );