module.exports = router = express.Router(); router.get('/comprobantes/:gln*?', function(req, res) { var cabecera = knex('PMAEFACT_TEMP') .where(function(qb) { if (req.params.gln) { qb.where({GLN: req.params.gln}); } }) .select('*'); var cuerpo = knex('PMOVFACT_TEMP') .where(function(qb) { if (req.params.gln) { qb.where({GLN: req.params.gln}); } }) .select('*'); Promise.all([cabecera, cuerpo]).then(function(data) { var result = []; data[0].forEach((cabecera) => { let idCabecera = cabecera.TIP + cabecera.TCO + cabecera.SUC + cabecera.NCO; var cuerpos = data[1].filter((cuerpo) => { let idCuerpo = cuerpo.TIP + cuerpo.TCO + cuerpo.SUC + cuerpo.NCO; return idCuerpo == idCabecera; }); result.push({ cabecera: cabecera, cuerpo: cuerpos }); }); res.status(200).send(result); }); }); router.post('/comprobante', function(req, res) { var recadv = require('../recadv')(JSON.parse(JSON.stringify(req.body.cabecera)), JSON.parse(JSON.stringify(req.body.cuerpo))); var guardar = wsServer.guardarComprobante(req, req.body.cabecera.GLN); Promise.all([recadv, guardar]) .then(() => { res.status(200).send('Comprobante guardado con éxito'); }) .catch(() => res.status(500).send('Algo salió mal')); });