Commit 359d51a957a54a1ff666773500c952711b2fa366
1 parent
d1411789ec
Exists in
master
and in
1 other branch
capacidad total vehiculo, formato tabla y crear cisternas
Showing
4 changed files
with
49 additions
and
81 deletions
Show diff stats
src/js/controller.js
| ... | ... | @@ -89,6 +89,7 @@ angular.module('focaAbmVehiculo') |
| 89 | 89 | $scope.nuevo = $routeParams.idVehiculo === '0' ? true : false; |
| 90 | 90 | $scope.now = new Date(); |
| 91 | 91 | $scope.focused = 1; |
| 92 | + $scope.transportistaStamp = ''; | |
| 92 | 93 | |
| 93 | 94 | $timeout(function() { |
| 94 | 95 | focaBotoneraLateralService.showSalir(false); |
| ... | ... | @@ -113,11 +114,13 @@ angular.module('focaAbmVehiculo') |
| 113 | 114 | $scope.vehiculo = {}; |
| 114 | 115 | focaAbmVehiculoService.getVehiculo($routeParams.idVehiculo).then(function(res) { |
| 115 | 116 | if(res.data) { |
| 116 | - var codigo = ('00000' + res.data.transportista.COD).slice(-5); | |
| 117 | + $scope.transportistaStamp = ('00000' + res.data.transportista.COD).slice(-5); | |
| 118 | + $scope.transportistaStamp += ' - ' + res.data.transportista.NOM | |
| 119 | + | |
| 117 | 120 | $scope.vehiculo = res.data; |
| 118 | 121 | $scope.$broadcast('addCabecera', { |
| 119 | 122 | label: 'Transportista:', |
| 120 | - valor: codigo + ' - ' + res.data.transportista.NOM | |
| 123 | + valor: $scope.transportistaStamp | |
| 121 | 124 | }); |
| 122 | 125 | $scope.$broadcast('addCabecera', { |
| 123 | 126 | label: 'Unidad:', |
src/js/controllerCisterna.js
| ... | ... | @@ -16,6 +16,7 @@ angular.module('focaAbmVehiculo') |
| 16 | 16 | $scope.next = function(key) { |
| 17 | 17 | if (key === 13) $scope.focused++; |
| 18 | 18 | }; |
| 19 | + $scope.capacidadVechiulo = 0; | |
| 19 | 20 | |
| 20 | 21 | //SETEO BOTONERA LATERAL |
| 21 | 22 | $timeout(function() { |
| ... | ... | @@ -35,6 +36,7 @@ angular.module('focaAbmVehiculo') |
| 35 | 36 | }); |
| 36 | 37 | focaAbmVehiculoService.getVehiculo($routeParams.idVehiculo).then(function(res) { |
| 37 | 38 | var codigo = ('00000' + res.data.transportista.COD).slice(-5); |
| 39 | + $scope.capacidadVechiulo = res.data.capacidad; | |
| 38 | 40 | $scope.$broadcast('addCabecera', { |
| 39 | 41 | label: 'Transportista:', |
| 40 | 42 | valor: codigo + ' - ' + res.data.transportista.NOM |
| ... | ... | @@ -52,7 +54,7 @@ angular.module('focaAbmVehiculo') |
| 52 | 54 | focaModalService.alert('Ingrese unidad de medida'); |
| 53 | 55 | return; |
| 54 | 56 | } |
| 55 | - existeCodigoCisterna().then(function() { | |
| 57 | + validaCodigoCapacidad().then(function() { | |
| 56 | 58 | $scope.cisterna.idVehiculo = $routeParams.idVehiculo; |
| 57 | 59 | delete $scope.cisterna.vehiculo; |
| 58 | 60 | delete $scope.cisterna.unidadMedida; |
| ... | ... | @@ -60,38 +62,12 @@ angular.module('focaAbmVehiculo') |
| 60 | 62 | focaAbmVehiculoService.guardarCisterna($scope.cisterna).then(function(){ |
| 61 | 63 | $location.path('/vehiculo/' + $routeParams.idVehiculo); |
| 62 | 64 | }); |
| 63 | - }, function() { | |
| 64 | - focaModalService.alert('Código de cisterna existente'); | |
| 65 | + }, function(err) { | |
| 66 | + focaModalService.alert(err); | |
| 65 | 67 | }); |
| 66 | 68 | |
| 67 | 69 | }; |
| 68 | 70 | |
| 69 | - // $scope.seleccionarArticulo = function() { | |
| 70 | - // var modalInstance = $uibModal.open( | |
| 71 | - // { | |
| 72 | - // ariaLabelledBy: 'Busqueda de Productos', | |
| 73 | - // templateUrl: 'modal-busqueda-productos.html', | |
| 74 | - // controller: 'modalBusquedaProductosCtrl', | |
| 75 | - // resolve: { | |
| 76 | - // parametroProducto: { | |
| 77 | - // idLista: -1, | |
| 78 | - // cotizacion: 1, | |
| 79 | - // simbolo: '$' | |
| 80 | - // } | |
| 81 | - // }, | |
| 82 | - // size: 'lg' | |
| 83 | - // } | |
| 84 | - // ); | |
| 85 | - // modalInstance.result.then( | |
| 86 | - // function(producto) { | |
| 87 | - // $scope.cisterna.cisternaCarga.idProducto = producto.id, | |
| 88 | - // $scope.cisterna.cisternaCarga.articulo.DetArt = producto.descripcion; | |
| 89 | - // }, function() { | |
| 90 | - // // funcion ejecutada cuando se cancela el modal | |
| 91 | - // } | |
| 92 | - // ); | |
| 93 | - // }; | |
| 94 | - | |
| 95 | 71 | $scope.seleccionarUnidadMedida = function() { |
| 96 | 72 | var modalInstance = $uibModal.open( |
| 97 | 73 | { |
| ... | ... | @@ -107,19 +83,30 @@ angular.module('focaAbmVehiculo') |
| 107 | 83 | }); |
| 108 | 84 | }; |
| 109 | 85 | |
| 110 | - function existeCodigoCisterna(){ | |
| 86 | + function validaCodigoCapacidad(){ | |
| 111 | 87 | return new Promise(function(resolve, reject) { |
| 112 | 88 | focaAbmVehiculoService |
| 113 | 89 | .getCisternadoPorVehiculo($routeParams.idVehiculo) |
| 114 | 90 | .then(function(res){ |
| 115 | - //Valida si existe numero de unidad | |
| 116 | - var existe = res.data.filter(function(cisterna) { | |
| 117 | - return cisterna.codigo === $scope.cisterna.codigo && | |
| 118 | - cisterna.id !== $scope.cisterna.id; | |
| 91 | + | |
| 92 | + var totalCargado = 0; | |
| 93 | + | |
| 94 | + res.data.forEach(function(cisterna) { | |
| 95 | + //SI EL CODIGO YA EXISTE | |
| 96 | + if(cisterna.codigo === $scope.cisterna.codigo && | |
| 97 | + cisterna.id !== $scope.cisterna.id){ | |
| 98 | + reject('Código de cisterna existente'); | |
| 99 | + } | |
| 100 | + if(cisterna.id !== $scope.cisterna.id){ | |
| 101 | + totalCargado += cisterna.capacidad; | |
| 102 | + } | |
| 119 | 103 | }); |
| 120 | 104 | |
| 121 | - if(existe.length){ | |
| 122 | - reject(existe); | |
| 105 | + //SI EL TOTAL DE CAPACIDAD DE CISTERNAS ES MAYOR QUE LA DEL VEHICULO | |
| 106 | + totalCargado = totalCargado + parseInt($scope.cisterna.capacidad); | |
| 107 | + if(totalCargado > $scope.capacidadVechiulo){ | |
| 108 | + reject('La capacidad total de las cisternas' + | |
| 109 | + ' debe ser menor o igual a la del vehiculo'); | |
| 123 | 110 | } else { |
| 124 | 111 | resolve(); |
| 125 | 112 | } |
src/views/foca-abm-cisterna-item.html
| ... | ... | @@ -59,37 +59,4 @@ |
| 59 | 59 | </div> |
| 60 | 60 | </div> |
| 61 | 61 | </div> |
| 62 | - <div class="form-group row"> | |
| 63 | - <label class="offset-sm-1 col-sm-2 col-form-label">Carga</label> | |
| 64 | - <div class="col-sm-4"> | |
| 65 | - <input | |
| 66 | - class="form-control" | |
| 67 | - foca-tipo-input | |
| 68 | - teclado-virtual | |
| 69 | - ng-model="cisterna.cisternaCarga.cantidad" | |
| 70 | - readonly | |
| 71 | - /> | |
| 72 | - </div> | |
| 73 | - </div> | |
| 74 | - <div class="form-group row"> | |
| 75 | - <label class="offset-sm-1 col-sm-2 col-form-label">Producto</label> | |
| 76 | - <div class="col-sm-4 input-group"> | |
| 77 | - <input | |
| 78 | - ng-model="cisterna.cisternaCarga.articulo.DetArt" | |
| 79 | - class="form-control" | |
| 80 | - readonly | |
| 81 | - /> | |
| 82 | - <!-- <div class="input-group-append"> | |
| 83 | - <button | |
| 84 | - ladda="searchLoading" | |
| 85 | - class="btn btn-outline-secondary form-control" | |
| 86 | - type="button" | |
| 87 | - ng-click="seleccionarArticulo(13)" | |
| 88 | - ng-disabled="editar" | |
| 89 | - > | |
| 90 | - <i class="fa fa-search" aria-hidden="true"></i> | |
| 91 | - </button> | |
| 92 | - </div> --> | |
| 93 | - </div> | |
| 94 | - </div> | |
| 95 | 62 | </form> |
src/views/foca-abm-vehiculos-item.html
| ... | ... | @@ -16,7 +16,7 @@ |
| 16 | 16 | <input |
| 17 | 17 | class="form-control" |
| 18 | 18 | type="text" |
| 19 | - ng-model="vehiculo.transportista.NOM" | |
| 19 | + ng-value="transportistaStamp" | |
| 20 | 20 | readonly |
| 21 | 21 | /> |
| 22 | 22 | </div> |
| ... | ... | @@ -29,8 +29,8 @@ |
| 29 | 29 | type="text" |
| 30 | 30 | teclado-virtual |
| 31 | 31 | ng-model="vehiculo.codigo" |
| 32 | - foca-focus="focused == 2" | |
| 33 | - ng-focus="focused = 2" | |
| 32 | + foca-focus="focused == 3" | |
| 33 | + ng-focus="focused = 3" | |
| 34 | 34 | ng-keypress="next($event.keyCode)" |
| 35 | 35 | /> |
| 36 | 36 | </div> |
| ... | ... | @@ -59,8 +59,23 @@ |
| 59 | 59 | teclado-virtual |
| 60 | 60 | ng-model="vehiculo.semi" |
| 61 | 61 | ng-required="true" |
| 62 | - foca-focus="focused == 3" | |
| 63 | - ng-focus="focused = 3" | |
| 62 | + foca-focus="focused == 4" | |
| 63 | + ng-focus="focused = 4" | |
| 64 | + ng-keypress="next($event.keyCode)" | |
| 65 | + /> | |
| 66 | + </div> | |
| 67 | + </div> | |
| 68 | + <div class="form-group d-flex mb-2 col-md-6"> | |
| 69 | + <label class="col-form-label col-md-4">Capacidad total</label> | |
| 70 | + <div class="input-group col-md-8 pl-0"> | |
| 71 | + <input | |
| 72 | + class="form-control" | |
| 73 | + type="text" | |
| 74 | + teclado-virtual | |
| 75 | + ng-model="vehiculo.capacidad" | |
| 76 | + ng-required="true" | |
| 77 | + foca-focus="focused == 2" | |
| 78 | + ng-focus="focused = 2" | |
| 64 | 79 | ng-keypress="next($event.keyCode)" |
| 65 | 80 | /> |
| 66 | 81 | </div> |
| ... | ... | @@ -74,8 +89,6 @@ |
| 74 | 89 | <tr> |
| 75 | 90 | <th class="px-5">Código</th> |
| 76 | 91 | <th class="text-right px-5">Capacidad</th> |
| 77 | - <th class="px-5">Unidad de Medida</th> | |
| 78 | - <th class="text-right px-5">Carga</th> | |
| 79 | 92 | <th class="text-center px-4"> |
| 80 | 93 | <button |
| 81 | 94 | class="btn btn-outline-debo boton-accion" |
| ... | ... | @@ -89,9 +102,7 @@ |
| 89 | 102 | <tbody> |
| 90 | 103 | <tr ng-repeat="cisterna in cisternas | filter:filtros"> |
| 91 | 104 | <td ng-bind="cisterna.codigo" class="px-5"></td> |
| 92 | - <td ng-bind="cisterna.capacidad" class="text-right px-5"></td> | |
| 93 | - <td ng-bind="cisterna.unidadMedida.NOM" class="px-5"></td> | |
| 94 | - <td ng-bind="cisterna.cisternaCarga.cantidad || 0" class="text-right px-5"></td> | |
| 105 | + <td ng-bind="cisterna.capacidad + ' ' + cisterna.unidadMedida.NOM" class="text-right px-5"></td> | |
| 95 | 106 | <td class="text-center px-4"> |
| 96 | 107 | <button |
| 97 | 108 | class="btn btn-outline-dark boton-accion" |