diff --git a/src/js/controller.js b/src/js/controller.js index 966ea2e..1fcc074 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -40,17 +40,14 @@ angular.module('focaLogisticaPedidoRuta') .controller('focaLogisticaPedidoRutaCo $scope.idVendedor = 0; getSeguimiento(); $scope.$broadcast('removeCabecera', cabecera); - $scope.$broadcast('addCabecera',{ + $scope.$broadcast('addCabecera', { label: 'General', valor: '' }); }; $scope.cargar = function(idVehiculo, punto) { - if(!$scope.fechaReparto) { - focaModalService.alert('Primero seleccione fecha de reparto'); - return; - } + if(!eligioFecha()) return; var idRemito; if(punto === -1) { idRemito = -1; @@ -76,21 +73,8 @@ angular.module('focaLogisticaPedidoRuta') .controller('focaLogisticaPedidoRutaCo }; $scope.quitarVehiculo = function(vehiculo) { - //TODO: Pasar validación a función - $scope.fechaReparto.setHours(0, 0, 0, 0); - var idUsuario = focaLogisticaPedidoRutaService.idUsuario; - for(var i = 0; i < vehiculo.cisternas.length; i++) { - for(var j = 0; j < vehiculo.cisternas[i].cisternasCarga.length; j++) { - var cisternaCarga = vehiculo.cisternas[i].cisternasCarga[j]; - if(cisternaCarga.fechaReparto.substring(0, 10) === $scope.fechaReparto - .toISOString().substring(0, 10) && cisternaCarga.idUsuarioProceso !== - idUsuario) - { - focaModalService.alert('El vehículo está siendo usado por otro usuario'); - return; - } - } - } + if(!eligioFecha()) return; + if(vehiculoEnUso(vehiculo)) return; focaModalService.confirm('Esta seguro que desea eliminar el vehículo ' + vehiculo.codigo + '?').then(function() { eliminarVehiculo(vehiculo); @@ -98,25 +82,9 @@ angular.module('focaLogisticaPedidoRuta') .controller('focaLogisticaPedidoRutaCo }; $scope.hacerHojaRuta = function(vehiculo) { - if(!$scope.fechaReparto) { - focaModalService.alert('Primero seleccione fecha de reparto'); - return; - } - //TODO: Pasar validación a función - $scope.fechaReparto.setHours(0, 0, 0, 0); - var idUsuario = focaLogisticaPedidoRutaService.idUsuario; - for(var i = 0; i < vehiculo.cisternas.length; i++) { - for(var j = 0; j < vehiculo.cisternas[i].cisternasCarga.length; j++) { - var cisternaCarga = vehiculo.cisternas[i].cisternasCarga[j]; - if(cisternaCarga.fechaReparto.substring(0, 10) === $scope.fechaReparto - .toISOString().substring(0, 10) && cisternaCarga.idUsuarioProceso !== - idUsuario) - { - focaModalService.alert('El vehículo está siendo usado por otro usuario'); - return; - } - } - } + if(!eligioFecha()) return; + if(vehiculoEnUso(vehiculo)) return; + var modalInstance = $uibModal.open( { ariaLabelledBy: 'Creación hoja ruta', @@ -124,7 +92,8 @@ angular.module('focaLogisticaPedidoRuta') .controller('focaLogisticaPedidoRutaCo controller: 'focaModalCerrarVehiculo', size: 'lg', resolve: { - idVehiculo: function() {return vehiculo.id;} + idVehiculo: function() {return vehiculo.id;}, + fechaReparto: function() {return $scope.fechaReparto;} } } ); @@ -269,6 +238,32 @@ angular.module('focaLogisticaPedidoRuta') .controller('focaLogisticaPedidoRutaCo } }); } + + function eligioFecha() { + if(!$scope.fechaReparto) { + focaModalService.alert('Primero seleccione fecha de reparto'); + return false; + } + return true; + } + + function vehiculoEnUso(vehiculo) { + $scope.fechaReparto.setHours(0, 0, 0, 0); + var idUsuario = focaLogisticaPedidoRutaService.idUsuario; + for(var i = 0; i < vehiculo.cisternas.length; i++) { + for(var j = 0; j < vehiculo.cisternas[i].cisternasCarga.length; j++) { + var cisternaCarga = vehiculo.cisternas[i].cisternasCarga[j]; + if(cisternaCarga.fechaReparto.substring(0, 10) === $scope.fechaReparto + .toISOString().substring(0, 10) && cisternaCarga.idUsuarioProceso !== + idUsuario) + { + focaModalService.alert('El vehículo está siendo usado por otro usuario'); + return true; + } + } + } + return false; + } // TODO: descomentar en produccion // $interval(function() { // getSeguimiento(); diff --git a/src/js/controllerCerrarVehiculo.js b/src/js/controllerCerrarVehiculo.js index f4fc821..990ebea 100644 --- a/src/js/controllerCerrarVehiculo.js +++ b/src/js/controllerCerrarVehiculo.js @@ -7,11 +7,12 @@ angular.module('focaLogisticaPedidoRuta') 'idVehiculo', 'focaModalService', '$filter', + 'fechaReparto', function($scope, $uibModalInstance, $uibModal, focaLogisticaPedidoRutaService, - idVehiculo, focaModalService, $filter) { + idVehiculo, focaModalService, $filter, fechaReparto) { $scope.vehiculo = {}; $scope.remitos = []; - $scope.now = new Date(); + $scope.now = fechaReparto; focaLogisticaPedidoRutaService.obtenerVehiculoById(idVehiculo).then(function(res) { $scope.vehiculo = res.data; }); diff --git a/src/js/controllerDetalleVehiculo.js b/src/js/controllerDetalleVehiculo.js index ff6e50c..ccfe09f 100644 --- a/src/js/controllerDetalleVehiculo.js +++ b/src/js/controllerDetalleVehiculo.js @@ -31,7 +31,10 @@ angular.module('focaLogisticaPedidoRuta') $scope.cargandoDatos = false; $scope.vehiculo = res[0].data; $scope.cisternas = res[1].data; - if(!res[2]) return; + if(!res[2]) { + $scope.$digest(); + return; + } $scope.remito = res[2].data; if($scope.remito.idUsuarioProceso) { focaModalService.alert('Remito ya asignado'); @@ -40,7 +43,7 @@ angular.module('focaLogisticaPedidoRuta') $scope.articulos = $scope.remito.articulosRemito; $scope.seleccionarArticulo($scope.articulos[0]); var tieneUsuario = $scope.cisternas.filter(function(cisterna) { - if(cisterna.cisternaCarga) { + if(cisterna.cisternaCarga && cisterna.cisternaCarga.idUsuarioProceso) { return cisterna.cisternaCarga.idUsuarioProceso !== focaLogisticaPedidoRutaService.idUsuario; } @@ -48,7 +51,6 @@ angular.module('focaLogisticaPedidoRuta') if(tieneUsuario.length) { focaModalService.alert('Otro usario esta usando este vehículo'); $uibModalInstance.close(); - return; } $scope.$digest(); }); diff --git a/src/views/foca-modal-cerrar-vehiculo.html b/src/views/foca-modal-cerrar-vehiculo.html index 586fb29..f3d1a70 100644 --- a/src/views/foca-modal-cerrar-vehiculo.html +++ b/src/views/foca-modal-cerrar-vehiculo.html @@ -12,7 +12,6 @@ show-button-bar="false" is-open="datepickerOpen" on-open-focus="false" - ng-focus="datepickerOpen = true" class="form-control col-8"/>