Commit 13ce4d24df549ac081539c5a5e767666c02bf6a7

Authored by Eric Fernandez
Exists in master

Merge branch 'master' into 'master'

Master(efernandez)

See merge request !6
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,140 @@ 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 + knex('PMAEFACT').insert(req.body.cabecera),
  45 + knex('PCOBYPAG').insert({
  46 + COD: req.body.cabecera.COD,
  47 + FEP: req.body.cabecera.FEC,
  48 + TIP: req.body.cabecera.TIP,
  49 + TCO: req.body.cabecera.TCO,
  50 + SUC: req.body.cabecera.SUC,
  51 + NCO: req.body.cabecera.NCO,
  52 + IPA: req.body.cabecera.TOT,
  53 + SAL: 0,
  54 + TCA: 1,
  55 + ZONA: req.body.cabecera.ZON,
  56 + FPA: req.body.cabecera.FPA,
  57 + REC: 0,
  58 + FER: '19000101 00:00',
  59 + PRO: '',
  60 + FEV: req.body.cabecera.FEV,
  61 + ANU: '',
  62 + PLA: 0,
  63 + LUG: 0,
  64 + RES: 0,
  65 + CCU: 0,
  66 + UCU: 0,
  67 + HOS: '',
  68 + E_HD: '',
  69 + C_HD: ''
  70 + }),
  71 + ];
  72 +
  73 + req.body.cuerpo.forEach(cuerpo => {
  74 +
  75 + if (cuerpo.estado != 'rechazado' && !(cuerpo.COD == 0 && cuerpo.ART == 0)) {
  76 +
  77 + promesas.push(knex('AMOVSTOC').insert({
  78 + SEC: cuerpo.COD,
  79 + ART: cuerpo.ART,
  80 + FEC: req.body.cabecera.FEC,
  81 + CYV: 'C',
  82 + TIP: req.body.cabecera.TIP,
  83 + TCO: req.body.cabecera.TCO,
  84 + PVE: req.body.cabecera.SUC,
  85 + NCO: req.body.cabecera.NCO,
  86 + ORD: cuerpo.ORD,
  87 + CAN: cuerpo.cantidadRecibida,
  88 + PUN: cuerpo.PUN,
  89 + COD: req.body.cabecera.COD,
  90 + DTO: cuerpo.DTO,
  91 + IMI: cuerpo.IMI,
  92 + PLA: 0,
  93 + LUG: 0,
  94 + ANU: '',
  95 + TIM: 'Co',
  96 + OPE: -888, // <= TODO: Cuando se haga el login poner codigo operario
  97 + IMI2: cuerpo.IMI2,
  98 + E_HD: '',
  99 + C_HD: '',
  100 + JUS: 'PLANEX',
  101 + NLC: 0,
  102 + IMI3: cuerpo.IMI3,
  103 + JJN: '',
  104 + JDJ: '',
  105 + ID_MOTIVO_NANB: 0
  106 + }));
  107 + };
  108 +
  109 + cuerpo.estado == 'rechazado' ? cuerpo.cantidadRecibida = 0 : false;
  110 +
  111 + delete cuerpo.GLN;
  112 + delete cuerpo.C_HD2;
  113 + delete cuerpo.E_HD2;
  114 + delete cuerpo.codigoBarras;
  115 + delete cuerpo.estado;
  116 + delete cuerpo.recibido;
  117 + delete cuerpo.input;
  118 + delete cuerpo.tempRecibido;
  119 +
  120 + cuerpo.LI0 = cuerpo.LI0.slice(0, 29);
  121 + cuerpo.TIO = cuerpo.TIO.slice(0, 29);
  122 +
  123 + promesas.push(knex('PMOVFACT').insert(cuerpo));
  124 +
  125 + });
  126 +
  127 + Promise.all(promesas)
  128 + .then(function() {
  129 +
  130 + Promise.all([
  131 + knex('PMAEFACT_TEMP').where({
  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 +
  152 + })
  153 + .catch(function(e) {
  154 + console.log(e);
  155 + reject('Ocurrió un error');
  156 + });
  157 + });
26 158 }
27 159 }
28 160 }
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 }