controller.js 4.54 KB
angular.module('focaHojaRuta')
    .controller('listaHojaRutaCtrl',
        [
            '$scope',
            '$location',
            '$filter',
            '$uibModal',
            'hojaRutaService',
            'focaSeguimientoService',
            'focaLoginService',
            'focaModalService',
            function(
                $scope,
                $location,
                $filter,
                $uibModal,
                hojaRutaService,
                focaSeguimientoService,
                focaLoginService,
                focaModalService
            ) {
                var loginData = focaLoginService.getLoginData();

                hojaRutaService.getHojasRuta(loginData.chofer).then(function(res) {
                    if (res.data) {
                        var hojaRuta = res.data;
                        $scope.hojasRuta = hojaRuta;
                        $scope.puntoVenta = hojaRuta.sucursal;
                        $scope.comprobante = hojaRuta.numeroHojaRuta;
                        addCabecera('Transportista:', hojaRuta.transportista.NOM);
                        addCabecera('Chofer:', hojaRuta.chofer.nombre);
                        addCabecera('Vehículo:', hojaRuta.vehiculo.tractor);
                    } else {
                        focaModalService.alert('Sin hoja de ruta asignada');
                        $location.path('/');
                    }
                });

                $scope.cabecera = [];
                $scope.showCabecera = true;

                $scope.now = new Date();
                $scope.puntoVenta = '0000';
                $scope.comprobante = '00000000';
                $scope.verDetalle = function(remito) {
                    var modalInstance = $uibModal.open(
                        {
                            ariaLabelledBy: 'Detalle hoja ruta',
                            templateUrl: 'modal-detalle-hoja-ruta.html',
                            controller: 'focaModalDetalleHojaRutaController',
                            resolve: {
                                idRemito : function() {return remito.id;}
                            },
                            size: 'lg'
                        }
                    );
                    modalInstance.result.then(function(detalle) {
                        console.log(detalle);
                        //función a ejecutar cuando se carga la cisterna
                        //eliminar console log en produccion cuando sea necesario
                    });
                };

                function addCabecera(label, valor) {
                    var propiedad = $filter('filter')($scope.cabecera, {label: label}, true);
                    if(propiedad.length === 1) {
                        propiedad[0].valor = valor;
                    } else {
                        $scope.cabecera.push({label: label, valor: valor});
                    }
                }
                //TODO Descomentar cuando se use
                // function removeCabecera(label) {
                    // var propiedad = $filter('filter')($scope.cabecera, {label: label}, true);
                    // if(propiedad.length === 1) {
                        // $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1);
                    // }
                // }

                $scope.rellenar = function(relleno, longitud) {
                    relleno = '' + relleno;
                    while (relleno.length < longitud) {
                        relleno = '0' + relleno;
                    }

                    return relleno;
                };
                $scope.salir = function() {
                    $location.path('/');
                };

                $scope.terminarHojaRuta = function() {
                    focaModalService
                        .confirm('¿Desea terminar la hoja de ruta? No podra realizar ninguna ' +
                            'otra descarga ni modificación')
                        .then(terminar);
                    function terminar() {
                        hojaRutaService.terminarHojaRuta($scope.hojasRuta.id).then(
                            function() {
                                focaModalService.alert(
                                    'Hoja de ruta ' +
                                    $filter('comprobante')([$scope.puntoVenta,
                                        $scope.comprobante]) + ' cerrada con éxito');
                                    $location.path('/');
                                }
                        );
                    }
                };
            }
    ]);