@measurequick/measurequick-report-generator 1.4.7 → 1.4.8
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/package.json +1 -1
- package/report-gen-scripts/full-report.js +124 -105
package/package.json
CHANGED
|
@@ -1,132 +1,151 @@
|
|
|
1
|
-
import { PDFDocument }
|
|
2
|
-
import * as base64
|
|
3
|
-
import * as coverPage
|
|
4
|
-
import * as measurementDetails
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
7
|
-
import * as
|
|
8
|
-
import * as
|
|
1
|
+
import { PDFDocument } from 'pdf-lib';
|
|
2
|
+
import * as base64 from '../base-64/icons.js';
|
|
3
|
+
import * as coverPage from './cover-page.js';
|
|
4
|
+
import * as measurementDetails from './measurement-details.js';
|
|
5
|
+
import * as measurementDetailsAcca from './measurement-details-acca.js';
|
|
6
|
+
import * as correctiveMeasures from './corrective-measures.js';
|
|
7
|
+
import * as photosReport from './photos-report.js';
|
|
8
|
+
import * as photosReportS3 from './photos-report-s3.js';
|
|
9
|
+
import * as systemInfoPage from './system-info-page.js';
|
|
9
10
|
import * as vitalsCoolingReport from './vitals-cooling-report.js';
|
|
10
11
|
import * as vitalsHeatingReport from './vitals-heating-report.js';
|
|
11
12
|
import * as util from '../util.js';
|
|
12
13
|
|
|
13
|
-
let docs
|
|
14
|
+
let docs = [];
|
|
14
15
|
let forms = [];
|
|
15
16
|
|
|
16
17
|
export async function getReport(payload) {
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
const coreDoc = await PDFDocument.create();
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
/******** COVER SHEET (1 PAGE) *********/
|
|
22
|
+
try {
|
|
23
|
+
let coverPageBase64 = payload.meta.pdf_settings.includeCoverPage ? await coverPage.getReport(payload) : false;
|
|
24
|
+
const coverPageDoc = coverPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(coverPageBase64)) : false;
|
|
25
|
+
const [_coverPageDoc] = coverPageDoc ? await coreDoc.copyPages(coverPageDoc, [0]) : false;
|
|
26
|
+
if (_coverPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _coverPageDoc);
|
|
27
|
+
} catch (e) { }
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
34
|
-
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
35
|
-
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
36
|
-
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
37
|
-
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
|
|
38
|
-
}
|
|
39
|
-
if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo && payload.tests[1].testInfo.mode !== 'efficiency-nist') {
|
|
40
|
-
let vitalsReportBase64_ = payload.meta.report_mode == "goettl" ? await vitalsHeatingReport.getReport(payload, payload.tests[1]) : await vitalsCoolingReport.getReport(payload, payload.tests[1]);
|
|
41
|
-
const vitalsReportDoc_ = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64_));
|
|
42
|
-
const [_vitalsReportPg1_] = await coreDoc.copyPages(vitalsReportDoc_, [0]);
|
|
43
|
-
const [_vitalsReportPg2_] = await coreDoc.copyPages(vitalsReportDoc_, [1]);
|
|
44
|
-
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1_);
|
|
45
|
-
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2_);
|
|
46
|
-
}
|
|
47
|
-
} else if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo && payload.tests[0].testInfo.mode !== 'efficiency-nist') {
|
|
48
|
-
payload.meta.header = "Test In A/C Vitals";
|
|
49
|
-
let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload) : await vitalsHeatingReport.getReport(payload);
|
|
29
|
+
/******** TEST IN VITALS (2 PAGES) *********/
|
|
30
|
+
try {
|
|
31
|
+
if (payload.meta.report_mode == "goettl") {
|
|
32
|
+
if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo && payload.tests[0].testInfo.mode !== 'efficiency-nist') {
|
|
33
|
+
let vitalsReportBase64 = await vitalsCoolingReport.getReport(payload, payload.tests[0]);
|
|
50
34
|
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
51
35
|
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
52
36
|
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
53
37
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
54
38
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
|
|
55
39
|
}
|
|
56
|
-
|
|
40
|
+
if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo && payload.tests[1].testInfo.mode !== 'efficiency-nist') {
|
|
41
|
+
let vitalsReportBase64_ = payload.meta.report_mode == "goettl" ? await vitalsHeatingReport.getReport(payload, payload.tests[1]) : await vitalsCoolingReport.getReport(payload, payload.tests[1]);
|
|
42
|
+
const vitalsReportDoc_ = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64_));
|
|
43
|
+
const [_vitalsReportPg1_] = await coreDoc.copyPages(vitalsReportDoc_, [0]);
|
|
44
|
+
const [_vitalsReportPg2_] = await coreDoc.copyPages(vitalsReportDoc_, [1]);
|
|
45
|
+
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1_);
|
|
46
|
+
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2_);
|
|
47
|
+
}
|
|
48
|
+
} else if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo && payload.tests[0].testInfo.mode !== 'efficiency-nist') {
|
|
49
|
+
payload.meta.header = "Test In A/C Vitals";
|
|
50
|
+
let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload) : await vitalsHeatingReport.getReport(payload);
|
|
51
|
+
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
52
|
+
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
53
|
+
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
54
|
+
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
55
|
+
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
|
|
56
|
+
}
|
|
57
|
+
} catch (e) { }
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
/******** TEST IN MEASUREMENTS (1 PAGE) *********/
|
|
60
|
+
try {
|
|
61
|
+
let measurementDetailsBase64 = await measurementDetails.getReport(payload);
|
|
62
|
+
const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64)) : false;
|
|
63
|
+
const [_measurementDetailsDoc] = measurementDetailsDoc ? await coreDoc.copyPages(measurementDetailsDoc, [0]) : false;
|
|
64
|
+
if (_measurementDetailsDoc) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsDoc);
|
|
65
|
+
} catch (e) { }
|
|
65
66
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
74
|
-
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
75
|
-
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
|
|
76
|
-
}
|
|
77
|
-
} catch (e) {}
|
|
67
|
+
/******** TEST IN ACCA MEASUREMENTS (1 PAGE) *********/
|
|
68
|
+
try {
|
|
69
|
+
let measurementDetailsAccaBase64 = await measurementDetailsAcca.getReport(payload);
|
|
70
|
+
const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64)) : false;
|
|
71
|
+
const [_measurementDetailsAccaDoc] = measurementDetailsAccaDoc ? await coreDoc.copyPages(measurementDetailsAccaDoc, [0]) : false;
|
|
72
|
+
if (_measurementDetailsAccaDoc) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsAccaDoc);
|
|
73
|
+
} catch (e) { }
|
|
78
74
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
75
|
+
/******** TEST OUT VITALS (2 PAGES) *********/
|
|
76
|
+
try {
|
|
77
|
+
if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo.mode !== 'efficiency-nist') {
|
|
78
|
+
payload.meta.header = "Test Out A/C Vitals";
|
|
79
|
+
let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload, payload.tests[1]) : await vitalsHeatingReport.getReport(payload, payload.tests[1]);
|
|
80
|
+
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
81
|
+
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
82
|
+
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
83
|
+
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
84
|
+
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
|
|
85
|
+
}
|
|
86
|
+
} catch (e) { }
|
|
88
87
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
} catch (e) {}
|
|
88
|
+
/******** TEST OUT MEASUREMENTS (1 PAGE) *********/
|
|
89
|
+
try {
|
|
90
|
+
if (payload.tests.length > 1) {
|
|
91
|
+
let measurementDetailsBase64 = await measurementDetails.getReport(payload);
|
|
92
|
+
const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64)) : false;
|
|
93
|
+
const [_measurementDetailsDocPg2] = measurementDetailsDoc ? await coreDoc.copyPages(measurementDetailsDoc, [1]) : false;
|
|
94
|
+
if (_measurementDetailsDocPg2) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsDocPg2);
|
|
97
95
|
}
|
|
96
|
+
} catch (e) { }
|
|
98
97
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
} else if (_correctiveMeasuresDoc) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDoc);
|
|
109
|
-
} catch (e) {}
|
|
98
|
+
/******** TEST OUT ACCA MEASUREMENTS (1 PAGE) *********/
|
|
99
|
+
try {
|
|
100
|
+
if (payload.tests.length > 1) {
|
|
101
|
+
let measurementDetailsAccaBase64 = await measurementDetailsAcca.getReport(payload);
|
|
102
|
+
const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64)) : false;
|
|
103
|
+
const [_measurementDetailsAccaDocPg2] = measurementDetailsAccaDoc ? await coreDoc.copyPages(measurementDetailsAccaDoc, [1]) : false;
|
|
104
|
+
if (_measurementDetailsAccaDocPg2) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsAccaDocPg2);
|
|
105
|
+
}
|
|
106
|
+
} catch (e) { }
|
|
110
107
|
|
|
111
|
-
|
|
108
|
+
/******** BLUVAC REPORT (1 PAGE) *********/
|
|
109
|
+
if (payload.project.evacuation_pdf && payload.meta.pdf_settings.includeBluvacReport) {
|
|
112
110
|
try {
|
|
113
|
-
let
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
} catch (e) {}
|
|
111
|
+
let bluvacReportBase64 = payload.project.evacuation_pdf;
|
|
112
|
+
const bluvacReportDoc = bluvacReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(bluvacReportBase64)) : false;
|
|
113
|
+
const [_bluvacReportDoc] = bluvacReportDoc ? await coreDoc.copyPages(bluvacReportDoc, [0]) : false;
|
|
114
|
+
if (_bluvacReportDoc) coreDoc.insertPage(coreDoc.getPages().length, _bluvacReportDoc);
|
|
115
|
+
} catch (e) { }
|
|
116
|
+
}
|
|
121
117
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
118
|
+
/******** CORRECTIVE MEASURES (1-2 PAGES) *********/
|
|
119
|
+
try {
|
|
120
|
+
let correctiveMeasuresBase64 = await correctiveMeasures.getReport(payload);
|
|
121
|
+
const correctiveMeasuresDoc = correctiveMeasuresBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(correctiveMeasuresBase64)) : false;
|
|
122
|
+
const [_correctiveMeasuresDoc] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [0]) : false;
|
|
123
|
+
if (correctiveMeasuresDoc.getPages().length > 1) {
|
|
124
|
+
const [_correctiveMeasuresDocPage2] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [1]) : false;
|
|
125
|
+
if (_correctiveMeasuresDoc) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDoc);
|
|
126
|
+
if (_correctiveMeasuresDocPage2) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDocPage2);
|
|
127
|
+
} else if (_correctiveMeasuresDoc) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDoc);
|
|
128
|
+
} catch (e) { }
|
|
129
|
+
|
|
130
|
+
/******** PHOTOS (X PAGES) *********/
|
|
131
|
+
try {
|
|
132
|
+
let selectedPhotosReport = payload.meta.origin == 'virtuoso' ? photosReportS3 : photosReport;
|
|
133
|
+
let photosReportBase64 = (payload.meta.pdf_settings.includePhotos && payload.meta.photo_count > 0) ? await selectedPhotosReport.getReport(payload) : false;
|
|
134
|
+
const photosReportDoc = photosReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(photosReportBase64)) : false;
|
|
135
|
+
for (let i = 0; (photosReportDoc && i < photosReportDoc.getPages().length); i++) {
|
|
136
|
+
const [_photosReport] = await coreDoc.copyPages(photosReportDoc, [i]);
|
|
137
|
+
coreDoc.insertPage(coreDoc.getPages().length, _photosReport);
|
|
138
|
+
}
|
|
139
|
+
} catch (e) { }
|
|
140
|
+
|
|
141
|
+
/******** SYSTEM INFO (1 PAGE) *********/
|
|
142
|
+
try {
|
|
143
|
+
let systemInfoPageBase64 = await systemInfoPage.getReport(payload);
|
|
144
|
+
const systemInfoPageDoc = systemInfoPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(systemInfoPageBase64)) : false;
|
|
145
|
+
const [_systemInfoPageDoc] = systemInfoPageDoc ? await coreDoc.copyPages(systemInfoPageDoc, [0]) : false;
|
|
146
|
+
if (_systemInfoPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _systemInfoPageDoc);
|
|
147
|
+
} catch (e) { }
|
|
129
148
|
|
|
130
|
-
|
|
131
|
-
|
|
149
|
+
let b64 = await coreDoc.saveAsBase64({ dataUri: true });
|
|
150
|
+
return b64;
|
|
132
151
|
}
|