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 parametrosModal = { titulo: 'Búsqueda de Transportista', query: '/transportista', columnas: [ { nombre: 'Código', propiedad: 'COD' }, { nombre: 'Nombre', propiedad: 'NOM' }, { nombre: 'CUIT', propiedad: 'CUIT' } ] }; return focaModalService.modal(parametrosModal); }; $scope.seleccionarVehiculo = function() { $scope.seleccionarTransportista().then( function(transportista) { elegirTransportista(transportista); var parametrosModal = { columnas: [ { propiedad: 'codigo', nombre: 'Código' }, { propiedad: 'tractor', nombre: 'tractor' }, { propiedad: 'semi', nombre: 'Semi' }, { propiedad: 'capacidadTotalCisternas', nombre: 'Capacidad' } ], query: '/vehiculo/transportista/' + transportista.COD, titulo: 'Búsqueda de vehiculos', subTitulo: transportista.COD + '-' + transportista.NOM }; focaModalService.modal(parametrosModal).then( function(vehiculo) { $scope.$broadcast('addCabecera', { label: 'Vehículo:', valor: vehiculo.codigo }); $scope.cisternas = vehiculo.cisternas; getEstadosCisternas($scope.cisternas); }, function() { $scope.seleccionarVehiculo(); }); }); }; $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 con cisternas'); 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; }); }); } } ]);