Commit 96432b4fe6e7b9ddce038af11d9dff64475e10be

Authored by Eric Fernandez
1 parent 756dc8903e
Exists in master

refactor último momento

Showing 2 changed files with 147 additions and 2 deletions   Show diff stats
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 }
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