From a75d80f78f3e690d47a8218b3663eb68570dbc4d Mon Sep 17 00:00:00 2001 From: mpuebla Date: Tue, 2 Jul 2019 11:09:12 -0300 Subject: [PATCH] Cambio para que al seleccionar cliente automaticamente me agregue el cobrador que corresponde. --- spec/controllerSpec.js | 117 ----------------------------------------- src/js/controller.js | 140 +++++++++++++++++++------------------------------ 2 files changed, 54 insertions(+), 203 deletions(-) diff --git a/spec/controllerSpec.js b/spec/controllerSpec.js index df7cdd9..17f4e69 100644 --- a/spec/controllerSpec.js +++ b/spec/controllerSpec.js @@ -439,68 +439,6 @@ describe('controladores módulo crear cobranza', function() { expect(scope.cobroDeuda).toEqual(true); }); - it('seleccionarCobranza levanta modal y setea datos', function(done) { - - //arrange - var scope = { - $broadcast: function() { }, - $watch: function() { } - }; - var uibModal = { - open: function() { } - }; - - $controller('cobranzaController', { - $scope: scope, - $timeout: $timeout, - $uibModal: uibModal, - $location: {}, - focaCrearCobranzaService: { - getCotizacionByIdMoneda: function() { - return { - then: function() { } - }; - }, - getBotonera: function() { }, - getNumeroRecibo: function() { - return { - then: function() { } - }; - } - }, - focaModalService: {}, - $filter: $filter, - focaSeguimientoService: {}, - focaBotoneraLateralService: {}, - APP: {}, - focaLoginService: {}, - $localStorage: true - }); - var respuesta = { - facturas: 1, - cobros: 2, - cliente: { }, - moneda: { - cotizaciones: [] - } - }; - var promesa = { result: Promise.resolve(respuesta) }; - - //act - spyOn(uibModal, 'open').and.returnValue(promesa); - spyOn(scope, '$broadcast'); - scope.seleccionarCobranza(); - - //assert - promesa.result.then(function() { - expect(uibModal.open).toHaveBeenCalled(); - expect(scope.$broadcast).toHaveBeenCalledWith('cleanCabecera'); - expect(scope.cobranza.facturas).toEqual(respuesta.facturas); - expect(scope.cobranza.cobros).toEqual(respuesta.cobros); - done(); - }); - }); - it('seleccionarCliente levanta modal y setea datos', function(done) { //arrange @@ -950,61 +888,6 @@ describe('controladores módulo crear cobranza', function() { }); }); - it('seleccionarCobrador levanta modal', function(done) { - - //arrange - var scope = { - $broadcast: function() { }, - $watch: function() { } - }; - var focaModalService = { - modal: function() { } - }; - - $controller('cobranzaController', { - $scope: scope, - $timeout: $timeout, - $uibModal: {}, - $location: {}, - focaCrearCobranzaService: { - getCotizacionByIdMoneda: function() { - return { - then: function() { } - }; - }, - getBotonera: function() { }, - getNumeroRecibo: function() { - return { - then: function() { } - }; - } - }, - focaModalService: focaModalService, - $filter: $filter, - focaSeguimientoService: {}, - focaBotoneraLateralService: {}, - APP: {}, - focaLoginService: {}, - $localStorage: true - }); - - var respuesta = 1; - var promesa = Promise.resolve(respuesta); - - //act - spyOn(focaModalService, 'modal').and.returnValue(promesa); - spyOn(scope, '$broadcast'); - scope.seleccionarCobrador({ }); - - //assert - promesa.then(function() { - expect(focaModalService.modal).toHaveBeenCalled(); - expect(scope.$broadcast).toHaveBeenCalled(); - scope.cobranza.cobrador = respuesta; - done(); - }); - }); - it('getTotalDeuda devuelve correcto', function() { //arrange diff --git a/src/js/controller.js b/src/js/controller.js index 07aab41..2a998ef 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -365,95 +365,62 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', $scope.seleccionarCliente = function() { if ($scope.cobranza.id === undefined) { - $scope.seleccionarCobrador(function() { - var modalInstance = $uibModal.open( - { - ariaLabelledBy: 'Busqueda de Cliente', - templateUrl: 'foca-busqueda-cliente-modal.html', - controller: 'focaBusquedaClienteModalController', - resolve: { - vendedor: function() { return null; }, - cobrador: function() { return $scope.cobranza.cobrador; } - }, - size: 'lg' - } - ); - modalInstance.result.then( - function(cliente) { - - var clienteMayus = { - COD: cliente.cod, - NOM: cliente.nom, - CUIT: cliente.cuit, - MAIL: cliente.mail, - DOM: cliente.DOM, - LOC: cliente.LOC, - PCI: cliente.PCI - }; - console.log(clienteMayus); - $scope.$broadcast('addCabecera', { - label: 'Cliente:', - valor: $filter('rellenarDigitos')(clienteMayus.COD, 5) + ' - ' + - clienteMayus.NOM - }); - - $filter('filter')($scope.botonera, - { label: 'Cliente'})[0].checked = true; - - $scope.cobranza.cliente = clienteMayus; - $scope.cobranza.facturas = []; - }, function() { - if (APP !== 'cobranza') $scope.seleccionarCliente(); - } - ); - }); - } else { - focaModalService.alert('Esta cobranza no se puede editar'); - return; - } - }; + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Busqueda de Cliente', + templateUrl: 'foca-busqueda-cliente-modal.html', + controller: 'focaBusquedaClienteModalController', + resolve: { + vendedor: function() { return null; }, + cobrador: function() { return null; } + }, + size: 'lg' + } + ); + modalInstance.result.then( + function(cliente) { + //ELIMINO CLIENTE + $scope.$broadcast('removeCabecera', 'Cliente:'); + $scope.cobranza.cliente = {}; + + var clienteMayus = { + COD: cliente.cod, + NOM: cliente.nom, + CUIT: cliente.cuit, + MAIL: cliente.mail, + DOM: cliente.DOM, + LOC: cliente.LOC, + PCI: cliente.PCI, + idCobrador: cliente.idCobrador, + cobrador: cliente.cobrador + }; + $scope.$broadcast('addCabecera', { + label: 'Cobrador:', + valor: $filter('rellenarDigitos')(clienteMayus.cobrador.NUM, 3) + + ' - ' + clienteMayus.cobrador.NOM + }); + $scope.cobranza.cobrador = clienteMayus.cobrador; - $scope.seleccionarCobrador = function(callback) { + $scope.$broadcast('addCabecera', { + label: 'Cliente:', + valor: $filter('rellenarDigitos')(clienteMayus.COD, 5) + ' - ' + + clienteMayus.NOM + }); - if (APP === 'cobranza') { - callback(); - return; - } + $filter('filter')($scope.botonera, + { label: 'Cliente'})[0].checked = true; - var parametrosModal = { - query: '/cobrador', - columnas: [ - { - propiedad: 'NUM', - nombre: 'Codigo', - filtro: { - nombre: 'rellenarDigitos', - parametro: 3 - } - }, - { - propiedad: 'NOM', - nombre: 'Nombre' + $scope.cobranza.cliente = clienteMayus; + $scope.cobranza.facturas = []; + focaCrearCobranzaService + .getCobradorById($scope.cobranza.cliente.idCobrador); + }, function() { } - ], - titulo:'Búsqueda de cobradores' - }; - focaModalService.modal(parametrosModal).then( - function(cobrador) { - $scope.$broadcast('addCabecera', { - label: 'Cobrador:', - valor: $filter('rellenarDigitos')(cobrador.NUM, 3) + ' - ' + - cobrador.NOM - }); - $scope.cobranza.cobrador = cobrador; - - //ELIMINO CLIENTE - $scope.$broadcast('removeCabecera', 'Cliente:'); - $scope.cobranza.cliente = {}; - - callback(); - }, function() {} - ); + ); + } else { + focaModalService.alert('Esta cobranza no se puede editar'); + return; + } }; $scope.seleccionarFactura = function() { @@ -492,7 +459,8 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', if (!existe.length) facturasResult.push(factura); }); - $scope.cobranza.facturas = $scope.cobranza.facturas.concat(facturasResult); + $scope.cobranza.facturas = + $scope.cobranza.facturas.concat(facturasResult); }, function() { } ); } else { -- 1.9.1