controller.js 7.41 KB
angular.module('focaActivarHojaRuta')
    .controller('focaActivarHojaRutaController', [
        '$scope', 'focaActivarHojaRutaService', 'focaModalService',
        'focaBotoneraLateralService', '$filter', '$uibModal',
        function ($scope, focaActivarHojaRutaService, focaModalService,
            focaBotoneraLateralService, $filter, $uibModal) {
            config();

            //METODOS
            function config() {
                $scope.botonera = [{
                    label: 'Chofer',
                    image: 'cliente.png'
                }];
                //SETEO BOTONERA LATERAL
                focaBotoneraLateralService.showSalir(true);
                focaBotoneraLateralService.showPausar(false);
                focaBotoneraLateralService.showCancelar(false);
                focaBotoneraLateralService.showGuardar(false);

                init();
            }

            function init() {
                $scope.now = new Date();
                $scope.hojasRuta = [];
                $scope.$broadcast('removeCabecera', 'Chofer:');
            }

            $scope.seleccionarChofer = function () {
                var parametrosModal = {
                    titulo: 'Búsqueda de Chofer',
                    query: '/chofer',
                    columnas: [
                        {
                            propiedad: 'id',
                            nombre: 'Código',
                            filtro: {
                                nombre: 'rellenarDigitos',
                                parametro: 3
                            }
                        },
                        {
                            propiedad: 'nombre',
                            nombre: 'Nombre'
                        },
                        {
                            propiedad: 'dni',
                            nombre: 'DNI'
                        },
                        {
                            propiedad: 'telefono',
                            nombre: 'Teléfono'
                        }
                    ]
                };
                focaModalService.modal(parametrosModal).then(
                    function (chofer) {
                        $scope.chofer = chofer.id;
                        focaActivarHojaRutaService.getHojasRutas($scope.chofer)
                            .then(function (hojasRutas) {
                                $scope.$broadcast('addCabecera', {
                                    label: 'Chofer:',
                                    valor: $scope.chofer + ' - ' + chofer.nombre
                                });

                                $scope.hojasRuta = hojasRutas.data;
                            });
                    }, function () { }
                );
            };

            $scope.mostrarRemitos = function (hojasRutas) {
                $uibModal.open(
                    {
                        ariaLabelledBy: '',
                        templateUrl: 'modal-remitos.html',
                        controller: 'focaModalRemitosHojaRutaController',
                        resolve: {
                            hojasRutas: function () { return hojasRutas; },
                        },
                        size: 'lg',
                    }
                );
            };

            $scope.setearEstado = function (estado) {
                var texto = '';
                switch (estado) {
                    case 0:
                        texto = 'Disponible';
                        break;
                    case 1:
                        texto = 'Asignada';
                        break;
                    case 2:
                        texto = 'Terminada';
                        break;
                    default:
                        break;
                }
                return texto;
            };

            $scope.activarHojaRuta = function (hojaRuta) {
                // validarChoferDisponible().then(function (hojaRutaAsignada) {
                //     if (hojaRutaAsignada) {
                //         var texto = 'El chofer tiene asignada la Hoja de Ruta Nº ' +
                //             $filter('comprobante')([hojaRutaAsignada.sucursal,
                //             hojaRutaAsignada.numeroHojaRuta]) +
                //             ', ¿desea reemplazarla por esta?';

                //         focaModalService
                //             .confirm(texto)
                //             .then(function (res) {
                //                 if (res) activar();
                //             });
                //     } else {
                //         activar();
                //     }

                // function activar() {
                focaActivarHojaRutaService
                    .activarHojaRuta(hojaRuta.id, $scope.chofer)
                    .then(function () {
                        hojaRuta.estado = 1;
                        // init();
                        focaModalService.alert('Hoja de ruta activada');
                    });
                // }
                // });
            };
            
            //#region Codigo Comentado
            // function validarChoferDisponible() {
            //     return new Promise(function (resolve, reject) {
            //         focaActivarHojaRutaService
            //             .getHojaRutaByIdChofer($scope.chofer)
            //             .then(function (res) {
            //                 resolve(res.data);
            //             })
            //             .catch(reject);
            //     });
            // }

            // if(focaActivarHojaRutaService.transportistaSeleccionado.COD) {
            //     elegirTransportista(focaActivarHojaRutaService.transportistaSeleccionado);
            // }
            // focaActivarHojaRutaService.cleanCisternasLocal();
            // $scope.editar = function(id) {
            //     $location.path('/vehiculo/' + id + '/' + $scope.idTransportista);
            // };
            // $scope.solicitarConfirmacion = function(vehiculo) {
            //     focaModalService.confirm('¿Está seguro que desea borrar el vehiculo ' +
            //     vehiculo.id + ' ' + vehiculo.tractor + ' ?').then(
            //             function(data) {
            //                 if(data) {
            //                     focaActivarHojaRutaService.deleteVehiculo(vehiculo.id);
            //                     $scope.vehiculos.splice($scope.vehiculos.indexOf(vehiculo), 1);
            //                 }
            //             }
            //         );
            // };

            // function elegirTransportista(transportista) {
            //     var codigo = ('00000' + transportista.COD).slice(-5);
            //     $scope.idTransportista = transportista.COD;
            //     $scope.filtros = transportista.NOM.trim();
            //     $timeout(function() {
            //         $scope.$broadcast('addCabecera', {
            //             label: 'Transportista:',
            //             valor: codigo + ' - ' + transportista.NOM
            //         });
            //     });
            //     buscar(transportista.COD);
            // }

            // function buscar(idTransportista) {
            //     focaActivarHojaRutaService
            //         .getVehiculosPorTransportista(idTransportista)
            //         .then(function(datos) {
            //             $scope.vehiculos = datos.data;
            //         });
            // }
            //#endregion
        }
    ]);