@servicelabsco/nestjs-utility-services 1.2.130 → 1.2.132
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.
@@ -1,7 +1,7 @@
|
|
1
1
|
import { SqlService } from '../../platformUtility/services/sql.service';
|
2
2
|
import { ReportEntity } from '../entities/report.entity';
|
3
|
-
import { UploadService } from '../services/upload.service';
|
4
3
|
import { PropertyService } from '../services/property.service';
|
4
|
+
import { UploadService } from '../services/upload.service';
|
5
5
|
interface ReportParams {
|
6
6
|
[key: string]: any;
|
7
7
|
}
|
@@ -14,6 +14,7 @@ export declare class GenerateDownloadableReportFile {
|
|
14
14
|
private BATCH_SIZE;
|
15
15
|
private readonly MAX_ITERATIONS;
|
16
16
|
private filePath;
|
17
|
+
private ROW_COMMIT_LENGTH;
|
17
18
|
constructor(report: ReportEntity, sqlService: SqlService, uploadService: UploadService, propertyService: PropertyService);
|
18
19
|
generate(params: ReportParams): Promise<string>;
|
19
20
|
private uploadToS3;
|
@@ -1,25 +1,26 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.GenerateDownloadableReportFile = void 0;
|
4
|
-
const ExcelJS = require("exceljs");
|
5
4
|
const fs_1 = require("fs");
|
6
5
|
const path_1 = require("path");
|
7
6
|
const date_util_1 = require("../../common/libraries/date.util");
|
8
7
|
const platform_utility_1 = require("../../common/libraries/platform.utility");
|
8
|
+
const SourceHash = require("../../config/source.hash");
|
9
9
|
const column_entity_1 = require("../entities/column.entity");
|
10
10
|
const report_sheet_entity_1 = require("../entities/report.sheet.entity");
|
11
11
|
const system_script_entity_1 = require("../entities/system.script.entity");
|
12
12
|
const code_evaluator_1 = require("./code.evaluator");
|
13
13
|
const get_report_query_1 = require("./get.report.query");
|
14
|
-
const
|
14
|
+
const ExcelJS = require("exceljs");
|
15
15
|
class GenerateDownloadableReportFile {
|
16
16
|
constructor(report, sqlService, uploadService, propertyService) {
|
17
17
|
this.report = report;
|
18
18
|
this.sqlService = sqlService;
|
19
19
|
this.uploadService = uploadService;
|
20
20
|
this.propertyService = propertyService;
|
21
|
-
this.BATCH_SIZE =
|
21
|
+
this.BATCH_SIZE = 10000;
|
22
22
|
this.MAX_ITERATIONS = 100000;
|
23
|
+
this.ROW_COMMIT_LENGTH = 10;
|
23
24
|
this.codeEvaluator = new code_evaluator_1.CodeEvaluator();
|
24
25
|
}
|
25
26
|
async generate(params) {
|
@@ -62,7 +63,7 @@ class GenerateDownloadableReportFile {
|
|
62
63
|
await this.executeSheetPreScript(sheet, clonedParams);
|
63
64
|
const worksheet = workbook.addWorksheet(sheet.name);
|
64
65
|
const columns = await this.getSheetColumns(sheet);
|
65
|
-
this.writeHeader(worksheet, columns);
|
66
|
+
await this.writeHeader(worksheet, columns);
|
66
67
|
await this.writeSheetData(worksheet, sheet, columns, clonedParams);
|
67
68
|
}
|
68
69
|
async getSheetColumns(sheet) {
|
@@ -92,13 +93,19 @@ class GenerateDownloadableReportFile {
|
|
92
93
|
return;
|
93
94
|
}
|
94
95
|
}
|
95
|
-
writeHeader(worksheet, columns) {
|
96
|
-
worksheet.addRow(columns.map((column) => column.display_name));
|
96
|
+
async writeHeader(worksheet, columns) {
|
97
|
+
await worksheet.addRow(columns.map((column) => column.display_name));
|
97
98
|
}
|
98
99
|
writeRows(worksheet, records, columns) {
|
99
|
-
|
100
|
-
|
101
|
-
|
100
|
+
let iteration = 0;
|
101
|
+
let row;
|
102
|
+
for (const record of records) {
|
103
|
+
++iteration;
|
104
|
+
row = worksheet.addRow(columns.map((column) => record[column.name] ?? ''));
|
105
|
+
if (iteration % this.ROW_COMMIT_LENGTH === 0)
|
106
|
+
row.commit();
|
107
|
+
}
|
108
|
+
return row.commit();
|
102
109
|
}
|
103
110
|
async executeQuery(query, postScript) {
|
104
111
|
const records = await this.sqlService.read(query);
|
@@ -175,7 +182,9 @@ class GenerateDownloadableReportFile {
|
|
175
182
|
}
|
176
183
|
async init() {
|
177
184
|
const maxRecord = await this.propertyService.get('downloadable.report.max.per.query', 10000);
|
185
|
+
const rowCommitLength = await this.propertyService.get('downloadable.report.max.row.commit', 25);
|
178
186
|
this.BATCH_SIZE = +maxRecord;
|
187
|
+
this.ROW_COMMIT_LENGTH = +rowCommitLength;
|
179
188
|
}
|
180
189
|
}
|
181
190
|
exports.GenerateDownloadableReportFile = GenerateDownloadableReportFile;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.downloadable.report.file.js","sourceRoot":"","sources":["../../../src/system/libraries/generate.downloadable.report.file.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"generate.downloadable.report.file.js","sourceRoot":"","sources":["../../../src/system/libraries/generate.downloadable.report.file.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED