From d9670980e8ee7f93e3f188eeec908eaa96ecc272 Mon Sep 17 00:00:00 2001 From: Jose Pinto Date: Wed, 6 Feb 2019 17:06:53 -0300 Subject: [PATCH] enviar recibo por mail al guardar --- src/js/controller.js | 81 ++++++++++++++++++++++++++++++++++++---------------- src/js/service.js | 8 ++++++ 2 files changed, 65 insertions(+), 24 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 6fea45a..feaf234 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -97,7 +97,8 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', FEC: $scope.fecha.toISOString().slice(0, 19).replace('T', ' '), IMP: Math.abs($scope.facturaTabla[i].IPA), RES: 0,//caja de tesorería - SUBM: 0 + SUBM: 0, + NCU: $scope.facturaTabla[i].NCU }; cuerpos.push(cuerpoFactura); } @@ -105,7 +106,6 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', for (var j = 0; j < $scope.cobrosTabla.length; j++) { var efectivo = $scope.cobrosTabla[j].tipo === 'Efectivo' ? true : false; - var cuerpoCobros = { CYV: 'V', TIP: 'C', @@ -222,13 +222,39 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', OBS: 'RC: ' + $scope.comprobante + '-' + $scope.fecha.toLocaleDateString(), DAT1: 'C', CLI: $scope.cobranza.cliente.COD - } + }, + cliente: $scope.cobranza.cliente }; - focaCrearCobranzaService.guardarCobranza(cobranza).then( + //COPIO cobranzaMail Y A cobranza LE ELIMINO EL VALOR NCU DE LOS CUERPOS + var cobranzaMail = angular.copy(cobranza); + cobranza.cuerpo = cobranza.cuerpo.map(function(c) { + if (c.NCU) delete c.NCU; + return c; + }); + + + focaCrearCobranzaService + .guardarCobranza(cobranza) + .then( function(result) { + var cliente = angular.copy($scope.cobranza.cliente); focaBotoneraLateralService.endGuardar(true); $scope.saveLoading = false; - focaModalService.alert('Cobranza guardada con éxito'); + + focaModalService + .prompt('Ingrese los emails separados por coma para enviar comprobante', + cliente.MAIL) + .then(function(res) { + return Promise.all([ + focaCrearCobranzaService + .enviarComprobantePorMail(res, cobranzaMail), + focaCrearCobranzaService + .actualizarEmail(res, cliente.COD) + ]); + }) + .then(function() { + focaModalService.alert('Mensaje enviado correctamente'); + }); focaSeguimientoService.guardarPosicion( 'Cobranza', @@ -300,30 +326,37 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', }; $scope.seleccionarCliente = function() { - var modalInstance = $uibModal.open( - { - ariaLabelledBy: 'Busqueda de Cliente', - templateUrl: 'foca-busqueda-cliente-modal.html', - controller: 'focaBusquedaClienteModalController', - size: 'lg', - resolve: { - vendedor: function(){ return null; } + var parametrosModal = { + titulo: 'Búsqueda de Clientes', + query: '/cliente/listar', + columnas: [ + { + nombre: 'Código', + propiedad: 'COD', + filtro: { + nombre: 'rellenarDigitos', + parametro: 5 + } + }, + { + nombre: 'Nombre', + propiedad: 'NOM' + }, + { + nombre: 'CUIT', + propiedad: 'CUIT' } - } - ); - modalInstance.result.then( + ], + tipo: 'POST', + json: {'nombreOCuit': ''} + }; + focaModalService.modal(parametrosModal).then( function(cliente) { $scope.$broadcast('addCabecera', { label: 'Cliente:', - valor: $filter('rellenarDigitos')(cliente.cod, 5) + ' - ' + cliente.nom + valor: $filter('rellenarDigitos')(cliente.COD, 5) + ' - ' + cliente.NOM }); - $scope.cobranza.cliente = { - COD: cliente.cod, - CUIT: cliente.cuit, - NOM: cliente.nom - }; - }, function() { - + $scope.cobranza.cliente = cliente; } ); }; diff --git a/src/js/service.js b/src/js/service.js index 819a907..994208d 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -16,6 +16,14 @@ angular.module('focaCrearCobranza') getCobradorById: function(id) { return $http.get(API_ENDPOINT.URL + '/vendedor-cobrador/' + id); }, + enviarComprobantePorMail: function(mail, data) { + return $http.post(API_ENDPOINT.URL + '/mail/comprobante', + {receiver: mail, comprobante: data}); + }, + actualizarEmail: function(mail, idCliente) { + return $http.post(API_ENDPOINT.URL + '/cliente/update/email', + {mail: mail, id: idCliente}); + }, getBotonera: function(idCobrador) { var result = [ { -- 1.9.1