Commit 8d474c82e0b5023b132f23e6260366ad1df3ecdd

Authored by Eric Fernandez
Exists in master

Merge branch 'develop' into 'master'

Develop

See merge request !30
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 .getCodigoSiguiente() 52 .getCodigoSiguiente()
53 .then(function(res) { 53 .then(function(res) {
54 $scope.vendedorCobrador.NUM = res.data.mayor; 54 $scope.vendedorCobrador.NUM = res.data.mayor;
55 }); 55 });
56 56
57 focaAbmVendedorCobradorService 57 focaAbmVendedorCobradorService
58 .getVendedorCobradorById($routeParams.id) 58 .getVendedorCobradorById($routeParams.id)
59 .then(function(res) { 59 .then(function(res) {
60 if (res.data) { 60 if (res.data) {
61 $scope.edicion = true; 61 $scope.edicion = true;
62 $scope.vendedorCobrador = res.data; 62 $scope.vendedorCobrador = res.data;
63 } 63 }
64 }); 64 });
65 65
66 $scope.guardar = function() { 66 $scope.guardar = function() {
67 67
68 if (!$scope.vendedorCobrador.NOM) { 68 if (!$scope.vendedorCobrador.NOM) {
69 focaModalService.alert('Ingrese nombre'); 69 focaModalService.alert('Ingrese nombre');
70 return; 70 return;
71 } else if (!$scope.vendedorCobrador.domicilio) { 71 } else if (!$scope.vendedorCobrador.domicilio) {
72 focaModalService.alert('Ingrese domicilio'); 72 focaModalService.alert('Ingrese domicilio');
73 return; 73 return;
74 } else if (!$scope.vendedorCobrador.codigoPostal) { 74 } else if (!$scope.vendedorCobrador.codigoPostal) {
75 focaModalService.alert('Ingrese código postal'); 75 focaModalService.alert('Ingrese código postal');
76 return; 76 return;
77 } else if (!$scope.vendedorCobrador.dni) { 77 } else if (!$scope.vendedorCobrador.dni) {
78 focaModalService.alert('Ingrese dni'); 78 focaModalService.alert('Ingrese dni');
79 return; 79 return;
80 } else if (!$scope.vendedorCobrador.rol) { 80 } else if (!$scope.vendedorCobrador.rol) {
81 focaModalService.alert('Seleccione tipo'); 81 focaModalService.alert('Seleccione tipo');
82 return; 82 return;
83 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) { 83 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) {
84 focaModalService.alert('Seleccione una provincia'); 84 focaModalService.alert('Seleccione una provincia');
85 return; 85 return;
86 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) { 86 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) {
87 focaModalService.alert('Seleccione una localidad'); 87 focaModalService.alert('Seleccione una localidad');
88 return; 88 return;
89 } else if (!isNaN($scope.vendedorCobrador.comisionCobrador) || 89 } else if (!parseFloat($scope.vendedorCobrador.comisionCobrador) &&
90 !isNaN($scope.vendedorCobrador.comisionVendedor)) { 90 ($scope.vendedorCobrador.rol === 2 || $scope.vendedorCobrador.rol === 3)) {
91 focaModalService.alert('Ingrese una comision válida'); 91 focaModalService.alert('Ingrese una comision cobrador válida');
92 return;
93 } else if (!parseFloat($scope.vendedorCobrador.comisionVendedor) &&
94 ($scope.vendedorCobrador.rol === 1 || $scope.vendedorCobrador.rol === 3)) {
95 focaModalService.alert('Ingrese una comision vendedor válida');
92 return; 96 return;
93 } 97 }
94 98
95 if ($scope.guardado) { 99 if ($scope.guardado) {
96 $scope.cambiarPassword(); 100 $scope.cambiarPassword();
97 } else { 101 } else {
98 102
99 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 103 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
100 104
101 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; 105 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID;
102 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; 106 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID;
103 107
104 delete vendedorCobrador.provincia; 108 delete vendedorCobrador.provincia;
105 delete vendedorCobrador.localidad; 109 delete vendedorCobrador.localidad;
106 if (vendedorCobrador.rol == 1) { 110 if (vendedorCobrador.rol === 1) {
107 delete vendedorCobrador.comisionCobrador; 111 delete vendedorCobrador.comisionCobrador;
108 } else if (vendedorCobrador.rol == 2) { 112 } else if (vendedorCobrador.rol === 2) {
109 delete vendedorCobrador.comisionVendedor; 113 delete vendedorCobrador.comisionVendedor;
110 } 114 }
111 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; 115 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar';
112 116
113 focaAbmVendedorCobradorService 117 focaAbmVendedorCobradorService
114 .guardarVendedorCobrador(vendedorCobrador) 118 .guardarVendedorCobrador(vendedorCobrador)
115 .then(function(res) { 119 .then(function(res) {
116 if ($scope.edicion) { 120 if ($scope.edicion) {
117 $location.path('/vendedor-cobrador'); 121 $location.path('/vendedor-cobrador');
118 } else { 122 } else {
119 $scope.vendedorCobrador = res.data; 123 $scope.vendedorCobrador = res.data;
120 $scope.cambiarPassword(); 124 $scope.cambiarPassword();
121 $scope.guardado = true; 125 $scope.guardado = true;
122 } 126 }
123 }) 127 })
124 .catch(function(err) { 128 .catch(function(err) {
125 if (err.status === 409) { 129 if (err.status === 409) {
126 focaModalService.alert(err.data); 130 focaModalService.alert(err.data);
127 } 131 }
128 }); 132 });
129 } 133 }
130 }; 134 };
131 135
132 $scope.seleccionarProvincia = function(key) { 136 $scope.seleccionarProvincia = function(key) {
133 if (key === 13) { 137 if (key === 13) {
134 var parametrosModal = { 138 var parametrosModal = {
135 searchText: $scope.vendedorCobrador.provincia.NOMBRE, 139 searchText: $scope.vendedorCobrador.provincia.NOMBRE,
136 query: '/provincia', 140 query: '/provincia',
137 columnas: [ 141 columnas: [
138 { 142 {
139 propiedad: 'ID', 143 propiedad: 'ID',
140 nombre: 'Codigo', 144 nombre: 'Codigo',
141 filtro: { 145 filtro: {
142 nombre: 'rellenarDigitos', 146 nombre: 'rellenarDigitos',
143 parametro: 3 147 parametro: 3
144 } 148 }
145 }, 149 },
146 { 150 {
147 propiedad: 'NOMBRE', 151 propiedad: 'NOMBRE',
148 nombre: 'Nombre' 152 nombre: 'Nombre'
149 } 153 }
150 ], 154 ],
151 titulo: 'Búsqueda de provincias', 155 titulo: 'Búsqueda de provincias',
152 size: 'md' 156 size: 'md'
153 }; 157 };
154 focaModalService.modal(parametrosModal).then(function(provincia) { 158 focaModalService.modal(parametrosModal).then(function(provincia) {
155 $scope.vendedorCobrador.provincia = provincia; 159 $scope.vendedorCobrador.provincia = provincia;
156 $timeout(function() { 160 $timeout(function() {
157 $scope.focused = 5; 161 $scope.focused = 5;
158 }); 162 });
159 }, function() { 163 }, function() {
160 //TODO: función llamada cuando cancela el modal 164 //TODO: función llamada cuando cancela el modal
161 }); 165 });
162 } 166 }
163 }; 167 };
164 168
165 $scope.seleccionarLocalidad = function(key) { 169 $scope.seleccionarLocalidad = function(key) {
166 if (!$scope.vendedorCobrador.provincia.ID) { 170 if (!$scope.vendedorCobrador.provincia.ID) {
167 focaModalService.alert('Seleccione una provincia'); 171 focaModalService.alert('Seleccione una provincia');
168 return; 172 return;
169 } 173 }
170 if (key === 13) { 174 if (key === 13) {
171 var parametrosModal = { 175 var parametrosModal = {
172 searchText: $scope.vendedorCobrador.localidad.NOMBRE, 176 searchText: $scope.vendedorCobrador.localidad.NOMBRE,
173 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 177 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
174 columnas: [ 178 columnas: [
175 { 179 {
176 propiedad: 'ID', 180 propiedad: 'ID',
177 nombre: 'Código', 181 nombre: 'Código',
178 filtro: { 182 filtro: {
179 nombre: 'rellenarDigitos', 183 nombre: 'rellenarDigitos',
180 parametro: 3 184 parametro: 3
181 } 185 }
182 }, 186 },
183 { 187 {
184 propiedad: 'NOMBRE', 188 propiedad: 'NOMBRE',
185 nombre: 'Nombre' 189 nombre: 'Nombre'
186 } 190 }
187 ], 191 ],
188 titulo: 'Búsqueda de localidades', 192 titulo: 'Búsqueda de localidades',
189 size: 'md' 193 size: 'md'
190 }; 194 };
191 focaModalService.modal(parametrosModal).then(function(localidad) { 195 focaModalService.modal(parametrosModal).then(function(localidad) {
192 $scope.vendedorCobrador.localidad = localidad; 196 $scope.vendedorCobrador.localidad = localidad;
193 $timeout(function() { 197 $timeout(function() {
194 $scope.focused = 6; 198 $scope.focused = 6;
195 }); 199 });
196 }, function() { 200 }, function() {
197 //TODO: función llamada cuando cancela el modal 201 //TODO: función llamada cuando cancela el modal
198 }); 202 });
199 } 203 }
200 }; 204 };
201 205
202 $scope.$watch('vendedorCobrador', function(newValue) { 206 $scope.$watch('vendedorCobrador', function(newValue) {
203 focaBotoneraLateralService.setPausarData({ 207 focaBotoneraLateralService.setPausarData({
204 label:'vendedorCobrador', 208 label:'vendedorCobrador',
205 val: newValue 209 val: newValue
206 }); 210 });
207 }, true); 211 }, true);
208 212
209 function getLSVendedor() { 213 function getLSVendedor() {
210 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); 214 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null);
211 if (vendedorCobrador) { 215 if (vendedorCobrador) {
212 setearVendedor(vendedorCobrador); 216 setearVendedor(vendedorCobrador);
213 delete $localStorage.vendedorCobrador; 217 delete $localStorage.vendedorCobrador;
214 } 218 }
215 } 219 }
216 220
217 function setearVendedor(vendedorCobrador) { 221 function setearVendedor(vendedorCobrador) {
218 $scope.vendedorCobrador = vendedorCobrador; 222 $scope.vendedorCobrador = vendedorCobrador;
219 $scope.$broadcast('addCabecera', { 223 $scope.$broadcast('addCabecera', {
220 label: 'Vendedor / Cobrador:', 224 label: 'Vendedor / Cobrador:',
221 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM 225 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) +
226 ' - ' + vendedorCobrador.NOM
222 }); 227 });
223 } 228 }
224 229
225 $scope.cancelar = function() { 230 $scope.cancelar = function() {
226 if (!$scope.formVendedorCobrador.$pristine) { 231 if (!$scope.formVendedorCobrador.$pristine) {
227 232
228 focaModalService.confirm('¿Está seguro de que desea salir?' + 233 focaModalService.confirm('¿Está seguro de que desea salir?' +
229 'Se perderán todos los datos cargados.') 234 'Se perderán todos los datos cargados.')
230 .then(function(confirmed) { 235 .then(function(confirmed) {
231 if (confirmed && $scope.guardado && !$scope.edicion) { 236 if (confirmed && $scope.guardado && !$scope.edicion) {
232 237
233 focaAbmVendedorCobradorService 238 focaAbmVendedorCobradorService
234 .destroyVendedorCobrador($scope.vendedorCobrador.id) 239 .destroyVendedorCobrador($scope.vendedorCobrador.id)
235 .then(function() { 240 .then(function() {
236 $location.path('/vendedor-cobrador'); 241 $location.path('/vendedor-cobrador');
237 }); 242 });
238 243
239 } else if (confirmed) { 244 } else if (confirmed) {
240 $location.path('/vendedor-cobrador'); 245 $location.path('/vendedor-cobrador');
241 } 246 }
242 }); 247 });
243 248
244 } else { 249 } else {
245 $location.path('/vendedor-cobrador'); 250 $location.path('/vendedor-cobrador');
246 } 251 }
247 }; 252 };
248 253
249 $scope.next = function(key) { 254 $scope.next = function(key) {
250 if (key === 13) $scope.focused++; 255 if (key === 13) $scope.focused++;
251 }; 256 };
252 257
253 $scope.cambiarPassword = function() { 258 $scope.cambiarPassword = function() {
254 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 259 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
255 vendedorCobrador.nombre = vendedorCobrador.NOM; 260 vendedorCobrador.nombre = vendedorCobrador.NOM;
256 vendedorCobrador.codigo = vendedorCobrador.NUM; 261 vendedorCobrador.codigo = vendedorCobrador.NUM;
257 262
258 var parametros = { 263 var parametros = {
259 cuenta: vendedorCobrador, 264 cuenta: vendedorCobrador,
260 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' 265 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores'
261 }; 266 };
262 267
263 var modalInstance = $uibModal.open( 268 var modalInstance = $uibModal.open(
264 { 269 {
265 ariaLabelledBy: 'Configuracion de Logueo', 270 ariaLabelledBy: 'Configuracion de Logueo',
266 templateUrl: 'modal-login.html', 271 templateUrl: 'modal-login.html',
267 controller: 'focaModalLoginController', 272 controller: 'focaModalLoginController',
268 size: 'md', 273 size: 'md',
269 resolve: { 274 resolve: {
270 parametros: function() { 275 parametros: function() {
271 return parametros; 276 return parametros;
272 } 277 }
273 } 278 }
274 } 279 }
275 ); 280 );
276 281
277 modalInstance.result.then(function() { 282 modalInstance.result.then(function() {
278 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 283 if (!$scope.edicion) $location.path('/vendedor-cobrador');
279 }); 284 });
280 285
281 }; 286 };
282 } 287 }
283 ]); 288 ]);
284 289