angular.module('focaEstadoCisternas') .controller('focaEstadoCisternasController', [ '$scope', 'focaEstadoCisternasService', 'focaModalService', '$uibModal', 'focaBotoneraLateralService', '$timeout', function($scope, focaEstadoCisternasService, focaModalService, $uibModal, focaBotoneraLateralService, $timeout) { $scope.now = new Date(); $scope.fecha = new Date(); $scope.cisternas = []; $scope.botonera = focaEstadoCisternasService.getBotonera(); //SETEO BOTONERA LATERAL focaBotoneraLateralService.showSalir(true); focaBotoneraLateralService.showPausar(false); focaBotoneraLateralService.showCancelar(false); focaBotoneraLateralService.showGuardar(false); $timeout(function() { $scope.$broadcast('addCabecera', { label: 'Fecha:', valor: $scope.fecha.toLocaleDateString() }); }); $scope.seleccionarTransportista = function() { var modalInstance = $uibModal.open( { ariaLabelledBy: 'Busqueda de Transportista', templateUrl: 'modal-proveedor.html', controller: 'focaModalProveedorCtrl', size: 'lg', resolve: { transportista: function() { return true; } } } ); return modalInstance.result; }; $scope.seleccionarVehiculo = function() { $scope.seleccionarTransportista().then( function(transportista) { elegirTransportista(transportista); var query = '/vehiculo/transportista/' + $scope.idTransportista; var columnas = { nombre: ['Código', 'tractor', 'Semi', 'Capacidad'], propiedad: ['codigo', 'tractor', 'semi', 'capacidadTotalCisternas'] }; var titulo = 'Búsqueda de vehículos'; focaModalService.modal(columnas, query, titulo).then( function(vehiculo) { $scope.$broadcast('addCabecera', { label: 'Vehículo:', valor: vehiculo.codigo }); $scope.cisternas = vehiculo.cisternas; getEstadosCisternas($scope.cisternas); }, function() { $scope.seleccionarTransportista(); }); }); }; $scope.seleccionarFechaEntrega = function() { focaModalService.modalFecha('Fecha').then(function(fecha) { $scope.$broadcast('addCabecera', { label: 'Fecha:', valor: fecha.toLocaleDateString() }); $scope.fecha = fecha; if($scope.cisternas) getEstadosCisternas($scope.cisternas); }); }; $scope.seleccionarGrafico = function() { if(!$scope.cisternas.length){ focaModalService.alert('Primero seleccione un vehículo'); return; } $uibModal.open( { ariaLabelledBy: 'Grafico de cisternas', templateUrl: 'modal-grafico-cisternas.html', controller: 'focaModalGraficoCisternasController', size: 'md', resolve:{ filters: { cisternas: $scope.cisternas } } } ); }; function elegirTransportista(transportista) { var codigo = ('00000' + transportista.COD).slice(-5); $scope.idTransportista = transportista.COD; $scope.filtros = transportista.NOM.trim(); $scope.$broadcast('addCabecera', { label: 'Transportista:', valor: codigo + ' - ' + transportista.NOM }); } function getEstadosCisternas(cisternas) { cisternas.forEach(function(cisterna) { focaEstadoCisternasService .getEstadoCisterna(cisterna.id, $scope.fecha) .then(function(res) { cisterna.estado = res.data; }); }); } } ]);