Commit 9ca0f26bc93a0c12fab6b593a3238bd22f91bdfc

Authored by Luigi
1 parent d75ae743c8
Exists in master and in 2 other branches develop, lab

Metodo for en el backend

Showing 2 changed files with 2 additions and 7 deletions   Show diff stats
src/js/controllerItem.js
1 angular.module('focaAbmVendedorCobrador') 1 angular.module('focaAbmVendedorCobrador')
2 .controller('focaAbmVendedorCobradorController', [ 2 .controller('focaAbmVendedorCobradorController', [
3 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', 3 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService',
4 '$timeout', '$uibModal', '$location', 'focaModalService', '$localStorage', '$filter', 4 '$timeout', '$uibModal', '$location', 'focaModalService', '$localStorage', '$filter',
5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, 5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService,
6 $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) { 6 $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) {
7 7
8 $scope.guardado = false; 8 $scope.guardado = false;
9 $scope.now = new Date(); 9 $scope.now = new Date();
10 $scope.focused = 0; 10 $scope.focused = 0;
11 $scope.vendedorCobrador = { 11 $scope.vendedorCobrador = {
12 dni: '', 12 dni: '',
13 CNET: '0', 13 CNET: '0',
14 CFIN: '0', 14 CFIN: '0',
15 CCOB: '0', 15 CCOB: '0',
16 comisionVendedor: '0.00', 16 comisionVendedor: '0.00',
17 comisionCobrador: '0.00', 17 comisionCobrador: '0.00',
18 provincia: { 18 provincia: {
19 NOMBRE: '' 19 NOMBRE: ''
20 }, 20 },
21 localidad: { 21 localidad: {
22 NOMBRE: '' 22 NOMBRE: ''
23 }, 23 },
24 rol: '' 24 rol: ''
25 }; 25 };
26 $scope.options = [ 26 $scope.options = [
27 { 27 {
28 label: 'Vendedor', 28 label: 'Vendedor',
29 value: 1 29 value: 1
30 }, 30 },
31 { 31 {
32 label: 'Cobrador', 32 label: 'Cobrador',
33 value: 2 33 value: 2
34 }, 34 },
35 { 35 {
36 label: 'Vendedor y cobrador', 36 label: 'Vendedor y cobrador',
37 value: 3 37 value: 3
38 } 38 }
39 ]; 39 ];
40 //SETEO BOTONERA LATERAL 40 //SETEO BOTONERA LATERAL
41 $timeout(function() { 41 $timeout(function() {
42 focaBotoneraLateralService.showSalir(false); 42 focaBotoneraLateralService.showSalir(false);
43 focaBotoneraLateralService.showPausar(true); 43 focaBotoneraLateralService.showPausar(true);
44 focaBotoneraLateralService.showCancelar(false); 44 focaBotoneraLateralService.showCancelar(false);
45 focaBotoneraLateralService.showGuardar(true, $scope.guardar); 45 focaBotoneraLateralService.showGuardar(true, $scope.guardar);
46 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); 46 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar);
47 }); 47 });
48 48
49 $timeout(function() {getLSVendedor();}); 49 $timeout(function() {getLSVendedor();});
50 50
51 focaAbmVendedorCobradorService 51 focaAbmVendedorCobradorService
52 .getCodigoVendedores() 52 .getCodigoVendedores()
53 .then(function (res){ 53 .then(function (res){
54 for (let i = 0; i < res.data.length; i++) { 54 $scope.vendedorCobrador.NUM = res.data.proximoCodigo;
55 if (res.data[i + 1].NUM - res.data[i].NUM !== 1) {
56 $scope.vendedorCobrador.NUM = res.data[i].NUM + 1;
57 break;
58 }
59 }
60 }); 55 });
61 56
62 focaAbmVendedorCobradorService 57 focaAbmVendedorCobradorService
63 .getVendedorCobradorById($routeParams.id) 58 .getVendedorCobradorById($routeParams.id)
64 .then(function(res) { 59 .then(function(res) {
65 if (res.data) { 60 if (res.data) {
66 $scope.edicion = true; 61 $scope.edicion = true;
67 $scope.vendedorCobrador = res.data; 62 $scope.vendedorCobrador = res.data;
68 } 63 }
69 }); 64 });
70 65
71 $scope.guardar = function() { 66 $scope.guardar = function() {
72 var cobradorComision = parseFloat($scope.vendedorCobrador.comisionCobrador); 67 var cobradorComision = parseFloat($scope.vendedorCobrador.comisionCobrador);
73 var vendedorComision = parseFloat($scope.vendedorCobrador.comisionVendedor); 68 var vendedorComision = parseFloat($scope.vendedorCobrador.comisionVendedor);
74 69
75 if (!$scope.vendedorCobrador.NOM) { 70 if (!$scope.vendedorCobrador.NOM) {
76 focaModalService.alert('Ingrese nombre'); 71 focaModalService.alert('Ingrese nombre');
77 return; 72 return;
78 } else if (!$scope.vendedorCobrador.domicilio) { 73 } else if (!$scope.vendedorCobrador.domicilio) {
79 focaModalService.alert('Ingrese domicilio'); 74 focaModalService.alert('Ingrese domicilio');
80 return; 75 return;
81 } else if (!$scope.vendedorCobrador.codigoPostal) { 76 } else if (!$scope.vendedorCobrador.codigoPostal) {
82 focaModalService.alert('Ingrese código postal'); 77 focaModalService.alert('Ingrese código postal');
83 return; 78 return;
84 } else if (!$scope.vendedorCobrador.dni) { 79 } else if (!$scope.vendedorCobrador.dni) {
85 focaModalService.alert('Ingrese dni'); 80 focaModalService.alert('Ingrese dni');
86 return; 81 return;
87 } else if (!$scope.vendedorCobrador.rol) { 82 } else if (!$scope.vendedorCobrador.rol) {
88 focaModalService.alert('Seleccione tipo'); 83 focaModalService.alert('Seleccione tipo');
89 return; 84 return;
90 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) { 85 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) {
91 focaModalService.alert('Seleccione una provincia'); 86 focaModalService.alert('Seleccione una provincia');
92 return; 87 return;
93 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) { 88 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) {
94 focaModalService.alert('Seleccione una localidad'); 89 focaModalService.alert('Seleccione una localidad');
95 return; 90 return;
96 } else if (($scope.vendedorCobrador.rol === 2 && isNaN(cobradorComision)) || 91 } else if (($scope.vendedorCobrador.rol === 2 && isNaN(cobradorComision)) ||
97 (($scope.vendedorCobrador.rol === 3) && isNaN(cobradorComision))) { 92 (($scope.vendedorCobrador.rol === 3) && isNaN(cobradorComision))) {
98 focaModalService.alert('Ingrese una comision cobrador válida'); 93 focaModalService.alert('Ingrese una comision cobrador válida');
99 return; 94 return;
100 } else if (($scope.vendedorCobrador.rol === 1 && isNaN(vendedorComision)) || 95 } else if (($scope.vendedorCobrador.rol === 1 && isNaN(vendedorComision)) ||
101 ($scope.vendedorCobrador.rol === 3 && isNaN(vendedorComision))) { 96 ($scope.vendedorCobrador.rol === 3 && isNaN(vendedorComision))) {
102 focaModalService.alert('Ingrese una comision vendedor válida'); 97 focaModalService.alert('Ingrese una comision vendedor válida');
103 return; 98 return;
104 } 99 }
105 100
106 if ($scope.guardado) { 101 if ($scope.guardado) {
107 $scope.cambiarPassword(); 102 $scope.cambiarPassword();
108 } else { 103 } else {
109 104
110 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 105 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
111 106
112 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; 107 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID;
113 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; 108 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID;
114 109
115 delete vendedorCobrador.provincia; 110 delete vendedorCobrador.provincia;
116 delete vendedorCobrador.localidad; 111 delete vendedorCobrador.localidad;
117 if (vendedorCobrador.rol === 1) { 112 if (vendedorCobrador.rol === 1) {
118 delete vendedorCobrador.comisionCobrador; 113 delete vendedorCobrador.comisionCobrador;
119 } else if (vendedorCobrador.rol === 2) { 114 } else if (vendedorCobrador.rol === 2) {
120 delete vendedorCobrador.comisionVendedor; 115 delete vendedorCobrador.comisionVendedor;
121 } 116 }
122 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; 117 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar';
123 118
124 focaAbmVendedorCobradorService 119 focaAbmVendedorCobradorService
125 .guardarVendedorCobrador(vendedorCobrador) 120 .guardarVendedorCobrador(vendedorCobrador)
126 .then(function(res) { 121 .then(function(res) {
127 if ($scope.edicion) { 122 if ($scope.edicion) {
128 $location.path('/vendedor-cobrador'); 123 $location.path('/vendedor-cobrador');
129 } else { 124 } else {
130 $scope.vendedorCobrador = res.data; 125 $scope.vendedorCobrador = res.data;
131 $scope.cambiarPassword(); 126 $scope.cambiarPassword();
132 $scope.guardado = true; 127 $scope.guardado = true;
133 } 128 }
134 }) 129 })
135 .catch(function(err) { 130 .catch(function(err) {
136 if (err.status === 409) { 131 if (err.status === 409) {
137 focaModalService.alert(err.data); 132 focaModalService.alert(err.data);
138 } 133 }
139 }); 134 });
140 } 135 }
141 }; 136 };
142 137
143 $scope.seleccionarProvincia = function(key) { 138 $scope.seleccionarProvincia = function(key) {
144 if (key === 13) { 139 if (key === 13) {
145 var parametrosModal = { 140 var parametrosModal = {
146 searchText: $scope.vendedorCobrador.provincia.NOMBRE, 141 searchText: $scope.vendedorCobrador.provincia.NOMBRE,
147 query: '/provincia', 142 query: '/provincia',
148 columnas: [ 143 columnas: [
149 { 144 {
150 propiedad: 'ID', 145 propiedad: 'ID',
151 nombre: 'Codigo', 146 nombre: 'Codigo',
152 filtro: { 147 filtro: {
153 nombre: 'rellenarDigitos', 148 nombre: 'rellenarDigitos',
154 parametro: 3 149 parametro: 3
155 } 150 }
156 }, 151 },
157 { 152 {
158 propiedad: 'NOMBRE', 153 propiedad: 'NOMBRE',
159 nombre: 'Nombre' 154 nombre: 'Nombre'
160 } 155 }
161 ], 156 ],
162 titulo: 'Búsqueda de provincias', 157 titulo: 'Búsqueda de provincias',
163 size: 'md' 158 size: 'md'
164 }; 159 };
165 focaModalService.modal(parametrosModal).then(function(provincia) { 160 focaModalService.modal(parametrosModal).then(function(provincia) {
166 $scope.vendedorCobrador.provincia = provincia; 161 $scope.vendedorCobrador.provincia = provincia;
167 $timeout(function() { 162 $timeout(function() {
168 $scope.focused = 5; 163 $scope.focused = 5;
169 }); 164 });
170 }, function() { 165 }, function() {
171 //TODO: función llamada cuando cancela el modal 166 //TODO: función llamada cuando cancela el modal
172 }); 167 });
173 } 168 }
174 }; 169 };
175 170
176 $scope.seleccionarLocalidad = function(key) { 171 $scope.seleccionarLocalidad = function(key) {
177 if (!$scope.vendedorCobrador.provincia.ID) { 172 if (!$scope.vendedorCobrador.provincia.ID) {
178 focaModalService.alert('Seleccione una provincia'); 173 focaModalService.alert('Seleccione una provincia');
179 return; 174 return;
180 } 175 }
181 if (key === 13) { 176 if (key === 13) {
182 var parametrosModal = { 177 var parametrosModal = {
183 searchText: $scope.vendedorCobrador.localidad.NOMBRE, 178 searchText: $scope.vendedorCobrador.localidad.NOMBRE,
184 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 179 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
185 columnas: [ 180 columnas: [
186 { 181 {
187 propiedad: 'ID', 182 propiedad: 'ID',
188 nombre: 'Código', 183 nombre: 'Código',
189 filtro: { 184 filtro: {
190 nombre: 'rellenarDigitos', 185 nombre: 'rellenarDigitos',
191 parametro: 3 186 parametro: 3
192 } 187 }
193 }, 188 },
194 { 189 {
195 propiedad: 'NOMBRE', 190 propiedad: 'NOMBRE',
196 nombre: 'Nombre' 191 nombre: 'Nombre'
197 } 192 }
198 ], 193 ],
199 titulo: 'Búsqueda de localidades', 194 titulo: 'Búsqueda de localidades',
200 size: 'md' 195 size: 'md'
201 }; 196 };
202 focaModalService.modal(parametrosModal).then(function(localidad) { 197 focaModalService.modal(parametrosModal).then(function(localidad) {
203 $scope.vendedorCobrador.localidad = localidad; 198 $scope.vendedorCobrador.localidad = localidad;
204 $timeout(function() { 199 $timeout(function() {
205 $scope.focused = 6; 200 $scope.focused = 6;
206 }); 201 });
207 }, function() { 202 }, function() {
208 //TODO: función llamada cuando cancela el modal 203 //TODO: función llamada cuando cancela el modal
209 }); 204 });
210 } 205 }
211 }; 206 };
212 207
213 $scope.$watch('vendedorCobrador', function(newValue) { 208 $scope.$watch('vendedorCobrador', function(newValue) {
214 focaBotoneraLateralService.setPausarData({ 209 focaBotoneraLateralService.setPausarData({
215 label:'vendedorCobrador', 210 label:'vendedorCobrador',
216 val: newValue 211 val: newValue
217 }); 212 });
218 }, true); 213 }, true);
219 214
220 function getLSVendedor() { 215 function getLSVendedor() {
221 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); 216 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null);
222 if (vendedorCobrador) { 217 if (vendedorCobrador) {
223 setearVendedor(vendedorCobrador); 218 setearVendedor(vendedorCobrador);
224 delete $localStorage.vendedorCobrador; 219 delete $localStorage.vendedorCobrador;
225 } 220 }
226 } 221 }
227 222
228 function setearVendedor(vendedorCobrador) { 223 function setearVendedor(vendedorCobrador) {
229 $scope.vendedorCobrador = vendedorCobrador; 224 $scope.vendedorCobrador = vendedorCobrador;
230 $scope.$broadcast('addCabecera', { 225 $scope.$broadcast('addCabecera', {
231 label: 'Vendedor / Cobrador:', 226 label: 'Vendedor / Cobrador:',
232 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + 227 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) +
233 ' - ' + vendedorCobrador.NOM 228 ' - ' + vendedorCobrador.NOM
234 }); 229 });
235 } 230 }
236 231
237 $scope.cancelar = function() { 232 $scope.cancelar = function() {
238 if (!$scope.formVendedorCobrador.$pristine) { 233 if (!$scope.formVendedorCobrador.$pristine) {
239 234
240 focaModalService.confirm('¿Está seguro de que desea salir? ' + 235 focaModalService.confirm('¿Está seguro de que desea salir? ' +
241 'Se perderán todos los datos cargados.') 236 'Se perderán todos los datos cargados.')
242 .then(function(confirmed) { 237 .then(function(confirmed) {
243 if (confirmed && $scope.guardado && !$scope.edicion) { 238 if (confirmed && $scope.guardado && !$scope.edicion) {
244 239
245 focaAbmVendedorCobradorService 240 focaAbmVendedorCobradorService
246 .destroyVendedorCobrador($scope.vendedorCobrador.id) 241 .destroyVendedorCobrador($scope.vendedorCobrador.id)
247 .then(function() { 242 .then(function() {
248 $location.path('/vendedor-cobrador'); 243 $location.path('/vendedor-cobrador');
249 }); 244 });
250 245
251 } else if (confirmed) { 246 } else if (confirmed) {
252 $location.path('/vendedor-cobrador'); 247 $location.path('/vendedor-cobrador');
253 } 248 }
254 }); 249 });
255 250
256 } else { 251 } else {
257 $location.path('/vendedor-cobrador'); 252 $location.path('/vendedor-cobrador');
258 } 253 }
259 }; 254 };
260 255
261 $scope.next = function(key) { 256 $scope.next = function(key) {
262 if (key === 13) $scope.focused++; 257 if (key === 13) $scope.focused++;
263 }; 258 };
264 259
265 $scope.cambiarPassword = function() { 260 $scope.cambiarPassword = function() {
266 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 261 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
267 vendedorCobrador.nombre = vendedorCobrador.NOM; 262 vendedorCobrador.nombre = vendedorCobrador.NOM;
268 vendedorCobrador.codigo = vendedorCobrador.NUM; 263 vendedorCobrador.codigo = vendedorCobrador.NUM;
269 264
270 var parametros = { 265 var parametros = {
271 cuenta: vendedorCobrador, 266 cuenta: vendedorCobrador,
272 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' 267 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores'
273 }; 268 };
274 269
275 var modalInstance = $uibModal.open( 270 var modalInstance = $uibModal.open(
276 { 271 {
277 ariaLabelledBy: 'Configuracion de Logueo', 272 ariaLabelledBy: 'Configuracion de Logueo',
278 templateUrl: 'modal-login.html', 273 templateUrl: 'modal-login.html',
279 controller: 'focaModalLoginController', 274 controller: 'focaModalLoginController',
280 size: 'md', 275 size: 'md',
281 resolve: { 276 resolve: {
282 parametros: function() { 277 parametros: function() {
283 return parametros; 278 return parametros;
284 } 279 }
285 } 280 }
286 } 281 }
287 ); 282 );
288 283
289 modalInstance.result.then(function() { 284 modalInstance.result.then(function() {
290 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 285 if (!$scope.edicion) $location.path('/vendedor-cobrador');
291 }); 286 });
292 287
293 }; 288 };
294 } 289 }
295 ]); 290 ]);
296 291
1 angular.module('focaAbmVendedorCobrador') 1 angular.module('focaAbmVendedorCobrador')
2 .factory('focaAbmVendedorCobradorService', ['$http', 'API_ENDPOINT', 2 .factory('focaAbmVendedorCobradorService', ['$http', 'API_ENDPOINT',
3 function($http, API_ENDPOINT) { 3 function($http, API_ENDPOINT) {
4 return { 4 return {
5 getVendedoresCobradores: function(nombre) { 5 getVendedoresCobradores: function(nombre) {
6 return $http.post(API_ENDPOINT.URL + '/vendedor-cobrador/list', {nombre: nombre}); 6 return $http.post(API_ENDPOINT.URL + '/vendedor-cobrador/list', {nombre: nombre});
7 }, 7 },
8 getVendedorCobradorById: function(id) { 8 getVendedorCobradorById: function(id) {
9 return $http.get(API_ENDPOINT.URL + '/vendedor-cobrador/' + id); 9 return $http.get(API_ENDPOINT.URL + '/vendedor-cobrador/' + id);
10 }, 10 },
11 guardarVendedorCobrador: function(vendedorCobrador) { 11 guardarVendedorCobrador: function(vendedorCobrador) {
12 return $http.post(API_ENDPOINT.URL + '/vendedor-cobrador', 12 return $http.post(API_ENDPOINT.URL + '/vendedor-cobrador',
13 {vendedorCobrador: vendedorCobrador}); 13 {vendedorCobrador: vendedorCobrador});
14 }, 14 },
15 eliminarVendedorCobrador: function(id) { 15 eliminarVendedorCobrador: function(id) {
16 return $http.delete(API_ENDPOINT.URL + '/vendedor-cobrador/' + id); 16 return $http.delete(API_ENDPOINT.URL + '/vendedor-cobrador/' + id);
17 }, 17 },
18 destroyVendedorCobrador: function(id) { 18 destroyVendedorCobrador: function(id) {
19 return $http.delete(API_ENDPOINT.URL + '/vendedor-cobrador/destroy/' + id); 19 return $http.delete(API_ENDPOINT.URL + '/vendedor-cobrador/destroy/' + id);
20 }, 20 },
21 getCodigoSiguiente: function() { 21 getCodigoSiguiente: function() {
22 return $http.get(API_ENDPOINT.URL + '/vendedor-cobrador/obtener/siguiente-codigo'); 22 return $http.get(API_ENDPOINT.URL + '/vendedor-cobrador/obtener/siguiente-codigo');
23 }, 23 },
24 getCodigoVendedores: function() { 24 getCodigoVendedores: function() {
25 return $http.get(API_ENDPOINT.URL + '/codigo-vendedores'); 25 return $http.get(API_ENDPOINT.URL + '/vendedor-cobrador-proximoCodigo');
26 } 26 }
27 }; 27 };
28 }]); 28 }]);
29 29