Commit 5288585325afa8baf03270cdbdf96aaf2ba4dea5

Authored by Eric Fernandez
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 }