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