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 } ); }; }]);