Commit d4d5dd44ec24713b05241d9f2d427994d8291df2
1 parent
0e3f306764
Exists in
master
valida codigo antes de guardar nuevo
Showing
1 changed file
with
45 additions
and
19 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', | 4 | '$timeout', '$uibModal', '$location', 'focaModalService', |
5 | function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, | 5 | function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, |
6 | $timeout, $uibModal, $location, focaModalService) { | 6 | $timeout, $uibModal, $location, focaModalService) { |
7 | 7 | ||
8 | $scope.now = new Date(); | 8 | $scope.now = new Date(); |
9 | $scope.focused = 0; | 9 | $scope.focused = 0; |
10 | $scope.vendedorCobrador = { | 10 | $scope.vendedorCobrador = { |
11 | ES_COBRADOR: false, | 11 | ES_COBRADOR: false, |
12 | DNI: ' ', | 12 | DNI: ' ', |
13 | ClaVen: '', | 13 | ClaVen: '', |
14 | ComVen: '0.00', | 14 | ComVen: '0.00', |
15 | comisionCobrador: '0.00', | 15 | comisionCobrador: '0.00', |
16 | provincia: { | 16 | provincia: { |
17 | NOMBRE: '' | 17 | NOMBRE: '' |
18 | }, | 18 | }, |
19 | localidad: { | 19 | localidad: { |
20 | NOMBRE: ' ' | 20 | NOMBRE: ' ' |
21 | } | 21 | } |
22 | }; | 22 | }; |
23 | $scope.options = [ | 23 | $scope.options = [ |
24 | { | 24 | { |
25 | label: 'Vendedor', | 25 | label: 'Vendedor', |
26 | value: 1 | 26 | value: 1 |
27 | }, | 27 | }, |
28 | { | 28 | { |
29 | label: 'Cobrador', | 29 | label: 'Cobrador', |
30 | value: 2 | 30 | value: 2 |
31 | }, | 31 | }, |
32 | { | 32 | { |
33 | label: 'Vendedor y cobrador', | 33 | label: 'Vendedor y cobrador', |
34 | value: 3 | 34 | value: 3 |
35 | } | 35 | } |
36 | ]; | 36 | ]; |
37 | //SETEO BOTONERA LATERAL | 37 | //SETEO BOTONERA LATERAL |
38 | $timeout(function() { | 38 | $timeout(function() { |
39 | focaBotoneraLateralService.showSalir(false); | 39 | focaBotoneraLateralService.showSalir(false); |
40 | focaBotoneraLateralService.showPausar(true); | 40 | focaBotoneraLateralService.showPausar(true); |
41 | focaBotoneraLateralService.showCancelar(false); | 41 | focaBotoneraLateralService.showCancelar(false); |
42 | focaBotoneraLateralService.showGuardar(true, $scope.guardar); | 42 | focaBotoneraLateralService.showGuardar(true, $scope.guardar); |
43 | focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); | 43 | focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); |
44 | }); | 44 | }); |
45 | focaAbmVendedorCobradorService | 45 | focaAbmVendedorCobradorService |
46 | .getCodigoSiguiente() | 46 | .getCodigoSiguiente() |
47 | .then(function(res) { | 47 | .then(function(res) { |
48 | $scope.vendedorCobrador.CodVen = res.data.mayor; | 48 | $scope.vendedorCobrador.CodVen = res.data.mayor; |
49 | }); | 49 | }); |
50 | focaAbmVendedorCobradorService | 50 | focaAbmVendedorCobradorService |
51 | .getVendedorCobradorById($routeParams.id) | 51 | .getVendedorCobradorById($routeParams.id) |
52 | .then(function(res) { | 52 | .then(function(res) { |
53 | if(res.data){ | 53 | if(res.data){ |
54 | $scope.edicion = true; | 54 | $scope.edicion = true; |
55 | $scope.vendedorCobrador = res.data; | 55 | $scope.vendedorCobrador = res.data; |
56 | delete $scope.vendedorCobrador.FCVEN; | 56 | delete $scope.vendedorCobrador.FCVEN; |
57 | delete $scope.vendedorCobrador.FEC; | 57 | delete $scope.vendedorCobrador.FEC; |
58 | } | 58 | } |
59 | }); | 59 | }); |
60 | 60 | ||
61 | $scope.guardar = function() { | 61 | $scope.guardar = function() { |
62 | if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) { | 62 | validarCodigo() |
63 | focaModalService.alert('Las contraseñas deben coincidir'); | ||
64 | return; | ||
65 | } | ||
66 | $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID; | ||
67 | $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID; | ||
68 | |||
69 | delete $scope.vendedorCobrador.provincia; | ||
70 | delete $scope.vendedorCobrador.localidad; | ||
71 | delete $scope.vendedorCobrador.ClaVen2; | ||
72 | if($scope.vendedorCobrador.rol == 1) { | ||
73 | delete $scope.vendedorCobrador.comisionCobrador; | ||
74 | }else if($scope.vendedorCobrador.rol == 2) { | ||
75 | delete $scope.vendedorCobrador.ComVen; | ||
76 | } | ||
77 | |||
78 | focaAbmVendedorCobradorService | ||
79 | .guardarVendedorCobrador($scope.vendedorCobrador) | ||
80 | .then(function() { | 63 | .then(function() { |
81 | $location.path('/vendedor-cobrador'); | 64 | if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) { |
65 | focaModalService.alert('Las contraseñas deben coincidir'); | ||
66 | return; | ||
67 | } | ||
68 | $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID; | ||
69 | $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID; | ||
70 | |||
71 | delete $scope.vendedorCobrador.provincia; | ||
72 | delete $scope.vendedorCobrador.localidad; | ||
73 | delete $scope.vendedorCobrador.ClaVen2; | ||
74 | if($scope.vendedorCobrador.rol == 1) { | ||
75 | delete $scope.vendedorCobrador.comisionCobrador; | ||
76 | }else if($scope.vendedorCobrador.rol == 2) { | ||
77 | delete $scope.vendedorCobrador.ComVen; | ||
78 | } | ||
79 | |||
80 | return focaAbmVendedorCobradorService | ||
81 | .guardarVendedorCobrador($scope.vendedorCobrador) | ||
82 | .then(function() { | ||
83 | $location.path('/vendedor-cobrador'); | ||
84 | }); | ||
85 | |||
86 | }) | ||
87 | .catch(function() { | ||
88 | focaModalService.alert('El codigo del vendedor/cobrador ya existe'); | ||
82 | }); | 89 | }); |
90 | |||
83 | }; | 91 | }; |
84 | 92 | ||
85 | $scope.seleccionarProvincia = function(key) { | 93 | $scope.seleccionarProvincia = function(key) { |
86 | if(key === 13) { | 94 | if(key === 13) { |
87 | var parametrosModal = { | 95 | var parametrosModal = { |
88 | query: '/provincia', | 96 | query: '/provincia', |
89 | columnas: [ | 97 | columnas: [ |
90 | { | 98 | { |
91 | propiedad: 'ID', | 99 | propiedad: 'ID', |
92 | nombre: 'Codigo', | 100 | nombre: 'Codigo', |
93 | filtro: { | 101 | filtro: { |
94 | nombre: 'rellenarDigitos', | 102 | nombre: 'rellenarDigitos', |
95 | parametro: 3} | 103 | parametro: 3} |
96 | }, | 104 | }, |
97 | { | 105 | { |
98 | propiedad: 'NOMBRE', | 106 | propiedad: 'NOMBRE', |
99 | nombre: 'Nombre' | 107 | nombre: 'Nombre' |
100 | } | 108 | } |
101 | ], | 109 | ], |
102 | titulo:'Búsqueda de provincias', | 110 | titulo:'Búsqueda de provincias', |
103 | size: 'md' | 111 | size: 'md' |
104 | }; | 112 | }; |
105 | focaModalService.modal(parametrosModal).then(function(provincia) { | 113 | focaModalService.modal(parametrosModal).then(function(provincia) { |
106 | $scope.vendedorCobrador.provincia = provincia; | 114 | $scope.vendedorCobrador.provincia = provincia; |
107 | $timeout(function() { | 115 | $timeout(function() { |
108 | $scope.focused = 5; | 116 | $scope.focused = 5; |
109 | }); | 117 | }); |
110 | }, function() { | 118 | }, function() { |
111 | //TODO: función llamada cuando cancela el modal | 119 | //TODO: función llamada cuando cancela el modal |
112 | }); | 120 | }); |
113 | } | 121 | } |
114 | }; | 122 | }; |
115 | $scope.seleccionarLocalidad = function(key) { | 123 | $scope.seleccionarLocalidad = function(key) { |
116 | if(!$scope.vendedorCobrador.provincia.ID) { | 124 | if(!$scope.vendedorCobrador.provincia.ID) { |
117 | focaModalService.alert('Seleccione una provincia'); | 125 | focaModalService.alert('Seleccione una provincia'); |
118 | return; | 126 | return; |
119 | } | 127 | } |
120 | if(key === 13) { | 128 | if(key === 13) { |
121 | var parametrosModal = { | 129 | var parametrosModal = { |
122 | query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, | 130 | query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, |
123 | columnas: [ | 131 | columnas: [ |
124 | { | 132 | { |
125 | propiedad: 'ID', | 133 | propiedad: 'ID', |
126 | nombre: 'Código', | 134 | nombre: 'Código', |
127 | filtro: { | 135 | filtro: { |
128 | nombre: 'rellenarDigitos', | 136 | nombre: 'rellenarDigitos', |
129 | parametro: 3 | 137 | parametro: 3 |
130 | } | 138 | } |
131 | }, | 139 | }, |
132 | { | 140 | { |
133 | propiedad: 'NOMBRE', | 141 | propiedad: 'NOMBRE', |
134 | nombre: 'Nombre' | 142 | nombre: 'Nombre' |
135 | } | 143 | } |
136 | ], | 144 | ], |
137 | titulo:'Búsqueda de localidades', | 145 | titulo:'Búsqueda de localidades', |
138 | size: 'md' | 146 | size: 'md' |
139 | }; | 147 | }; |
140 | focaModalService.modal(parametrosModal).then(function(localidad) { | 148 | focaModalService.modal(parametrosModal).then(function(localidad) { |
141 | $scope.vendedorCobrador.localidad = localidad; | 149 | $scope.vendedorCobrador.localidad = localidad; |
142 | $timeout(function() { | 150 | $timeout(function() { |
143 | $scope.focused = 6; | 151 | $scope.focused = 6; |
144 | }); | 152 | }); |
145 | }, function() { | 153 | }, function() { |
146 | //TODO: función llamada cuando cancela el modal | 154 | //TODO: función llamada cuando cancela el modal |
147 | }); | 155 | }); |
148 | } | 156 | } |
149 | }; | 157 | }; |
150 | 158 | ||
151 | $scope.cancelar = function() { | 159 | $scope.cancelar = function() { |
152 | $location.path('/vendedor-cobrador'); | 160 | $location.path('/vendedor-cobrador'); |
153 | }; | 161 | }; |
154 | 162 | ||
155 | $scope.next = function(key) { | 163 | $scope.next = function(key) { |
156 | if(key === 13) $scope.focused++; | 164 | if(key === 13) $scope.focused++; |
157 | }; | 165 | }; |
166 | |||
167 | function validarCodigo() { | ||
168 | return new Promise(function(resolve, reject) { | ||
169 | if(parseInt($routeParams.id) === 0){ |