Commit 8edbf83107d74486cac03eab3212298982d50fe5
1 parent
81fcc1d481
Exists in
ultimos_despachos
se agrega validación de pago electronico
Showing
2 changed files
with
437 additions
and
379 deletions
Show diff stats
src/js/controller.js
... | ... | @@ -3,10 +3,11 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
3 | 3 | 'focaModalService', 'crearRemitoService', '$rootScope', 'focaBotoneraLateralService', |
4 | 4 | '$localStorage', 'APP', 'focaLoginService', |
5 | 5 | function ( |
6 | - $scope, $uibModal, $location, $filter, crearFacturaService, $timeout, focaModalService, | |
7 | - crearRemitoService, $rootScope, focaBotoneraLateralService, $localStorage, APP, loginServ) { | |
6 | + $scope, $uibModal, $location, $filter, crearFacturaService, $timeout, focaModalService, | |
7 | + crearRemitoService, $rootScope, focaBotoneraLateralService, $localStorage, APP, loginServ) { | |
8 | 8 | |
9 | 9 | config(); |
10 | + var loopPagoElectronico = false; | |
10 | 11 | |
11 | 12 | function config() { |
12 | 13 | $scope.tmpCantidad = '0'; |
... | ... | @@ -82,34 +83,34 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
82 | 83 | |
83 | 84 | if (APP === 'facturador') { |
84 | 85 | crearFacturaService |
85 | - .getVendedorPlayaById(loginServ.getLoginData().vendedorPlaya) | |
86 | - .then(function (res) { | |
87 | - | |
88 | - validarPlanillaVendedor(res.data) | |
89 | - .then(function () { | |
90 | - | |
91 | - $scope.$broadcast('addCabecera', { | |
92 | - label: 'Vendedor:', | |
93 | - valor: $filter('rellenarDigitos')(res.data.CodVen, 3) + | |
94 | - ' - ' + | |
95 | - res.data.NomVen | |
96 | - }); | |
97 | - $scope.$broadcast('addCabecera', { | |
98 | - label: 'Planilla:', | |
99 | - valor: res.data.NplVen | |
100 | - }); | |
101 | - | |
102 | - $scope.factura.vendedor = res.data; | |
103 | - $scope.inicial.vendedor = res.data; | |
86 | + .getVendedorPlayaById(loginServ.getLoginData().vendedorPlaya) | |
87 | + .then(function (res) { | |
104 | 88 | |
105 | - getProductosByPlanilla(res.data.NplVen); | |
106 | - }) | |
107 | - .catch(function (err) { | |
108 | - console.log(err); | |
109 | - focaModalService.alert('Ocurrió un error al intentar recuperar' + | |
110 | - 'el vendedor logeado'); | |
111 | - }); | |
112 | - }); | |
89 | + validarPlanillaVendedor(res.data) | |
90 | + .then(function () { | |
91 | + | |
92 | + $scope.$broadcast('addCabecera', { | |
93 | + label: 'Vendedor:', | |
94 | + valor: $filter('rellenarDigitos')(res.data.CodVen, 3) + | |
95 | + ' - ' + | |
96 | + res.data.NomVen | |
97 | + }); | |
98 | + $scope.$broadcast('addCabecera', { | |
99 | + label: 'Planilla:', | |
100 | + valor: res.data.NplVen | |
101 | + }); | |
102 | + | |
103 | + $scope.factura.vendedor = res.data; | |
104 | + $scope.inicial.vendedor = res.data; | |
105 | + | |
106 | + getProductosByPlanilla(res.data.NplVen); | |
107 | + }) | |
108 | + .catch(function (err) { | |
109 | + console.log(err); | |
110 | + focaModalService.alert('Ocurrió un error al intentar recuperar' + | |
111 | + 'el vendedor logeado'); | |
112 | + }); | |
113 | + }); | |
113 | 114 | } |
114 | 115 | } |
115 | 116 | |
... | ... | @@ -122,7 +123,8 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
122 | 123 | |
123 | 124 | $scope.seleccionarFormaDePago = function () { |
124 | 125 | |
125 | - if (!validarGuardar()) return; | |
126 | + if (!validarGuardar()) | |
127 | + return; | |
126 | 128 | |
127 | 129 | if ($scope.factura.formaPago === 2) { |
128 | 130 | $scope.crearFactura(); |
... | ... | @@ -130,169 +132,222 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
130 | 132 | } |
131 | 133 | |
132 | 134 | var modalInstance = $uibModal.open( |
133 | - { | |
134 | - templateUrl: 'modal-forma-pago.html', | |
135 | - controller: 'focaModalFormaPagoController', | |
136 | - resolve: { | |
137 | - parametros: function () { | |
138 | - return { | |
139 | - importe: $scope.getTotal() | |
140 | - }; | |
135 | + { | |
136 | + templateUrl: 'modal-forma-pago.html', | |
137 | + controller: 'focaModalFormaPagoController', | |
138 | + resolve: { | |
139 | + parametros: function () { | |
140 | + return { | |
141 | + importe: $scope.getTotal() | |
142 | + }; | |
143 | + }, | |
141 | 144 | }, |
142 | - }, | |
143 | - size: 'lg', | |
144 | - } | |
145 | + size: 'lg', | |
146 | + } | |
145 | 147 | ); |
146 | 148 | modalInstance.result |
147 | - .then(function (data) { | |
149 | + .then(function (data) { | |
148 | 150 | |
149 | - if (data.tipo === 'tarjeta') { | |
150 | - $scope.factura.formaPago = 4; | |
151 | - } else { | |
152 | - $scope.factura.formaPago = 1; | |
153 | - } | |
151 | + if (data.tipo === 'tarjeta') { | |
152 | + $scope.factura.formaPago = 4; | |
153 | + } else { | |
154 | + $scope.factura.formaPago = 1; | |
155 | + } | |
154 | 156 | |
155 | - $scope.crearFactura(data); | |
156 | - }) | |
157 | + $scope.crearFactura(data); | |
158 | + }) | |
157 | 159 | .catch(function (e) { console.error(e); }); |
158 | 160 | }; |
159 | 161 | |
160 | - $scope.crearFactura = function (formaPago) { | |
162 | + $scope.guardarFactura = function (formaPago) { | |
163 | + | |
164 | + if (typeof formaPago.tipo !== 'undefined') { | |
165 | + switch (formaPago.tipo) { | |
166 | + case 'tarjeta': | |
167 | + $scope.factura.formaPago = 4; | |
168 | + break; | |
169 | + case 'electronico': | |
170 | + $scope.factura.formaPago = 5; | |
171 | + break; | |
172 | + } | |
173 | + } | |
161 | 174 | |
162 | - var save = { | |
163 | - factura: { | |
164 | - | |
165 | - BONIF: 0, | |
166 | - CLI: $scope.factura.cliente.COD, | |
167 | - CUI: $scope.factura.cliente.CUIT, | |
168 | - CTA: $scope.factura.cliente.COD, | |
169 | - DC1: '', | |
170 | - DC2: '', | |
171 | - DE1: '', | |
172 | - DOM: $scope.factura.cliente.DOM, | |
173 | - FACAUT: 0, | |
174 | - DTO: 0, | |
175 | - FEC: $filter('date')($scope.now, 'yyyy-MM-dd HH:mm:ss'), | |
176 | - FEC_ANT: '19000101', | |
177 | - FPA: $scope.factura.formaPago, | |
178 | - IDEXCEPCION: 0, | |
179 | - IDLP: $scope.factura.cliente.MOD.trim() || 0, | |
180 | - IDPERSONERIA: 0, | |
181 | - IMI: getImporte('IMI'), | |
182 | - IMI2: getImporte('IMI2'), | |
183 | - IMI3: getImporte('IMI3'), | |
184 | - IMP_LEY: 0, | |
185 | - IRI: getImporte('IVA'), | |
186 | - IRS: 0, | |
187 | - LEG: '', | |
188 | - LUG: $scope.factura.vendedor.LugVen, | |
189 | - MK_M: 0, | |
190 | - NEE: getImporte('NEX'), | |
191 | - NET: getImporte('NET'), | |
192 | - NFI: '', | |
193 | - NNP: 0, | |
194 | - NOM: $scope.factura.cliente.NOM, | |
195 | - OPE: $scope.factura.vendedor.CodVen, | |
196 | - PAG: $scope.getTotal(), | |
197 | - PER: 0, | |
198 | - PER_IVA: 0, | |
199 | - PLA: $scope.factura.vendedor.NplVen, | |
200 | - PRO: '', | |
201 | - REC_ANT: 0, | |
202 | - SUC: parseInt($scope.puntoVenta), | |
203 | - TCA: 1, | |
204 | - TCO: 'FT', | |
205 | - TFI: '', | |
206 | - TIP: $scope.factura.cliente.TIP, | |
207 | - TIV: $scope.factura.cliente.IVA, | |
208 | - TOT: $scope.getTotal(), | |
209 | - TUR: $scope.factura.vendedor.TurVen, | |
210 | - VEN: $scope.factura.vendedor.CodVen, | |
211 | - VTO_CLI: '', | |
212 | - ZON: 1, // TODO: ZON DE APAREMP | |
213 | - OBSERVACIONES: $scope.factura.observaciones | |
214 | - }, | |
215 | - cuerpo: $scope.articulosFiltro(), | |
216 | - despachos: $scope.factura.despachos, | |
217 | - formaPago: formaPago | |
218 | - }; | |
175 | + return new Promise(function (resolve, reject) { | |
176 | + var save = { | |
177 | + factura: { | |
178 | + | |
179 | + BONIF: 0, | |
180 | + CLI: $scope.factura.cliente.COD, | |
181 | + CUI: $scope.factura.cliente.CUIT, | |
182 | + CTA: $scope.factura.cliente.COD, | |
183 | + DC1: '', | |
184 | + DC2: '', | |
185 | + DE1: '', | |
186 | + DOM: $scope.factura.cliente.DOM, | |
187 | + FACAUT: 0, | |
188 | + DTO: 0, | |
189 | + FEC: $filter('date')($scope.now, 'yyyy-MM-dd HH:mm:ss'), | |
190 | + FEC_ANT: '19000101', | |
191 | + FPA: $scope.factura.formaPago, | |
192 | + IDEXCEPCION: 0, | |
193 | + IDLP: $scope.factura.cliente.MOD.trim() || 0, | |
194 | + IDPERSONERIA: 0, | |
195 | + IMI: getImporte('IMI'), | |
196 | + IMI2: getImporte('IMI2'), | |
197 | + IMI3: getImporte('IMI3'), | |
198 | + IMP_LEY: 0, | |
199 | + IRI: getImporte('IVA'), | |
200 | + IRS: 0, | |
201 | + LEG: '', | |
202 | + LUG: $scope.factura.vendedor.LugVen, | |
203 | + MK_M: 0, | |
204 | + NEE: getImporte('NEX'), | |
205 | + NET: getImporte('NET'), | |
206 | + NFI: '', | |
207 | + NNP: 0, | |
208 | + NOM: $scope.factura.cliente.NOM, | |
209 | + OPE: $scope.factura.vendedor.CodVen, | |
210 | + PAG: $scope.getTotal(), | |
211 | + PER: 0, | |
212 | + PER_IVA: 0, | |
213 | + PLA: $scope.factura.vendedor.NplVen, | |
214 | + PRO: '', | |
215 | + REC_ANT: 0, | |
216 | + SUC: parseInt($scope.puntoVenta), | |
217 | + TCA: 1, | |
218 | + TCO: 'FT', | |
219 | + TFI: '', | |
220 | + TIP: $scope.factura.cliente.TIP, | |
221 | + TIV: $scope.factura.cliente.IVA, | |
222 | + TOT: $scope.getTotal(), | |
223 | + TUR: $scope.factura.vendedor.TurVen, | |
224 | + VEN: $scope.factura.vendedor.CodVen, | |
225 | + VTO_CLI: '', | |
226 | + ZON: 1, // TODO: ZON DE APAREMP | |
227 | + OBSERVACIONES: $scope.factura.observaciones | |
228 | + }, | |
229 | + cuerpo: $scope.articulosFiltro(), | |
230 | + despachos: $scope.factura.despachos, | |
231 | + formaPago: formaPago | |
232 | + }; | |
219 | 233 | |
220 | - crearFacturaService.guardarFactura(save).then(function () { | |
234 | + crearFacturaService.guardarFactura(save).then(function (res) { | |
235 | + console.log(res.data); | |
236 | + $scope.factura.ID_COMPV2 = res.data.ID_COMPV2; | |
237 | + resolve(); | |
238 | + }).catch(function (err) { | |
239 | + console.error(err); | |
240 | + reject(); | |
241 | + }); | |
242 | + }); | |
243 | + }; | |
221 | 244 | |
222 | - focaBotoneraLateralService.endGuardar(true); | |
245 | + $scope.crearFactura = function (formaPago) { | |
223 | 246 | |
247 | + $scope.guardarFactura(formaPago).then(function () { | |
248 | + focaBotoneraLateralService.endGuardar(true); | |
224 | 249 | focaModalService.alert('Comprobante guardado con éxito'); |
225 | - | |
226 | 250 | config(); |
227 | - | |
228 | - }).catch(function (err) { | |
251 | + }, function () { | |
229 | 252 | focaModalService.alert('Hubo un error al guardar la factura'); |
230 | - console.error(err); | |
231 | 253 | }); |
254 | + }; | |
232 | 255 | |
256 | + $scope.$on('guardarFactura', function (events, args) { | |
257 | + console.log('recibe guardarFactura'); | |
258 | + $scope.guardarFactura(args).then(function() { | |
259 | + $rootScope.$broadcast('callbackGuardarFactura', true); | |
260 | + loopPagoElectronico = true; | |
261 | + $scope.consultarPagoElectronico(); | |
262 | + }, function() { | |
263 | + $rootScope.$broadcast('callbackGuardarFactura', false); | |
264 | + }); | |
265 | + }); | |
266 | + | |
267 | + $scope.$on('cancelarPagoElectronico', function (events, args) { | |
268 | + loopPagoElectronico = false; | |
269 | + }); | |
270 | + | |
271 | + $scope.consultarPagoElectronico = function () { | |
272 | + if (!loopPagoElectronico) { | |
273 | + return; | |
274 | + } | |
275 | + | |
276 | + crearFacturaService.consultarPagoElectronico({ ID_COMPV2: $scope.factura.ID_COMPV2 }).then(function(resp) { | |
277 | + console.log(resp.data); | |
278 | + if (resp.data.EST > 0) { | |
279 | + $rootScope.$broadcast('callbackGuardarFactura', resp.data); | |
280 | + } else { | |
281 | + setTimeout(function() { | |
282 | + $scope.consultarPagoElectronico(); | |
283 | + }, 2000); | |
284 | + } | |
285 | + }).catch(function() { | |
286 | + $rootScope.$broadcast('callbackGuardarFactura', false); | |
287 | + }) | |
233 | 288 | }; |
234 | 289 | |
235 | 290 | $scope.seleccionarCliente = function () { |
236 | 291 | |
237 | 292 | var modalInstance = $uibModal.open( |
238 | - { | |
239 | - ariaLabelledBy: 'Busqueda de Cliente', | |
240 | - templateUrl: 'foca-busqueda-cliente-modal.html', | |
241 | - controller: 'focaBusquedaClienteModalController', | |
242 | - resolve: { | |
243 | - parametros: function () { | |
244 | - return { | |
293 | + { | |
294 | + ariaLabelledBy: 'Busqueda de Cliente', | |
295 | + templateUrl: 'foca-busqueda-cliente-modal.html', | |
296 | + controller: 'focaBusquedaClienteModalController', | |
297 | + resolve: { | |
298 | + parametros: function () { | |
299 | + return { | |
245 | 300 | vendedor: function () { return null; }, |
246 | 301 | cobrador: function () { return null; } |
247 | - }; | |
248 | - } | |
249 | - }, | |
250 | - size: 'lg' | |
251 | - } | |
302 | + }; | |
303 | + } | |
304 | + }, | |
305 | + size: 'lg' | |
306 | + } | |
252 | 307 | ); |
253 | 308 | modalInstance.result.then( |
254 | - function (cliente) { | |
255 | - var modalInstance = $uibModal.open( | |
256 | - { | |
257 | - templateUrl: 'modal-estado-cuenta.html', | |
258 | - controller: 'focaModalEstadoCuentaController', | |
259 | - size: 'lg', | |
260 | - resolve: { | |
261 | - parametros: function () { | |
262 | - return { | |
263 | - idCliente: cliente.COD, | |
264 | - nombreCliente: cliente.NOM | |
265 | - }; | |
266 | - }, | |
267 | - } | |
268 | - } | |
269 | - ); | |
270 | - modalInstance.result | |
271 | - .then(function (data) { | |
309 | + function (cliente) { | |
310 | + var modalInstance = $uibModal.open( | |
311 | + { | |
312 | + templateUrl: 'modal-estado-cuenta.html', | |
313 | + controller: 'focaModalEstadoCuentaController', | |
314 | + size: 'lg', | |
315 | + resolve: { | |
316 | + parametros: function () { | |
317 | + return { | |
318 | + idCliente: cliente.COD, | |
319 | + nombreCliente: cliente.NOM | |
320 | + }; | |
321 | + }, | |
322 | + } | |
323 | + } | |
324 | + ); | |
325 | + modalInstance.result | |
326 | + .then(function (data) { | |
327 | + | |
328 | + $scope.factura.formaPago = data.formaDePago; | |
329 | + $scope.factura.cliente = cliente; | |
330 | + | |
331 | + getNumeroFactura(cliente.TIP); | |
272 | 332 | |
273 | - $scope.factura.formaPago = data.formaDePago; | |
274 | - $scope.factura.cliente = cliente; | |
275 | - | |
276 | - getNumeroFactura(cliente.TIP); | |
277 | - | |
278 | - $scope.$broadcast('addCabecera', { | |
279 | - label: 'Cliente:', | |
280 | - valor: $filter('rellenarDigitos')(cliente.COD, 3) + | |
281 | - ' - ' + cliente.NOM | |
282 | - }); | |
333 | + $scope.$broadcast('addCabecera', { | |
334 | + label: 'Cliente:', | |
335 | + valor: $filter('rellenarDigitos')(cliente.COD, 3) + | |
336 | + ' - ' + cliente.NOM | |
337 | + }); | |
283 | 338 | |
284 | 339 | $filter('filter')($scope.botonera, |
285 | 340 | { label: 'Cliente' })[0].checked = true; |
286 | 341 | |
287 | - $scope.$broadcast('addCabecera', { | |
288 | - label: 'Forma de pago: ', | |
289 | - valor: data.tipo | |
290 | - }); | |
291 | - }) | |
292 | - .catch($scope.seleccionarCliente); | |
342 | + $scope.$broadcast('addCabecera', { | |
343 | + label: 'Forma de pago: ', | |
344 | + valor: data.tipo | |
345 | + }); | |
346 | + }) | |
347 | + .catch($scope.seleccionarCliente); | |
293 | 348 | |
294 | - }, function () { | |
295 | - } | |
349 | + }, function () { | |
350 | + } | |
296 | 351 | ); |
297 | 352 | |
298 | 353 | }; |
... | ... | @@ -318,39 +373,39 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
318 | 373 | size: 'md' |
319 | 374 | }; |
320 | 375 | focaModalService.modal(parametrosModal).then( |
321 | - function (vendedor) { | |
376 | + function (vendedor) { | |
322 | 377 | |
323 | - indicarPassword(vendedor) | |
324 | - .then(function () { | |
325 | - validarPlanillaVendedor(vendedor) | |
378 | + indicarPassword(vendedor) | |
326 | 379 | .then(function () { |
327 | - | |
328 | - $filter('filter')($scope.botonera, { | |
329 | - label: 'Vendedor' | |
330 | - })[0].checked = true; | |
331 | - | |
332 | - $scope.$broadcast('addCabecera', { | |
333 | - label: 'Vendedor:', | |
334 | - valor: $filter('rellenarDigitos')(vendedor.CodVen, 3) + | |
335 | - ' - ' + | |
336 | - vendedor.NomVen | |
337 | - }); | |
338 | - $scope.$broadcast('addCabecera', { | |
339 | - label: 'Planilla:', | |
340 | - valor: vendedor.NplVen | |
341 | - }); | |
342 | - | |
343 | - $scope.factura.vendedor = vendedor; | |
344 | - | |
345 | - getProductosByPlanilla(vendedor.NplVen); | |
380 | + validarPlanillaVendedor(vendedor) | |
381 | + .then(function () { | |
382 | + | |
383 | + $filter('filter')($scope.botonera, { | |
384 | + label: 'Vendedor' | |
385 | + })[0].checked = true; | |
386 | + | |
387 | + $scope.$broadcast('addCabecera', { | |
388 | + label: 'Vendedor:', | |
389 | + valor: $filter('rellenarDigitos')(vendedor.CodVen, 3) + | |
390 | + ' - ' + | |
391 | + vendedor.NomVen | |
392 | + }); | |
393 | + $scope.$broadcast('addCabecera', { | |
394 | + label: 'Planilla:', | |
395 | + valor: vendedor.NplVen | |
396 | + }); | |
397 | + | |
398 | + $scope.factura.vendedor = vendedor; | |
399 | + | |
400 | + getProductosByPlanilla(vendedor.NplVen); | |
401 | + }) | |
402 | + .catch($scope.seleccionarVendedor); | |
346 | 403 | }) |
347 | - .catch($scope.seleccionarVendedor); | |
348 | - }) | |
349 | - .catch(function (err) { | |
350 | - console.error(err); | |
351 | - }); | |
404 | + .catch(function (err) { | |
405 | + console.error(err); | |
406 | + }); | |
352 | 407 | |
353 | - }, function () { } | |
408 | + }, function () { } | |
354 | 409 | ); |
355 | 410 | }; |
356 | 411 | |
... | ... | @@ -372,49 +427,49 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
372 | 427 | size: 'md' |
373 | 428 | }; |
374 | 429 | focaModalService.modal(parametrosModal).then( |
375 | - function (moneda) { | |
430 | + function (moneda) { | |
376 | 431 | |
377 | - if (moneda.ID !== 1) { | |
378 | - $scope.abrirModalCotizacion(moneda); | |
379 | - return; | |
380 | - } | |
432 | + if (moneda.ID !== 1) { | |
433 | + $scope.abrirModalCotizacion(moneda); | |
434 | + return; | |
435 | + } | |
381 | 436 | |
382 | - crearRemitoService.getCotizacionByIdMoneda(1) | |
383 | - .then(function (res) { | |
437 | + crearRemitoService.getCotizacionByIdMoneda(1) | |
438 | + .then(function (res) { | |
384 | 439 | |
385 | - var cotizacionPArgentino = res.data[0].cotizaciones[0]; | |
386 | - cotizacionPArgentino.moneda = moneda; | |
440 | + var cotizacionPArgentino = res.data[0].cotizaciones[0]; | |
441 | + cotizacionPArgentino.moneda = moneda; | |
387 | 442 | |
388 | - actualizarCabeceraMoneda(cotizacionPArgentino); | |
443 | + actualizarCabeceraMoneda(cotizacionPArgentino); | |
389 | 444 | |
390 | - $scope.remito.cotizacion = cotizacionPArgentino; | |
391 | - }); | |
392 | - }, function () { | |
445 | + $scope.remito.cotizacion = cotizacionPArgentino; | |
446 | + }); | |
447 | + }, function () { | |
393 | 448 | |
394 | - } | |
449 | + } | |
395 | 450 | ); |
396 | 451 | }; |
397 | 452 | |
398 | 453 | $scope.abrirModalCotizacion = function (moneda) { |
399 | 454 | var modalInstance = $uibModal.open( |
400 | - { | |
401 | - ariaLabelledBy: 'Busqueda de Cotización', | |
402 | - templateUrl: 'modal-cotizacion.html', | |
403 | - controller: 'focaModalCotizacionController', | |
404 | - size: 'lg', | |
405 | - resolve: { idMoneda: function () { return moneda.ID; } } | |
406 | - } | |
455 | + { | |
456 | + ariaLabelledBy: 'Busqueda de Cotización', | |
457 | + templateUrl: 'modal-cotizacion.html', | |
458 | + controller: 'focaModalCotizacionController', | |
459 | + size: 'lg', | |
460 | + resolve: { idMoneda: function () { return moneda.ID; } } | |
461 | + } | |
407 | 462 | ); |
408 | 463 | modalInstance.result.then( |
409 | - function (cotizacion) { | |
464 | + function (cotizacion) { | |
410 | 465 | |
411 | - cotizacion.moneda = moneda; | |
412 | - actualizarCabeceraMoneda(cotizacion); | |
413 | - $scope.factura.cotizacion = cotizacion; | |
466 | + cotizacion.moneda = moneda; | |
467 | + actualizarCabeceraMoneda(cotizacion); | |
468 | + $scope.factura.cotizacion = cotizacion; | |
414 | 469 | |
415 | - }, function () { | |
470 | + }, function () { | |
416 | 471 | |
417 | - } | |
472 | + } | |
418 | 473 | ); |
419 | 474 | }; |
420 | 475 | |
... | ... | @@ -427,10 +482,10 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
427 | 482 | }; |
428 | 483 | |
429 | 484 | focaModalService |
430 | - .prompt(observacion) | |
431 | - .then(function (observaciones) { | |
432 | - $scope.factura.observaciones = observaciones; | |
433 | - }); | |
485 | + .prompt(observacion) | |
486 | + .then(function (observaciones) { | |
487 | + $scope.factura.observaciones = observaciones; | |
488 | + }); | |
434 | 489 | }; |
435 | 490 | |
436 | 491 | $scope.articulosFiltro = function () { |
... | ... | @@ -458,19 +513,19 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
458 | 513 | } |
459 | 514 | |
460 | 515 | crearFacturaService |
461 | - .setearDespachoDesocupado({ | |
462 | - surtidor: $scope.factura.despachos[index].SUR, | |
463 | - producto: $scope.factura.despachos[index].PRO, | |
464 | - carga: $scope.factura.despachos[index].CAR, | |
465 | - planilla: $scope.factura.despachos[index].PLA | |
466 | - }) | |
467 | - .then(function () { | |
468 | - articulo.desactivado = true; | |
469 | - $scope.factura.despachos.splice(index, 1); | |
470 | - }) | |
471 | - .catch(function () { | |
472 | - focaModalService.alert('Hubo un error al desasociar este despacho'); | |
473 | - }); | |
516 | + .setearDespachoDesocupado({ | |
517 | + surtidor: $scope.factura.despachos[index].SUR, | |
518 | + producto: $scope.factura.despachos[index].PRO, | |
519 | + carga: $scope.factura.despachos[index].CAR, | |
520 | + planilla: $scope.factura.despachos[index].PLA | |
521 | + }) | |
522 | + .then(function () { | |
523 | + articulo.desactivado = true; | |
524 | + $scope.factura.despachos.splice(index, 1); | |
525 | + }) | |
526 | + .catch(function () { | |
527 | + focaModalService.alert('Hubo un error al desasociar este despacho'); | |
528 | + }); | |
474 | 529 | }; |
475 | 530 | |
476 | 531 | //Recibe aviso si el teclado está en uso |
... | ... | @@ -532,65 +587,65 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
532 | 587 | } |
533 | 588 | |
534 | 589 | var modalInstance = $uibModal.open( |
535 | - { | |
536 | - ariaLabelledBy: 'Busqueda de Productos', | |
537 | - templateUrl: 'modal-busqueda-productos.html', | |
538 | - controller: 'modalBusquedaProductosCtrl', | |
539 | - resolve: { | |
540 | - parametroProducto: { | |
541 | - idLista: null, | |
542 | - cotizacion: $scope.factura.cotizacion.VENDEDOR, | |
543 | - simbolo: $scope.factura.cotizacion.moneda.SIMBOLO, | |
544 | - buscarTodos: true | |
545 | - } | |
546 | - }, | |
547 | - size: 'lg' | |
548 | - } | |
590 | + { | |
591 | + ariaLabelledBy: 'Busqueda de Productos', | |
592 | + templateUrl: 'modal-busqueda-productos.html', | |
593 | + controller: 'modalBusquedaProductosCtrl', | |
594 | + resolve: { | |
595 | + parametroProducto: { | |
596 | + idLista: null, | |
597 | + cotizacion: $scope.factura.cotizacion.VENDEDOR, | |
598 | + simbolo: $scope.factura.cotizacion.moneda.SIMBOLO, | |
599 | + buscarTodos: true | |
600 | + } | |
601 | + }, | |
602 | + size: 'lg' | |
603 | + } | |
549 | 604 | ); |
550 | 605 | |
551 | 606 | modalInstance.result |
552 | - .then(function (producto) { | |
553 | - | |
554 | - var articulo = { | |
555 | - TIP: $scope.factura.cliente.TIP, | |
556 | - TCO: 'FT', | |
557 | - SUC: parseInt($scope.puntoVenta), | |
558 | - ORD: $scope.articulosFiltro().length + 1, | |
559 | - SEC: producto.sector, | |
560 | - ART: producto.codigo, | |
561 | - RUB: producto.CodRub, | |
562 | - DES: producto.descripcionLarga, | |
563 | - PUN: producto.precio, | |
564 | - IVA: producto.IMPIVA, | |
565 | - NET: producto.IvaCO !== 0 ? parseFloat(producto.neto) : 0, | |
566 | - NEX: producto.IvaCO === 0 ? parseFloat(producto.neto) : 0, | |
567 | - IMI: producto.ImpInt, | |
568 | - IMI2: producto.ImpInt2, | |
569 | - IMI3: producto.ImpInt3, | |
570 | - PUT: producto.precio, | |
571 | - SUR: 0, | |
572 | - PLA: $scope.factura.vendedor.NplVen, | |
573 | - LUG: $scope.factura.vendedor.LugVen, | |
574 | - LEG: $scope.factura.vendedor.CodVen, | |
575 | - TUR: $scope.factura.vendedor.TurVen, | |
576 | - ORDEN_PRECOMPRA: '', | |
577 | - ESC: producto.tipoFactura === 'L' ? 1 : 0, | |
578 | - CMF: 0, | |
579 | - PTA: 0, | |
580 | - IVS: 0, | |
581 | - TIVA: 0, | |
582 | - CON: 0, | |
583 | - SINO: '', | |
584 | - ORD_TRA: 0, | |
585 | - IMP_DESP: 0, | |
586 | - PCD: 0, | |
587 | - RTO: '', | |
588 | - }; | |
607 | + .then(function (producto) { | |
608 | + | |
609 | + var articulo = { | |
610 | + TIP: $scope.factura.cliente.TIP, | |
611 | + TCO: 'FT', | |
612 | + SUC: parseInt($scope.puntoVenta), | |
613 | + ORD: $scope.articulosFiltro().length + 1, | |
614 | + SEC: producto.sector, | |
615 | + ART: producto.codigo, | |
616 | + RUB: producto.CodRub, | |
617 | + DES: producto.descripcionLarga, | |
618 | + PUN: producto.precio, | |
619 | + IVA: producto.IMPIVA, | |
620 | + NET: producto.IvaCO !== 0 ? parseFloat(producto.neto) : 0, | |
621 | + NEX: producto.IvaCO === 0 ? parseFloat(producto.neto) : 0, | |
622 | + IMI: producto.ImpInt, | |
623 | + IMI2: producto.ImpInt2, | |
624 | + IMI3: producto.ImpInt3, | |
625 | + PUT: producto.precio, | |
626 | + SUR: 0, | |
627 | + PLA: $scope.factura.vendedor.NplVen, | |
628 | + LUG: $scope.factura.vendedor.LugVen, | |
629 | + LEG: $scope.factura.vendedor.CodVen, | |
630 | + TUR: $scope.factura.vendedor.TurVen, | |
631 | + ORDEN_PRECOMPRA: '', | |
632 | + ESC: producto.tipoFactura === 'L' ? 1 : 0, | |
633 | + CMF: 0, | |
634 | + PTA: 0, | |
635 | + IVS: 0, | |
636 | + TIVA: 0, | |
637 | + CON: 0, | |
638 | + SINO: '', | |
639 | + ORD_TRA: 0, | |
640 | + IMP_DESP: 0, | |
641 | + PCD: 0, | |
642 | + RTO: '', | |
643 | + }; | |
644 | + | |
645 | + $scope.factura.articulosFactura.push(articulo); | |
646 | + $scope.cambioEdit(articulo, 'cantidad'); | |
589 | 647 | |
590 | - $scope.factura.articulosFactura.push(articulo); | |
591 | - $scope.cambioEdit(articulo, 'cantidad'); | |
592 | - | |
593 | - }) | |
648 | + }) | |
594 | 649 | .catch(function (e) { console.error(e); }); |
595 | 650 | }; |
596 | 651 | |
... | ... | @@ -602,18 +657,18 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
602 | 657 | } |
603 | 658 | |
604 | 659 | var modalInstance = $uibModal.open( |
605 | - { | |
606 | - templateUrl: 'modal-ultimos-despachos.html', | |
607 | - controller: 'ultimosDespachosController', | |
608 | - resolve: { | |
609 | - parametros: function () { | |
610 | - return { | |
611 | - planilla: $scope.factura.vendedor.NplVen, | |
612 | - }; | |
613 | - } | |
614 | - }, | |
615 | - size: 'md' | |
616 | - } | |
660 | + { | |
661 | + templateUrl: 'modal-ultimos-despachos.html', | |
662 | + controller: 'ultimosDespachosController', | |
663 | + resolve: { | |
664 | + parametros: function () { | |
665 | + return { | |
666 | + planilla: $scope.factura.vendedor.NplVen, | |
667 | + }; | |
668 | + } | |
669 | + }, | |
670 | + size: 'md' | |
671 | + } | |
617 | 672 | ); |
618 | 673 | |
619 | 674 | modalInstance.result.then(function (producto) { |
... | ... | @@ -660,20 +715,20 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
660 | 715 | producto: producto.despachos[0].PRO, |
661 | 716 | carga: producto.despachos[0].CAR |
662 | 717 | }) |
663 | - .then(function () { | |
664 | - $scope.factura.articulosFactura.push(articulo); | |
665 | - $scope.factura.despachos.push(producto.despachos[0]); | |
666 | - }) | |
667 | - .catch(function (err) { | |
718 | + .then(function () { | |
719 | + $scope.factura.articulosFactura.push(articulo); | |
720 | + $scope.factura.despachos.push(producto.despachos[0]); | |
721 | + }) | |
722 | + .catch(function (err) { | |
668 | 723 | |
669 | - console.error(err); | |
670 | - focaModalService.alert('El despacho está en uso'); | |
671 | - }); | |
724 | + console.error(err); | |
725 | + focaModalService.alert('El despacho está en uso'); | |
726 | + }); | |
672 | 727 | |
673 | 728 | }) |
674 | - .catch(function (err) { | |
675 | - console.error(err); | |
676 | - }); | |
729 | + .catch(function (err) { | |
730 | + console.error(err); | |
731 | + }); | |
677 | 732 | |
678 | 733 | }; |
679 | 734 | |
... | ... | @@ -687,20 +742,20 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
687 | 742 | } |
688 | 743 | |
689 | 744 | var modalInstance = $uibModal.open( |
690 | - { | |
691 | - templateUrl: 'modal-combustibles.html', | |
692 | - controller: 'focaModalCombustiblesController', | |
693 | - resolve: { | |
694 | - parametros: function () { | |
695 | - return { | |
696 | - despachos: producto.despachos, | |
697 | - nombreProducto: producto.DetArt, | |
698 | - topDespachos: $scope.topDespachos | |
699 | - }; | |
700 | - } | |
701 | - }, | |
702 | - size: 'md' | |
703 | - } | |
745 | + { | |
746 | + templateUrl: 'modal-combustibles.html', | |
747 | + controller: 'focaModalCombustiblesController', | |
748 | + resolve: { | |
749 | + parametros: function () { | |
750 | + return { | |
751 | + despachos: producto.despachos, | |
752 | + nombreProducto: producto.DetArt, | |
753 | + topDespachos: $scope.topDespachos | |
754 | + }; | |
755 | + } | |
756 | + }, | |
757 | + size: 'md' | |
758 | + } | |
704 | 759 | ); |
705 | 760 | |
706 | 761 | modalInstance.result.then(function (despacho) { |
... | ... | @@ -747,20 +802,20 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
747 | 802 | producto: despacho.PRO, |
748 | 803 | carga: despacho.CAR |
749 | 804 | }) |
750 | - .then(function () { | |
751 | - $scope.factura.articulosFactura.push(articulo); | |
752 | - $scope.factura.despachos.push(despacho); | |
753 | - }) | |
754 | - .catch(function (err) { | |
805 | + .then(function () { | |
806 | + $scope.factura.articulosFactura.push(articulo); | |
807 | + $scope.factura.despachos.push(despacho); | |
808 | + }) | |
809 | + .catch(function (err) { | |
755 | 810 | |
756 | - console.error(err); | |
757 | - focaModalService.alert('El despacho está en uso'); | |
758 | - }); | |
811 | + console.error(err); | |
812 | + focaModalService.alert('El despacho está en uso'); | |
813 | + }); | |
759 | 814 | |
760 | 815 | }) |
761 | - .catch(function (err) { | |
762 | - console.error(err); | |
763 | - }); | |
816 | + .catch(function (err) { | |
817 | + console.error(err); | |
818 | + }); | |
764 | 819 | |
765 | 820 | }; |
766 | 821 | } |
... | ... | @@ -781,23 +836,23 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
781 | 836 | |
782 | 837 | function openPrompt() { |
783 | 838 | return focaModalService |
784 | - .prompt({ | |
785 | - titulo: 'Indique Contraseña', | |
786 | - value: '', | |
787 | - tipo: 'password' | |
788 | - }) | |
789 | - .then(function (contraseña) { | |
839 | + .prompt({ | |
840 | + titulo: 'Indique Contraseña', | |
841 | + value: '', | |
842 | + tipo: 'password' | |
843 | + }) | |
844 | + .then(function (contraseña) { | |
790 | 845 | |
791 | - if (contraseña !== vendedor.ClaVen.trim()) { | |
846 | + if (contraseña !== vendedor.ClaVen.trim()) { | |
792 | 847 | |
793 | - focaModalService.alert('Clave incorrecta').then(function () { | |
794 | - openPrompt(vendedor); | |
795 | - }); | |
796 | - } else { | |
797 | - resolve(); | |
798 | - } | |
799 | - }) | |
800 | - .catch(reject); | |
848 | + focaModalService.alert('Clave incorrecta').then(function () { | |
849 | + openPrompt(vendedor); | |
850 | + }); | |
851 | + } else { | |
852 | + resolve(); | |
853 | + } | |
854 | + }) | |
855 | + .catch(reject); | |
801 | 856 | } |
802 | 857 | |
803 | 858 | openPrompt(); |
... | ... | @@ -809,24 +864,24 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
809 | 864 | return new Promise(function (resolve, reject) { |
810 | 865 | |
811 | 866 | crearFacturaService |
812 | - .validarPlanillaVendedor(vendedor.CodVen.toString().trim()) | |
813 | - .then(function (res) { | |
867 | + .validarPlanillaVendedor(vendedor.CodVen.toString().trim()) | |
868 | + .then(function (res) { | |
814 | 869 | |
815 | - if (!res.data.length) { | |
870 | + if (!res.data.length) { | |
816 | 871 | |
817 | - focaModalService | |
818 | - .alert('No se encontró planilla abierta para el vendedor') | |
819 | - .then(reject); | |
872 | + focaModalService | |
873 | + .alert('No se encontró planilla abierta para el vendedor') | |
874 | + .then(reject); | |
820 | 875 | |
821 | - } else { | |
822 | - resolve(); | |
823 | - } | |
876 | + } else { | |
877 | + resolve(); | |
878 | + } | |
824 | 879 | |
825 | - }) | |
826 | - .catch(function (err) { | |
827 | - console.log(err); | |
828 | - reject(); | |
829 | - }); | |
880 | + }) | |
881 | + .catch(function (err) { | |
882 | + console.log(err); | |
883 | + reject(); | |
884 | + }); | |
830 | 885 | }); |
831 | 886 | } |
832 | 887 | |
... | ... | @@ -847,8 +902,8 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
847 | 902 | |
848 | 903 | if (confirmacion) { |
849 | 904 | focaModalService.confirm( |
850 | - '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' | |
851 | - ).then(function (data) { | |
905 | + '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' | |
906 | + ).then(function (data) { | |
852 | 907 | if (data) { |
853 | 908 | $location.path('/'); |
854 | 909 | } |
... | ... | @@ -872,12 +927,12 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
872 | 927 | $scope.cabeceras.push({ |
873 | 928 | label: 'Fecha cotizacion:', |
874 | 929 | valor: $filter('date')(factura.cotizacion.FECHA, |
875 | - 'dd/MM/yyyy') | |
930 | + 'dd/MM/yyyy') | |
876 | 931 | }); |
877 | 932 | $scope.cabeceras.push({ |
878 | 933 | label: 'Cotizacion:', |
879 | 934 | valor: $filter('number')(factura.cotizacion.VENDEDOR, |
880 | - '2') | |
935 | + '2') | |
881 | 936 | }); |
882 | 937 | } |
883 | 938 | |
... | ... | @@ -889,7 +944,7 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
889 | 944 | $scope.cabeceras.push({ |
890 | 945 | label: 'Cliente:', |
891 | 946 | valor: $filter('rellenarDigitos')(factura.cliente.COD, 3) + ' - ' + |
892 | - factura.cliente.NOM | |
947 | + factura.cliente.NOM | |
893 | 948 | }); |
894 | 949 | |
895 | 950 | $filter('filter')($scope.botonera, { label: 'Cliente' })[0].checked = true; |
... | ... | @@ -1013,14 +1068,14 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
1013 | 1068 | function getNumeroFactura(tipoFactura) { |
1014 | 1069 | |
1015 | 1070 | crearRemitoService.getNumeroRemito(tipoFactura).then( |
1016 | - function (res) { | |
1017 | - $scope.puntoVenta = rellenar(res.data.sucursal, 4); | |
1018 | - $scope.comprobante = rellenar(res.data.numeroRemito, 8); | |
1019 | - }, | |
1020 | - function (err) { | |
1021 | - focaModalService.alert('La terminal no está configurada correctamente'); | |
1022 | - console.info(err); | |
1023 | - } | |
1071 | + function (res) { | |
1072 | + $scope.puntoVenta = rellenar(res.data.sucursal, 4); | |
1073 | + $scope.comprobante = rellenar(res.data.numeroRemito, 8); | |
1074 | + }, | |
1075 | + function (err) { | |
1076 | + focaModalService.alert('La terminal no está configurada correctamente'); | |
1077 | + console.info(err); | |
1078 | + } | |
1024 | 1079 | ); |
1025 | 1080 | } |
1026 | 1081 | } |
src/js/service.js
... | ... | @@ -6,6 +6,9 @@ angular.module('focaCrearFactura') |
6 | 6 | guardarFactura: function (factura) { |
7 | 7 | return $http.post(route + '/factura/guardar', factura); |
8 | 8 | }, |
9 | + consultarPagoElectronico: function (datos) { | |
10 | + return $http.post(route + '/factura/consultar-pago-electronico', datos); | |
11 | + }, | |
9 | 12 | getParametros: function () { |
10 | 13 | return $http.get(API_ENDPOINT.URL + '/parametros/factura'); |
11 | 14 | }, |