controllerCerrarVehiculo.js 2.64 KB
angular.module('focaLogisticaPedidoRuta')
    .controller('focaModalCerrarVehiculo', [
        '$scope',
        '$uibModalInstance',
        '$uibModal',
        'focaLogisticaPedidoRutaService',
        'idVehiculo',
        'focaModalService',
        '$filter',
        'fechaReparto',
        'cerrar',
        function($scope, $uibModalInstance, $uibModal, focaLogisticaPedidoRutaService,
            idVehiculo, focaModalService, $filter, fechaReparto, cerrar) {
        $scope.cerrar = cerrar;
        $scope.vehiculo = {};
        $scope.remitos = [];
        $scope.now = fechaReparto;
        focaLogisticaPedidoRutaService.obtenerVehiculoById(idVehiculo).then(function(res) {
            $scope.vehiculo = res.data;
        });
        focaLogisticaPedidoRutaService.getRemitosByIdVehiculo(idVehiculo, 1, 1).then(
            function(res) {
                $scope.remitos = res.data;
            });
        focaLogisticaPedidoRutaService.numeroHojaRuta().then(function(res) {
            $scope.sucursal = res.data.sucursal;
            $scope.numero = res.data.numeroHojaRuta;
        });
        $scope.cancelar = function() {
            $uibModalInstance.close();
        };
        $scope.aceptar = function() {
            var idsRemito = [];
            $scope.remitos.forEach(function(remito) {
                idsRemito.push(remito.id);
            });
            var cierreDistribuicion = {
                idsRemito: idsRemito,
                fechaReparto: focaLogisticaPedidoRutaService.fecha
            };
            focaLogisticaPedidoRutaService.cerrarDistribuicion(cierreDistribuicion)
                .then(function() {
                    focaModalService.alert('Vehículo cerrado con éxito');
                }
            );
        };
        $scope.eliminarRemitos = function() {
            var remitosDel = $filter('filter')($scope.remitos, {checked: true});
            focaModalService.alert('¿Seguro que desea desasociar estos remitos del vehículo?')
                .then(function() {
                    eliminarRemitos(remitosDel);
                }
            );
        };
        $scope.minimoUnoChecked = function() {
            var remitosChequeados = $filter('filter')($scope.remitos, {checked: true});
            return !remitosChequeados.length;
        };
        function eliminarRemitos(remitosDel) {
            var nuevosRemitos = $filter('filter')($scope.remitos, {checked: !true});
            focaLogisticaPedidoRutaService.desasociarRemitos(remitosDel, $scope.vehiculo.id,
                nuevosRemitos ? true : false).then(function() {
                    $scope.remitos = nuevosRemitos;
                });
        }
    }]);