Commit 4fd71551d8e26ee6afb56e240ad560d57725a891

Authored by Eric Fernandez
1 parent cb380bbbed
Exists in master

files

Showing 2 changed files with 156 additions and 0 deletions   Show diff stats
rutas/comprobantes.js
File was created 1 module.exports = router = express.Router();
2
3 router.get('/comprobantes/:gln*?', function(req, res) {
4
5 var cabecera = knex('PMAEFACT_TEMP')
6 .where(function(qb) {
7 if (req.params.gln) {
8 qb.where({gln: req.params.gln});
9 }
10 })
11 .select('*');
12
13 var cuerpo = knex('PMOVFACT_TEMP')
14 .where(function(qb) {
15 if (req.params.gln) {
16 qb.where({gln: req.params.gln});
17 }
18 })
19 .select('*');
20
21 Promise.all([cabecera, cuerpo]).then(function(data) {
22
23 var result = [];
24 data[0].forEach((cabecera) => {
25
26 let idCabecera = cabecera.TIP + cabecera.TCO + cabecera.SUC + cabecera.NCO;
27
28 var cuerpos = data[1].filter((cuerpo) => {
29 let idCuerpo = cuerpo.TIP + cuerpo.TCO + cuerpo.SUC + cuerpo.NCO;
30 return idCuerpo == idCabecera
31 });
32
33 result.push({
34 cabecera: cabecera,
35 cuerpo: cuerpos
36 });
37 });
38
39 res.status(200).send(result);
40 });
41 });
42
43 router.post('/comprobante', function(req, res) {
44
45 console.log(req.body);
46 delete req.body.cabecera.gln;
47 delete req.body.cabecera.C_HD2;
48 delete req.body.cabecera.E_HD2;
49
50 //smalldatetime
51 req.body.cabecera.FEC = new Date(req.body.cabecera.FEC).toISOString().slice(0, 19).replace('T', ' ');
52 req.body.cabecera.FECCAI = new Date(req.body.cabecera.FECCAI).toISOString().slice(0, 19).replace('T', ' ');
53 req.body.cabecera.FECVEN = new Date(req.body.cabecera.FECVEN).toISOString().slice(0, 19).replace('T', ' ');
54
55 //datetime
56 req.body.cabecera.FEV = moment(req.body.cabecera.FEV).format('YYYYMMDD');
57 req.body.cabecera.FEP = moment(req.body.cabecera.FEP).format('YYYYMMDD');
58
59 var promesas = [
60 knex('PMAEFACT').insert(req.body.cabecera),
61 knex('PCOBYPAG').insert({
62 COD: req.body.cabecera.COD,
63 FEP: req.body.cabecera.FEC,
64 TIP: req.body.cabecera.TIP,
65 TCO: req.body.cabecera.TCO,
66 SUC: req.body.cabecera.SUC,
67 NCO: req.body.cabecera.NCO,
68 IPA: req.body.cabecera.TOT,
69 SAL: 0,
70 TCA: 1,
71 ZONA: req.body.cabecera.ZON,
72 FPA: req.body.cabecera.FPA,
73 REC: 0,
74 FER: '19000101 00:00',
75 PRO: '',
76 FEV: req.body.cabecera.FEV,
77 ANU: '',
78 PLA: 0,
79 LUG: 0,
80 RES: 0,
81 CCU: 0,
82 UCU: 0,
83 HOS: '',
84 E_HD: '',
85 C_HD: ''
86 })
87 ];
88
89 req.body.cuerpo.forEach(cuerpo => {
90
91
92 promesas.push(knex('AMOVSTOC').insert({
93 SEC: cuerpo.COD,
94 ART: cuerpo.ART,
95 FEC: req.body.cabecera.FEC,
96 CYV: 'C',
97 TIP: req.body.cabecera.TIP,
98 TCO: req.body.cabecera.TCO,
99 PVE: req.body.cabecera.SUC,
100 NCO: req.body.cabecera.NCO,
101 ORD: cuerpo.ORD,
102 CAN: cuerpo.recibido || cuerpo.CAN,
103 PUN: cuerpo.PUN,
104 COD: req.body.cabecera.COD,
105 DTO: cuerpo.DTO,
106 IMI: cuerpo.IMI,
107 PLA: 0,
108 LUG: 0,
109 ANU: '',
110 TIM: 'Co',
111 OPE: -888, // <= TODO: Cuando se haga el login poner codigo operario
112 IMI2: cuerpo.IMI2,
113 E_HD: '',
114 C_HD: '',
115 JUS: 'PLANEX',
116 NLC: 0,
117 IMI3: cuerpo.IMI3,
118 JJN: '',
119 JDJ: '',
120 ID_MOTIVO_NANB: 0
121 }));
122
123 delete cuerpo.gln;
124 delete cuerpo.C_HD2;
125 delete cuerpo.E_HD2;
126 delete cuerpo.codigoBarras;
127 delete cuerpo.estado;
128 delete cuerpo.recibido;
129 delete cuerpo.input;
130
131 promesas.push(knex('PMOVFACT').insert(cuerpo));
132
133 });
134
135 Promise.all(promesas)
136 .then(function() {
137
138 console.log('comprobantes guardados con éxito');
139 })
140 .catch(function(e) {
141 console.log(e);
142 });
143
144 res.status(201).send('ok');
145 });
146
File was created 1 module.exports = router = express.Router();
2
3 router.post('/login', function(req, res) {
4
5 if (wsServer.getClientGln(req.body.gln).length) {
6
7 res.status(200).send({data: 'ok'});
8 } else {
9 res.status(200).send({data: 'No existe el cliente'});
10 }
11 });
12