magaya-cai-number-honduras 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yaml +37 -0
- package/.vscode/launch.json +18 -0
- package/.whitesource +30 -0
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/combined.log +0 -0
- package/error.log +0 -0
- package/extension.config.json +58 -0
- package/index.js +220 -0
- package/package.json +56 -0
- package/src/integration/helpers/dbHelper.js +12 -0
- package/src/integration/helpers/initilize.js +111 -0
- package/src/integration/index.js +1053 -0
- package/src/integration/jobs/creditmemo.js +155 -0
- package/src/integration/jobs/debitnote.js +155 -0
- package/src/integration/jobs/invoices.js +176 -0
- package/src/integration/jobs/transactionlog.js +65 -0
- package/src/util/db/db.js +62 -0
- package/src/util/email/email.js +75 -0
- package/src/util/email/index.js +124 -0
- package/src/util/email/logo/logo.jpg +0 -0
- package/src/util/email/settingsEmail.js +33 -0
- package/src/util/files/uploadHelper.js +11 -0
- package/src/util/gateway.js +23 -0
- package/src/util/setting.js +25 -0
- package/static/assets/img/honduras-flag-icon.svg +214 -0
- package/static/fa-brands-400.eot +0 -0
- package/static/fa-brands-400.svg +1100 -0
- package/static/fa-brands-400.ttf +0 -0
- package/static/fa-brands-400.woff +0 -0
- package/static/fa-brands-400.woff2 +0 -0
- package/static/fa-regular-400.eot +0 -0
- package/static/fa-regular-400.svg +368 -0
- package/static/fa-regular-400.ttf +0 -0
- package/static/fa-regular-400.woff +0 -0
- package/static/fa-regular-400.woff2 +0 -0
- package/static/fa-solid-900.eot +0 -0
- package/static/fa-solid-900.svg +1892 -0
- package/static/fa-solid-900.ttf +0 -0
- package/static/fa-solid-900.woff +0 -0
- package/static/fa-solid-900.woff2 +0 -0
- package/static/favicon.ico +0 -0
- package/static/index.html +21 -0
- package/static/main.js +2436 -0
- package/static/main.js.map +1 -0
- package/static/polyfills.js +5793 -0
- package/static/polyfills.js.map +1 -0
- package/static/runtime.js +154 -0
- package/static/runtime.js.map +1 -0
- package/static/scripts.js +18 -0
- package/static/scripts.js.map +1 -0
- package/static/styles.js +776 -0
- package/static/styles.js.map +1 -0
- package/static/vendor.js +98718 -0
- package/static/vendor.js.map +1 -0
|
@@ -0,0 +1,1053 @@
|
|
|
1
|
+
var express = require('express');
|
|
2
|
+
var router = express.Router();
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const moment = require('moment');
|
|
5
|
+
const sqliteDB = require('../util/db/db');
|
|
6
|
+
var db;
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
const {
|
|
10
|
+
startInvoiceJob,
|
|
11
|
+
stopInvoiceJob,
|
|
12
|
+
isInvoiceJobRunning
|
|
13
|
+
} = require('./jobs/invoices');
|
|
14
|
+
const {
|
|
15
|
+
startDebitNoteJob,
|
|
16
|
+
stopDebitNoteJob,
|
|
17
|
+
isDebitNoteJobRunning
|
|
18
|
+
} = require('./jobs/debitnote');
|
|
19
|
+
const {
|
|
20
|
+
startCreditMemoJob,
|
|
21
|
+
stopCreditMemoJob,
|
|
22
|
+
isCreditMemoJobRunning
|
|
23
|
+
} = require('./jobs/creditmemo');
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
const settingHandle = require('../util/setting');
|
|
28
|
+
const initHelper = require('./helpers/initilize');
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
router.get(`/start-process`, async function (req, res) {
|
|
32
|
+
try {
|
|
33
|
+
await initHelper.initialize(req);
|
|
34
|
+
startInvoiceJob();
|
|
35
|
+
startDebitNoteJob();
|
|
36
|
+
startCreditMemoJob();
|
|
37
|
+
|
|
38
|
+
res.json({ success: true });
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.log(moment().format(), error);
|
|
41
|
+
res.json({ success: false, error: error.toString() });
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
router.get(`/stop-process`, function (req, res) {
|
|
45
|
+
try {
|
|
46
|
+
stopInvoiceJob();
|
|
47
|
+
stopDebitNoteJob();
|
|
48
|
+
stopCreditMemoJob();
|
|
49
|
+
|
|
50
|
+
res.json({ success: true });
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.log(moment().format(), error);
|
|
53
|
+
res.json({ success: false, error: error.toString() });
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
router.get(`/get-status-process`, function (req, res) {
|
|
58
|
+
res.json({
|
|
59
|
+
isInvoiceStarted: isInvoiceJobRunning(),
|
|
60
|
+
isCreditMemoStarted: isCreditMemoJobRunning(),
|
|
61
|
+
isDebitNoteStarted: isDebitNoteJobRunning()
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
router.get(`/restart-process`, async function (req, res) {
|
|
66
|
+
stopInvoiceJob();
|
|
67
|
+
stopDebitNoteJob();
|
|
68
|
+
stopCreditMemoJob();
|
|
69
|
+
|
|
70
|
+
await new Promise(resolve => setTimeout(resolve, 1000)); // 1s delay before restart
|
|
71
|
+
|
|
72
|
+
startInvoiceJob();
|
|
73
|
+
startDebitNoteJob();
|
|
74
|
+
startCreditMemoJob();
|
|
75
|
+
|
|
76
|
+
res.json({ success: true });
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
router.get(`/start-inv-process`, async function (request, response) {
|
|
82
|
+
try {
|
|
83
|
+
|
|
84
|
+
await initHelper.initialize(request);
|
|
85
|
+
startInvoiceJob();
|
|
86
|
+
|
|
87
|
+
response.json({ success: true });
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
} catch (error) {
|
|
91
|
+
let date = new Date();
|
|
92
|
+
let m = moment(date);
|
|
93
|
+
console.log(m.format(), error);
|
|
94
|
+
response.json({
|
|
95
|
+
success: false
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
router.get(`/start-dbn-process`, async function (request, response) {
|
|
100
|
+
try {
|
|
101
|
+
|
|
102
|
+
await initHelper.initialize(request);
|
|
103
|
+
|
|
104
|
+
startDebitNoteJob();
|
|
105
|
+
response.json({
|
|
106
|
+
success: true
|
|
107
|
+
});
|
|
108
|
+
} catch (error) {
|
|
109
|
+
let date = new Date();
|
|
110
|
+
let m = moment(date);
|
|
111
|
+
console.log(m.format(), error);
|
|
112
|
+
response.json({
|
|
113
|
+
success: false
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
router.get(`/start-cdm-process`, async function (request, response) {
|
|
118
|
+
try {
|
|
119
|
+
|
|
120
|
+
await initHelper.initialize(request);
|
|
121
|
+
|
|
122
|
+
startCreditMemoJob();
|
|
123
|
+
response.json({
|
|
124
|
+
success: true
|
|
125
|
+
});
|
|
126
|
+
} catch (error) {
|
|
127
|
+
let date = new Date();
|
|
128
|
+
let m = moment(date);
|
|
129
|
+
console.log(m.format(), error);
|
|
130
|
+
response.json({
|
|
131
|
+
success: false
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
router.get(`/stop-inv-process`, async function (request, response) {
|
|
138
|
+
try {
|
|
139
|
+
stopInvoiceJob();
|
|
140
|
+
response.json({
|
|
141
|
+
success: true
|
|
142
|
+
});
|
|
143
|
+
} catch (error) {
|
|
144
|
+
let date = new Date();
|
|
145
|
+
let m = moment(date);
|
|
146
|
+
console.log(m.format(), error);
|
|
147
|
+
response.json({
|
|
148
|
+
success: false
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
router.get(`/stop-dbn-process`, async function (request, response) {
|
|
153
|
+
try {
|
|
154
|
+
stopDebitNoteJob();
|
|
155
|
+
response.json({
|
|
156
|
+
success: true
|
|
157
|
+
});
|
|
158
|
+
} catch (error) {
|
|
159
|
+
let date = new Date();
|
|
160
|
+
let m = moment(date);
|
|
161
|
+
console.log(m.format(), error);
|
|
162
|
+
response.json({
|
|
163
|
+
success: false
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
router.get(`/stop-cdm-process`, async function (request, response) {
|
|
168
|
+
try {
|
|
169
|
+
stopCreditMemoJob();
|
|
170
|
+
response.json({
|
|
171
|
+
success: true
|
|
172
|
+
});
|
|
173
|
+
} catch (error) {
|
|
174
|
+
let date = new Date();
|
|
175
|
+
let m = moment(date);
|
|
176
|
+
console.log(m.format(), error);
|
|
177
|
+
response.json({
|
|
178
|
+
success: false
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
router.post(`/setting`, async function (request, response) {
|
|
185
|
+
try {
|
|
186
|
+
|
|
187
|
+
let config = request.body.setting;
|
|
188
|
+
|
|
189
|
+
let queryInv = `SELECT count(cai) as total FROM invoice_settings
|
|
190
|
+
WHERE (packageNumberStart = '${config.invoicePackageNumberStart}' AND
|
|
191
|
+
cai = '${config.invoiceCAI}' AND
|
|
192
|
+
packageNumberEnd = '${config.invoicePackageNumberEnd}' AND
|
|
193
|
+
packageExpirationDate = '${config.invoicePackageExpirationDate.toString()}')`;
|
|
194
|
+
if (!db)
|
|
195
|
+
db = await sqliteDB.createConnection();
|
|
196
|
+
var rows = await sqliteDB.queryDBAll(db, queryInv);
|
|
197
|
+
|
|
198
|
+
if (!rows || !rows[0].total > 0) {
|
|
199
|
+
|
|
200
|
+
if (config.invoiceCAI !== '') {
|
|
201
|
+
var sqlcheck = `SELECT count(cai) as total FROM invoice_settings WHERE cai = '${config.invoiceCAI}'`;
|
|
202
|
+
if (!db)
|
|
203
|
+
db = await sqliteDB.createConnection();
|
|
204
|
+
var checkRow = await sqliteDB.queryDBAll(db, sqlcheck);
|
|
205
|
+
|
|
206
|
+
if (!checkRow || !checkRow[0].total > 0) {
|
|
207
|
+
|
|
208
|
+
var sqludt = `UPDATE invoice_settings SET active = 0, deleted = 1 WHERE active = 1`;
|
|
209
|
+
if (!db)
|
|
210
|
+
db = await sqliteDB.createConnection();
|
|
211
|
+
await db.run(sqludt);
|
|
212
|
+
|
|
213
|
+
var range = `${config.invoicePackageNumberStart} al ${config.invoicePackageNumberEnd}`;
|
|
214
|
+
var startFullNumberArray = config.invoicePackageNumberStart.split('-');
|
|
215
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
216
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
217
|
+
var endNumber = config.invoicePackageNumberEnd.split('-')[3];
|
|
218
|
+
|
|
219
|
+
var result = await db.run(`INSERT INTO invoice_settings(cai, packageNumberStart, packageNumberEnd,
|
|
220
|
+
packageEmailNotificationActive, packageEmailNotificationNumber, packageExpirationDate,
|
|
221
|
+
factorExcecutionTime, valueExcecutionTime, current, startNumber, endNumber,
|
|
222
|
+
firstPartDocumentNumber, emailNotified, emailNotifiedDate, range, currentAssigned, active, deleted)
|
|
223
|
+
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`, [
|
|
224
|
+
config.invoiceCAI,
|
|
225
|
+
config.invoicePackageNumberStart,
|
|
226
|
+
config.invoicePackageNumberEnd,
|
|
227
|
+
(config.invoicePackageEmailNotificationActive) ? 1 : 0,
|
|
228
|
+
(config.invoicePackageEmailNotificationNumber) ? parseInt(config.invoicePackageEmailNotificationNumber) : 0,
|
|
229
|
+
config.invoicePackageExpirationDate.toString(),
|
|
230
|
+
(config.invoiceFactorExcecutionTime) ? config.invoiceFactorExcecutionTime : 'sec',
|
|
231
|
+
(config.invoiceValueExcecutionTime) ? parseInt(config.invoiceValueExcecutionTime) : 5,
|
|
232
|
+
(config.InvCurrent) ? config.InvCurrent : startNumber,
|
|
233
|
+
startNumber,
|
|
234
|
+
endNumber,
|
|
235
|
+
currentFirstPartDocumentNumber,
|
|
236
|
+
0,
|
|
237
|
+
'',
|
|
238
|
+
range,
|
|
239
|
+
(config.InvCurrent) ? 1 : 0,
|
|
240
|
+
1,
|
|
241
|
+
0
|
|
242
|
+
]);
|
|
243
|
+
} else {
|
|
244
|
+
|
|
245
|
+
var range = `${config.invoicePackageNumberStart} al ${config.invoicePackageNumberEnd}`;
|
|
246
|
+
var startFullNumberArray = config.invoicePackageNumberStart.split('-');
|
|
247
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
248
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
249
|
+
var endNumber = config.invoicePackageNumberEnd.split('-')[3];
|
|
250
|
+
var sqludt = `UPDATE invoice_settings SET packageNumberStart = '${config.invoicePackageNumberStart}',
|
|
251
|
+
packageNumberEnd = '${config.invoicePackageNumberEnd}',
|
|
252
|
+
packageEmailNotificationActive = ${(config.invoicePackageEmailNotificationActive) ? 1 : 0},
|
|
253
|
+
packageEmailNotificationNumber = ${(config.invoicePackageEmailNotificationNumber) ? parseInt(config.invoicePackageEmailNotificationNumber) : 0},
|
|
254
|
+
packageExpirationDate = '${config.invoicePackageExpirationDate.toString()}',
|
|
255
|
+
factorExcecutionTime = '${(config.invoiceFactorExcecutionTime) ? config.invoiceFactorExcecutionTime : 'sec'}',
|
|
256
|
+
valueExcecutionTime = ${(config.invoiceValueExcecutionTime) ? parseInt(config.invoiceValueExcecutionTime) : 5},
|
|
257
|
+
current = ${(config.InvCurrent) ? config.InvCurrent : startNumber},
|
|
258
|
+
startNumber = ${startNumber},
|
|
259
|
+
endNumber = ${endNumber},
|
|
260
|
+
firstPartDocumentNumber = '${currentFirstPartDocumentNumber}',
|
|
261
|
+
emailNotified = ${0},
|
|
262
|
+
emailNotifiedDate = '${''}',
|
|
263
|
+
range = '${range}',
|
|
264
|
+
currentAssigned = ${(config.InvCurrent) ? 1 : 0},
|
|
265
|
+
active = ${1},
|
|
266
|
+
deleted = ${0}
|
|
267
|
+
WHERE cai = '${config.invoiceCAI}'`;
|
|
268
|
+
|
|
269
|
+
if (!db)
|
|
270
|
+
db = await sqliteDB.createConnection();
|
|
271
|
+
await db.run(sqludt);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
} else {
|
|
275
|
+
|
|
276
|
+
var sqludt = `UPDATE invoice_settings SET active = 0, deleted = 1 WHERE active = 1`;
|
|
277
|
+
if (!db)
|
|
278
|
+
db = await sqliteDB.createConnection();
|
|
279
|
+
await db.run(sqludt);
|
|
280
|
+
|
|
281
|
+
var range = `${config.invoicePackageNumberStart} al ${config.invoicePackageNumberEnd}`;
|
|
282
|
+
var startFullNumberArray = config.invoicePackageNumberStart.split('-');
|
|
283
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
284
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
285
|
+
var endNumber = config.invoicePackageNumberEnd.split('-')[3];
|
|
286
|
+
var sqludt = `UPDATE invoice_settings SET packageNumberStart = '${config.invoicePackageNumberStart}',
|
|
287
|
+
packageNumberEnd = '${config.invoicePackageNumberEnd}',
|
|
288
|
+
packageEmailNotificationActive = ${(config.invoicePackageEmailNotificationActive) ? 1 : 0},
|
|
289
|
+
packageEmailNotificationNumber = ${(config.invoicePackageEmailNotificationNumber) ? parseInt(config.invoicePackageEmailNotificationNumber) : 0},
|
|
290
|
+
packageExpirationDate = '${config.invoicePackageExpirationDate.toString()}',
|
|
291
|
+
factorExcecutionTime = '${(config.invoiceFactorExcecutionTime) ? config.invoiceFactorExcecutionTime : 'sec'}',
|
|
292
|
+
valueExcecutionTime = ${(config.invoiceValueExcecutionTime) ? parseInt(config.invoiceValueExcecutionTime) : 5},
|
|
293
|
+
current = ${(config.InvCurrent) ? config.InvCurrent : startNumber},
|
|
294
|
+
startNumber = ${startNumber},
|
|
295
|
+
endNumber = ${endNumber},
|
|
296
|
+
firstPartDocumentNumber = '${currentFirstPartDocumentNumber}',
|
|
297
|
+
emailNotified = ${0},
|
|
298
|
+
emailNotifiedDate = '${''}',
|
|
299
|
+
range = '${range}',
|
|
300
|
+
currentAssigned = ${(config.InvCurrent) ? 1 : 0},
|
|
301
|
+
active = ${1},
|
|
302
|
+
deleted = ${0}
|
|
303
|
+
WHERE cai = '${config.invoiceCAI}'`;
|
|
304
|
+
|
|
305
|
+
if (!db)
|
|
306
|
+
db = await sqliteDB.createConnection();
|
|
307
|
+
await db.run(sqludt);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
let queryDbn = `SELECT count(cai) as total FROM dbn_settings
|
|
311
|
+
WHERE (packageNumberStart = '${config.debitNotePackageNumberStart}' AND
|
|
312
|
+
cai = '${config.debitNoteCAI}' AND
|
|
313
|
+
packageNumberEnd = '${config.debitNotePackageNumberEnd}' AND
|
|
314
|
+
packageExpirationDate = '${config.debitNotePackageExpirationDate.toString()}')`;
|
|
315
|
+
|
|
316
|
+
if (!db)
|
|
317
|
+
db = await sqliteDB.createConnection();
|
|
318
|
+
var rows = await sqliteDB.queryDBAll(db, queryDbn);
|
|
319
|
+
if (!rows || !rows[0].total > 0) {
|
|
320
|
+
|
|
321
|
+
if (config.debitNoteCAI !== '') {
|
|
322
|
+
var sqlcheck = `SELECT count(cai) as total FROM dbn_settings WHERE cai = '${config.debitNoteCAI}'`;
|
|
323
|
+
if (!db)
|
|
324
|
+
db = await sqliteDB.createConnection();
|
|
325
|
+
var checkRow = await sqliteDB.queryDBAll(db, sqlcheck);
|
|
326
|
+
|
|
327
|
+
if (!checkRow || !checkRow[0].total > 0) {
|
|
328
|
+
|
|
329
|
+
var sqludt = `UPDATE dbn_settings SET active = 0, deleted = 1 WHERE active = 1`;
|
|
330
|
+
if (!db)
|
|
331
|
+
db = await sqliteDB.createConnection();
|
|
332
|
+
await db.run(sqludt);
|
|
333
|
+
|
|
334
|
+
var range = `${config.debitNotePackageNumberStart} al ${config.debitNotePackageNumberEnd}`;
|
|
335
|
+
var startFullNumberArray = config.debitNotePackageNumberStart.split('-');
|
|
336
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
337
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
338
|
+
var endNumber = config.debitNotePackageNumberEnd.split('-')[3];
|
|
339
|
+
|
|
340
|
+
await db.run(`INSERT INTO dbn_settings(cai, packageNumberStart, packageNumberEnd,
|
|
341
|
+
packageEmailNotificationActive, packageEmailNotificationNumber, packageExpirationDate,
|
|
342
|
+
factorExcecutionTime, valueExcecutionTime, current, startNumber, endNumber,
|
|
343
|
+
firstPartDocumentNumber, emailNotified, emailNotifiedDate, range, currentAssigned, active, deleted)
|
|
344
|
+
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`, [
|
|
345
|
+
config.debitNoteCAI,
|
|
346
|
+
config.debitNotePackageNumberStart,
|
|
347
|
+
config.debitNotePackageNumberEnd,
|
|
348
|
+
(config.debitNotePackageEmailNotificationActive) ? 1 : 0,
|
|
349
|
+
(config.debitNotePackageEmailNotificationNumber) ? parseInt(config.debitNotePackageEmailNotificationNumber) : 0,
|
|
350
|
+
config.debitNotePackageExpirationDate.toString(),
|
|
351
|
+
(config.debitNoteFactorExcecutionTime) ? config.debitNoteFactorExcecutionTime : 'sec',
|
|
352
|
+
(config.debitNoteValueExcecutionTime) ? parseInt(config.debitNoteValueExcecutionTime) : 5,
|
|
353
|
+
(config.DBNCurrent) ? config.DBNCurrent : startNumber,
|
|
354
|
+
startNumber,
|
|
355
|
+
endNumber,
|
|
356
|
+
currentFirstPartDocumentNumber,
|
|
357
|
+
0,
|
|
358
|
+
'',
|
|
359
|
+
range,
|
|
360
|
+
(config.DBNCurrent) ? 1 : 0,
|
|
361
|
+
1,
|
|
362
|
+
0
|
|
363
|
+
]);
|
|
364
|
+
} else {
|
|
365
|
+
var range = `${config.debitNotePackageNumberStart} al ${config.debitNotePackageNumberEnd}`;
|
|
366
|
+
var startFullNumberArray = config.debitNotePackageNumberStart.split('-');
|
|
367
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
368
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
369
|
+
var endNumber = config.debitNotePackageNumberEnd.split('-')[3];
|
|
370
|
+
var sqludt = `UPDATE dbn_settings SET packageNumberStart = '${config.debitNotePackageNumberStart}',
|
|
371
|
+
packageNumberEnd = '${config.debitNotePackageNumberEnd}',
|
|
372
|
+
packageEmailNotificationActive = ${(config.debitNotePackageEmailNotificationActive) ? 1 : 0},
|
|
373
|
+
packageEmailNotificationNumber = ${(config.debitNotePackageEmailNotificationNumber) ? parseInt(config.debitNotePackageEmailNotificationNumber) : 0},
|
|
374
|
+
packageExpirationDate = '${config.debitNotePackageExpirationDate.toString()}',
|
|
375
|
+
factorExcecutionTime = '${(config.debitNoteFactorExcecutionTime) ? config.debitNoteFactorExcecutionTime : 'sec'}',
|
|
376
|
+
valueExcecutionTime = ${(config.debitNoteValueExcecutionTime) ? parseInt(config.debitNoteValueExcecutionTime) : 5},
|
|
377
|
+
current = ${(config.DBNCurrent) ? config.DBNCurrent : startNumber},
|
|
378
|
+
startNumber = ${startNumber},
|
|
379
|
+
endNumber = ${endNumber},
|
|
380
|
+
firstPartDocumentNumber = '${currentFirstPartDocumentNumber}',
|
|
381
|
+
emailNotified = ${0},
|
|
382
|
+
emailNotifiedDate = '${''}',
|
|
383
|
+
range = '${range}',
|
|
384
|
+
currentAssigned = ${(config.DBNCurrent) ? 1 : 0},
|
|
385
|
+
active = ${1},
|
|
386
|
+
deleted = ${0}
|
|
387
|
+
WHERE cai = '${config.debitNoteCAI}'`;
|
|
388
|
+
if (!db)
|
|
389
|
+
db = await sqliteDB.createConnection();
|
|
390
|
+
await db.run(sqludt);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
} else {
|
|
394
|
+
var sqludt = `UPDATE dbn_settings SET active = 0, deleted = 1 WHERE active = 1`;
|
|
395
|
+
if (!db)
|
|
396
|
+
db = await sqliteDB.createConnection();
|
|
397
|
+
await db.run(sqludt);
|
|
398
|
+
|
|
399
|
+
var range = `${config.debitNotePackageNumberStart} al ${config.debitNotePackageNumberEnd}`;
|
|
400
|
+
var startFullNumberArray = config.debitNotePackageNumberStart.split('-');
|
|
401
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
402
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
403
|
+
var endNumber = config.debitNotePackageNumberEnd.split('-')[3];
|
|
404
|
+
var sqludt = `UPDATE dbn_settings SET packageNumberStart = '${config.debitNotePackageNumberStart}',
|
|
405
|
+
packageNumberEnd = '${config.debitNotePackageNumberEnd}',
|
|
406
|
+
packageEmailNotificationActive = ${(config.debitNotePackageEmailNotificationActive) ? 1 : 0},
|
|
407
|
+
packageEmailNotificationNumber = ${(config.debitNotePackageEmailNotificationNumber) ? parseInt(config.debitNotePackageEmailNotificationNumber) : 0},
|
|
408
|
+
packageExpirationDate = '${config.debitNotePackageExpirationDate.toString()}',
|
|
409
|
+
factorExcecutionTime = '${(config.debitNoteFactorExcecutionTime) ? config.debitNoteFactorExcecutionTime : 'sec'}',
|
|
410
|
+
valueExcecutionTime = ${(config.debitNoteValueExcecutionTime) ? parseInt(config.debitNoteValueExcecutionTime) : 5},
|
|
411
|
+
current = ${(config.DBNCurrent) ? config.DBNCurrent : startNumber},
|
|
412
|
+
startNumber = ${startNumber},
|
|
413
|
+
endNumber = ${endNumber},
|
|
414
|
+
firstPartDocumentNumber = '${currentFirstPartDocumentNumber}',
|
|
415
|
+
emailNotified = ${0},
|
|
416
|
+
emailNotifiedDate = '${''}',
|
|
417
|
+
range = '${range}',
|
|
418
|
+
currentAssigned = ${(config.DBNCurrent) ? 1 : 0},
|
|
419
|
+
active = ${1},
|
|
420
|
+
deleted = ${0}
|
|
421
|
+
WHERE cai = '${config.debitNoteCAI}'`;
|
|
422
|
+
if (!db)
|
|
423
|
+
db = await sqliteDB.createConnection();
|
|
424
|
+
await db.run(sqludt);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
let queryCdm = `SELECT count(cai) as total FROM cdm_settings
|
|
429
|
+
WHERE (packageNumberStart = '${config.creditMemoPackageNumberStart}' AND
|
|
430
|
+
cai = '${config.creditMemoCAI}' AND
|
|
431
|
+
packageNumberEnd = '${config.creditMemoPackageNumberEnd}' AND
|
|
432
|
+
packageExpirationDate = '${config.creditMemoPackageExpirationDate.toString()}')`;
|
|
433
|
+
|
|
434
|
+
if (!db)
|
|
435
|
+
db = await sqliteDB.createConnection();
|
|
436
|
+
var rows = await sqliteDB.queryDBAll(db, queryCdm);
|
|
437
|
+
if (!rows || !rows[0].total > 0) {
|
|
438
|
+
if (config.creditMemoCAI !== '') {
|
|
439
|
+
var sqlcheck = `SELECT count(cai) as total FROM cdm_settings WHERE cai = '${config.creditMemoCAI}'`;
|
|
440
|
+
if (!db)
|
|
441
|
+
db = await sqliteDB.createConnection();
|
|
442
|
+
var checkRow = await sqliteDB.queryDBAll(db, sqlcheck);
|
|
443
|
+
|
|
444
|
+
if (!checkRow || !checkRow[0].total > 0) {
|
|
445
|
+
|
|
446
|
+
var sqludt = `UPDATE cdm_settings SET active = 0, deleted = 1 WHERE active = 1`;
|
|
447
|
+
if (!db)
|
|
448
|
+
db = await sqliteDB.createConnection();
|
|
449
|
+
await db.run(sqludt);
|
|
450
|
+
|
|
451
|
+
var range = `${config.creditMemoPackageNumberStart} al ${config.creditMemoPackageNumberEnd}`;
|
|
452
|
+
var startFullNumberArray = config.creditMemoPackageNumberStart.split('-');
|
|
453
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
454
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
455
|
+
var endNumber = config.creditMemoPackageNumberEnd.split('-')[3];
|
|
456
|
+
|
|
457
|
+
await db.run(`INSERT INTO cdm_settings(cai, packageNumberStart, packageNumberEnd,
|
|
458
|
+
packageEmailNotificationActive, packageEmailNotificationNumber, packageExpirationDate,
|
|
459
|
+
factorExcecutionTime, valueExcecutionTime, current, startNumber, endNumber,
|
|
460
|
+
firstPartDocumentNumber, emailNotified, emailNotifiedDate, range, currentAssigned, active, deleted)
|
|
461
|
+
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`, [
|
|
462
|
+
config.creditMemoCAI,
|
|
463
|
+
config.creditMemoPackageNumberStart,
|
|
464
|
+
config.creditMemoPackageNumberEnd,
|
|
465
|
+
(config.creditMemoPackageEmailNotificationActive) ? 1 : 0,
|
|
466
|
+
(config.creditMemoPackageEmailNotificationNumber) ? parseInt(config.creditMemoPackageEmailNotificationNumber) : 0,
|
|
467
|
+
config.creditMemoPackageExpirationDate.toString(),
|
|
468
|
+
(config.creditMemoFactorExcecutionTime) ? config.creditMemoFactorExcecutionTime : 'sec',
|
|
469
|
+
(config.creditMemoValueExcecutionTime) ? config.creditMemoValueExcecutionTime : 5,
|
|
470
|
+
(config.CDMCurrent) ? config.InvCurrent : startNumber,
|
|
471
|
+
startNumber,
|
|
472
|
+
endNumber,
|
|
473
|
+
currentFirstPartDocumentNumber,
|
|
474
|
+
0,
|
|
475
|
+
'',
|
|
476
|
+
range,
|
|
477
|
+
(config.CDMCurrent) ? 1 : 0,
|
|
478
|
+
1,
|
|
479
|
+
0
|
|
480
|
+
]);
|
|
481
|
+
} else {
|
|
482
|
+
var range = `${config.creditMemoPackageNumberStart} al ${config.creditMemoPackageNumberEnd}`;
|
|
483
|
+
var startFullNumberArray = config.creditMemoPackageNumberStart.split('-');
|
|
484
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
485
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
486
|
+
var endNumber = config.creditMemoPackageNumberEnd.split('-')[3];
|
|
487
|
+
var sqludt = `UPDATE cdm_settings SET packageNumberStart = '${config.creditMemoPackageNumberStart}',
|
|
488
|
+
packageNumberEnd = '${config.creditMemoPackageNumberEnd}',
|
|
489
|
+
packageEmailNotificationActive = ${(config.creditMemoPackageEmailNotificationActive) ? 1 : 0},
|
|
490
|
+
packageEmailNotificationNumber = ${(config.creditMemoPackageEmailNotificationNumber) ? parseInt(config.creditMemoPackageEmailNotificationNumber) : 0},
|
|
491
|
+
packageExpirationDate = '${config.creditMemoPackageExpirationDate.toString()}',
|
|
492
|
+
factorExcecutionTime = '${(config.creditMemoFactorExcecutionTime) ? config.creditMemoFactorExcecutionTime : 'sec'}',
|
|
493
|
+
valueExcecutionTime = ${(config.creditMemoValueExcecutionTime) ? config.creditMemoValueExcecutionTime : 5},
|
|
494
|
+
current = ${(config.CDMCurrent) ? config.InvCurrent : startNumber},
|
|
495
|
+
startNumber = ${startNumber},
|
|
496
|
+
endNumber = ${endNumber},
|
|
497
|
+
firstPartDocumentNumber = '${currentFirstPartDocumentNumber}',
|
|
498
|
+
emailNotified = ${0},
|
|
499
|
+
emailNotifiedDate = '${''}',
|
|
500
|
+
range = '${range}',
|
|
501
|
+
currentAssigned = ${(config.CDMCurrent) ? 1 : 0},
|
|
502
|
+
active = ${1},
|
|
503
|
+
deleted = ${0}
|
|
504
|
+
WHERE cai = '${config.creditMemoCAI}'`;
|
|
505
|
+
if (!db)
|
|
506
|
+
db = await sqliteDB.createConnection();
|
|
507
|
+
await db.run(sqludt);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
} else {
|
|
511
|
+
var sqludt = `UPDATE cdm_settings SET active = 0, deleted = 1 WHERE active = 1`;
|
|
512
|
+
if (!db)
|
|
513
|
+
db = await sqliteDB.createConnection();
|
|
514
|
+
await db.run(sqludt);
|
|
515
|
+
|
|
516
|
+
var range = `${config.creditMemoPackageNumberStart} al ${config.creditMemoPackageNumberEnd}`;
|
|
517
|
+
var startFullNumberArray = config.creditMemoPackageNumberStart.split('-');
|
|
518
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
519
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
520
|
+
var endNumber = config.creditMemoPackageNumberEnd.split('-')[3];
|
|
521
|
+
var sqludt = `UPDATE cdm_settings SET packageNumberStart = '${config.creditMemoPackageNumberStart}',
|
|
522
|
+
packageNumberEnd = '${config.creditMemoPackageNumberEnd}',
|
|
523
|
+
packageEmailNotificationActive = ${(config.creditMemoPackageEmailNotificationActive) ? 1 : 0},
|
|
524
|
+
packageEmailNotificationNumber = ${(config.creditMemoPackageEmailNotificationNumber) ? parseInt(config.creditMemoPackageEmailNotificationNumber) : 0},
|
|
525
|
+
packageExpirationDate = '${config.creditMemoPackageExpirationDate.toString()}',
|
|
526
|
+
factorExcecutionTime = '${(config.creditMemoFactorExcecutionTime) ? config.creditMemoFactorExcecutionTime : 'sec'}',
|
|
527
|
+
valueExcecutionTime = ${(config.creditMemoValueExcecutionTime) ? config.creditMemoValueExcecutionTime : 5},
|
|
528
|
+
current = ${(config.CDMCurrent) ? config.CDMCurrent : startNumber},
|
|
529
|
+
startNumber = ${startNumber},
|
|
530
|
+
endNumber = ${endNumber},
|
|
531
|
+
firstPartDocumentNumber = '${currentFirstPartDocumentNumber}',
|
|
532
|
+
emailNotified = ${0},
|
|
533
|
+
emailNotifiedDate = '${''}',
|
|
534
|
+
range = '${range}',
|
|
535
|
+
currentAssigned = ${(config.CDMCurrent) ? 1 : 0},
|
|
536
|
+
active = ${1},
|
|
537
|
+
deleted = ${0}
|
|
538
|
+
WHERE cai = '${config.creditMemoCAI}'`;
|
|
539
|
+
if (!db)
|
|
540
|
+
db = await sqliteDB.createConnection();
|
|
541
|
+
await db.run(sqludt);
|
|
542
|
+
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
//settingHandle.saveConfig(config, path.join(configFolder, 'settings.dat'));
|
|
546
|
+
response.json({
|
|
547
|
+
resp: true
|
|
548
|
+
});
|
|
549
|
+
} catch (error) {
|
|
550
|
+
let d = new Date();
|
|
551
|
+
let m = moment(d);
|
|
552
|
+
console.log(`${m.format()} => ${error}`);
|
|
553
|
+
response.json({
|
|
554
|
+
resp: false,
|
|
555
|
+
message: (error.code === "SQLITE_CONSTRAINT") ? "El CAI ya está en uso" : error
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
});
|
|
559
|
+
router.post(`/settingInv`, async function (request, response) {
|
|
560
|
+
try {
|
|
561
|
+
|
|
562
|
+
let config = request.body.setting;
|
|
563
|
+
|
|
564
|
+
let queryInv = `SELECT count(cai) as total FROM invoice_settings
|
|
565
|
+
WHERE (packageNumberStart = '${config.invoicePackageNumberStart}' AND
|
|
566
|
+
cai = '${config.invoiceCAI}' AND
|
|
567
|
+
packageNumberEnd = '${config.invoicePackageNumberEnd}' AND
|
|
568
|
+
packageEmailNotificationNumber = ${parseInt(config.invoicePackageEmailNotificationNumber)} AND
|
|
569
|
+
factorExcecutionTime = '${config.invoiceFactorExcecutionTime}' AND
|
|
570
|
+
packageEmailNotificationActive = ${(config.invoicePackageEmailNotificationActive) ? 1 : 0} AND
|
|
571
|
+
packageExpirationDate = '${config.invoicePackageExpirationDate.toString()}' AND
|
|
572
|
+
valueExcecutionTime = ${config.invoiceValueExcecutionTime})`;
|
|
573
|
+
if (!db)
|
|
574
|
+
db = await sqliteDB.createConnection();
|
|
575
|
+
var rows = await sqliteDB.queryDBAll(db, queryInv);
|
|
576
|
+
|
|
577
|
+
if (!rows || !rows[0].total > 0) {
|
|
578
|
+
|
|
579
|
+
var range = `${config.invoicePackageNumberStart} al ${config.invoicePackageNumberEnd}`;
|
|
580
|
+
var startFullNumberArray = config.invoicePackageNumberStart.split('-');
|
|
581
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
582
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
583
|
+
var endNumber = config.invoicePackageNumberEnd.split('-')[3];
|
|
584
|
+
|
|
585
|
+
var result = await db.run(`INSERT INTO invoice_settings(cai, packageNumberStart, packageNumberEnd,
|
|
586
|
+
packageEmailNotificationActive, packageEmailNotificationNumber, packageExpirationDate,
|
|
587
|
+
factorExcecutionTime, valueExcecutionTime, current, startNumber, endNumber,
|
|
588
|
+
firstPartDocumentNumber, emailNotified, emailNotifiedDate, range, currentAssigned, active, deleted)
|
|
589
|
+
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`, [
|
|
590
|
+
config.invoiceCAI,
|
|
591
|
+
config.invoicePackageNumberStart,
|
|
592
|
+
config.invoicePackageNumberEnd,
|
|
593
|
+
(config.invoicePackageEmailNotificationActive) ? 1 : 0,
|
|
594
|
+
config.invoicePackageEmailNotificationNumber,
|
|
595
|
+
config.invoicePackageExpirationDate.toString(),
|
|
596
|
+
config.invoiceFactorExcecutionTime,
|
|
597
|
+
config.invoiceValueExcecutionTime,
|
|
598
|
+
(config.invoiceCurrentAssigned) ? config.InvCurrent : startNumber,
|
|
599
|
+
startNumber,
|
|
600
|
+
endNumber,
|
|
601
|
+
currentFirstPartDocumentNumber,
|
|
602
|
+
0,
|
|
603
|
+
'',
|
|
604
|
+
range,
|
|
605
|
+
(config.invoiceCurrentAssigned) ? 1 : 0,
|
|
606
|
+
1,
|
|
607
|
+
0
|
|
608
|
+
]);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
response.json({
|
|
612
|
+
resp: true
|
|
613
|
+
});
|
|
614
|
+
} catch (error) {
|
|
615
|
+
let d = new Date();
|
|
616
|
+
let m = moment(d);
|
|
617
|
+
console.log(m.format(), error);
|
|
618
|
+
response.json({
|
|
619
|
+
resp: false,
|
|
620
|
+
message: (error.code === "SQLITE_CONSTRAINT") ? "El CAI ya está en uso" : error
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
});
|
|
624
|
+
router.post(`/settingDbn`, async function (request, response) {
|
|
625
|
+
try {
|
|
626
|
+
|
|
627
|
+
let config = request.body.setting;
|
|
628
|
+
|
|
629
|
+
let queryDbn = `SELECT count(cai) as total FROM dbn_settings
|
|
630
|
+
WHERE (packageNumberStart = '${config.debitNotePackageNumberStart}' AND
|
|
631
|
+
cai = '${config.debitNoteCAI}' AND
|
|
632
|
+
packageNumberEnd = '${config.debitNotePackageNumberEnd}' AND
|
|
633
|
+
packageEmailNotificationActive = ${(config.debitNotePackageEmailNotificationActive) ? 1 : 0} AND
|
|
634
|
+
packageEmailNotificationNumber = ${parseInt(config.debitNotePackageEmailNotificationNumber)} AND
|
|
635
|
+
packageExpirationDate = '${config.debitNotePackageExpirationDate.toString()}' AND
|
|
636
|
+
factorExcecutionTime = '${(config.debitNoteFactorExcecutionTime) ? parseInt(config.debitNoteFactorExcecutionTime) : 5}' AND
|
|
637
|
+
valueExcecutionTime = ${config.debitNoteValueExcecutionTime})`;
|
|
638
|
+
|
|
639
|
+
if (!db)
|
|
640
|
+
db = await sqliteDB.createConnection();
|
|
641
|
+
var rows = await sqliteDB.queryDBAll(db, queryDbn);
|
|
642
|
+
if (!rows || !rows[0].total > 0) {
|
|
643
|
+
|
|
644
|
+
var range = `${config.debitNotePackageNumberStart} al ${config.debitNotePackageNumberEnd}`;
|
|
645
|
+
var startFullNumberArray = config.debitNotePackageNumberStart.split('-');
|
|
646
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
647
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
648
|
+
var endNumber = config.debitNotePackageNumberEnd.split('-')[3];
|
|
649
|
+
|
|
650
|
+
await db.run(`INSERT INTO dbn_settings(cai, packageNumberStart, packageNumberEnd,
|
|
651
|
+
packageEmailNotificationActive, packageEmailNotificationNumber, packageExpirationDate,
|
|
652
|
+
factorExcecutionTime, valueExcecutionTime, current, startNumber, endNumber,
|
|
653
|
+
firstPartDocumentNumber, emailNotified, emailNotifiedDate, range, currentAssigned, active, deleted)
|
|
654
|
+
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`, [
|
|
655
|
+
config.debitNoteCAI,
|
|
656
|
+
config.debitNotePackageNumberStart,
|
|
657
|
+
config.debitNotePackageNumberEnd,
|
|
658
|
+
(config.debitNotePackageEmailNotificationActive) ? 1 : 0,
|
|
659
|
+
config.debitNotePackageEmailNotificationNumber,
|
|
660
|
+
config.debitNotePackageExpirationDate.toString(),
|
|
661
|
+
config.debitNoteFactorExcecutionTime,
|
|
662
|
+
config.debitNoteValueExcecutionTime,
|
|
663
|
+
config.DBNCurrent,
|
|
664
|
+
startNumber,
|
|
665
|
+
endNumber,
|
|
666
|
+
currentFirstPartDocumentNumber,
|
|
667
|
+
0,
|
|
668
|
+
'',
|
|
669
|
+
range,
|
|
670
|
+
(config.debitNoteCurrentAssigned) ? 1 : 0,
|
|
671
|
+
1,
|
|
672
|
+
0
|
|
673
|
+
]);
|
|
674
|
+
}
|
|
675
|
+
} catch (error) {
|
|
676
|
+
let d = new Date();
|
|
677
|
+
let m = moment(d);
|
|
678
|
+
console.log(m.format(), error);
|
|
679
|
+
response.json({
|
|
680
|
+
resp: false,
|
|
681
|
+
message: (error.code === "SQLITE_CONSTRAINT") ? "El CAI ya está en uso" : error
|
|
682
|
+
});
|
|
683
|
+
}
|
|
684
|
+
});
|
|
685
|
+
router.post(`/settingCdm`, async function (request, response) {
|
|
686
|
+
try {
|
|
687
|
+
|
|
688
|
+
let config = request.body.setting;
|
|
689
|
+
|
|
690
|
+
let queryCdm = `SELECT count(cai) as total FROM cdm_settings
|
|
691
|
+
WHERE (packageNumberStart = '${config.creditMemoPackageNumberStart}' AND
|
|
692
|
+
cai = '${config.creditMemoCAI}' AND
|
|
693
|
+
packageNumberEnd = '${config.creditMemoPackageNumberEnd}' AND
|
|
694
|
+
packageEmailNotificationActive = ${(config.creditMemoPackageEmailNotificationActive) ? 1 : 0} AND
|
|
695
|
+
packageEmailNotificationNumber = ${parseInt(config.creditMemoPackageEmailNotificationNumber)} AND
|
|
696
|
+
packageExpirationDate = '${config.creditMemoPackageExpirationDate.toString()}' AND
|
|
697
|
+
factorExcecutionTime = '${config.creditMemoFactorExcecutionTime}' AND
|
|
698
|
+
valueExcecutionTime = ${config.creditMemoValueExcecutionTime})`;
|
|
699
|
+
|
|
700
|
+
if (!db)
|
|
701
|
+
db = await sqliteDB.createConnection();
|
|
702
|
+
var rows = await sqliteDB.queryDBAll(db, queryCdm);
|
|
703
|
+
if (!rows || !rows[0].total > 0) {
|
|
704
|
+
|
|
705
|
+
var range = `${config.creditMemoPackageNumberStart} al ${config.creditMemoPackageNumberEnd}`;
|
|
706
|
+
var startFullNumberArray = config.creditMemoPackageNumberStart.split('-');
|
|
707
|
+
var currentFirstPartDocumentNumber = `${startFullNumberArray[0]}-${startFullNumberArray[1]}-${startFullNumberArray[2]}`;
|
|
708
|
+
var startNumber = parseInt(startFullNumberArray[3]);
|
|
709
|
+
var endNumber = config.creditMemoPackageNumberEnd.split('-')[3];
|
|
710
|
+
|
|
711
|
+
await db.run(`INSERT INTO cdm_settings(cai, packageNumberStart, packageNumberEnd,
|
|
712
|
+
packageEmailNotificationActive, packageEmailNotificationNumber, packageExpirationDate,
|
|
713
|
+
factorExcecutionTime, valueExcecutionTime, current, startNumber, endNumber,
|
|
714
|
+
firstPartDocumentNumber, emailNotified, emailNotifiedDate, range, currentAssigned, active, deleted)
|
|
715
|
+
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`, [
|
|
716
|
+
config.creditMemoCAI,
|
|
717
|
+
config.creditMemoPackageNumberStart,
|
|
718
|
+
config.creditMemoPackageNumberEnd,
|
|
719
|
+
(config.creditMemoPackageEmailNotificationActive) ? 1 : 0,
|
|
720
|
+
config.creditMemoPackageEmailNotificationNumber,
|
|
721
|
+
config.creditMemoPackageExpirationDate.toString(),
|
|
722
|
+
config.creditMemoFactorExcecutionTime,
|
|
723
|
+
config.creditMemoValueExcecutionTime,
|
|
724
|
+
config.CDMCurrent,
|
|
725
|
+
startNumber,
|
|
726
|
+
endNumber,
|
|
727
|
+
currentFirstPartDocumentNumber,
|
|
728
|
+
0,
|
|
729
|
+
'',
|
|
730
|
+
range,
|
|
731
|
+
(config.creditMemoCurrentAssigned) ? 1 : 0,
|
|
732
|
+
1,
|
|
733
|
+
0
|
|
734
|
+
]);
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
response.json({
|
|
738
|
+
resp: true
|
|
739
|
+
});
|
|
740
|
+
} catch (error) {
|
|
741
|
+
let d = new Date();
|
|
742
|
+
let m = moment(d);
|
|
743
|
+
console.log(m.format(), error);
|
|
744
|
+
response.json({
|
|
745
|
+
resp: false,
|
|
746
|
+
message: (error.code === "SQLITE_CONSTRAINT") ? "El CAI ya está en uso" : error
|
|
747
|
+
});
|
|
748
|
+
}
|
|
749
|
+
});
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
router.get(`/setting`, async function (request, response) {
|
|
753
|
+
try {
|
|
754
|
+
|
|
755
|
+
if (!db)
|
|
756
|
+
db = await sqliteDB.createConnection();
|
|
757
|
+
|
|
758
|
+
// let setting = settingHandle.getConfig(path.join(configFolder, 'settings.dat'));
|
|
759
|
+
|
|
760
|
+
// console.log(setting);
|
|
761
|
+
|
|
762
|
+
let queryInv = `SELECT cai,
|
|
763
|
+
packageExpirationDate,
|
|
764
|
+
packageNumberStart,
|
|
765
|
+
packageNumberEnd,
|
|
766
|
+
packageEmailNotificationActive,
|
|
767
|
+
packageEmailNotificationNumber,
|
|
768
|
+
current,
|
|
769
|
+
factorExcecutionTime,
|
|
770
|
+
valueExcecutionTime
|
|
771
|
+
FROM invoice_settings
|
|
772
|
+
WHERE (active = 1)`;
|
|
773
|
+
let queryDbn = `SELECT cai,
|
|
774
|
+
packageExpirationDate,
|
|
775
|
+
packageNumberStart,
|
|
776
|
+
packageNumberEnd,
|
|
777
|
+
packageEmailNotificationActive,
|
|
778
|
+
packageEmailNotificationNumber,
|
|
779
|
+
current,
|
|
780
|
+
factorExcecutionTime,
|
|
781
|
+
valueExcecutionTime
|
|
782
|
+
FROM dbn_settings
|
|
783
|
+
WHERE (active = 1)`;
|
|
784
|
+
let queryCdm = `SELECT cai,
|
|
785
|
+
packageExpirationDate,
|
|
786
|
+
packageNumberStart,
|
|
787
|
+
packageNumberEnd,
|
|
788
|
+
packageEmailNotificationActive,
|
|
789
|
+
packageEmailNotificationNumber,
|
|
790
|
+
current,
|
|
791
|
+
factorExcecutionTime,
|
|
792
|
+
valueExcecutionTime
|
|
793
|
+
FROM cdm_settings
|
|
794
|
+
WHERE (active = 1)`;
|
|
795
|
+
|
|
796
|
+
var invSetting = await sqliteDB.queryDBAll(db, queryInv);
|
|
797
|
+
var dbnSetting = await sqliteDB.queryDBAll(db, queryDbn);
|
|
798
|
+
var cdmSetting = await sqliteDB.queryDBAll(db, queryCdm);
|
|
799
|
+
|
|
800
|
+
let setting = {
|
|
801
|
+
CDMCurrent: (cdmSetting.length > 0) ? cdmSetting[0].current : '',
|
|
802
|
+
creditMemoCAI: (cdmSetting.length > 0) ? cdmSetting[0].cai : '',
|
|
803
|
+
creditMemoCanStart: (cdmSetting.length > 0) ? true : false,
|
|
804
|
+
creditMemoFactorExcecutionTime: (cdmSetting.length > 0) ? cdmSetting[0].factorExcecutionTime : '',
|
|
805
|
+
creditMemoPackageEmailNotificationActive: (cdmSetting.length > 0 && cdmSetting[0].packageEmailNotificationActive === 1) ? true : false,
|
|
806
|
+
creditMemoPackageEmailNotificationNumber: (cdmSetting.length > 0) ? cdmSetting[0].packageEmailNotificationNumber : '',
|
|
807
|
+
creditMemoPackageExpirationDate: (cdmSetting.length > 0) ? cdmSetting[0].packageExpirationDate : '',
|
|
808
|
+
creditMemoPackageNumberEnd: (cdmSetting.length > 0) ? cdmSetting[0].packageNumberEnd : '',
|
|
809
|
+
creditMemoPackageNumberStart: (cdmSetting.length > 0) ? cdmSetting[0].packageNumberStart : '',
|
|
810
|
+
creditMemoValueExcecutionTime: (cdmSetting.length > 0) ? cdmSetting[0].valueExcecutionTime : '',
|
|
811
|
+
|
|
812
|
+
DBNCurrent: (dbnSetting.length > 0) ? dbnSetting[0].current : '',
|
|
813
|
+
debitNoteCAI: (dbnSetting.length > 0) ? dbnSetting[0].cai : '',
|
|
814
|
+
debitNoteCanStart: (dbnSetting.length > 0) ? true : false,
|
|
815
|
+
debitNoteFactorExcecutionTime: (dbnSetting.length > 0) ? dbnSetting[0].factorExcecutionTime : '',
|
|
816
|
+
debitNotePackageEmailNotificationActive: (dbnSetting.length > 0 && dbnSetting[0].packageEmailNotificationActive === 1) ? true : false,
|
|
817
|
+
debitNotePackageEmailNotificationNumber: (dbnSetting.length > 0) ? dbnSetting[0].packageEmailNotificationNumber : '',
|
|
818
|
+
debitNotePackageExpirationDate: (dbnSetting.length > 0) ? dbnSetting[0].packageExpirationDate : '',
|
|
819
|
+
debitNotePackageNumberEnd: (dbnSetting.length > 0) ? dbnSetting[0].packageNumberEnd : '',
|
|
820
|
+
debitNotePackageNumberStart: (dbnSetting.length > 0) ? dbnSetting[0].packageNumberStart : '',
|
|
821
|
+
debitNoteValueExcecutionTime: (dbnSetting.length > 0) ? dbnSetting[0].valueExcecutionTime : '',
|
|
822
|
+
|
|
823
|
+
InvCurrent: (invSetting.length > 0) ? invSetting[0].current : '',
|
|
824
|
+
invoiceCAI: (invSetting.length > 0) ? invSetting[0].cai : '',
|
|
825
|
+
invoiceCanStart: (invSetting.length > 0) ? true : false,
|
|
826
|
+
invoiceFactorExcecutionTime: (invSetting.length > 0) ? invSetting[0].factorExcecutionTime : '',
|
|
827
|
+
invoicePackageEmailNotificationActive: (invSetting.length > 0 && invSetting[0].packageEmailNotificationActive === 1) ? true : false,
|
|
828
|
+
invoicePackageEmailNotificationNumber: (invSetting.length > 0) ? invSetting[0].packageEmailNotificationNumber : '',
|
|
829
|
+
invoicePackageExpirationDate: (invSetting.length > 0) ? invSetting[0].packageExpirationDate : '',
|
|
830
|
+
invoicePackageNumberEnd: (invSetting.length > 0) ? invSetting[0].packageNumberEnd : '',
|
|
831
|
+
invoicePackageNumberStart: (invSetting.length > 0) ? invSetting[0].packageNumberStart : '',
|
|
832
|
+
invoiceValueExcecutionTime: (invSetting.length > 0) ? invSetting[0].valueExcecutionTime : '',
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
response.json(setting);
|
|
836
|
+
} catch (error) {
|
|
837
|
+
let d = new Date();
|
|
838
|
+
let m = moment(d);
|
|
839
|
+
console.log(m.format(), error);
|
|
840
|
+
response.json(false);
|
|
841
|
+
}
|
|
842
|
+
});
|
|
843
|
+
/**
|
|
844
|
+
*
|
|
845
|
+
* Check all of those setting function for next current, needs changes from file to db
|
|
846
|
+
*
|
|
847
|
+
*/
|
|
848
|
+
router.get(`/invcurrent`, async function (request, response) {
|
|
849
|
+
try {
|
|
850
|
+
let query = `SELECT * FROM invoice_settings
|
|
851
|
+
WHERE invoice_settings.active = 1`;
|
|
852
|
+
if (!db)
|
|
853
|
+
db = await sqliteDB.createConnection();
|
|
854
|
+
|
|
855
|
+
var record = await sqliteDB.queryDBAll(db, query);
|
|
856
|
+
if (record.length === 1)
|
|
857
|
+
response.json(record[0].current);
|
|
858
|
+
|
|
859
|
+
// if (fs.existsSync(path.join(configFolder, 'InvCurrentLog.dat'))) {
|
|
860
|
+
// let current = JSON.parse(fs.readFileSync(path.join(configFolder, 'InvCurrentLog.dat')));
|
|
861
|
+
// response.json(current.current);
|
|
862
|
+
// }
|
|
863
|
+
} catch (error) {
|
|
864
|
+
let d = new Date();
|
|
865
|
+
let m = moment(d);
|
|
866
|
+
console.log(m.format(), error);
|
|
867
|
+
response.json(false);
|
|
868
|
+
}
|
|
869
|
+
});
|
|
870
|
+
router.post(`/invcurrent`, async function (request, response) {
|
|
871
|
+
try {
|
|
872
|
+
let current = request.body.current;
|
|
873
|
+
let query = `SELECT count(cai) as total FROM invoice_settings WHERE active = 1`;
|
|
874
|
+
if (!db)
|
|
875
|
+
db = await sqliteDB.createConnection();
|
|
876
|
+
var rows = await sqliteDB.queryDBAll(db, query);
|
|
877
|
+
if (rows && rows[0].total > 0) {
|
|
878
|
+
let updateQuery = `UPDATE invoice_settings SET current =${current} WHERE active = 1`;
|
|
879
|
+
await db.run(updateQuery);
|
|
880
|
+
response.json({ resp: true });
|
|
881
|
+
} else {
|
|
882
|
+
response.json({ resp: false });
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
// let currentLog = {
|
|
886
|
+
// current: parseInt(request.body.current)
|
|
887
|
+
// };
|
|
888
|
+
// const stat = fs.statSync(path.join(configFolder, 'invcursors.dat'));
|
|
889
|
+
// if (stat.size > 0) {
|
|
890
|
+
// cursorObject = JSON.parse(fs.readFileSync(path.join(configFolder, 'invcursors.dat')).toString());
|
|
891
|
+
// cursorObject.current = currentLog.current;
|
|
892
|
+
|
|
893
|
+
// if (cursorObject.current !== "")
|
|
894
|
+
// fs.writeFileSync(path.join(configFolder, 'invcursors.dat'), JSON.stringify(cursorObject));
|
|
895
|
+
|
|
896
|
+
// fs.writeFileSync(path.join(configFolder, 'InvCurrentLog.dat'), JSON.stringify(currentLog));
|
|
897
|
+
// response.json({
|
|
898
|
+
// resp: true
|
|
899
|
+
// });
|
|
900
|
+
// }
|
|
901
|
+
} catch (error) {
|
|
902
|
+
let d = new Date();
|
|
903
|
+
let m = moment(d);
|
|
904
|
+
console.log(m.format(), error);
|
|
905
|
+
response.json({
|
|
906
|
+
resp: false
|
|
907
|
+
});
|
|
908
|
+
}
|
|
909
|
+
});
|
|
910
|
+
router.get(`/dbncurrent`, async function (request, response) {
|
|
911
|
+
try {
|
|
912
|
+
let query = `SELECT * FROM dbn_settings
|
|
913
|
+
WHERE dbn_settings.active = 1`;
|
|
914
|
+
if (!db)
|
|
915
|
+
db = await sqliteDB.createConnection();
|
|
916
|
+
|
|
917
|
+
var record = await sqliteDB.queryDBAll(db, query);
|
|
918
|
+
if (record.length === 1)
|
|
919
|
+
response.json(record[0].current);
|
|
920
|
+
// if (fs.existsSync(path.join(configFolder, 'DBNCurrentLog.dat'))) {
|
|
921
|
+
// let current = JSON.parse(fs.readFileSync(path.join(configFolder, 'DBNCurrentLog.dat')));
|
|
922
|
+
// response.json(current.current);
|
|
923
|
+
// }
|
|
924
|
+
} catch (error) {
|
|
925
|
+
let d = new Date();
|
|
926
|
+
let m = moment(d);
|
|
927
|
+
console.log(m.format(), error);
|
|
928
|
+
response.json(false);
|
|
929
|
+
}
|
|
930
|
+
});
|
|
931
|
+
router.post(`/dbncurrent`, async function (request, response) {
|
|
932
|
+
try {
|
|
933
|
+
let current = request.body.current;
|
|
934
|
+
let query = `SELECT count(cai) as total FROM dbn_settings WHERE active = 1`;
|
|
935
|
+
if (!db)
|
|
936
|
+
db = await sqliteDB.createConnection();
|
|
937
|
+
var rows = await sqliteDB.queryDBAll(db, query);
|
|
938
|
+
if (rows && rows[0].total > 0) {
|
|
939
|
+
let updateQuery = `UPDATE dbn_settings SET current =${current} WHERE active = 1`;
|
|
940
|
+
await db.run(updateQuery);
|
|
941
|
+
response.json({ resp: true });
|
|
942
|
+
} else {
|
|
943
|
+
response.json({ resp: false });
|
|
944
|
+
}
|
|
945
|
+
// let currentLog = {
|
|
946
|
+
// current: parseInt(request.body.current)
|
|
947
|
+
// };
|
|
948
|
+
// const stat = fs.statSync(path.join(configFolder, 'dbncursors.dat'));
|
|
949
|
+
// if (stat.size > 0) {
|
|
950
|
+
// cursorObject = JSON.parse(fs.readFileSync(path.join(configFolder, 'dbncursors.dat')).toString());
|
|
951
|
+
// cursorObject.current = currentLog.current;
|
|
952
|
+
|
|
953
|
+
// if (cursorObject.current !== "")
|
|
954
|
+
// fs.writeFileSync(path.join(configFolder, 'dbncursors.dat'), JSON.stringify(cursorObject));
|
|
955
|
+
|
|
956
|
+
// fs.writeFileSync(path.join(configFolder, 'DBNCurrentLog.dat'), JSON.stringify(currentLog));
|
|
957
|
+
// response.json({
|
|
958
|
+
// resp: true
|
|
959
|
+
// });
|
|
960
|
+
// }
|
|
961
|
+
} catch (error) {
|
|
962
|
+
let d = new Date();
|
|
963
|
+
let m = moment(d);
|
|
964
|
+
console.log(m.format(), error);
|
|
965
|
+
response.json({
|
|
966
|
+
resp: false
|
|
967
|
+
});
|
|
968
|
+
}
|
|
969
|
+
});
|
|
970
|
+
router.get(`/cdmcurrent`, async function (request, response) {
|
|
971
|
+
try {
|
|
972
|
+
let query = `SELECT * FROM cdm_settings
|
|
973
|
+
WHERE cdm_settings.active = 1`;
|
|
974
|
+
if (!db)
|
|
975
|
+
db = await sqliteDB.createConnection();
|
|
976
|
+
|
|
977
|
+
var record = await sqliteDB.queryDBAll(db, query);
|
|
978
|
+
if (record.length === 1)
|
|
979
|
+
response.json(record[0].current);
|
|
980
|
+
// if (fs.existsSync(path.join(configFolder, 'CDMCurrentLog.dat'))) {
|
|
981
|
+
// let current = JSON.parse(fs.readFileSync(path.join(configFolder, 'CDMCurrentLog.dat')));
|
|
982
|
+
// response.json(current.current);
|
|
983
|
+
// }
|
|
984
|
+
} catch (error) {
|
|
985
|
+
let d = new Date();
|
|
986
|
+
let m = moment(d);
|
|
987
|
+
console.log(m.format(), error);
|
|
988
|
+
response.json(false);
|
|
989
|
+
}
|
|
990
|
+
});
|
|
991
|
+
router.post(`/cdmcurrent`, async function (request, response) {
|
|
992
|
+
try {
|
|
993
|
+
let current = request.body.current;
|
|
994
|
+
let query = `SELECT count(cai) as total FROM cdm_settings WHERE active = 1`;
|
|
995
|
+
if (!db)
|
|
996
|
+
db = await sqliteDB.createConnection();
|
|
997
|
+
var rows = await sqliteDB.queryDBAll(db, query);
|
|
998
|
+
if (rows && rows[0].total > 0) {
|
|
999
|
+
let updateQuery = `UPDATE cdm_settings SET current =${current} WHERE active = 1`;
|
|
1000
|
+
await db.run(updateQuery);
|
|
1001
|
+
response.json({ resp: true });
|
|
1002
|
+
} else {
|
|
1003
|
+
response.json({ resp: false });
|
|
1004
|
+
}
|
|
1005
|
+
// let currentLog = {
|
|
1006
|
+
// current: parseInt(request.body.current)
|
|
1007
|
+
// };
|
|
1008
|
+
// const stat = fs.statSync(path.join(configFolder, 'cdmcursors.dat'));
|
|
1009
|
+
// if (stat.size > 0) {
|
|
1010
|
+
// cursorObject = JSON.parse(fs.readFileSync(path.join(configFolder, 'cdmcursors.dat')).toString());
|
|
1011
|
+
// cursorObject.current = currentLog.current;
|
|
1012
|
+
|
|
1013
|
+
// if (cursorObject.current !== "")
|
|
1014
|
+
// fs.writeFileSync(path.join(configFolder, 'cdmcursors.dat'), JSON.stringify(cursorObject));
|
|
1015
|
+
|
|
1016
|
+
// fs.writeFileSync(path.join(configFolder, 'CDMCurrentLog.dat'), JSON.stringify(currentLog));
|
|
1017
|
+
// response.json({
|
|
1018
|
+
// resp: true
|
|
1019
|
+
// });
|
|
1020
|
+
// }
|
|
1021
|
+
} catch (error) {
|
|
1022
|
+
let d = new Date();
|
|
1023
|
+
let m = moment(d);
|
|
1024
|
+
console.log(m.format(), error);
|
|
1025
|
+
response.json({
|
|
1026
|
+
resp: false
|
|
1027
|
+
});
|
|
1028
|
+
}
|
|
1029
|
+
});
|
|
1030
|
+
|
|
1031
|
+
router.get(`/testinv`, async function (req, resp) {
|
|
1032
|
+
try {
|
|
1033
|
+
var directory = path.join(__dirname, 'jobs/invoices.js');
|
|
1034
|
+
const invTest = require(directory);
|
|
1035
|
+
//invTest.enqueueWork();
|
|
1036
|
+
} catch (error) {
|
|
1037
|
+
console.log(error);
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
})
|
|
1043
|
+
router.get(`/testbdn`, async function (req, resp) {
|
|
1044
|
+
var invWorker = require(path.join(__dirname, 'jobs/debitnote.js'));
|
|
1045
|
+
// await invWorker.enqueueWork();
|
|
1046
|
+
})
|
|
1047
|
+
router.get(`/testcdm`, async function (req, resp) {
|
|
1048
|
+
var invWorker = require(path.join(__dirname, 'jobs/creditmemo.js'));
|
|
1049
|
+
// invWorker.enqueueWork();
|
|
1050
|
+
})
|
|
1051
|
+
|
|
1052
|
+
|
|
1053
|
+
module.exports = router;
|