Commit 698498ac5fdfc0fd238c2ee6fdcee117b66576af

Authored by Eric Fernandez
Exists in master

Merge branch 'master' into 'master'

Master(efernandez)

See merge request !2
1 const webSocketServer = require('ws').Server; 1 const webSocketServer = require('ws').Server;
2 const fs = require('fs'); 2 const fs = require('fs');
3 const config = require('./config/config.json'); 3 const config = require('./config/config.json');
4 4
5 const planex = require('./planex/index')(); 5 const planex = require('./planex/index')('');
6 6
7 console.log(planex); 7 console.log(planex);
8 8
9 fs.watch(__dirname, function (event, file) { 9 fs.watch(__dirname, function (event, file) {
10 console.log(event); 10 console.log(event);
11 console.log(file); 11 console.log(file);
12 }); 12 });
13 13
14 const wsServer = new webSocketServer({ 14 const wsServer = new webSocketServer({
15 port: config.port 15 port: config.port
16 }); 16 });
17 17
18 wsServer.on('connection', function connection(ws) { 18 wsServer.on('connection', function connection(ws) {
19 console.log('open socket server') 19 console.log('open socket server')
20 20
21 ws.on('message', function incoming(message) { 21 ws.on('message', function incoming(message) {
22 console.log('recibe ho: %s', message); 22 console.log('recibe ho: %s', message);
23 if (message == 'isAlive?') { 23 if (message == 'isAlive?') {
24 24
25 setTimeout(function () { 25 setTimeout(function () {
26 ws.send('YES IS ALIVE'); 26 ws.send('YES IS ALIVE');
27 }, 10000); 27 }, 10000);
28 } 28 }
29 }); 29 });
30 }); 30 });
31 31
32 console.log('listen websocket port ' + config.port); 32 console.log('listen websocket port ' + config.port);
33 33
planex/descuentosGlobalesFactura.js
File was created 1 module.exports = function(comprobante) {
2
3 var comrpobanteArr = comprobante.split(';');
4
5 return {
6 descripcionDescuentoOIntereses: comrpobanteArr[1],
7 porcentaje: comrpobanteArr[2],
8 importeBase: comrpobanteArr[3],
9 importe: comrpobanteArr[4],
10 ClasificadorDescuentoOInteres: comrpobanteArr[5]
11 };
12 }
13
planex/detalleDescuentosItemFactura.js
File was created 1 module.exports = function(comprobante) {
2
3 var comprobanteArr = comprobante.split(';');
4
5 return {
6 numeroLinea: comprobanteArr[1],
7 descripcionDescuento: comprobanteArr[2],
8 porcentajeDescuento: comprobanteArr[3],
9 importeBase: comprobanteArr[4],
10 importeDescuento: comprobanteArr[5],
11 };
12 }
13
planex/detalleImpuestosItemFactura.js
File was created 1 module.exports = function(comprobante) {
2
3 var comprobanteArr = comprobante.split(';');
4
5 return {
6 numeroLinea: comprobanteArr[1],
7 descripcionImpuesto: comprobanteArr[2],
8 procentajeImpuesto: comprobanteArr[3],
9 importeBase: comprobanteArr[4],
10 importeImpuesto: comprobanteArr[5]
11 };
12 }
13
planex/detalleOtrosImpuestosComprobante.js
File was created 1 module.exports = function(comprobante) {
2
3 var comprobanteArr = comprobante.split(';');
4
5 return {
6 descripcionImpuesto: comprobanteArr[1],
7 porcentaje: comprobanteArr[2],
8 importeBase: comprobanteArr[3],
9 importeImpuesto: comprobanteArr[4],
10 codigoArancelImpuestoOCuota: comprobanteArr[5],
11 jurisdiccion: comprobanteArr[6]
12 };
13 }
14
planex/detallePercepcionesIIBB.js
File was created 1 module.exports = function(comprobante) {
2
3 comprobante = '070;01;000000000000411;00;000000000000000;PERC .I.B. BS. A.S;00250;000000000016436;00000;000000000000000 ';
4
5 var comprobanteArr = comprobante.split(';');
6
7 return {
8 codigoJurisdiccionIB: comprobanteArr[1],
9 importePercepcionesIB: comprobanteArr[2],
10 jurisdiccionImpuestosMunicipales: comprobanteArr[3],
11 importePercepcionesImpuestosMunicipales: comprobanteArr[4],
12 descripcionPercepcionIB: comprobanteArr[5],
13 porcentajePercepcionesIB: comprobanteArr[6],
14 importeBasePercepcionesIB: comprobanteArr[7],
15 porcentajePercepcionesImpuestosMunicipales: comprobanteArr[8],
16 importeBasePercepcionesImpuestosMunicipales: comprobanteArr[9]
17 };
18 }
19
planex/detallesImportesIVA.js
File was created 1 module.exports = function(comprobante) {
2
3 comprobante = '060;02100;000000000024349;000000000115946;000000000000000 ';
4
5 var comprobanteArr = comprobante.split(';');
6
7 return {
8 alicuotaIVAAplicable: comprobanteArr[1],
9 importeLiquidado: comprobanteArr[2],
10 importeNetoGravado: comprobanteArr[3],
11 importeLiquidadoRNI: comprobanteArr[4]
12 };
13 }
14
planex/identificacionComprobante.js
1 module.exports = function(comprobante) { File was deleted
2
3 var comprobante = '010;01;00081929;00081929;0002;20120927;20120927;;;14 DIAS;;;32012114736927;20140716;;;;;;;;;;;20120927';
4
5 var comprobanteArr = comprobante.split(';');
6
7 return {
8 tipo: comprobanteArr[1],
9 numero: comprobanteArr[2],
10 numeroRegistrado: comprobanteArr[3],
11 puntoVenta: comprobanteArr[4],
12 fechaComprobante: comprobanteArr[5],
13 fechaVencimiento: comprobanteArr[6],
14 fechaSegundoVencimiento: comprobanteArr[7],
15 fechaProximoVencimiento: comprobanteArr[8],
16 condicionPago: comprobanteArr[9],
17 caeOCaea: comprobanteArr[10],
18 fechaVencimientoCaeOCaea: comprobanteArr[11],
19 cai: comprobanteArr[12],
20 fechaVencimientoCai: comprobanteArr[14],
21 motivo: comprobanteArr[15],
22 fechaServicioDesde: comprobanteArr[16],
23 fechaServicioHasta: comprobanteArr[17],
24 codigoControladorFiscal: comprobanteArr[17],
25 codigoOperacion: comprobanteArr[18],
26 cantidadHojas: comprobanteArr[19],
27 datosCodigoBarraParaCobranza: comprobanteArr[20],
28 datosOtroCodigoBarras: comprobanteArr[21],
29 datosCodigoParaPagoElectronico: comprobanteArr[22],
30 fechaAnulacion: comprobanteArr[23],
31 fechaEntrega: comprobanteArr[24],
32 numeroVisualizador: comprobanteArr[25]
33 };
34
35 }
36 1 module.exports = function(comprobante) {
planex/identificacionEmisor.js
1 module.exports = function(comprobante) { File was deleted
2
3 comprobante = '030;EMPRESA EMISORA S.A.;7790522012340;01;902-108324-2;19690727;;Maximo M 885;;;;;;;Lanus Oeste;Buenos Aires;1824;;;30123654736;;;;;;'
4
5 comprobanteArr = comprobante.split(';');
6
7 return {
8 razonSocial: comprobanteArr[1],
9 glnEmisor: comprobanteArr[2],
10 ivaEmisor: comprobanteArr[3],
11 numeroIngresosBrutos: comprobanteArr[4],
12 inicioActividades: comprobanteArr[5],
13 contacto: comprobanteArr[6],
14 direccion: comprobanteArr[7],
15 numero: comprobanteArr[8],
16 piso: comprobanteArr[9],
17 departamento: comprobanteArr[10],
18 sector: comprobanteArr[11],
19 torre: comprobanteArr[12],
20 manzana: comprobanteArr[13],
21 localidad: comprobante[14],
22 provincia: comprobanteArr[15],
23 codigoPostal: comprobanteArr[16],
24 email: comprobanteArr[17],
25 telefono: comprobanteArr[18],
26 cuit: comprobanteArr[19],
27 codigoAgenciaResponsableListaCodigos: comprobanteArr[20],
28 numeroEstablecimientoEmisor: comprobanteArr[21],
29 numeroAgentePercepcionProvincialDelEmisor: comprobanteArr[22],
30 numeroAgentePercepcionMunicipalDelEmisor: comprobanteArr[23],
31 numeroFax: comprobanteArr[24],
32 codigoVendedor: comprobanteArr[25]
33 };
34
35 }
36 1 module.exports = function(comprobante) {
planex/identificacionMensaje.js
1 module.exports = function(comprobante) { File was deleted
2
3 return '';
4
5 }
6 1 module.exports = function(comprobante) {
planex/identificaxComprobante.js
File was created 1 module.exports = function(comprobante) {
2
3 var comprobante = '010;01;00081929;00081929;0002;20120927;20120927;;;14 DIAS;;;32012114736927;20140716;;;;;;;;;;;20120927';
4
5 var comprobanteArr = comprobante.split(';');
6
7 return {
8 tipo: comprobanteArr[1],
9 numero: comprobanteArr[2],
10 numeroRegistrado: comprobanteArr[3],
11 puntoVenta: comprobanteArr[4],
12 fechaComprobante: comprobanteArr[5],
13 fechaVencimiento: comprobanteArr[6],
14 fechaSegundoVencimiento: comprobanteArr[7],
15 fechaProximoVencimiento: comprobanteArr[8],
16 condicionPago: comprobanteArr[9],
17 caeOCaea: comprobanteArr[10],
18 fechaVencimientoCaeOCaea: comprobanteArr[11],
19 cai: comprobanteArr[12],
20 fechaVencimientoCai: comprobanteArr[14],
21 motivo: comprobanteArr[15],
22 fechaServicioDesde: comprobanteArr[16],
23 fechaServicioHasta: comprobanteArr[17],
24 codigoControladorFiscal: comprobanteArr[17],
25 codigoOperacion: comprobanteArr[18],
26 cantidadHojas: comprobanteArr[19],
27 datosCodigoBarraParaCobranza: comprobanteArr[20],
28 datosOtroCodigoBarras: comprobanteArr[21],
29 datosCodigoParaPagoElectronico: comprobanteArr[22],
30 fechaAnulacion: comprobanteArr[23],
31 fechaEntrega: comprobanteArr[24],
32 numeroVisualizador: comprobanteArr[25]
33 };
34 }
35
planex/identificaxEmisor.js
File was created 1 module.exports = function(comprobante) {
2
3 comprobante = '030;EMPRESA EMISORA S.A.;7790522012340;01;902-108324-2;19690727;;Maximo M 885;;;;;;;Lanus Oeste;Buenos Aires;1824;;;30123654736;;;;;;'
4
5 comprobanteArr = comprobante.split(';');
6
7 return {
8 razonSocial: comprobanteArr[1],
9 glnEmisor: comprobanteArr[2],
10 ivaEmisor: comprobanteArr[3],
11 numeroIngresosBrutos: comprobanteArr[4],
12 inicioActividades: comprobanteArr[5],
13 contacto: comprobanteArr[6],
14 direccion: comprobanteArr[7],
15 numero: comprobanteArr[8],
16 piso: comprobanteArr[9],
17 departamento: comprobanteArr[10],
18 sector: comprobanteArr[11],
19 torre: comprobanteArr[12],
20 manzana: comprobanteArr[13],
21 localidad: comprobante[14],
22 provincia: comprobanteArr[15],
23 codigoPostal: comprobanteArr[16],
24 email: comprobanteArr[17],
25 telefono: comprobanteArr[18],
26 cuit: comprobanteArr[19],
27 codigoAgenciaResponsableListaCodigos: comprobanteArr[20],
28 numeroEstablecimientoEmisor: comprobanteArr[21],
29 numeroAgentePercepcionProvincialDelEmisor: comprobanteArr[22],
30 numeroAgentePercepcionMunicipalDelEmisor: comprobanteArr[23],
31 numeroFax: comprobanteArr[24],
32 codigoVendedor: comprobanteArr[25]
33 };
34 }
35
planex/identificaxMensaje.js
File was created 1 module.exports = function(comprobante) {
2
3 var comprobanteArr = comprobante.split(';');
4
5 return {
6 idMensaje: comprobanteArr[1]
7 };
8 }
9
planex/identificaxReceptorFactura.js
File was created 1 module.exports = function(comprobante) {
2
3 comprobante = '040;CADENARECEPTORA;7798032710006;401000;01;;9011890556;;CALLE 401 6TO PISO;;;;;;;Cap. federal;1640;;;80;30123654434;;;;; '
4
5 var comprobanteArr = comprobante.split(';');
6
7 return {
8 razonSocial: comprobanteArr[1],
9 glnReceptor: comprobanteArr[2],
10 codigoInternoReceptorParaEmisor: comprobanteArr[3],
11 ivaReceptor: comprobanteArr[4],
12 codigoJurisdiccionIBReceptor: comprobanteArr[5],
13 numeroIngresosBrutos: comprobanteArr[6],
14 contacto: comprobanteArr[7],
15 direccionCalle: comprobanteArr[8],
16 direccionNumero: comprobanteArr[9],
17 piso: comprobanteArr[10],
18 departamento: comprobanteArr[11],
19 sector: comprobanteArr[12],
20 torre: comprobanteArr[13],
21 manzana: comprobanteArr[14],
22 localidad: comprobanteArr[15],
23 provincia: comprobanteArr[16],
24 codigoPostal: comprobanteArr[17],
25 email: comprobanteArr[18],
26 telefono: comprobanteArr[19],
27 tipoDocumentoReceptor: comprobanteArr[20],
28 numeroDocumentoReceptor: comprobanteArr[21],
29 codigoAgenciaResponsableListaCodigos: comprobanteArr[22],
30 codigoDptoOPersonaAQuienVaDirigidoElComp: comprobanteArr[23],
31 nombreDptoOPersonaAQuienVaDirigidoElComp: comprobanteArr[24],
32 numeroFax: comprobanteArr[25],
33 municipio: comprobanteArr[26]
34 };
35 }
36
planex/identificaxSucursalReceptorFactura.js
File was created 1 module.exports = function(comprobante) {
2
3 comprobante = '045;SUCURSAL CADENA RECEPTORA;7791236854;;;;;;;;;;;;;;;;;;80;30123610434;;;;;;; ';
4
5 var comprobanteArr = comprobante.split(';');
6
7 return {
8 razonSocial: comprobanteArr[1],
9 glnSucursal: comprobanteArr[2],
10 codigoInternoSucursalReceptorParaEmisor: comprobanteArr[3],
11 ivaSucursal: comprobanteArr[4],
12 codigoJurisdiccionIB: comprobanteArr[5],
13 numeroIB: comprobanteArr[6],
14 contacto: comprobanteArr[7],
15 direccion: comprobanteArr[8],
16 numero: comprobanteArr[9],
17 piso: comprobanteArr[10],
18 departamento: comprobanteArr[11],
19 sector: comprobanteArr[12],
20 torre: comprobanteArr[13],
21 manzana: comprobanteArr[14],
22 localidad: comprobanteArr[15],
23 provincia: comprobanteArr[16],
24 codigoPostal: comprobanteArr[17],
25 email: comprobanteArr[18],
26 telefono: comprobanteArr[19],
27 tipoDocumento: comprobanteArr[20],
28 numeroDocumento: comprobanteArr[21],
29 codigoAgenciaResponsableListaCodigos: comprobanteArr[22],
30 codigoDptoOPersonaAQuienVaDirigidoElMsj: comprobanteArr[23],
31 nombreDptoOPersonaAQuienVaDirigidoElMsj: comprobanteArr[24],
32 numeroFax: comprobanteArr[25],
33 municipio: comprobanteArr[26],
34 numeroSucursalReceptorParaEmisor: comprobanteArr[27],
35 }
36 }
37
planex/importesTotales.js
File was created 1 module.exports = function(comprobante) {
2
3 comprobante = '050;000000000000000;000000000000000;000000000000000;000000000140295;000000000000000;000000000115946;000000 000024349;000000000000000;000000000000000;000000000000000;000000000000000;000000000000000;000000000000000; ;PES;00001000000;1;000000000000000;;; '
4
5 var comprobanteArr = comprobante.split(';');
6
7 return {
8 saldoAnterior: comprobanteArr[1],
9 totalBruto: comprobanteArr[2],
10 totalNeto: comprobanteArr[3],
11 totalOperacion: comprobanteArr[4],
12 totalConceptosNoNetoGravado: comprobanteArr[5],
13 netoGravado: comprobanteArr[6],
14 liquidado: comprobanteArr[7],
15 liquidadoRNI: comprobanteArr[8],
16 importeOperacionesExentas: comprobanteArr[9],
17 importeACtaImpuestosNacionales: comprobanteArr[10],
18 importeIB: comprobanteArr[11],
19 importeImpuestosMunicipales: comprobanteArr[12],
20 importeImpuestosInternos: comprobanteArr[13],
21 transporte: comprobanteArr[14],
22 monedaFacturacion: comprobanteArr[15],
23 tipoCambioFacturacion: comprobanteArr[16],
24 cantidadAlicuotasIVA: comprobanteArr[17],
25 totalFacturaSegundoVencimiento: comprobanteArr[18],
26 observaciones: comprobanteArr[19],
27 observacionesDebitoAutomatico: comprobanteArr[20],
28 fechaTipoCambioFacturacion: comprobanteArr[21],
29 monedaPago: comprobanteArr[22],
30 tipoCambioMonedaPago: comprobanteArr[23],
31 fechaTipoCambioPago: comprobanteArr[24],
32 importeOtrosTributos: comprobanteArr[25]
33 };
34 }
35
1 module.exports = function(comprobante) { 1 module.exports = function(comprobante) {
2 2
3 return { 3 return {
4 identificacionComprobante: require('./identificacionComprobante')(comprobante), 4 identificaxComprobante: require('./identificaxComprobante')(comprobante),// 010
5 identificacionMensaje: require('./identificacionMensaje')(comprobante), 5 identificaxMensaje: require('./identificaxMensaje')(comprobante),// 012
6 comprobantesReferencia: require('./comprobantesReferencia')(comprobante), 6 comprobantesReferencia: require('./comprobantesReferencia')(comprobante), // 020
7 identificacionEmisor: require('./identificacionEmisor')(comprobante), 7 identificaxEmisor: require('./identificaxEmisor')(comprobante), // 030
8 } 8 informaxRepresentanteEmisor: require('./informaxRepresentanteEmisor')(comprobante), // 035
9 identificaxReceptorFactura: require('./identificaxReceptorFactura')(comprobante), // 040
10 identificaxSucursalReceptorFactura: require('./identificaxSucursalReceptorFactura')(comprobante), // 045
11 importesTotales: require('./importesTotales')(comprobante), // 050
12 detallesImportesIVA: require('./detallesImportesIVA')(comprobante), // 060
13 detallePercepcionesIIBB: require('./detallePercepcionesIIBB')(comprobante), // 070
14 descuentosGlobalesFactura: require('./descuentosGlobalesFactura')(comprobante), // 080
15 detalleOtrosImpuestosComprobante: require('./detalleOtrosImpuestosComprobante')(comprobante), // 090
16 itemsFactura: require('./itemsFactura')(comprobante), // 100
17 detalleDescuentosItemFactura: require('./detalleDescuentosItemFactura')(comprobante), // 110
18 detalleImpuestosItemFactura: require('./detalleImpuestosItemFactura')(comprobante), // 120
19 };
9 } 20 }
10 21
planex/informaxRepresentanteEmisor.js
File was created 1 module.exports = function(comprobante) {
2
3 var comprobanteArr = comprobante.split(';');
4
5 return {
6 razonSocial: comprobanteArr[1],
7 glnRepresentante: comprobanteArr[2],
8 condicionIvaRepresentante: comprobanteArr[3],
9 numeroIngresosBrutos: comprobanteArr[4],
10 inicioActividades: comprobanteArr[5],
11 contacto: comprobanteArr[6],
12 direccionCalle: comprobanteArr[7],
13 direccionNumero: comprobanteArr[8],
14 piso: comprobanteArr[9],
15 departamento: comprobanteArr[10],
16 sector: comprobanteArr[11],
17 torre: comprobanteArr[12],
18 manzana: comprobanteArr[13],
19 localidad: comprobanteArr[14],
20 provincia: comprobanteArr[15],
21 codigoPostal: comprobanteArr[16],
22 email: comprobanteArr[17],
23 telefono: comprobanteArr[18],
24 cuit: comprobanteArr[19],
25 codigoAgenciaResponsableListaCodigos: comprobanteArr[20],
26 numeroEstablecimientoRepresentante: comprobanteArr[21],
27 numeroAgentePercepcionProvincialRepresentante: comprobanteArr[22],
28 numeroAgentePercepcionMunicipalRepresentante: comprobanteArr[23],
29 numeroFax: comprobanteArr[24],
30 codigoRepresentante: comprobanteArr[25]
31 };
32 }
33
planex/itemsFactura.js
File was created 1 module.exports = function(comprobante) {
2
3 comprobante = '100;000001;74300;2087455000005;DescripciónArticulo;000000000500000;;000000000035500;02100;0000 00000003452;000000000016437;000000000000000;000000000000000;G; ;000000000000100;000000000000100;CR;CU;000000000032873;7798569874125;; ';
4
5 var comprobanteArr = comprobante.split(';');
6
7 return {
8 numeroLinea: comprobanteArr[1],
9 codigoProductoServicio: comprobanteArr[2],
10 codigoProductoServicioComprador: comprobanteArr[3],
11 descripcion: comprobanteArr[4],
12 cantidad: comprobanteArr[5],
13 unidadMedida: comprobanteArr[6],
14 precioUnitario: comprobanteArr[7],
15 alicuotaIVAAplicable: comprobanteArr[8],
16 importeIVA: comprobanteArr[9],
17 subtotalPorRegistro: comprobanteArr[10],
18 importeBonificacion: comprobanteArr[11],
19 importeAjuste: comprobanteArr[12],
20 indicacionExento: comprobanteArr[13],
21 indicacionAnulacion: comprobanteArr[14],
22 numeroUnidadesPorUnidadEmbalaje: comprobanteArr[15],
23 cantidadEmbalajes: comprobanteArr[16],
24 codigoTipoEmbalaje: comprobanteArr[17],
25 unidadReferenciaDescripcion: comprobanteArr[18],
26 precioUnitarioSinImpuestos: comprobanteArr[19],
27 codigoUPCEAN13: comprobanteArr[20],
28 codigoDUN14: comprobanteArr[21],
29 codigoMercosur: comprobanteArr[22],
30 unidadesMatrix: comprobanteArr[23],
31 codigoMatrix: comprobanteArr[24],
32 precioLista: comprobanteArr[25]
33 };
34 }
35