Commit cb46c046b1d047420410ed5584068598dd6e7305
Exists in
master
Merge branch 'master' into 'master'
Master See merge request !46
Showing
1 changed file
Show diff stats
src/js/controller.js
| 1 | 1 | angular.module('focaCrearCobranza') .controller('cobranzaController', |
| 2 | 2 | [ |
| 3 | - '$scope', | |
| 4 | - '$rootScope', | |
| 5 | - '$timeout', | |
| 6 | - '$uibModal', | |
| 7 | - '$location', | |
| 8 | - 'focaCrearCobranzaService', | |
| 9 | - 'focaModalService', | |
| 10 | - '$filter', | |
| 11 | - 'focaSeguimientoService', | |
| 12 | - 'focaBotoneraLateralService', | |
| 13 | - 'APP', | |
| 14 | - 'focaLoginService', | |
| 3 | + '$scope', '$rootScope', '$timeout', '$uibModal', '$location', | |
| 4 | + 'focaCrearCobranzaService', 'focaModalService', '$filter', 'focaSeguimientoService', | |
| 5 | + 'focaBotoneraLateralService', 'APP', 'focaLoginService', | |
| 15 | 6 | function($scope, $rootScope, $timeout, $uibModal, $location, focaCrearCobranzaService, |
| 16 | 7 | focaModalService, $filter, focaSeguimientoService, focaBotoneraLateralService, |
| 17 | 8 | APP, loginService) |
| 18 | 9 | { |
| 10 | + config(); | |
| 19 | 11 | |
| 20 | - if(APP === 'cobranza') { | |
| 21 | - var idCobrador = loginService.getLoginData().vendedorCobrador; | |
| 22 | - $scope.botonera = focaCrearCobranzaService.getBotonera(idCobrador); | |
| 23 | - focaCrearCobranzaService.getCobradorById(idCobrador).then( | |
| 12 | + function config() { | |
| 13 | + $scope.datepickerAbierto = false; | |
| 14 | + $scope.cobroDeuda = true; | |
| 15 | + $scope.show = false; | |
| 16 | + $scope.cargando = true; | |
| 17 | + $scope.fecha = new Date(); | |
| 18 | + $scope.puntoVenta = $filter('rellenarDigitos')(0, 4); | |
| 19 | + $scope.comprobante = $filter('rellenarDigitos')(0, 8); | |
| 20 | + | |
| 21 | + $scope.dateOptions = { | |
| 22 | + maxDate: new Date(), | |
| 23 | + minDate: new Date(2010, 0, 1) | |
| 24 | + }; | |
| 25 | + | |
| 26 | + var monedaPorDefecto; | |
| 27 | + //Trabajo con la cotización más reciente, por eso uso siempre la primera '[0]' | |
| 28 | + focaCrearCobranzaService.getCotizacionByIdMoneda(1).then(function(res) { | |
| 29 | + monedaPorDefecto = res.data[0]; | |
| 30 | + | |
| 31 | + $scope.cobranza.moneda = monedaPorDefecto; | |
| 32 | + $scope.inicial.cobranza.moneda = $scope.cobranza.moneda; | |
| 33 | + | |
| 34 | + $scope.cobranza.cotizacion = monedaPorDefecto.cotizaciones[0]; | |
| 35 | + $scope.inicial.cobranza.cotizacion = $scope.cobranza.cotizacion; | |
| 36 | + }); | |
| 37 | + | |
| 38 | + $timeout(function() { | |
| 39 | + focaBotoneraLateralService.showSalir(false); | |
| 40 | + focaBotoneraLateralService.showPausar(true); | |
| 41 | + focaBotoneraLateralService.showGuardar(true, $scope.crearCobranza); | |
| 42 | + focaBotoneraLateralService.addCustomButton('Salir', salir); | |
| 43 | + }); | |
| 44 | + | |
| 45 | + if (APP === 'cobranza') { | |
| 46 | + $scope.idCobrador = loginService.getLoginData().vendedorCobrador; | |
| 47 | + $scope.botonera = focaCrearCobranzaService.getBotonera($scope.idCobrador); | |
| 48 | + } else { | |
| 49 | + $scope.botonera = focaCrearCobranzaService.getBotonera(); | |
| 50 | + } | |
| 51 | + | |
| 52 | + init(); | |
| 53 | + } | |
| 54 | + | |
| 55 | + function init() { | |
| 56 | + $scope.$broadcast('cleanCabecera'); | |
| 57 | + | |
| 58 | + $scope.cobranza = {}; | |
| 59 | + $scope.facturaTabla = []; | |
| 60 | + $scope.cobrosTabla = []; | |
| 61 | + | |
| 62 | + focaCrearCobranzaService.getCobradorById($scope.idCobrador).then( | |
| 24 | 63 | function(res) { |
| 25 | 64 | var cobrador = res.data; |
| 65 | + | |
| 26 | 66 | $scope.$broadcast('addCabecera', { |
| 27 | 67 | label: 'Cobrador:', |
| 28 | 68 | valor: $filter('rellenarDigitos')(cobrador.CodVen) + ' - ' + |
| 29 | 69 | cobrador.NomVen |
| 30 | 70 | }); |
| 71 | + | |
| 31 | 72 | $scope.cobranza.cobrador = cobrador; |
| 73 | + $scope.inicial.cobranza.cobrador = $scope.cobranza.cobrador; | |
| 32 | 74 | } |
| 33 | 75 | ); |
| 34 | - }else { | |
| 35 | - $scope.botonera = focaCrearCobranzaService.getBotonera(); | |
| 36 | - } | |
| 37 | - $scope.datepickerAbierto = false; | |
| 38 | - $scope.cobroDeuda = true; | |
| 39 | - $scope.show = false; | |
| 40 | - $scope.cargando = true; | |
| 41 | - $scope.dateOptions = { | |
| 42 | - maxDate: new Date(), | |
| 43 | - minDate: new Date(2010, 0, 1) | |
| 44 | - }; | |
| 45 | 76 | |
| 46 | - $scope.cobranza = {}; | |
| 47 | - | |
| 48 | - $scope.fecha = new Date(); | |
| 49 | - $scope.puntoVenta = '0000'; | |
| 50 | - $scope.comprobante = '00000000'; | |
| 51 | - $scope.facturaTabla = []; | |
| 52 | - $scope.cobrosTabla = []; | |
| 77 | + $scope.inicial = { | |
| 78 | + cobranza: angular.copy($scope.cobranza), | |
| 79 | + facturaTabla: angular.copy($scope.facturaTabla), | |
| 80 | + cobrosTabla: angular.copy($scope.cobrosTabla) | |
| 81 | + }; | |
| 53 | 82 | |
| 54 | - $timeout(function() { | |
| 55 | - focaBotoneraLateralService.showSalir(false); | |
| 56 | - focaBotoneraLateralService.showPausar(true); | |
| 57 | - focaBotoneraLateralService.showGuardar(true, $scope.crearCobranza); | |
| 58 | - focaBotoneraLateralService.addCustomButton('Salir', salir); | |
| 59 | - }); | |
| 83 | + focaCrearCobranzaService.getNumeroRecibo().then( | |
| 84 | + function(res) { | |
| 85 | + $scope.puntoVenta = $filter('rellenarDigitos')( | |
| 86 | + res.data.sucursal, 4 | |
| 87 | + ); | |
| 88 | + | |
| 89 | + $scope.comprobante = $filter('rellenarDigitos')( | |
| 90 | + res.data.numeroRecibo, 8 | |
| 91 | + ); | |
| 92 | + }, | |
| 93 | + function(err) { | |
| 94 | + focaModalService.alert( | |
| 95 | + 'La terminal no esta configurada correctamente' | |
| 96 | + ); | |
| 97 | + console.info(err); | |
| 98 | + } | |
| 99 | + ); | |
| 100 | + } | |
| 60 | 101 | |
| 61 | 102 | $scope.crearCobranza = function() { |
| 62 | 103 | if(!$scope.cobranza.cliente) { |
| ... | ... | @@ -76,6 +117,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', |
| 76 | 117 | $scope.cobranza.moneda.SIMBOLO + '0,00'); |
| 77 | 118 | return; |
| 78 | 119 | } |
| 120 | + | |
| 79 | 121 | var cobranza = {}; |
| 80 | 122 | var cheques = []; |
| 81 | 123 | var cuerpos = []; |
| ... | ... | @@ -93,7 +135,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', |
| 93 | 135 | LOP: 'L', |
| 94 | 136 | TIL: $scope.facturaTabla[i].TCO, |
| 95 | 137 | COM: $scope.facturaTabla[i].numeroFactura + '-' + |
| 96 | - $scope.rellenar($scope.facturaTabla[i].NCU,2), | |
| 138 | + $filter('rellenarDigitos')($scope.facturaTabla[i].NCU,2), | |
| 97 | 139 | FEC: $scope.fecha.toISOString().slice(0, 19).replace('T', ' '), |
| 98 | 140 | IMP: Math.abs($scope.facturaTabla[i].IPA), |
| 99 | 141 | RES: 0,//caja de tesorería |
| ... | ... | @@ -261,17 +303,8 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', |
| 261 | 303 | result.data, |
| 262 | 304 | '' |
| 263 | 305 | ); |
| 264 | - //TODO: si esta en mobile no perder el cobrador | |
| 265 | - $scope.cobranza = { | |
| 266 | - fecha: new Date() | |
| 267 | - }; | |
| 268 | - setearMonedaPorDefecto(); | |
| 269 | - obtenerNumeroComprobante(); | |
| 270 | - //TODO: si esta en mobile no perder el cobrador | |
| 271 | - $scope.$broadcast('cleanCabecera'); | |
| 272 | - $scope.fecha = new Date(); | |
| 273 | - $scope.facturaTabla = []; | |
| 274 | - $scope.cobrosTabla = []; | |
| 306 | + | |
| 307 | + init(); | |
| 275 | 308 | }, function(error) { |
| 276 | 309 | focaModalService.alert('Hubo un problema al cargar la cobranza'); |
| 277 | 310 | focaBotoneraLateralService.endGuardar(); |
| ... | ... | @@ -604,15 +637,6 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', |
| 604 | 637 | articulo.precio = parseFloat(articulo.precio); |
| 605 | 638 | }; |
| 606 | 639 | |
| 607 | - $scope.rellenar = function(relleno, longitud) { | |
| 608 | - relleno = '' + relleno; | |
| 609 | - while (relleno.length < longitud) { | |
| 610 | - relleno = '0' + relleno; | |
| 611 | - } | |
| 612 | - | |
| 613 | - return relleno; | |
| 614 | - }; | |
| 615 | - | |
| 616 | 640 | $scope.quitarFactura = function(key) { |
| 617 | 641 | $scope.facturaTabla.splice(key, 1); |
| 618 | 642 | }; |
| ... | ... | @@ -621,46 +645,26 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', |
| 621 | 645 | $scope.cobrosTabla.splice(key, 1); |
| 622 | 646 | }; |
| 623 | 647 | |
| 624 | - function setearMonedaPorDefecto() { | |
| 625 | - var monedaPorDefecto; | |
| 626 | - //Trabajo con la cotización más reciente, por eso uso siempre la primera '[0]' | |
| 627 | - focaCrearCobranzaService.getCotizacionByIdMoneda(1).then(function(res) { | |
| 628 | - monedaPorDefecto = res.data[0]; | |
| 629 | - $scope.cobranza.moneda = monedaPorDefecto; | |
| 630 | - $scope.cobranza.cotizacion = monedaPorDefecto.cotizaciones[0]; | |
| 631 | - }); | |
| 632 | - } | |
| 648 | + function salir() { | |
| 649 | + var confirmacion = false; | |
| 633 | 650 | |
| 634 | - function obtenerNumeroComprobante() { | |
| 635 | - focaCrearCobranzaService.getNumeroRecibo().then( | |
| 636 | - function(res) { | |
| 637 | - $scope.puntoVenta = $scope.rellenar(res.data.sucursal, 4); | |
| 638 | - $scope.comprobante = $scope.rellenar(res.data.numeroRecibo, 8); | |
| 639 | - }, | |
| 640 | - function(err) { | |
| 641 | - focaModalService.alert('La terminal no esta configurada correctamente'); | |
| 642 | - console.info(err); | |
| 651 | + angular.forEach($scope.inicial, function(valor, key) { | |
| 652 | + if (!angular.equals($scope[key], $scope.inicial[key])) { | |
| 653 | + confirmacion = true; | |
| 643 | 654 | } |
| 644 | - ); | |
| 645 | - } | |
| 655 | + }); | |
| 646 | 656 | |
| 647 | - function salir() { | |
| 648 | - var cobranza = { | |
| 649 | - moneda: $scope.cobranza.moneda, | |
| 650 | - cotizacion: $scope.cobranza.cotizacion | |
| 651 | - }; | |
| 652 | - if(JSON.stringify($scope.cobranza) !== JSON.stringify(cobranza)) { | |
| 653 | - focaModalService | |
| 654 | - .confirm('¿Esta seguro de que desea salir? ' + | |
| 655 | - 'Se perderán todos los datos cargados.') | |
| 656 | - .then(function(data) { | |
| 657 | - if(data) $location.path('/'); | |
| 658 | - }); | |
| 659 | - }else { | |
| 657 | + if (confirmacion) { | |
| 658 | + focaModalService.confirm( | |
| 659 | + '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' | |
| 660 | + ).then(function(data) { | |
| 661 | + if (data) { | |
| 662 | + $location.path('/'); | |
| 663 | + } | |
| 664 | + }); | |
| 665 | + } else { | |
| 660 | 666 | $location.path('/'); |
| 661 | 667 | } |
| 662 | 668 | } |
| 663 | - obtenerNumeroComprobante(); | |
| 664 | - setearMonedaPorDefecto(); | |
| 665 | 669 | } |
| 666 | 670 | ]); |