controller.js 2.73 KB
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() {
                    return !articulosDescargados().length;
                };

                function articulosDescargados() {
                    var articulosDescargados = $scope.remito.articulosRemito.filter(
                        function(articulo) {
                            if(articulo.aCargar && articulo.numeroRecibo) {
                                return articulo;
                            }
                        });
                    return articulosDescargados;
                }
            }
        ]
    );