Commit 96432b4fe6e7b9ddce038af11d9dff64475e10be
1 parent
756dc8903e
Exists in
master
refactor último momento
Showing
2 changed files
with
147 additions
and
2 deletions
Show diff stats
data/index.js
1 | module.exports = function(config) { | 1 | module.exports = function(config) { |
2 | 2 | ||
3 | var knex = require('knex')(config); | ||
4 | |||
5 | return { | 3 | return { |
6 | getEntity: function (message) { | 4 | getEntity: function (message) { |
7 | 5 | ||
8 | return new Promise(function(resolve, reject) { | 6 | return new Promise(function(resolve, reject) { |
9 | 7 | ||
10 | var promise; | 8 | var promise; |
11 | 9 | ||
12 | if (message.queryString) { | 10 | if (message.queryString) { |
13 | 11 | ||
14 | promise = knex.schema.raw(message.queryString); | 12 | promise = knex.schema.raw(message.queryString); |
15 | } else { | 13 | } else { |
16 | 14 | ||
17 | promise = knex(message.tableName).where(message.where).select('*'); | 15 | promise = knex(message.tableName).where(message.where).select('*'); |
18 | } | 16 | } |
19 | 17 | ||
20 | promise.then(function (data) { | 18 | promise.then(function (data) { |
21 | 19 | ||
22 | message.data = data[0]; | 20 | message.data = data[0]; |
23 | resolve(message); | 21 | resolve(message); |
24 | }); | 22 | }); |
25 | }); | 23 | }); |
24 | }, | ||
25 | |||
26 | guardarComprobante: function (req) { | ||
27 | |||
28 | return new Promise((resolve, reject) => { | ||
29 | |||
30 | delete req.body.cabecera.idTransaccion; | ||
31 | delete req.body.cabecera.GLN; | ||
32 | delete req.body.cabecera.C_HD2; | ||
33 | delete req.body.cabecera.E_HD2; | ||
34 | |||
35 | //smalldatetime | ||
36 | req.body.cabecera.FEC = new Date(req.body.cabecera.FEC).toISOString().slice(0, 19).replace('T', ' '); | ||
37 | req.body.cabecera.FECCAI = new Date(req.body.cabecera.FECCAI).toISOString().slice(0, 19).replace('T', ' '); | ||
38 | req.body.cabecera.FECVEN = new Date(req.body.cabecera.FECVEN).toISOString().slice(0, 19).replace('T', ' '); | ||
39 | //datetime | ||
40 | req.body.cabecera.FEV = moment(req.body.cabecera.FEV).format('YYYYMMDD'); | ||
41 | req.body.cabecera.FEP = moment(req.body.cabecera.FEP).format('YYYYMMDD'); | ||
42 | |||
43 | var promesas = [ | ||
44 | recadv, | ||
45 | knex('PMAEFACT').insert(req.body.cabecera), | ||
46 | knex('PCOBYPAG').insert({ | ||
47 | COD: req.body.cabecera.COD, | ||
48 | FEP: req.body.cabecera.FEC, | ||
49 | TIP: req.body.cabecera.TIP, | ||
50 | TCO: req.body.cabecera.TCO, | ||
51 | SUC: req.body.cabecera.SUC, | ||
52 | NCO: req.body.cabecera.NCO, | ||
53 | IPA: req.body.cabecera.TOT, | ||
54 | SAL: 0, | ||
55 | TCA: 1, | ||
56 | ZONA: req.body.cabecera.ZON, | ||
57 | FPA: req.body.cabecera.FPA, | ||
58 | REC: 0, | ||
59 | FER: '19000101 00:00', | ||
60 | PRO: '', | ||
61 | FEV: req.body.cabecera.FEV, | ||
62 | ANU: '', | ||
63 | PLA: 0, | ||
64 | LUG: 0, | ||
65 | RES: 0, | ||
66 | CCU: 0, | ||
67 | UCU: 0, | ||
68 | HOS: '', | ||
69 | E_HD: '', | ||
70 | C_HD: '' | ||
71 | }), | ||
72 | ]; | ||
73 | |||
74 | req.body.cuerpo.forEach(cuerpo => { | ||
75 | |||
76 | if (cuerpo.estado != 'rechazado' && !(cuerpo.COD == 0 && cuerpo.ART == 0)) { | ||
77 | |||
78 | promesas.push(knex('AMOVSTOC').insert({ | ||
79 | SEC: cuerpo.COD, | ||
80 | ART: cuerpo.ART, | ||
81 | FEC: req.body.cabecera.FEC, | ||
82 | CYV: 'C', | ||
83 | TIP: req.body.cabecera.TIP, | ||
84 | TCO: req.body.cabecera.TCO, | ||
85 | PVE: req.body.cabecera.SUC, | ||
86 | NCO: req.body.cabecera.NCO, | ||
87 | ORD: cuerpo.ORD, | ||
88 | CAN: cuerpo.cantidadRecibida, | ||
89 | PUN: cuerpo.PUN, | ||
90 | COD: req.body.cabecera.COD, | ||
91 | DTO: cuerpo.DTO, | ||
92 | IMI: cuerpo.IMI, | ||
93 | PLA: 0, | ||
94 | LUG: 0, | ||
95 | ANU: '', | ||
96 | TIM: 'Co', | ||
97 | OPE: -888, // <= TODO: Cuando se haga el login poner codigo operario | ||
98 | IMI2: cuerpo.IMI2, | ||
99 | E_HD: '', | ||
100 | C_HD: '', | ||
101 | JUS: 'PLANEX', | ||
102 | NLC: 0, | ||
103 | IMI3: cuerpo.IMI3, | ||
104 | JJN: '', | ||
105 | JDJ: '', | ||
106 | ID_MOTIVO_NANB: 0 | ||
107 | })); | ||
108 | }; | ||
109 | |||
110 | cuerpo.estado == 'rechazado' ? cuerpo.cantidadRecibida = 0 : false; | ||
111 | |||
112 | delete cuerpo.GLN; | ||
113 | delete cuerpo.C_HD2; | ||
114 | delete cuerpo.E_HD2; | ||
115 | delete cuerpo.codigoBarras; | ||
116 | delete cuerpo.estado; | ||
117 | delete cuerpo.recibido; | ||
118 | delete cuerpo.input; | ||
119 | delete cuerpo.tempRecibido; | ||
120 | |||
121 | cuerpo.LI0 = cuerpo.LI0.slice(0, 29); | ||
122 | cuerpo.TIO = cuerpo.TIO.slice(0, 29); | ||
123 | |||
124 | promesas.push(knex('PMOVFACT').insert(cuerpo)); | ||
125 | |||
126 | }); | ||
127 | |||
128 | Promise.all(promesas) | ||
129 | .then(function() { | ||
130 | |||
131 | Promise.all([ | ||
132 | knex('PMAEFACT_TEMP').where({ | ||
133 | TIP: req.body.cabecera.TIP, | ||
134 | TCO: req.body.cabecera.TCO, | ||
135 | SUC: req.body.cabecera.SUC, | ||
136 | NCO: req.body.cabecera.NCO, | ||
137 | COD: req.body.cabecera.COD | ||
138 | }) | ||
139 | .del(), | ||
140 | knex('PMOVFACT_TEMP').where({ | ||
141 | TIP: req.body.cabecera.TIP, | ||
142 | TCO: req.body.cabecera.TCO, | ||
143 | SUC: req.body.cabecera.SUC, | ||
144 | NCO: req.body.cabecera.NCO | ||
145 | }) | ||
146 | .del() | ||
147 | ]).then(function() { | ||
148 | |||
149 | console.log('comprobantes guardados con éxito'); | ||
150 | resolve(); | ||
151 | }) | ||
152 | |||
153 | }) | ||
154 | .catch(function(e) { | ||
155 | console.log(e); | ||
156 | reject('Ocurrió un error'); | ||
157 | }); | ||
158 | }); | ||
26 | } | 159 | } |
27 | } | 160 | } |
index.js
1 | const WebSocketClient = require('ws'); | 1 | const WebSocketClient = require('ws'); |
2 | const config = require('./config/config.json'); | 2 | const config = require('./config/config.json'); |
3 | const data = require('./data/index')(config.bo); | 3 | const data = require('./data/index')(config.bo); |
4 | module.exports = knex = requre('knex')(config.bo); | ||
4 | 5 | ||
5 | const client = new WebSocketClient(config.urlHO); | 6 | const client = new WebSocketClient(config.urlHO); |
6 | 7 | ||
7 | client.on('open', function open() { | 8 | client.on('open', function open() { |
8 | console.log('conection to socket ho is open'); | 9 | console.log('conection to socket ho is open'); |
9 | 10 | ||
10 | client.send(JSON.stringify({ gln: config.gln, action: 'gln'})); | 11 | client.send(JSON.stringify({ gln: config.gln, action: 'gln'})); |
11 | 12 | ||
12 | client.on('message', function incoming(message) { | 13 | client.on('message', function incoming(message) { |
13 | 14 | ||
14 | message = JSON.parse(message.toString('utf8')); | 15 | message = JSON.parse(message.toString('utf8')); |
15 | 16 | ||
16 | switch (message.action) { | 17 | switch (message.action) { |
17 | case 'getEntity': | 18 | case 'getEntity': |
18 | 19 | ||
19 | data.getEntity(message).then(function(message) { | 20 | data.getEntity(message).then(function(message) { |
20 | 21 | ||
21 | client.send(JSON.stringify(message)); | 22 | client.send(JSON.stringify(message)); |
22 | }); | 23 | }); |
23 | break; | 24 | break; |
25 | |||
26 | case 'comprobante' : | ||
27 | |||
28 | data.guardarComprobante(message.req).then(() => { | ||
29 | client.send('ok'); | ||
30 | }).catch(err => { | ||
31 | client.send('bad'); | ||
32 | }); | ||
33 | |||
34 | break; | ||
35 | |||
24 | default: | 36 | default: |
25 | break; | 37 | break; |
26 | } | 38 | } |
27 | }); | 39 | }); |
28 | }); | 40 | }); |
29 | 41 | ||
30 | client.on('error', function(e) { | 42 | client.on('error', function(e) { |
31 | console.log(e); | 43 | console.log(e); |
32 | }) | 44 | }) |
33 | 45 | ||
34 | console.log('Sevice connected to wsServer: ' + config.urlHO); | 46 | console.log('Sevice connected to wsServer: ' + config.urlHO); |
35 | 47 |