controller.js 5.9 KB
angular.module('focaAdminSeguimiento').controller('focaAdminSeguimientoController', [
    '$scope', '$timeout', 'focaAdminSeguimientoService',
    'focaBotoneraLateralService','$location', '$routeParams',
    function($scope, $timeout, focaAdminSeguimientoService,
        focaBotoneraLateralService, $location, $routeParams) {
        $scope.actividad = '';
        $scope.titulo = '';
        var cabecera = '';
        var plural = '';

        $scope.now = new Date();
        $scope.dateOptions = {
            maxDate: new Date()
        };

        switch ($routeParams.parametro) {
            case 'nota-pedido':
                $scope.actividad = 'Nota de pedido';
                $scope.titulo = 'Seguimiento de nota de pedido';
                cabecera = 'Vendedor:';
                plural = 'Vendedores';
                break;
            case 'hoja-ruta':
                $scope.actividad = 'Entrega de producto';
                $scope.titulo = 'Seguimiento de hoja de ruta';
                cabecera = 'Vehiculo:';
                plural = 'Vehiculos';
                break;
            case 'cobranza':
                $scope.actividad = 'Cobranza';
                $scope.titulo = 'Seguimiento de cobranza';
                cabecera = 'Cobrador:';
                plural = 'Cobradores';
                break;
        }

        $scope.idUsuario = 0;
        $scope.marcadores = [];
        getSeguimiento();

        //SETEO BOTONERA LATERAL
        focaBotoneraLateralService.showSalir(true);
        focaBotoneraLateralService.showPausar(false);
        focaBotoneraLateralService.showGuardar(false);

        $scope.general = function() {
            $scope.idUsuario = 0;
            getSeguimiento();
        };

        $scope.individual = function() {
            $scope.idUsuario = -1;
        };

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

        $scope.search = function(key) {
            if (key === 13) {
                $scope.idUsuario = $scope.idUsuarioInput;
                
                getSeguimiento();
                if ($scope.actividad === 'Entrega de producto' && $scope.idUsuario !== 0) {
                    focaAdminSeguimientoService.obtenerRemitosVehiculo($scope.idUsuario)
                        .then(function(res) {
                            var remitos = [];
                            for (var i = 0; i < res.data.length; i++) {
                                remitos = remitos.concat(res.data[i].remitos);
                            }
                            $scope.remitosVehiculo = remitos;
                        });
                }
            }
        };

        $scope.fecha = function() {
            getSeguimiento();
        };

        function getSeguimiento() {
            $scope.$broadcast('cleanCabecera');
            var now = $scope.now;
            var desde = new Date(new Date(now.setHours(0)).setMinutes(0));
            desde = desde.setDate(desde.getDate() - 1);
            desde = new Date(desde);
            var datos = {
                actividad: $scope.actividad,
                idUsuario: $scope.idUsuario,
                fechaDesde: desde,
                fechaHasta: new Date(new Date(now.setHours(23)).setMinutes(59)),
                entregado: $scope.filtroEstado ? true : ($scope.filtroEstado !== undefined ?
                    false : undefined)
            };

            $scope.datosBuscados = {
                actividad: $scope.actividad,
                individual: $scope.idUsuario !== 0 ? true : false
            };

            focaAdminSeguimientoService.obtenerActividad(datos).then(function(datos) {
                $scope.marcadores = datos.data;
                
                if ($scope.idUsuario !== 0) {
                    $scope.$broadcast('removeCabecera', 'General -');
                    $scope.$broadcast('addCabecera', {
                        label: 'Individual',
                        valor: ''
                    });

                    var valor = '';
                    switch ($routeParams.parametro) {
                        case 'nota-pedido':
                            if (datos.data.length) {
                                valor = datos.data[0].notaPedido.vendedor.NUM + ' - ' +
                                    datos.data[0].notaPedido.vendedor.NOM.trim();
                            } else {
                                valor = $scope.idUsuario;
                            }
                            break;
                        case 'hoja-ruta':
                            if (datos.data.length) {
                                valor = $scope.idUsuario + ' - ' + datos.data[0]
                                    .hojaRutaMovimiento.remito.hojaRuta.vehiculo.tractor.trim();
                            } else {
                                valor = $scope.idUsuario;
                            }
                            
                            break;
                        case 'cobranza':
                            if (datos.data.length) {
                                valor = datos.data[0].notaPedido.vendedor.NUM + ' - ' +
                                    datos.data[0].notaPedido.vendedor.NOM.trim();
                            } else {
                                valor = $scope.idUsuario;
                            }
                            break;
                    }
                    
                    $scope.$broadcast('addCabecera', {
                        label: cabecera,
                        valor: valor
                    });

                } else {
                    $scope.$broadcast('addCabecera',{
                        label: 'General',
                        valor: ''
                    });
                }
                
                $scope.$broadcast('addCabecera', {
                    label: 'Cantidad: ',
                    valor: datos.data.length + ' Marcadores'
                });
            });
        }
    }
]);