From 5288585325afa8baf03270cdbdf96aaf2ba4dea5 Mon Sep 17 00:00:00 2001 From: Eric Fernandez Date: Fri, 16 Aug 2019 15:50:23 -0300 Subject: [PATCH] =?UTF-8?q?refactor=20=C3=BAltima=20hora?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rutas/comprobantes.js | 131 ++--------------------------------------------- webSocketServer/index.js | 35 +++++++++++++ 2 files changed, 40 insertions(+), 126 deletions(-) diff --git a/rutas/comprobantes.js b/rutas/comprobantes.js index 8f437ec..0c5952e 100644 --- a/rutas/comprobantes.js +++ b/rutas/comprobantes.js @@ -45,133 +45,12 @@ router.post('/comprobante', function(req, res) { var recadv = require('../recadv')(JSON.parse(JSON.stringify(req.body.cabecera)), JSON.parse(JSON.stringify(req.body.cuerpo))); - delete req.body.cabecera.idTransaccion; - delete req.body.cabecera.GLN; - delete req.body.cabecera.C_HD2; - delete req.body.cabecera.E_HD2; - - //smalldatetime - req.body.cabecera.FEC = new Date(req.body.cabecera.FEC).toISOString().slice(0, 19).replace('T', ' '); - req.body.cabecera.FECCAI = new Date(req.body.cabecera.FECCAI).toISOString().slice(0, 19).replace('T', ' '); - req.body.cabecera.FECVEN = new Date(req.body.cabecera.FECVEN).toISOString().slice(0, 19).replace('T', ' '); - //datetime - req.body.cabecera.FEV = moment(req.body.cabecera.FEV).format('YYYYMMDD'); - req.body.cabecera.FEP = moment(req.body.cabecera.FEP).format('YYYYMMDD'); - - var promesas = [ - recadv, - knex('PMAEFACT').insert(req.body.cabecera), - knex('PCOBYPAG').insert({ - COD: req.body.cabecera.COD, - FEP: req.body.cabecera.FEC, - TIP: req.body.cabecera.TIP, - TCO: req.body.cabecera.TCO, - SUC: req.body.cabecera.SUC, - NCO: req.body.cabecera.NCO, - IPA: req.body.cabecera.TOT, - SAL: 0, - TCA: 1, - ZONA: req.body.cabecera.ZON, - FPA: req.body.cabecera.FPA, - REC: 0, - FER: '19000101 00:00', - PRO: '', - FEV: req.body.cabecera.FEV, - ANU: '', - PLA: 0, - LUG: 0, - RES: 0, - CCU: 0, - UCU: 0, - HOS: '', - E_HD: '', - C_HD: '' - }), - ]; - - req.body.cuerpo.forEach(cuerpo => { - - if (cuerpo.estado != 'rechazado' && !(cuerpo.COD == 0 && cuerpo.ART == 0)) { - - promesas.push(knex('AMOVSTOC').insert({ - SEC: cuerpo.COD, - ART: cuerpo.ART, - FEC: req.body.cabecera.FEC, - CYV: 'C', - TIP: req.body.cabecera.TIP, - TCO: req.body.cabecera.TCO, - PVE: req.body.cabecera.SUC, - NCO: req.body.cabecera.NCO, - ORD: cuerpo.ORD, - CAN: cuerpo.cantidadRecibida, - PUN: cuerpo.PUN, - COD: req.body.cabecera.COD, - DTO: cuerpo.DTO, - IMI: cuerpo.IMI, - PLA: 0, - LUG: 0, - ANU: '', - TIM: 'Co', - OPE: -888, // <= TODO: Cuando se haga el login poner codigo operario - IMI2: cuerpo.IMI2, - E_HD: '', - C_HD: '', - JUS: 'PLANEX', - NLC: 0, - IMI3: cuerpo.IMI3, - JJN: '', - JDJ: '', - ID_MOTIVO_NANB: 0 - })); - }; - - cuerpo.estado == 'rechazado' ? cuerpo.cantidadRecibida = 0 : false; - - delete cuerpo.GLN; - delete cuerpo.C_HD2; - delete cuerpo.E_HD2; - delete cuerpo.codigoBarras; - delete cuerpo.estado; - delete cuerpo.recibido; - delete cuerpo.input; - delete cuerpo.tempRecibido; - - cuerpo.LI0 = cuerpo.LI0.slice(0, 29); - cuerpo.TIO = cuerpo.TIO.slice(0, 29); - - promesas.push(knex('PMOVFACT').insert(cuerpo)); - - }); - - Promise.all(promesas) - .then(function() { - - Promise.all([ - knex('PMAEFACT_TEMP').where({ - TIP: req.body.cabecera.TIP, - TCO: req.body.cabecera.TCO, - SUC: req.body.cabecera.SUC, - NCO: req.body.cabecera.NCO, - COD: req.body.cabecera.COD - }) - .del(), - knex('PMOVFACT_TEMP').where({ - TIP: req.body.cabecera.TIP, - TCO: req.body.cabecera.TCO, - SUC: req.body.cabecera.SUC, - NCO: req.body.cabecera.NCO - }) - .del() - ]).then(function() { - - console.log('comprobantes guardados con éxito'); - res.status(201).send(); - }) + var guardar = wsServer.guardarComprobante(req, req.body.cabecera.GLN); + Promise.all([recadv, guardar]) + .then(() => { + res.status(200).send('Comprobante guardado con éxito'); }) - .catch(function(e) { - console.log(e); - res.status(500).send(e); - }); + .catch(() => res.status(500).send('Algo salió mal')); }); diff --git a/webSocketServer/index.js b/webSocketServer/index.js index bd92c90..46ad60f 100644 --- a/webSocketServer/index.js +++ b/webSocketServer/index.js @@ -75,5 +75,40 @@ module.exports = function() { }); } + objWs.guardarComprobante = function (cuerpo, gln) { + + return new Promise((resolve, reject) => { + + var client = clients.filter(function(client) { + return client.gln == gln + })[0]; + + if (!client) { + reject('No se encuentra el webSocket client'); + } + + var idSolicitud = Math.round(Math.random() * 1000); + + var enviar = { + action: 'comprobante', + req: cuerpo + }; + + client.ws.send(JSON.stringify(enviar)); + + client.ws.on('message', function(message) { + + message = JSON.parse(message); + + if (idSolicitud == message.idSolicitud) { + + resolve(message.data); + } + + }); + + }); + } + return objWs; } -- 1.9.1