From 52cbcf74026cddf57c518ef782dcaa7b6d2d8d1e Mon Sep 17 00:00:00 2001 From: Jose Pinto Date: Thu, 28 Feb 2019 12:00:17 -0300 Subject: [PATCH] boton pausar funcionando --- src/js/controller.js | 201 ++++++++++++++++++++++++++---------------------- src/js/service.js | 3 +- src/views/cobranza.html | 30 ++++---- 3 files changed, 126 insertions(+), 108 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 99f944d..de8b8ce 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -2,10 +2,10 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', [ '$scope', '$timeout', '$uibModal', '$location', 'focaCrearCobranzaService', 'focaModalService', '$filter', 'focaSeguimientoService', - 'focaBotoneraLateralService', 'APP', 'focaLoginService', + 'focaBotoneraLateralService', 'APP', 'focaLoginService', '$localStorage', function($scope, $timeout, $uibModal, $location, focaCrearCobranzaService, focaModalService, $filter, focaSeguimientoService, focaBotoneraLateralService, - APP, loginService) + APP, loginService, $localStorage) { config(); @@ -14,7 +14,6 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', $scope.cobroDeuda = true; $scope.show = false; $scope.cargando = true; - $scope.fecha = new Date(); $scope.puntoVenta = $filter('rellenarDigitos')(0, 4); $scope.comprobante = $filter('rellenarDigitos')(0, 8); @@ -28,11 +27,11 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', focaCrearCobranzaService.getCotizacionByIdMoneda(1).then(function(res) { monedaPorDefecto = res.data[0]; - $scope.cobranza.moneda = monedaPorDefecto; - $scope.inicial.cobranza.moneda = $scope.cobranza.moneda; + $scope.cobranza.cotizacion = Object.assign( + {moneda: monedaPorDefecto}, monedaPorDefecto.cotizaciones[0] + ); - $scope.cobranza.cotizacion = monedaPorDefecto.cotizaciones[0]; - $scope.inicial.cobranza.cotizacion = $scope.cobranza.cotizacion; + $scope.inicial.cotizacion = $scope.cobranza.cotizacion; }); $timeout(function() { @@ -50,15 +49,18 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', } init(); + $timeout(function() {getLSCobranza();}); } function init() { $scope.$broadcast('cleanCabecera'); - $scope.cobranza = {}; - $scope.facturaTabla = []; - $scope.cobrosTabla = []; - + $scope.cobranza = { + fecha: new Date() + }; + $scope.cobranza.facturas = []; + $scope.cobranza.cobros = []; + if (APP === 'cobranza') { focaCrearCobranzaService.getCobradorById($scope.idCobrador).then( function(res) { @@ -76,11 +78,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', ); } - $scope.inicial = { - cobranza: angular.copy($scope.cobranza), - facturaTabla: angular.copy($scope.facturaTabla), - cobrosTabla: angular.copy($scope.cobrosTabla) - }; + $scope.inicial = angular.copy($scope.cobranza); focaCrearCobranzaService.getNumeroRecibo().then( function(res) { @@ -101,6 +99,13 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', ); } + $scope.$watch('cobranza', function(newValue) { + focaBotoneraLateralService.setPausarData({ + label: 'cobranza', + val: newValue + }); + }, true); + $scope.crearCobranza = function() { if(!$scope.cobranza.cliente) { focaModalService.alert('Ingrese Cliente'); @@ -110,7 +115,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', focaModalService.alert('Ingrese Cobrador'); return; } - if($scope.facturaTabla.length < 1) { + if($scope.cobranza.facturas.length < 1) { focaModalService.alert('Ingrese al menos una factura'); return; } @@ -129,7 +134,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', $scope.editando = false; focaBotoneraLateralService.startGuardar(); $scope.saveLoading = true; - for(var i = 0; i < $scope.facturaTabla.length; i++) { + for(var i = 0; i < $scope.cobranza.facturas.length; i++) { var cuerpoFactura = { CYV: 'V', TIP: 'C', @@ -137,22 +142,23 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', PVE: $scope.puntoVenta, NCO: $scope.comprobante, LOP: 'L', - TIL: $scope.facturaTabla[i].TCO, - COM: $scope.facturaTabla[i].numeroFactura + '-' + - $filter('rellenarDigitos')($scope.facturaTabla[i].NCU,2), - FEC: $scope.fecha.toISOString().slice(0, 19).replace('T', ' '), - IMP: Math.abs($scope.facturaTabla[i].IPA), + TIL: $scope.cobranza.facturas[i].TCO, + COM: $scope.cobranza.facturas[i].numeroFactura + '-' + + $filter('rellenarDigitos')($scope.cobranza.facturas[i].NCU,2), + FEC: new Date($scope.cobranza.fecha) + .toISOString().slice(0, 19).replace('T', ' '), + IMP: Math.abs($scope.cobranza.facturas[i].IPA), RES: 0,//caja de tesorería SUBM: 0, - NCU: $scope.facturaTabla[i].NCU + NCU: $scope.cobranza.facturas[i].NCU }; cuerpos.push(cuerpoFactura); } - for (var j = 0; j < $scope.cobrosTabla.length; j++) { + for (var j = 0; j < $scope.cobranza.cobros.length; j++) { - var efectivo = $scope.cobrosTabla[j].tipo === 'Efectivo'; + var efectivo = $scope.cobranza.cobros[j].tipo === 'Efectivo'; var cuerpoCobros = { CYV: 'V', TIP: 'C', @@ -160,35 +166,35 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', PVE: $scope.puntoVenta, NCO: $scope.comprobante, LOP: 'P', - TIL: $scope.cobrosTabla[j].til, - COM: efectivo ? 'ef(COBRO EN EFECTIVO)' : $scope.cobrosTabla[j].tipo, - FEC: !$scope.cobrosTabla[j].fechaPresentacion ? - $scope.cobrosTabla[j].fecha + TIL: $scope.cobranza.cobros[j].til, + COM: efectivo ? 'ef(COBRO EN EFECTIVO)' : $scope.cobranza.cobros[j].tipo, + FEC: !$scope.cobranza.cobros[j].fechaPresentacion ? + new Date($scope.cobranza.cobros[j].fecha) .toISOString().slice(0, 19).replace('T', ' ') : - $scope.cobrosTabla[j].fechaPresentacion + new Date($scope.cobranza.cobros[j].fechaPresentacion) .toISOString().slice(0, 19).replace('T', ' '), - IMP: Math.abs($scope.cobrosTabla[j].importe), + IMP: Math.abs($scope.cobranza.cobros[j].importe), RES: 0,//caja de tesorería SUBM: 0 }; cuerpos.push(cuerpoCobros); - if($scope.cobrosTabla[j].observacion) - observacion = $scope.cobrosTabla[j].observacion; + if($scope.cobranza.cobros[j].observacion) + observacion = $scope.cobranza.cobros[j].observacion; - if($scope.cobrosTabla[j].banco) { + if($scope.cobranza.cobros[j].banco) { var cheque = { - BCO: $scope.cobrosTabla[j].banco.ID, + BCO: $scope.cobranza.cobros[j].banco.ID, NUM: $scope.comprobante, - FEP: $scope.cobrosTabla[j].fechaPresentacion + FEP: new Date($scope.cobranza.cobros[j].fechaPresentacion) .toISOString().slice(0, 19).replace('T', ' '), - FEE: $scope.cobrosTabla[j].fechaEmision + FEE: new Date($scope.cobranza.cobros[j].fechaEmision) .toISOString().slice(0, 19).replace('T', ' '), - LUG: $scope.cobrosTabla[j].localidad.NOMBRE, - IMP: $scope.cobrosTabla[j].importe, - LIB: $scope.cobrosTabla[j].librador, + LUG: $scope.cobranza.cobros[j].localidad.NOMBRE, + IMP: $scope.cobranza.cobros[j].importe, + LIB: $scope.cobranza.cobros[j].librador, EST: 'C',//'D' depositado, 'E' entregado, 'C' en cartera - PCI: $scope.cobrosTabla[j].provincia.ID, + PCI: $scope.cobranza.cobros[j].provincia.ID, LPLA: 0, PLA: 0, VEN: $scope.cobranza.cobrador.id,//Id vendedor @@ -196,7 +202,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', REN: 0, PVEC: $scope.puntoVenta, NCOC: $scope.comprobante, - OBSE: $scope.cobrosTabla[j].observaciones, + OBSE: $scope.cobranza.cobros[j].observaciones, LUV: 0, ORI: 've', FER: '', @@ -207,12 +213,12 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', REC_CAJ: 'D', TIPO_C: 0,//?? SALDO_CAJ: 'S', - FECHA_INGRESO: $scope.fecha + FECHA_INGRESO: new Date($scope.cobranza.fecha) .toISOString().slice(0, 19).replace('T', ' '), Vendedor_valor: 0, FAMILIA: 0, CUIT_LIB: '', - COD_LUG: $scope.cobrosTabla[j].localidad.ID,//código lugar + COD_LUG: $scope.cobranza.cobros[j].localidad.ID,//código lugar SEN: '', NRC: 0, COD_LARGO: '', @@ -222,7 +228,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', }; cheques.push(cheque); } - if ($scope.cobrosTabla[j].imgs) imgs = $scope.cobrosTabla[j].imgs; + if ($scope.cobranza.cobros[j].imgs) imgs = $scope.cobranza.cobros[j].imgs; } @@ -233,7 +239,8 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', TCO: 'RC', PVE: $scope.puntoVenta, //Sucursar, punto de venta NCO: $scope.comprobante, //Numero de comprobante - FEC: $scope.fecha.toISOString().slice(0, 19).replace('T', ' '), + FEC: new Date($scope.cobranza.fecha) + .toISOString().slice(0, 19).replace('T', ' '), CLI: $scope.cobranza.cliente.COD, ATO: 0, //número de asiento CFE: $scope.cobranza.cobrador.NOM, @@ -247,7 +254,8 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', acobypag: { CYV: 'V', COD: $scope.cobranza.cliente.COD, - FEP: $scope.fecha.toISOString().slice(0, 19).replace('T', ' '), + FEP: new Date($scope.cobranza.fecha) + .toISOString().slice(0, 19).replace('T', ' '), TIP: 'C', TCO: 'RC', SUC: $scope.puntoVenta, @@ -263,14 +271,16 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', REM: 0, FRE: null,//?? PRO: 'N', - FEV: $scope.fecha.toISOString().slice(0, 19).replace('T', ' ') + FEV: new Date($scope.cobranza.fecha) + .toISOString().slice(0, 19).replace('T', ' ') }, datosCobrador: { COD: $scope.cobranza.cobrador.NUM, PVE: $scope.puntoVenta, NUM: $scope.comprobante, EST: 'C', - OBS: 'RC: ' + $scope.comprobante + '-' + $scope.fecha.toLocaleDateString(), + OBS: 'RC: ' + $scope.comprobante + '-' + + new Date($scope.cobranza.fecha).toLocaleDateString(), DAT1: 'C', CLI: $scope.cobranza.cliente.COD }, @@ -342,30 +352,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', size: 'lg' } ); - modalInstance.result.then(function(cobranza) { - $scope.editando = true; - $scope.facturaTabla = []; - $scope.cobrosTabla = []; - $scope.$broadcast('cleanCabecera'); - - $scope.fecha = new Date(cobranza.fecha); - - $scope.$broadcast('addCabecera', { - label: 'Cliente:', - valor: $filter('rellenarDigitos')(cobranza.cliente.COD, 5) + ' - ' + - cobranza.cliente.NOM - }); - $scope.$broadcast('addCabecera', { - label: 'Cobrador:', - valor: cobranza.cobrador - //TODO: hacer la relación y traer el cobrador para poner su código - // valor: $filter('rellenarDigitos')(cobranza.cobrador.CodVen, 5) + ' - ' + - // cobranza.cobrador - }); - - $scope.facturaTabla = cobranza.facturas; - $scope.cobrosTabla = cobranza.cobros; - }); + modalInstance.result.then(setearCobranza); }; $scope.seleccionarCliente = function() { @@ -427,7 +414,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', ); modalInstance.result.then( function(facturas) { - $scope.facturaTabla = $scope.facturaTabla.concat(facturas); + $scope.cobranza.facturas = $scope.cobranza.facturas.concat(facturas); }, function() { } @@ -466,7 +453,7 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', observaciones: cheque.observaciones, til: 'EF' }; - $scope.cobrosTabla.push(cobro); + $scope.cobranza.cobros.push(cobro); }, function() { } @@ -496,10 +483,10 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', importe: efectivo * $scope.cobranza.cotizacion.VENDEDOR, til: 'EF' }; - $scope.cobrosTabla = $scope.cobrosTabla.filter(function(a) { + $scope.cobranza.cobros = $scope.cobranza.cobros.filter(function(a) { return a.tipo !== 'Efectivo'; }); - $scope.cobrosTabla.push(cobro); + $scope.cobranza.cobros.push(cobro); }, function() { } @@ -533,14 +520,14 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', }; var existe = false; - $scope.cobrosTabla.forEach(function(c, idx) { + $scope.cobranza.cobros.forEach(function(c, idx) { if (c.til === 'DE') { - $scope.cobrosTabla[idx] = cobro; + $scope.cobranza.cobros[idx] = cobro; existe = true; } }); if (!existe) { - $scope.cobrosTabla.push(cobro); + $scope.cobranza.cobros.push(cobro); } }, function() {} ); @@ -644,16 +631,16 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', $scope.getTotalDeuda = function() { var total = 0; - for (var i = 0; i < $scope.facturaTabla.length; i++) { - total += $scope.facturaTabla[i].IPA; + for (var i = 0; i < $scope.cobranza.facturas.length; i++) { + total += $scope.cobranza.facturas[i].IPA; } return parseFloat(total.toFixed(2)); }; $scope.getTotalCobrado = function() { var total = 0; - for (var i = 0; i < $scope.cobrosTabla.length; i++) { - total += $scope.cobrosTabla[i].importe; + for (var i = 0; i < $scope.cobranza.cobros.length; i++) { + total += $scope.cobranza.cobros[i].importe; } return parseFloat(total.toFixed(2)); }; @@ -689,21 +676,19 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', }; $scope.quitarFactura = function(key) { - $scope.facturaTabla.splice(key, 1); + $scope.cobranza.facturas.splice(key, 1); }; $scope.quitarCobro = function(key) { - $scope.cobrosTabla.splice(key, 1); + $scope.cobranza.cobros.splice(key, 1); }; function salir() { var confirmacion = false; - angular.forEach($scope.inicial, function(valor, key) { - if (!angular.equals($scope[key], $scope.inicial[key])) { - confirmacion = true; - } - }); + if (!angular.equals($scope.cobranza, $scope.inicial)) { + confirmacion = true; + } if (confirmacion) { focaModalService.confirm( @@ -717,5 +702,37 @@ angular.module('focaCrearCobranza') .controller('cobranzaController', $location.path('/'); } } + + function setearCobranza(cobranza) { + $scope.editando = true; + $scope.$broadcast('cleanCabecera'); + + if(cobranza.cliente) { + $scope.$broadcast('addCabecera', { + label: 'Cliente:', + valor: $filter('rellenarDigitos')(cobranza.cliente.COD, 5) + ' - ' + + cobranza.cliente.NOM + }); + } + if(cobranza.cobrador.NUM) { + $scope.$broadcast('addCabecera', { + label: 'Cobrador:', + valor: (cobranza.cobrador.NUM) ? + $filter('rellenarDigitos')(cobranza.cobrador.NUM, 5) + ' - ' + + cobranza.cobrador.NOM : cobranza.cobrador + + }); + } + + $scope.cobranza = cobranza; + } + + function getLSCobranza() { + var cobranza = JSON.parse($localStorage.cobranza || null); + if (cobranza) { + setearCobranza(cobranza); + delete $localStorage.cobranza; + } + } } ]); diff --git a/src/js/service.js b/src/js/service.js index baffb55..7905fb2 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -1,5 +1,6 @@ angular.module('focaCrearCobranza') - .service('focaCrearCobranzaService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) { + .service('focaCrearCobranzaService', ['$http', 'API_ENDPOINT', + function($http, API_ENDPOINT) { return { getNumeroRecibo: function() { return $http.get(API_ENDPOINT.URL + '/recibo/numero-siguiente'); diff --git a/src/views/cobranza.html b/src/views/cobranza.html index 80332fc..ec7e81e 100644 --- a/src/views/cobranza.html +++ b/src/views/cobranza.html @@ -2,7 +2,7 @@ @@ -46,9 +46,9 @@ Comprobantes: - + Cancela: @@ -139,9 +139,9 @@ @@ -184,7 +184,7 @@ Cobros: - + Cancela: @@ -233,8 +233,8 @@
@@ -285,7 +285,7 @@