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 @@