Commit 5288585325afa8baf03270cdbdf96aaf2ba4dea5
1 parent
59960b7897
Exists in
master
refactor última hora
Showing
2 changed files
with
40 additions
and
126 deletions
Show diff stats
rutas/comprobantes.js
| ... | ... | @@ -45,133 +45,12 @@ router.post('/comprobante', function(req, res) { |
| 45 | 45 | var recadv = require('../recadv')(JSON.parse(JSON.stringify(req.body.cabecera)), |
| 46 | 46 | JSON.parse(JSON.stringify(req.body.cuerpo))); |
| 47 | 47 | |
| 48 | - delete req.body.cabecera.idTransaccion; | |
| 49 | - delete req.body.cabecera.GLN; | |
| 50 | - delete req.body.cabecera.C_HD2; | |
| 51 | - delete req.body.cabecera.E_HD2; | |
| 52 | - | |
| 53 | - //smalldatetime | |
| 54 | - req.body.cabecera.FEC = new Date(req.body.cabecera.FEC).toISOString().slice(0, 19).replace('T', ' '); | |
| 55 | - req.body.cabecera.FECCAI = new Date(req.body.cabecera.FECCAI).toISOString().slice(0, 19).replace('T', ' '); | |
| 56 | - req.body.cabecera.FECVEN = new Date(req.body.cabecera.FECVEN).toISOString().slice(0, 19).replace('T', ' '); | |
| 57 | - //datetime | |
| 58 | - req.body.cabecera.FEV = moment(req.body.cabecera.FEV).format('YYYYMMDD'); | |
| 59 | - req.body.cabecera.FEP = moment(req.body.cabecera.FEP).format('YYYYMMDD'); | |
| 60 | - | |
| 61 | - var promesas = [ | |
| 62 | - recadv, | |
| 63 | - knex('PMAEFACT').insert(req.body.cabecera), | |
| 64 | - knex('PCOBYPAG').insert({ | |
| 65 | - COD: req.body.cabecera.COD, | |
| 66 | - FEP: req.body.cabecera.FEC, | |
| 67 | - TIP: req.body.cabecera.TIP, | |
| 68 | - TCO: req.body.cabecera.TCO, | |
| 69 | - SUC: req.body.cabecera.SUC, | |
| 70 | - NCO: req.body.cabecera.NCO, | |
| 71 | - IPA: req.body.cabecera.TOT, | |
| 72 | - SAL: 0, | |
| 73 | - TCA: 1, | |
| 74 | - ZONA: req.body.cabecera.ZON, | |
| 75 | - FPA: req.body.cabecera.FPA, | |
| 76 | - REC: 0, | |
| 77 | - FER: '19000101 00:00', | |
| 78 | - PRO: '', | |
| 79 | - FEV: req.body.cabecera.FEV, | |
| 80 | - ANU: '', | |
| 81 | - PLA: 0, | |
| 82 | - LUG: 0, | |
| 83 | - RES: 0, | |
| 84 | - CCU: 0, | |
| 85 | - UCU: 0, | |
| 86 | - HOS: '', | |
| 87 | - E_HD: '', | |
| 88 | - C_HD: '' | |
| 89 | - }), | |
| 90 | - ]; | |
| 91 | - | |
| 92 | - req.body.cuerpo.forEach(cuerpo => { | |
| 93 | - | |
| 94 | - if (cuerpo.estado != 'rechazado' && !(cuerpo.COD == 0 && cuerpo.ART == 0)) { | |
| 95 | - | |
| 96 | - promesas.push(knex('AMOVSTOC').insert({ | |
| 97 | - SEC: cuerpo.COD, | |
| 98 | - ART: cuerpo.ART, | |
| 99 | - FEC: req.body.cabecera.FEC, | |
| 100 | - CYV: 'C', | |
| 101 | - TIP: req.body.cabecera.TIP, | |
| 102 | - TCO: req.body.cabecera.TCO, | |
| 103 | - PVE: req.body.cabecera.SUC, | |
| 104 | - NCO: req.body.cabecera.NCO, | |
| 105 | - ORD: cuerpo.ORD, | |
| 106 | - CAN: cuerpo.cantidadRecibida, | |
| 107 | - PUN: cuerpo.PUN, | |
| 108 | - COD: req.body.cabecera.COD, | |
| 109 | - DTO: cuerpo.DTO, | |
| 110 | - IMI: cuerpo.IMI, | |
| 111 | - PLA: 0, | |
| 112 | - LUG: 0, | |
| 113 | - ANU: '', | |
| 114 | - TIM: 'Co', | |
| 115 | - OPE: -888, // <= TODO: Cuando se haga el login poner codigo operario | |
| 116 | - IMI2: cuerpo.IMI2, | |
| 117 | - E_HD: '', | |
| 118 | - C_HD: '', | |
| 119 | - JUS: 'PLANEX', | |
| 120 | - NLC: 0, | |
| 121 | - IMI3: cuerpo.IMI3, | |
| 122 | - JJN: '', | |
| 123 | - JDJ: '', | |
| 124 | - ID_MOTIVO_NANB: 0 | |
| 125 | - })); | |
| 126 | - }; | |
| 127 | - | |
| 128 | - cuerpo.estado == 'rechazado' ? cuerpo.cantidadRecibida = 0 : false; | |
| 129 | - | |
| 130 | - delete cuerpo.GLN; | |
| 131 | - delete cuerpo.C_HD2; | |
| 132 | - delete cuerpo.E_HD2; | |
| 133 | - delete cuerpo.codigoBarras; | |
| 134 | - delete cuerpo.estado; | |
| 135 | - delete cuerpo.recibido; | |
| 136 | - delete cuerpo.input; | |
| 137 | - delete cuerpo.tempRecibido; | |
| 138 | - | |
| 139 | - cuerpo.LI0 = cuerpo.LI0.slice(0, 29); | |
| 140 | - cuerpo.TIO = cuerpo.TIO.slice(0, 29); | |
| 141 | - | |
| 142 | - promesas.push(knex('PMOVFACT').insert(cuerpo)); | |
| 143 | - | |
| 144 | - }); | |
| 145 | - | |
| 146 | - Promise.all(promesas) | |
| 147 | - .then(function() { | |
| 148 | - | |
| 149 | - Promise.all([ | |
| 150 | - knex('PMAEFACT_TEMP').where({ | |
| 151 | - TIP: req.body.cabecera.TIP, | |
| 152 | - TCO: req.body.cabecera.TCO, | |
| 153 | - SUC: req.body.cabecera.SUC, | |
| 154 | - NCO: req.body.cabecera.NCO, | |
| 155 | - COD: req.body.cabecera.COD | |
| 156 | - }) | |
| 157 | - .del(), | |
| 158 | - knex('PMOVFACT_TEMP').where({ | |
| 159 | - TIP: req.body.cabecera.TIP, | |
| 160 | - TCO: req.body.cabecera.TCO, | |
| 161 | - SUC: req.body.cabecera.SUC, | |
| 162 | - NCO: req.body.cabecera.NCO | |
| 163 | - }) | |
| 164 | - .del() | |
| 165 | - ]).then(function() { | |
| 166 | - | |
| 167 | - console.log('comprobantes guardados con éxito'); | |
| 168 | - res.status(201).send(); | |
| 169 | - }) | |
| 48 | + var guardar = wsServer.guardarComprobante(req, req.body.cabecera.GLN); | |
| 170 | 49 | |
| 50 | + Promise.all([recadv, guardar]) | |
| 51 | + .then(() => { | |
| 52 | + res.status(200).send('Comprobante guardado con éxito'); | |
| 171 | 53 | }) |
| 172 | - .catch(function(e) { | |
| 173 | - console.log(e); | |
| 174 | - res.status(500).send(e); | |
| 175 | - }); | |
| 54 | + .catch(() => res.status(500).send('Algo salió mal')); | |
| 176 | 55 | |
| 177 | 56 | }); |
webSocketServer/index.js
| ... | ... | @@ -75,5 +75,40 @@ module.exports = function() { |
| 75 | 75 | }); |
| 76 | 76 | } |
| 77 | 77 | |
| 78 | + objWs.guardarComprobante = function (cuerpo, gln) { | |
| 79 | + | |
| 80 | + return new Promise((resolve, reject) => { | |
| 81 | + | |
| 82 | + var client = clients.filter(function(client) { | |
| 83 | + return client.gln == gln | |
| 84 | + })[0]; | |
| 85 | + | |
| 86 | + if (!client) { | |
| 87 | + reject('No se encuentra el webSocket client'); | |
| 88 | + } | |
| 89 | + | |
| 90 | + var idSolicitud = Math.round(Math.random() * 1000); | |
| 91 | + | |
| 92 | + var enviar = { | |
| 93 | + action: 'comprobante', | |
| 94 | + req: cuerpo | |
| 95 | + }; | |
| 96 | + | |
| 97 | + client.ws.send(JSON.stringify(enviar)); | |
| 98 | + | |
| 99 | + client.ws.on('message', function(message) { | |
| 100 | + | |
| 101 | + message = JSON.parse(message); | |
| 102 | + | |
| 103 | + if (idSolicitud == message.idSolicitud) { | |
| 104 | + | |
| 105 | + resolve(message.data); | |
| 106 | + } | |
| 107 | + | |
| 108 | + }); | |
| 109 | + | |
| 110 | + }); | |
| 111 | + } | |
| 112 | + | |
| 78 | 113 | return objWs; |
| 79 | 114 | } |