Commit a891c518c9e6dc2ff5440f0e1543e5ad40ce4332

Authored by Jose Pinto
1 parent 132d8046f9
Exists in master

si recive idVendedor, solo busca notas de ese vendedor

Showing 2 changed files with 23 additions and 5 deletions   Show diff stats
src/js/controller.js
1 angular.module('focaModalNotaPedido') 1 angular.module('focaModalNotaPedido')
2 .controller('focaModalNotaPedidoController', 2 .controller('focaModalNotaPedidoController',
3 [ 3 [
4 '$timeout', 4 '$timeout',
5 '$filter', 5 '$filter',
6 '$scope', 6 '$scope',
7 '$uibModalInstance', 7 '$uibModalInstance',
8 'focaModalNotaPedidoService', 8 'focaModalNotaPedidoService',
9 'usadoPor', 9 'usadoPor',
10 'focaModalService', 10 'focaModalService',
11 'idVendedor',
11 function($timeout, $filter, $scope, $uibModalInstance, 12 function($timeout, $filter, $scope, $uibModalInstance,
12 focaModalNotaPedidoService, usadoPor, focaModalService 13 focaModalNotaPedidoService, usadoPor, focaModalService, idVendedor
13 ) { 14 ) {
14 var fecha = new Date(); 15 var fecha = new Date();
15 $scope.fechaHasta = new Date(); 16 $scope.fechaHasta = new Date();
16 $scope.fechaDesde = new Date(fecha.setMonth(fecha.getMonth() - 1)); 17 $scope.fechaDesde = new Date(fecha.setMonth(fecha.getMonth() - 1));
17 $scope.filters = ''; 18 $scope.filters = '';
18 $scope.notasPedido = []; 19 $scope.notasPedido = [];
19 $scope.primerBusqueda = false; 20 $scope.primerBusqueda = false;
20 $scope.searchLoading = false; 21 $scope.searchLoading = false;
21 // pagination 22 // pagination
22 $scope.numPerPage = 10; 23 $scope.numPerPage = 10;
23 $scope.currentPage = 1; 24 $scope.currentPage = 1;
24 $scope.filteredNotasPedido = []; 25 $scope.filteredNotasPedido = [];
25 $scope.currentPageNotasPedido = []; 26 $scope.currentPageNotasPedido = [];
26 $scope.selectedNotaPedido = -1; 27 $scope.selectedNotaPedido = -1;
27 28
28 //METODOS 29 //METODOS
29 $scope.busquedaPress = function(key) { 30 $scope.busquedaPress = function(key) {
30 if (key === 13) { 31 if (key === 13) {
31 if(!$scope.fechaDesde) { 32 if(!$scope.fechaDesde) {
32 focaModalService 33 focaModalService
33 .alert('INGRESE FECHA DESDE'); 34 .alert('INGRESE FECHA DESDE');
34 return; 35 return;
35 } 36 }
36 if(!$scope.fechaHasta) { 37 if(!$scope.fechaHasta) {
37 focaModalService 38 focaModalService
38 .alert('INGRESE FECHA HASTA'); 39 .alert('INGRESE FECHA HASTA');
39 return; 40 return;
40 } 41 }
41 if($scope.fechaDesde > $scope.fechaHasta) { 42 if($scope.fechaDesde > $scope.fechaHasta) {
42 focaModalService 43 focaModalService
43 .alert('La fecha desde no puede ser mayor a la fecha hasta'); 44 .alert('La fecha desde no puede ser mayor a la fecha hasta');
44 return; 45 return;
45 } 46 }
46 $scope.searchLoading = true; 47 $scope.searchLoading = true;
47 //TODO hacer filtro de fecha 48 //TODO hacer filtro de fecha
48 focaModalNotaPedidoService 49
49 .getNotasPedido(usadoPor, $scope.fechaDesde.toISOString().split('.')[0], 50 if(idVendedor) {
50 $scope.fechaHasta.toISOString().split('.')[0]) 51 focaModalNotaPedidoService
51 .then(llenarDatos); 52 .getNotasPedidoByIdVendedor(
53 usadoPor,
54 $scope.fechaDesde.toISOString().split('.')[0],
55 $scope.fechaHasta.toISOString().split('.')[0],
56 idVendedor)
57 .then(llenarDatos);
58 }else {
59 focaModalNotaPedidoService
60 .getNotasPedido(usadoPor,
61 $scope.fechaDesde.toISOString().split('.')[0],
62 $scope.fechaHasta.toISOString().split('.')[0])
63 .then(llenarDatos);
64 }
52 } 65 }
53 }; 66 };
54 function llenarDatos(res) { 67 function llenarDatos(res) {
55 $scope.notasPedido = []; 68 $scope.notasPedido = [];
56 $scope.filteredNotasPedido = []; 69 $scope.filteredNotasPedido = [];
57 $scope.currentPageNotasPedido = []; 70 $scope.currentPageNotasPedido = [];
58 $scope.selectedNotaPedido = -1; 71 $scope.selectedNotaPedido = -1;
59 $scope.searchLoading = false; 72 $scope.searchLoading = false;
60 $scope.primerBusqueda = true; 73 $scope.primerBusqueda = true;
61 $scope.notasPedido = res.data; 74 $scope.notasPedido = res.data;
62 $scope.search(true); 75 $scope.search(true);
63 primera(); 76 primera();
64 } 77 }
65 $scope.search = function(pressed) { 78 $scope.search = function(pressed) {
66 if($scope.notasPedido.length > 0) { 79 if($scope.notasPedido.length > 0) {
67 $scope.filteredNotasPedido = $filter('filter')( 80 $scope.filteredNotasPedido = $filter('filter')(
68 $scope.notasPedido, 81 $scope.notasPedido,
69 {$: $scope.filters} 82 {$: $scope.filters}
70 ); 83 );
71 84
72 $scope.lastPage = Math.ceil( 85 $scope.lastPage = Math.ceil(
73 $scope.filteredNotasPedido.length / $scope.numPerPage 86 $scope.filteredNotasPedido.length / $scope.numPerPage
74 ); 87 );
75 88
76 $scope.resetPage(); 89 $scope.resetPage();
77 if(pressed && $scope.filteredNotasPedido.length === 0){ 90 if(pressed && $scope.filteredNotasPedido.length === 0){
78 $timeout(function() { 91 $timeout(function() {
79 angular.element('#search')[0].focus(); 92 angular.element('#search')[0].focus();
80 $scope.filters = ''; 93 $scope.filters = '';
81 }); 94 });
82 } 95 }
83 } 96 }
84 }; 97 };
85 98
86 $scope.resetPage = function() { 99 $scope.resetPage = function() {
87 $scope.currentPage = 1; 100 $scope.currentPage = 1;
88 $scope.selectPage(1); 101 $scope.selectPage(1);
89 }; 102 };
90 103
91 $scope.selectPage = function(page) { 104 $scope.selectPage = function(page) {
92 var start = (page - 1) * $scope.numPerPage; 105 var start = (page - 1) * $scope.numPerPage;
93 var end = start + $scope.numPerPage; 106 var end = start + $scope.numPerPage;
94 $scope.paginas = []; 107 $scope.paginas = [];
95 $scope.paginas = calcularPages(page); 108 $scope.paginas = calcularPages(page);
96 $scope.currentPageNotasPedido = $scope.filteredNotasPedido.slice(start, end); 109 $scope.currentPageNotasPedido = $scope.filteredNotasPedido.slice(start, end);
97 $scope.currentPage = page; 110 $scope.currentPage = page;
98 }; 111 };
99 112
100 $scope.select = function(notaPedido) { 113 $scope.select = function(notaPedido) {
101 $uibModalInstance.close(notaPedido); 114 $uibModalInstance.close(notaPedido);
102 }; 115 };
103 116
104 $scope.cancel = function() { 117 $scope.cancel = function() {
105 $uibModalInstance.dismiss('cancel'); 118 $uibModalInstance.dismiss('cancel');
106 }; 119 };
107 120
108 $scope.busquedaDown = function(key) { 121 $scope.busquedaDown = function(key) {
109 if (key === 40) { 122 if (key === 40) {
110 primera(key); 123 primera(key);
111 } 124 }
112 }; 125 };
113 126
114 $scope.itemNotaPedido = function(key) { 127 $scope.itemNotaPedido = function(key) {
115 if (key === 38) { 128 if (key === 38) {
116 anterior(key); 129 anterior(key);
117 } 130 }
118 131
119 if (key === 40) { 132 if (key === 40) {
120 siguiente(key); 133 siguiente(key);
121 } 134 }
122 135
123 if (key === 37) { 136 if (key === 37) {
124 retrocederPagina(); 137 retrocederPagina();
125 } 138 }
126 139
127 if (key === 39) { 140 if (key === 39) {
128 avanzarPagina(); 141 avanzarPagina();
129 } 142 }
130 }; 143 };
131 144
132 function calcularPages(paginaActual) { 145 function calcularPages(paginaActual) {
133 var paginas = []; 146 var paginas = [];
134 paginas.push(paginaActual); 147 paginas.push(paginaActual);
135 148
136 if (paginaActual - 1 > 1) { 149 if (paginaActual - 1 > 1) {
137 150
138 paginas.unshift(paginaActual - 1); 151 paginas.unshift(paginaActual - 1);
139 if (paginaActual - 2 > 1) { 152 if (paginaActual - 2 > 1) {
140 paginas.unshift(paginaActual - 2); 153 paginas.unshift(paginaActual - 2);
141 } 154 }
142 } 155 }
143 156
144 if (paginaActual + 1 < $scope.lastPage) { 157 if (paginaActual + 1 < $scope.lastPage) {
145 paginas.push(paginaActual + 1); 158 paginas.push(paginaActual + 1);
146 if (paginaActual + 2 < $scope.lastPage) { 159 if (paginaActual + 2 < $scope.lastPage) {
147 paginas.push(paginaActual + 2); 160 paginas.push(paginaActual + 2);
148 } 161 }
149 } 162 }
150 163
151 if (paginaActual !== 1) { 164 if (paginaActual !== 1) {
152 paginas.unshift(1); 165 paginas.unshift(1);
153 } 166 }
154 167
155 if (paginaActual !== $scope.lastPage) { 168 if (paginaActual !== $scope.lastPage) {
156 paginas.push($scope.lastPage); 169 paginas.push($scope.lastPage);
157 } 170 }
158 171
159 return paginas; 172 return paginas;
160 } 173 }
161 174
162 function primera() { 175 function primera() {
163 $scope.selectedNotaPedido = 0; 176 $scope.selectedNotaPedido = 0;
164 } 177 }
165 178
166 function anterior() { 179 function anterior() {
167 if ($scope.selectedNotaPedido === 0 && $scope.currentPage > 1) { 180 if ($scope.selectedNotaPedido === 0 && $scope.currentPage > 1) {
168 retrocederPagina(); 181 retrocederPagina();
169 } else { 182 } else {
170 $scope.selectedNotaPedido--; 183 $scope.selectedNotaPedido--;
171 } 184 }
172 } 185 }
173 186
174 function siguiente() { 187 function siguiente() {
175 if ($scope.selectedNotaPedido < $scope.currentPageNotasPedido.length - 1 ) { 188 if ($scope.selectedNotaPedido < $scope.currentPageNotasPedido.length - 1 ) {
176 $scope.selectedNotaPedido++; 189 $scope.selectedNotaPedido++;
177 } else { 190 } else {
178 avanzarPagina(); 191 avanzarPagina();
179 } 192 }
180 } 193 }
181 194
182 function retrocederPagina() { 195 function retrocederPagina() {
183 if ($scope.currentPage > 1) { 196 if ($scope.currentPage > 1) {
184 $scope.selectPage($scope.currentPage - 1); 197 $scope.selectPage($scope.currentPage - 1);
185 $scope.selectedNotaPedido = $scope.numPerPage - 1; 198 $scope.selectedNotaPedido = $scope.numPerPage - 1;
186 } 199 }
187 } 200 }
188 201
189 function avanzarPagina() { 202 function avanzarPagina() {
190 if ($scope.currentPage < $scope.lastPage) { 203 if ($scope.currentPage < $scope.lastPage) {
191 $scope.selectPage($scope.currentPage + 1); 204 $scope.selectPage($scope.currentPage + 1);
192 $scope.selectedNotaPedido = 0; 205 $scope.selectedNotaPedido = 0;
193 } 206 }
194 } 207 }
195 } 208 }
196 ] 209 ]
197 ); 210 );
198 211
1 angular.module('focaModalNotaPedido') 1 angular.module('focaModalNotaPedido')
2 .service('focaModalNotaPedidoService', [ 2 .service('focaModalNotaPedidoService', [
3 '$http', 3 '$http',
4 'API_ENDPOINT', 4 'API_ENDPOINT',
5 function($http, API_ENDPOINT) { 5 function($http, API_ENDPOINT) {
6 return { 6 return {
7 getNotasPedido: function(usadoPor, fechaDesde, fechaHasta) { 7 getNotasPedido: function(usadoPor, fechaDesde, fechaHasta) {
8 var sinRemito = (usadoPor === 'remito' ? '/sin-remito' : ''); 8 var sinRemito = (usadoPor === 'remito' ? '/sin-remito' : '');
9 return $http.get(API_ENDPOINT.URL + '/nota-pedido/listar/' + fechaDesde + '/' + 9 return $http.get(API_ENDPOINT.URL + '/nota-pedido/listar/' + fechaDesde + '/' +
10 fechaHasta + sinRemito); 10 fechaHasta + sinRemito);
11 },
12 getNotasPedidoByIdVendedor: function(usadoPor, fechaDesde, fechaHasta, idVendedor) {
13 var sinRemito = (usadoPor === 'remito' ? '/sin-remito' : '');
14 return $http.get(API_ENDPOINT.URL + '/nota-pedido/vendedor/listar/' +
15 idVendedor + '/' + fechaDesde + '/' + fechaHasta + sinRemito);
11 } 16 }
12 }; 17 };
13 } 18 }
14 ]); 19 ]);
15 20