Commit 10b0f94bf65c6b0a37f615d3735f8cc100804ce3
1 parent
4bcdeb329c
Exists in
master
refactor guardar
Showing
3 changed files
with
63 additions
and
42 deletions
Show diff stats
src/js/controller.js
| ... | ... | @@ -136,33 +136,22 @@ angular.module('focaAbmVehiculo') |
| 136 | 136 | $location.path('/vehiculo/' + $routeParams.idVehiculo + '/cisterna/' + id); |
| 137 | 137 | }; |
| 138 | 138 | $scope.guardar = function() { |
| 139 | - if(!$scope.vehiculo.transportista) { | |
| 140 | - focaModalService.alert('Elija Transportista'); | |
| 141 | - return; | |
| 142 | - } | |
| 143 | - focaAbmVehiculoService.getVehiculosPorTransportista($routeParams.idTransportista) | |
| 144 | - .then(function(res) { | |
| 145 | - var existe = res.data.filter(function(vehiculo) { | |
| 146 | - return vehiculo.codigo === $scope.vehiculo.codigo && | |
| 147 | - vehiculo.id !== $scope.vehiculo.id; | |
| 139 | + //Valida si existe numero de unidad | |
| 140 | + existeCodigoUnidad().then(function() { | |
| 141 | + delete $scope.vehiculo.transportista; | |
| 142 | + focaAbmVehiculoService.guardarVehiculo($scope.vehiculo) | |
| 143 | + .then(function(res){ | |
| 144 | + if($scope.nuevo) { | |
| 145 | + $location.path('/vehiculo/' + res.data.id + | |
| 146 | + '/' + res.data.idTransportista); | |
| 147 | + } else { | |
| 148 | + $location.path('/vehiculo'); | |
| 149 | + } | |
| 148 | 150 | }); |
| 151 | + }, function(){ | |
| 152 | + focaModalService.alert('Código de unidad existente'); | |
| 153 | + }); | |
| 149 | 154 | |
| 150 | - if(existe.length > 0) { | |
| 151 | - return Promise.reject('Existe codigo de unidad'); | |
| 152 | - }else { | |
| 153 | - delete $scope.vehiculo.transportista; | |
| 154 | - return focaAbmVehiculoService.guerdarVehiculo($scope.vehiculo); | |
| 155 | - } | |
| 156 | - }).then(function(res) { | |
| 157 | - if($scope.nuevo) { | |
| 158 | - $location.path('/vehiculo/' + res.data.id + | |
| 159 | - '/' + res.data.idTransportista); | |
| 160 | - }else { | |
| 161 | - $location.path('/vehiculo'); | |
| 162 | - } | |
| 163 | - }, function(rej) { | |
| 164 | - focaModalService.alert(rej); | |
| 165 | - }); | |
| 166 | 155 | }; |
| 167 | 156 | $scope.solicitarConfirmacionCisterna = function(cisterna) { |
| 168 | 157 | focaModalService.confirm('¿Está seguro que desea borrar la cisterna ' + |
| ... | ... | @@ -198,5 +187,25 @@ angular.module('focaAbmVehiculo') |
| 198 | 187 | } |
| 199 | 188 | ); |
| 200 | 189 | }; |
| 190 | + | |
| 191 | + function existeCodigoUnidad(){ | |
| 192 | + return new Promise(function(resolve, reject) { | |
| 193 | + focaAbmVehiculoService | |
| 194 | + .getVehiculosPorTransportista($routeParams.idTransportista) | |
| 195 | + .then(function(res){ | |
| 196 | + //Valida si existe numero de unidad | |
| 197 | + var existe = res.data.filter(function(vehiculo) { | |
| 198 | + return vehiculo.codigo === $scope.vehiculo.codigo && | |
| 199 | + vehiculo.id !== $scope.vehiculo.id; | |
| 200 | + }); | |
| 201 | + | |
| 202 | + if(existe.length){ | |
| 203 | + reject(existe); | |
| 204 | + } else { | |
| 205 | + resolve(); | |
| 206 | + } | |
| 207 | + }); | |
| 208 | + }); | |
| 209 | + } | |
| 201 | 210 | } |
| 202 | 211 | ]); |
src/js/controllerCisterna.js
| ... | ... | @@ -56,24 +56,17 @@ angular.module('focaAbmVehiculo') |
| 56 | 56 | focaModalService.alert('Ingrese producto'); |
| 57 | 57 | return; |
| 58 | 58 | } |
| 59 | - focaAbmVehiculoService.getCisternadoPorVehiculo($routeParams.idVehiculo) | |
| 60 | - .then(function(res) { | |
| 61 | - var existe = res.data.filter(function(cisterna) { | |
| 62 | - return cisterna.codigo === $scope.cisterna.codigo; | |
| 63 | - }); | |
| 64 | - if(existe.length > 0) { | |
| 65 | - return Promise.reject('Existe codigo de cisterna'); | |
| 66 | - }else { | |
| 67 | - $scope.cisterna.idVehiculo = $routeParams.idVehiculo; | |
| 68 | - delete $scope.cisterna.unidadMedida; | |
| 69 | - delete $scope.cisterna.cisternaCarga.articulo; | |
| 70 | - return focaAbmVehiculoService.guardarCisterna($scope.cisterna); | |
| 71 | - } | |
| 72 | - }).then(function() { | |
| 59 | + existeCodigoCisterna().then(function() { | |
| 60 | + $scope.cisterna.idVehiculo = $routeParams.idVehiculo; | |
| 61 | + delete $scope.cisterna.unidadMedida; | |
| 62 | + delete $scope.cisterna.cisternaCarga.articulo; | |
| 63 | + focaAbmVehiculoService.guardarCisterna($scope.cisterna).then(function(){ | |
| 73 | 64 | $location.path('/vehiculo/' + $routeParams.idVehiculo); |
| 74 | - }, function(rej) { | |
| 75 | - focaModalService.alert(rej); | |
| 76 | 65 | }); |
| 66 | + }, function() { | |
| 67 | + focaModalService.alert('Código de cisterna existente'); | |
| 68 | + }); | |
| 69 | + | |
| 77 | 70 | }; |
| 78 | 71 | |
| 79 | 72 | // $scope.seleccionarArticulo = function() { |
| ... | ... | @@ -116,5 +109,24 @@ angular.module('focaAbmVehiculo') |
| 116 | 109 | $scope.cisterna.unidadMedida = unidaMedida; |
| 117 | 110 | }); |
| 118 | 111 | }; |
| 112 | + | |
| 113 | + function existeCodigoCisterna(){ | |
| 114 | + return new Promise(function(resolve, reject) { | |
| 115 | + focaAbmVehiculoService | |
| 116 | + .getCisternadoPorVehiculo($routeParams.idVehiculo) | |
| 117 | + .then(function(res){ | |
| 118 | + //Valida si existe numero de unidad | |
| 119 | + var existe = res.data.filter(function(cisterna) { | |
| 120 | + return cisterna.codigo === $scope.cisterna.codigo; | |
| 121 | + }); | |
| 122 | + | |
| 123 | + if(existe.length){ | |
| 124 | + reject(existe); | |
| 125 | + } else { | |
| 126 | + resolve(); | |
| 127 | + } | |
| 128 | + }); | |
| 129 | + }); | |
| 130 | + } | |
| 119 | 131 | } |
| 120 | 132 | ]); |
src/js/service.js
| ... | ... | @@ -10,7 +10,7 @@ angular.module('focaAbmVehiculo') |
| 10 | 10 | getTransportistas: function() { |
| 11 | 11 | return $http.get(API_ENDPOINT.URL + '/transportista'); |
| 12 | 12 | }, |
| 13 | - guerdarVehiculo: function(vehiculo) { | |
| 13 | + guardarVehiculo: function(vehiculo) { | |
| 14 | 14 | return $http.post(API_ENDPOINT.URL + '/vehiculo', {vehiculo: vehiculo}); |
| 15 | 15 | }, |
| 16 | 16 | deleteVehiculo: function(id) { |