Commit dfec27a773e8d15ed434e8e6e4db093f68e73d25
1 parent
c29a9a6525
Exists in
master
agrego valor disponible, boton grafico
Showing
4 changed files
with
52 additions
and
16 deletions
Show diff stats
src/js/app.js
| 1 | angular.module('focaEstadoCisternas', ['ngRoute', 'focaModal', 'ui.bootstrap', 'focaBotoneraLateral']); | 1 | angular.module('focaEstadoCisternas', [ |
| 2 | 'ngRoute', | ||
| 3 | 'focaModal', | ||
| 4 | 'ui.bootstrap', | ||
| 5 | 'focaBotoneraLateral' | ||
| 6 | ]); | ||
| 2 | 7 |
src/js/controller.js
| 1 | angular.module('focaEstadoCisternas') | 1 | angular.module('focaEstadoCisternas') |
| 2 | .controller('focaEstadoCisternasController', [ | 2 | .controller('focaEstadoCisternasController', [ |
| 3 | '$scope', 'focaEstadoCisternasService', '$location', 'focaModalService', | 3 | '$scope', 'focaEstadoCisternasService', 'focaModalService', |
| 4 | '$uibModal', 'focaBotoneraLateralService', '$timeout', | 4 | '$uibModal', 'focaBotoneraLateralService', '$timeout', |
| 5 | function($scope, focaEstadoCisternasService, $location, focaModalService, | 5 | function($scope, focaEstadoCisternasService, focaModalService, |
| 6 | $uibModal, focaBotoneraLateralService, $timeout) { | 6 | $uibModal, focaBotoneraLateralService, $timeout) { |
| 7 | 7 | ||
| 8 | $scope.now = new Date(); | 8 | $scope.now = new Date(); |
| 9 | $scope.fecha = new Date(); | 9 | $scope.fecha = new Date(); |
| 10 | $scope.cisternas = []; | 10 | $scope.cisternas = []; |
| 11 | $scope.botonera = [{ | 11 | $scope.botonera = focaEstadoCisternasService.getBotonera(); |
| 12 | label: 'Transportista', | ||
| 13 | image: 'transportista.png' | ||
| 14 | }, | ||
| 15 | { | ||
| 16 | label: 'Vehiculo', | ||
| 17 | image: 'vehiculos.png' | ||
| 18 | }, | ||
| 19 | { | ||
| 20 | label: 'Fecha', | ||
| 21 | image: 'fechaDeReparto.png' | ||
| 22 | }]; | ||
| 23 | 12 | ||
| 24 | //SETEO BOTONERA LATERAL | 13 | //SETEO BOTONERA LATERAL |
| 25 | focaBotoneraLateralService.showSalir(true); | 14 | focaBotoneraLateralService.showSalir(true); |
| 26 | focaBotoneraLateralService.showPausar(false); | 15 | focaBotoneraLateralService.showPausar(false); |
| 27 | focaBotoneraLateralService.showCancelar(false); | 16 | focaBotoneraLateralService.showCancelar(false); |
| 28 | focaBotoneraLateralService.showGuardar(false); | 17 | focaBotoneraLateralService.showGuardar(false); |
| 29 | 18 | ||
| 30 | $timeout(function() { | 19 | $timeout(function() { |
| 31 | $scope.$broadcast('addCabecera', { | 20 | $scope.$broadcast('addCabecera', { |
| 32 | label: 'Fecha:', | 21 | label: 'Fecha:', |
| 33 | valor: $scope.fecha.toLocaleDateString() | 22 | valor: $scope.fecha.toLocaleDateString() |
| 34 | }); | 23 | }); |
| 35 | }); | 24 | }); |
| 36 | 25 | ||
| 37 | $scope.seleccionarTransportista = function() { | 26 | $scope.seleccionarTransportista = function() { |
| 38 | var modalInstance = $uibModal.open( | 27 | var modalInstance = $uibModal.open( |
| 39 | { | 28 | { |
| 40 | ariaLabelledBy: 'Busqueda de Transportista', | 29 | ariaLabelledBy: 'Busqueda de Transportista', |
| 41 | templateUrl: 'modal-proveedor.html', | 30 | templateUrl: 'modal-proveedor.html', |
| 42 | controller: 'focaModalProveedorCtrl', | 31 | controller: 'focaModalProveedorCtrl', |
| 43 | size: 'lg', | 32 | size: 'lg', |
| 44 | resolve: { | 33 | resolve: { |
| 45 | transportista: function() { | 34 | transportista: function() { |
| 46 | return true; | 35 | return true; |
| 47 | } | 36 | } |
| 48 | } | 37 | } |
| 49 | } | 38 | } |
| 50 | ); | 39 | ); |
| 51 | modalInstance.result.then( | 40 | modalInstance.result.then( |
| 52 | function(transportista) { | 41 | function(transportista) { |
| 53 | elegirTransportista(transportista); | 42 | elegirTransportista(transportista); |
| 54 | }, function() { | 43 | }, function() { |
| 55 | 44 | ||
| 56 | } | 45 | } |
| 57 | ); | 46 | ); |
| 58 | }; | 47 | }; |
| 59 | 48 | ||
| 60 | $scope.seleccionarVehiculo = function() { | 49 | $scope.seleccionarVehiculo = function() { |
| 61 | if(!$scope.idTransportista) { | 50 | if(!$scope.idTransportista) { |
| 62 | focaModalService.alert('Primero seleccione un transportista'); | 51 | focaModalService.alert('Primero seleccione un transportista'); |
| 63 | return; | 52 | return; |
| 64 | } | 53 | } |
| 65 | var query = '/vehiculo/transportista/' + $scope.idTransportista; | 54 | var query = '/vehiculo/transportista/' + $scope.idTransportista; |
| 66 | var columnas = { | 55 | var columnas = { |
| 67 | nombre: ['Código', 'tractor', 'Semi', 'Capacidad'], | 56 | nombre: ['Código', 'tractor', 'Semi', 'Capacidad'], |
| 68 | propiedad: ['codigo', 'tractor', 'semi', 'capacidadTotalCisternas'] | 57 | propiedad: ['codigo', 'tractor', 'semi', 'capacidadTotalCisternas'] |
| 69 | }; | 58 | }; |
| 70 | var titulo = 'Búsqueda de vehículos'; | 59 | var titulo = 'Búsqueda de vehículos'; |
| 71 | 60 | ||
| 72 | focaModalService.modal(columnas, query, titulo).then( | 61 | focaModalService.modal(columnas, query, titulo).then( |
| 73 | function(vehiculo) { | 62 | function(vehiculo) { |
| 74 | $scope.$broadcast('addCabecera', { | 63 | $scope.$broadcast('addCabecera', { |
| 75 | label: 'Vehículo:', | 64 | label: 'Vehículo:', |
| 76 | valor: vehiculo.codigo | 65 | valor: vehiculo.codigo |
| 77 | }); | 66 | }); |
| 78 | $scope.cisternas = vehiculo.cisternas; | 67 | $scope.cisternas = vehiculo.cisternas; |
| 79 | getEstadosCisternas($scope.cisternas); | 68 | getEstadosCisternas($scope.cisternas); |
| 80 | }, function() { | 69 | }, function() { |
| 81 | // funcion ejecutada cuando se cancela el modal | 70 | // funcion ejecutada cuando se cancela el modal |
| 82 | }); | 71 | }); |
| 83 | }; | 72 | }; |
| 84 | 73 | ||
| 85 | $scope.seleccionarFecha = function() { | 74 | $scope.seleccionarFecha = function() { |
| 86 | focaModalService.modalFecha('Fecha').then(function(fecha) { | 75 | focaModalService.modalFecha('Fecha').then(function(fecha) { |
| 87 | $scope.$broadcast('addCabecera', { | 76 | $scope.$broadcast('addCabecera', { |
| 88 | label: 'Fecha:', | 77 | label: 'Fecha:', |
| 89 | valor: fecha.toLocaleDateString() | 78 | valor: fecha.toLocaleDateString() |
| 90 | }); | 79 | }); |
| 91 | $scope.fecha = fecha; | 80 | $scope.fecha = fecha; |
| 92 | if($scope.cisternas) | 81 | if($scope.cisternas) |
| 93 | getEstadosCisternas($scope.cisternas); | 82 | getEstadosCisternas($scope.cisternas); |
| 94 | }); | 83 | }); |
| 95 | }; | 84 | }; |
| 96 | 85 | ||
| 86 | $scope.seleccionarGrafico = function() { | ||
| 87 | if(!$scope.cisternas.length){ | ||
| 88 | focaModalService.alert('Primero seleccione un vehículo'); | ||
| 89 | return; | ||
| 90 | } | ||
| 91 | $uibModal.open( | ||
| 92 | { | ||
| 93 | ariaLabelledBy: 'Grafico de cisternas', | ||
| 94 | templateUrl: 'modal-grafico-cisternas.html', | ||
| 95 | controller: 'focaModalGraficoCisternasController', | ||
| 96 | size: 'md', | ||
| 97 | resolve:{ | ||
| 98 | filters: { | ||
| 99 | cisternas: $scope.cisternas | ||
| 100 | } | ||
| 101 | } | ||
| 102 | } | ||
| 103 | ); | ||
| 104 | }; | ||
| 105 | |||
| 97 | function elegirTransportista(transportista) { | 106 | function elegirTransportista(transportista) { |
| 98 | var codigo = ('00000' + transportista.COD).slice(-5); | 107 | var codigo = ('00000' + transportista.COD).slice(-5); |
| 99 | $scope.idTransportista = transportista.COD; | 108 | $scope.idTransportista = transportista.COD; |
| 100 | $scope.filtros = transportista.NOM.trim(); | 109 | $scope.filtros = transportista.NOM.trim(); |
| 101 | $scope.$broadcast('addCabecera', { | 110 | $scope.$broadcast('addCabecera', { |
| 102 | label: 'Transportista:', | 111 | label: 'Transportista:', |
| 103 | valor: codigo + ' - ' + transportista.NOM | 112 | valor: codigo + ' - ' + transportista.NOM |
| 104 | }); | 113 | }); |
| 105 | } | 114 | } |
| 106 | 115 | ||
| 107 | function getEstadosCisternas(cisternas) { | 116 | function getEstadosCisternas(cisternas) { |
src/js/service.js
| 1 | angular.module('focaEstadoCisternas') | 1 | angular.module('focaEstadoCisternas') |
| 2 | .factory('focaEstadoCisternasService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) { | 2 | .factory('focaEstadoCisternasService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) { |
| 3 | return { | 3 | return { |
| 4 | getVehiculos: function() { | 4 | getVehiculos: function() { |
| 5 | return $http.get(API_ENDPOINT.URL + '/vehiculo'); | 5 | return $http.get(API_ENDPOINT.URL + '/vehiculo'); |
| 6 | }, | 6 | }, |
| 7 | getTransportistas: function() { | 7 | getTransportistas: function() { |
| 8 | return $http.get(API_ENDPOINT.URL + '/transportista'); | 8 | return $http.get(API_ENDPOINT.URL + '/transportista'); |
| 9 | }, | 9 | }, |
| 10 | getCisternadoPorVehiculo: function(idVehiculo) { | 10 | getCisternadoPorVehiculo: function(idVehiculo) { |
| 11 | return $http.get(API_ENDPOINT.URL + '/cisterna/listar/' + idVehiculo); | 11 | return $http.get(API_ENDPOINT.URL + '/cisterna/listar/' + idVehiculo); |
| 12 | }, | 12 | }, |
| 13 | getCisterna: function(id) { | 13 | getCisterna: function(id) { |
| 14 | return $http.get(API_ENDPOINT.URL + '/cisterna/obtener/' + id); | 14 | return $http.get(API_ENDPOINT.URL + '/cisterna/obtener/' + id); |
| 15 | }, | 15 | }, |
| 16 | guardarCisterna: function(cisterna) { | 16 | guardarCisterna: function(cisterna) { |
| 17 | return $http.post(API_ENDPOINT.URL + '/cisterna/guardar', {cisterna: cisterna}); | 17 | return $http.post(API_ENDPOINT.URL + '/cisterna/guardar', {cisterna: cisterna}); |
| 18 | }, | 18 | }, |
| 19 | deleteCisterna: function(id) { | 19 | deleteCisterna: function(id) { |
| 20 | return $http.delete(API_ENDPOINT.URL + '/cisterna/borrar/' + id); | 20 | return $http.delete(API_ENDPOINT.URL + '/cisterna/borrar/' + id); |
| 21 | }, | 21 | }, |
| 22 | getVehiculosPorTransportista: function(id) { | 22 | getVehiculosPorTransportista: function(id) { |
| 23 | return $http.get(API_ENDPOINT.URL + '/vehiculo/transportista/' + id); | 23 | return $http.get(API_ENDPOINT.URL + '/vehiculo/transportista/' + id); |
| 24 | }, | 24 | }, |
| 25 | getEstadoCisterna: function(id, fecha) { | 25 | getEstadoCisterna: function(id, fecha) { |
| 26 | return $http.post(API_ENDPOINT.URL + '/cisterna/stock', | 26 | return $http.post(API_ENDPOINT.URL + '/cisterna/stock', |
| 27 | {idCisterna: id, fecha: fecha}); | 27 | {idCisterna: id, fecha: fecha}); |
| 28 | }, | ||
| 29 | getBotonera: function() { | ||
| 30 | return [ | ||
| 31 | { | ||
| 32 | label: 'Transportista', | ||
| 33 | image: 'transportista.png' | ||
| 34 | }, | ||
| 35 | { | ||
| 36 | label: 'Vehiculo', | ||
| 37 | image: 'vehiculos.png' | ||
| 38 | }, | ||
| 39 | { | ||
| 40 | label: 'Fecha', | ||
| 41 | image: 'fechaDeReparto.png' | ||
| 42 | }, | ||
| 43 | { | ||
| 44 | label: 'Grafico', | ||
| 45 | image: 'fechaDeReparto.png' | ||
| 46 | } | ||
| 47 | ]; | ||
| 28 | } | 48 | } |
| 29 | }; | 49 | }; |
| 30 | }]); | 50 | }]); |
| 31 | 51 |
src/views/foca-estado-cisterna.html
| 1 | <div class="row"> | 1 | <div class="row"> |
| 2 | <foca-cabecera-facturador | 2 | <foca-cabecera-facturador |
| 3 | titulo="'Estado de cisternas'" | 3 | titulo="'Estado de cisternas'" |
| 4 | fecha="now" | 4 | fecha="now" |
| 5 | class="mb-0 col-lg-12" | 5 | class="mb-0 col-lg-12" |
| 6 | ></foca-cabecera-facturador> | 6 | ></foca-cabecera-facturador> |
| 7 | </div> | 7 | </div> |
| 8 | <div class="row"> | 8 | <div class="row"> |
| 9 | <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded"> | 9 | <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded"> |
| 10 | <div class="row px-5 py-2 botonera-secundaria"> | 10 | <div class="row px-5 py-2 botonera-secundaria"> |
| 11 | <div class="col-12"> | 11 | <div class="col-12"> |
| 12 | <foca-botonera-facturador botones="botonera" extra="3" class="row"> | 12 | <foca-botonera-facturador botones="botonera" extra="2" class="row"> |
| 13 | </foca-botonera-facturador> | 13 | </foca-botonera-facturador> |
| 14 | </div> | 14 | </div> |
| 15 | </div> | 15 | </div> |
| 16 | <table class="table table-default table-hover table-sm table-abm table-striped mb-0"> | 16 | <table class="table table-default table-hover table-sm table-abm table-striped mb-0"> |
| 17 | <thead> | 17 | <thead> |
| 18 | <tr> | 18 | <tr> |
| 19 | <th>Código</th> | 19 | <th>Código</th> |
| 20 | <th>Capacidad total</th> | 20 | <th>Capacidad total</th> |
| 21 | <th>Carga</th> | 21 | <th>Carga</th> |
| 22 | <th>Disponible</th> | ||
| 22 | <th>Producto</th> | 23 | <th>Producto</th> |
| 23 | </tr> | 24 | </tr> |
| 24 | </thead> | 25 | </thead> |
| 25 | <tbody> | 26 | <tbody> |
| 26 | <tr ng-repeat="cisterna in cisternas"> | 27 | <tr ng-repeat="cisterna in cisternas"> |
| 27 | <td ng-bind="cisterna.codigo"></td> | 28 | <td ng-bind="cisterna.codigo"></td> |
| 28 | <td ng-bind="cisterna.capacidad + ' ' + cisterna.unidadMedida.NOM"></td> | 29 | <td ng-bind="cisterna.capacidad + ' ' + cisterna.unidadMedida.NOM"></td> |
| 29 | <td ng-bind="cisterna.estado.cantidad"></td> | 30 | <td ng-bind="cisterna.estado.cantidad"></td> |
| 31 | <td ng-bind="cisterna.capacidad - cisterna.estado.cantidad"></td> | ||
| 30 | <td ng-bind="(cisterna.estado.producto) ? cisterna.estado.producto.DetArt : '-'"></td> | 32 | <td ng-bind="(cisterna.estado.producto) ? cisterna.estado.producto.DetArt : '-'"></td> |
| 31 | </tr> | 33 | </tr> |
| 32 | </body> | 34 | </body> |
| 33 | </table> | 35 | </table> |
| 34 | </div> | 36 | </div> |
| 35 | </div> | 37 | </div> |
| 36 | 38 |