From 9bb92655ab931c2559a3a451ebcd169a9649f6ac Mon Sep 17 00:00:00 2001 From: Luigi Date: Fri, 28 Jun 2019 17:49:23 -0300 Subject: [PATCH] validacion al editar cobranza seleccionada --- src/js/controller.js | 473 ++++++++++++++++++++++++++++----------------------- 1 file changed, 256 insertions(+), 217 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 7490d9b..9d02f03 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -324,7 +324,6 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', }; $scope.seleccionarCobranza = function() { - var modalInstance = $uibModal.open( { ariaLabelledBy: 'Busqueda de Cobranzas', @@ -365,48 +364,53 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', }; $scope.seleccionarCliente = function() { - $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(); - } - ); - }); + 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; + } }; $scope.seleccionarCobrador = function(callback) { @@ -453,206 +457,231 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', }; $scope.seleccionarFactura = function() { - if (!$scope.cobranza.cliente.COD) { - focaModalService.alert('Seleccione primero un cliente'); - return; - } - var modalInstance = $uibModal.open( - { - ariaLabelledBy: 'Busqueda de Facturas', - templateUrl: 'foca-modal-factura.html', - controller: 'focaModalFacturaController', - size: 'lg', - resolve: { - parametrosFactura: function() { - return { - cliente: $scope.cobranza.cliente, - simbolo: $scope.cobranza.moneda.SIMBOLO, - cotizacion: $scope.cobranza.moneda, - moneda: $scope.cobranza.moneda.ID - }; + if ($scope.cobranza.id === undefined) { + if (!$scope.cobranza.cliente.COD) { + focaModalService.alert('Seleccione primero un cliente'); + return; + } + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Busqueda de Facturas', + templateUrl: 'foca-modal-factura.html', + controller: 'focaModalFacturaController', + size: 'lg', + resolve: { + parametrosFactura: function() { + return { + cliente: $scope.cobranza.cliente, + simbolo: $scope.cobranza.moneda.SIMBOLO, + cotizacion: $scope.cobranza.moneda, + moneda: $scope.cobranza.moneda.ID + }; + } } } - } - ); - modalInstance.result.then( - function(facturas) { - var facturasResult = []; - //AGREGO A FACTURASRESULT LAS FACTURAS QUE NO HAN SIDO SELECCIONADAS - facturas.forEach(function(factura) { - var existe = $scope.cobranza.facturas.filter(function(e) { - return angular.equals(factura, e); + ); + modalInstance.result.then( + function(facturas) { + var facturasResult = []; + //AGREGO A FACTURASRESULT LAS FACTURAS QUE NO HAN SIDO SELECCIONADAS + facturas.forEach(function(factura) { + var existe = $scope.cobranza.facturas.filter(function(e) { + return angular.equals(factura, e); + }); + + if (!existe.length) facturasResult.push(factura); }); - if (!existe.length) facturasResult.push(factura); - }); - - $scope.cobranza.facturas = $scope.cobranza.facturas.concat(facturasResult); - }, function() { } - ); - }; - - $scope.seleccionarCheque = function(cheque) { - - var parametros; - - if(!cheque) { - parametros = { - importe: getSugerido(), - esNuevo : true - }; + $scope.cobranza.facturas = $scope.cobranza.facturas.concat(facturasResult); + }, function() { } + ); } else { - parametros = cheque; - parametros.importe = cheque.IMP; + focaModalService.alert('Esta cobranza no se puede editar'); + return; } - var modalInstance = $uibModal.open( - { - ariaLabelledBy: 'Carga de cheques', - templateUrl: 'modal-cheque.html', - controller: 'focaModalChequeController', - size: 'lg', - resolve: { - cheque: function() { - return parametros; - } - } - } - ); - modalInstance.result.then( - function(cheque) { - var cobro = { - COM: 'ch' + '(' + cheque.numero + ')' + ' ' + cheque.banco.desbco, - numero: cheque.numero, - banco: cheque.banco, - FEC: cheque.fechaEmision.toLocaleDateString() + '-' + - cheque.fechaPresentacion.toLocaleDateString(), - fechaPresentacion: cheque.fechaPresentacion, - fechaEmision: cheque.fechaEmision, - IMP: cheque.importe, - localidad: cheque.localidad, - librador: cheque.librador, - provincia: cheque.provincia, - observaciones: cheque.observaciones, - TIL: 'EF' - }; - pushearCobro(cobro, cheque.$$hashKey); - }, function() { - - } - ); }; - $scope.seleccionarEfectivo = function() { + $scope.seleccionarCheque = function(cheque) { + if ($scope.cobranza.id === undefined) { + var parametros; - var importe = 0; - $scope.cobranza.cobros.filter(function(a) { - if(a.COM === 'Efectivo') { - importe = a.IMP; + if(!cheque) { + parametros = { + importe: getSugerido(), + esNuevo : true + }; + } else { + parametros = cheque; + parametros.importe = cheque.IMP; } - }); - var modalInstance = $uibModal.open( - { - ariaLabelledBy: 'Carga de cheques', - templateUrl: 'modal-efectivo.html', - controller: 'focaModalEfectivoController', - size: 'sm', - resolve: { - sugerido: function() { - return parseFloat(getSugerido()) + parseFloat(importe); + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Carga de cheques', + templateUrl: 'modal-cheque.html', + controller: 'focaModalChequeController', + size: 'lg', + resolve: { + cheque: function() { + return parametros; + } } } - } - ); - modalInstance.result.then( - function(efectivo) { - - var cobro = { - COM: 'Efectivo', - FEC: new Date(), - IMP: efectivo, - TIL: 'EF' - }; - - $scope.cobranza.cobros = $scope.cobranza.cobros.filter(function(a) { - return a.COM !== 'Efectivo'; - }); + ); + modalInstance.result.then( + function(cheque) { + var cobro = { + COM: 'ch' + '(' + cheque.numero + ')' + ' ' + cheque.banco.desbco, + numero: cheque.numero, + banco: cheque.banco, + FEC: cheque.fechaEmision.toLocaleDateString() + '-' + + cheque.fechaPresentacion.toLocaleDateString(), + fechaPresentacion: cheque.fechaPresentacion, + fechaEmision: cheque.fechaEmision, + IMP: cheque.importe, + localidad: cheque.localidad, + librador: cheque.librador, + provincia: cheque.provincia, + observaciones: cheque.observaciones, + TIL: 'EF' + }; + pushearCobro(cobro, cheque.$$hashKey); + }, function() { - $scope.cobranza.cobros.push(cobro); - }, function() { + } + ); + } else { + focaModalService.alert('Esta cobranza no se puede editar'); + return; + } - } - ); }; - $scope.seleccionarDetalles = function(detalle) { - - var parametro = {}; - - if(!detalle) { - parametro = { - importe: getSugerido(), - files: [] - }; + $scope.seleccionarEfectivo = function() { + if ($scope.cobranza.id === undefined) { + var importe = 0; + $scope.cobranza.cobros.filter(function(a) { + if(a.COM === 'Efectivo') { + importe = a.IMP; + } + }); + + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Carga de cheques', + templateUrl: 'modal-efectivo.html', + controller: 'focaModalEfectivoController', + size: 'sm', + resolve: { + sugerido: function() { + return parseFloat(getSugerido()) + parseFloat(importe); + } + } + } + ); + modalInstance.result.then( + function(efectivo) { + + var cobro = { + COM: 'Efectivo', + FEC: new Date(), + IMP: efectivo, + TIL: 'EF' + }; + + $scope.cobranza.cobros = $scope.cobranza.cobros.filter(function(a) { + return a.COM !== 'Efectivo'; + }); + + $scope.cobranza.cobros.push(cobro); + }, function() { + + } + ); } else { - parametro = detalle; - parametro.importe = detalle.IMP; - parametro.files= detalle.imgs; + focaModalService.alert('Esta cobranza no se puede editar'); + return; } + }; - var modalInstance = $uibModal.open( - { - ariaLabelledBy: 'Carga de detalles', - templateUrl: 'modal-detalles.html', - controller: 'focaModalDetallesController', - size: 'lg', - resolve: { - parametros: function() { - return parametro; + $scope.seleccionarDetalles = function(detalle) { + if ($scope.cobranza.id === undefined) { + var parametro = {}; + + if(!detalle) { + parametro = { + importe: getSugerido(), + files: [] + }; + } else { + parametro = detalle; + parametro.importe = detalle.IMP; + parametro.files= detalle.imgs; + } + + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Carga de detalles', + templateUrl: 'modal-detalles.html', + controller: 'focaModalDetallesController', + size: 'lg', + resolve: { + parametros: function() { + return parametro; + } } } - } - ); - modalInstance.result.then( - function(detalles) { - - var cobro = { - COM: 'de(COBRO POR DETALLES)', - FEC: new Date(), - IMP: detalles.importe, - imgs: detalles.files, - TIL: 'DE', - observacion: detalles.observacion - }; - pushearCobro(cobro, detalles.$$hashKey); - }, function() {} - ); + ); + modalInstance.result.then( + function(detalles) { + + var cobro = { + COM: 'de(COBRO POR DETALLES)', + FEC: new Date(), + IMP: detalles.importe, + imgs: detalles.files, + TIL: 'DE', + observacion: detalles.observacion + }; + pushearCobro(cobro, detalles.$$hashKey); + }, function() {} + ); + } else { + focaModalService.alert('Esta cobranza no se puede editar'); + return; + } }; $scope.seleccionarMoneda = function() { - var parametrosModal = { - titulo: 'Búsqueda de monedas', - query: '/moneda', - columnas: [ - { - propiedad: 'DETALLE', - nombre: 'Nombre' - }, - { - propiedad: 'SIMBOLO', - nombre: 'Símbolo' + if ($scope.cobranza.id === undefined){ + var parametrosModal = { + titulo: 'Búsqueda de monedas', + query: '/moneda', + columnas: [ + { + propiedad: 'DETALLE', + nombre: 'Nombre' + }, + { + propiedad: 'SIMBOLO', + nombre: 'Símbolo' + } + ], + size: 'md' + }; + focaModalService.modal(parametrosModal).then( + function(moneda) { + $scope.seleccionarCotizacion(moneda); + }, function() { + } - ], - size: 'md' - }; - focaModalService.modal(parametrosModal).then( - function(moneda) { - $scope.seleccionarCotizacion(moneda); - }, function() { + ); + } else { + focaModalService.alert('Esta cobranza no se puede editar'); + return; + } - } - ); }; $scope.seleccionarCotizacion = function(moneda) { @@ -745,11 +774,21 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', }; $scope.quitarFactura = function(key) { - $scope.cobranza.facturas.splice(key, 1); + if ($scope.cobranza.id === undefined) { + $scope.cobranza.facturas.splice(key, 1); + } else { + focaModalService.alert('Esta comprobante no se puede eliminar'); + return; + } }; $scope.quitarCobro = function(key) { - $scope.cobranza.cobros.splice(key, 1); + if ($scope.cobranza.id === undefined) { + $scope.cobranza.cobros.splice(key, 1); + } else { + focaModalService.alert('Esta comprobante no se puede eliminar'); + return; + } }; $scope.editarCobro = function(cobro) { -- 1.9.1