controllerHojaRuta.js 3.38 KB
angular.module('focaLogisticaPedidoRuta')
    .controller('focaModalCrearHojaRuta', [
        '$scope',
        '$uibModalInstance',
        '$uibModal',
        'focaLogisticaPedidoRutaService',
        'idVehiculo',
        'focaModalService',
        '$filter',
        function($scope, $uibModalInstance, $uibModal, focaLogisticaPedidoRutaService,
            idVehiculo, focaModalService, $filter) {
        $scope.vehiculo = {};
        $scope.remitos = [];
        $scope.now = new Date();
        focaLogisticaPedidoRutaService.obtenerVehiculoById(idVehiculo).then(function(res) {
            $scope.vehiculo = res.data; 
        });
        //TODO: refactor código esta rre feo
        focaLogisticaPedidoRutaService.getRemitos(idVehiculo).then(function(res) {
            for (var i = 0; i < res.data.cisternas.length; i++) {
                for (var j = 0; j < res.data.cisternas[i].cisternaCarga.cisternaMovimientos.length;
                    j++) {
                    if(!!res.data.cisternas[i].cisternaCarga.cisternaMovimientos[j].remito &&
                        !res.data.cisternas[i].cisternaCarga.cisternaMovimientos[j].remito
                        .idHojaRuta) {
                        var remito = res.data.cisternas[i].cisternaCarga
                            .cisternaMovimientos[j].remito;
                        var yaEstaCargado = $filter('filter')($scope.remitos, {id: remito.id});
                        if(!yaEstaCargado.length &&
                            res.data.cisternas[i].cisternaCarga.cisternaMovimientos[j].metodo ===
                            'carga') {
                                $scope.remitos.push(remito);
                            }
                    }
                }
            }
        });
        focaLogisticaPedidoRutaService.numeroHojaRuta().then(function(res) {
            $scope.sucursal = res.data.sucursal;
            $scope.numero = res.data.numeroHojaRuta;
        });
        $scope.cancelar = function() {
            $uibModalInstance.close();
        };
        $scope.aceptar = function() {
            var save = {
                hojaRuta: {
                    id: 0,
                    fechaCreacion: $scope.now.toISOString().slice(0, 19).replace('T', ' '),
                    idTransportista: $scope.vehiculo.idTransportista,
                    idChofer: $scope.chofer.id,
                    idVehiculo: $scope.vehiculo.id,
                    tarifaFlete: $scope.tarifaFlete
                },
                remitos: $scope.remitos,
                idVehiculo: $scope.vehiculo.id
            };
            focaLogisticaPedidoRutaService.crearHojaRuta(save).then(function() {
                $uibModalInstance.close();
                focaModalService.alert('Hoja de ruta guardada con éxito');                
            });
        };
        $scope.seleccionarChofer = function() {
            var modalInstance = $uibModal.open(
                {
                    ariaLabelledBy: 'Busqueda de Chofer',
                    templateUrl: 'modal-chofer.html',
                    controller: 'focaModalChoferController',
                    size: 'lg'
                }
            );

            modalInstance.result.then(
                function(chofer) {
                    $scope.chofer = chofer;
                }, function() {
                    // funcion ejecutada cuando se cancela el modal
                }
            );
        };
    }]);