Commit d4d5dd44ec24713b05241d9f2d427994d8291df2

Authored by Jose Pinto
1 parent 0e3f306764
Exists in master and in 2 other branches develop, lab

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){