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 1 module.exports = function(config) {
2 2  
3   - var knex = require('knex')(config);
4   -
5 3 return {
6 4 getEntity: function (message) {
7 5  
... ... @@ -23,6 +21,141 @@ module.exports = function(config) {
23 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 }
28 161 }
1 1 const WebSocketClient = require('ws');
2 2 const config = require('./config/config.json');
3 3 const data = require('./data/index')(config.bo);
  4 +module.exports = knex = requre('knex')(config.bo);
4 5  
5 6 const client = new WebSocketClient(config.urlHO);
6 7  
... ... @@ -21,6 +22,17 @@ client.on(&#39;open&#39;, function open() {
21 22 client.send(JSON.stringify(message));
22 23 });
23 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 36 default:
25 37 break;
26 38 }