Commit f63fb82097f5c1f02c1134291c6463355be6528d

Authored by Eric Fernandez
1 parent 1b1d8a8000
Exists in master

cambios

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