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.
Files changed (55) hide show
  1. package/.github/workflows/release.yaml +37 -0
  2. package/.vscode/launch.json +18 -0
  3. package/.whitesource +30 -0
  4. package/LICENSE +21 -0
  5. package/README.md +1 -0
  6. package/combined.log +0 -0
  7. package/error.log +0 -0
  8. package/extension.config.json +58 -0
  9. package/index.js +220 -0
  10. package/package.json +56 -0
  11. package/src/integration/helpers/dbHelper.js +12 -0
  12. package/src/integration/helpers/initilize.js +111 -0
  13. package/src/integration/index.js +1053 -0
  14. package/src/integration/jobs/creditmemo.js +155 -0
  15. package/src/integration/jobs/debitnote.js +155 -0
  16. package/src/integration/jobs/invoices.js +176 -0
  17. package/src/integration/jobs/transactionlog.js +65 -0
  18. package/src/util/db/db.js +62 -0
  19. package/src/util/email/email.js +75 -0
  20. package/src/util/email/index.js +124 -0
  21. package/src/util/email/logo/logo.jpg +0 -0
  22. package/src/util/email/settingsEmail.js +33 -0
  23. package/src/util/files/uploadHelper.js +11 -0
  24. package/src/util/gateway.js +23 -0
  25. package/src/util/setting.js +25 -0
  26. package/static/assets/img/honduras-flag-icon.svg +214 -0
  27. package/static/fa-brands-400.eot +0 -0
  28. package/static/fa-brands-400.svg +1100 -0
  29. package/static/fa-brands-400.ttf +0 -0
  30. package/static/fa-brands-400.woff +0 -0
  31. package/static/fa-brands-400.woff2 +0 -0
  32. package/static/fa-regular-400.eot +0 -0
  33. package/static/fa-regular-400.svg +368 -0
  34. package/static/fa-regular-400.ttf +0 -0
  35. package/static/fa-regular-400.woff +0 -0
  36. package/static/fa-regular-400.woff2 +0 -0
  37. package/static/fa-solid-900.eot +0 -0
  38. package/static/fa-solid-900.svg +1892 -0
  39. package/static/fa-solid-900.ttf +0 -0
  40. package/static/fa-solid-900.woff +0 -0
  41. package/static/fa-solid-900.woff2 +0 -0
  42. package/static/favicon.ico +0 -0
  43. package/static/index.html +21 -0
  44. package/static/main.js +2436 -0
  45. package/static/main.js.map +1 -0
  46. package/static/polyfills.js +5793 -0
  47. package/static/polyfills.js.map +1 -0
  48. package/static/runtime.js +154 -0
  49. package/static/runtime.js.map +1 -0
  50. package/static/scripts.js +18 -0
  51. package/static/scripts.js.map +1 -0
  52. package/static/styles.js +776 -0
  53. package/static/styles.js.map +1 -0
  54. package/static/vendor.js +98718 -0
  55. 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;