@measurequick/measurequick-report-generator 1.2.65 → 1.2.67
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/base-64/corrective-measures-page.js +1 -1
- package/base-64/cover-page.js +1 -1
- package/base-64/icons.js +2 -0
- package/base-64/mq-vitals-cooling.js +1 -1
- package/base-64/mq-vitals-heating.js +1 -1
- package/package.json +1 -1
- package/report-gen-scripts/corrective-measures.js +21 -5
- package/report-gen-scripts/full-report.js +28 -2
- package/report-gen-scripts/measurement-details.js +2 -2
- package/report-gen-scripts/system-info-page.js +17 -11
- package/report-gen-scripts/understanding-page.js +3 -3
- package/report-gen-scripts/vitals-cooling-report.js +14 -14
- package/report-gen-scripts/vitals-heating-report.js +8 -5
- package/util.js +1 -0
package/package.json
CHANGED
|
@@ -13,12 +13,28 @@ export async function getReport(payload) { console.log("Corrective Measures - Pa
|
|
|
13
13
|
const form = pdfDoc.getForm();
|
|
14
14
|
|
|
15
15
|
let labels = ["iconRangeHigh", "iconRangeLow", "iconRangeNormal", "iconTesto", "iconCalculator", "iconFieldpiece",
|
|
16
|
-
"iconUei", "iconSporlanPro", "iconSporlanLegacy", "iconIconnect", "iconImanifold", "iconSensi",
|
|
16
|
+
"iconUei", "iconSporlanPro", "iconSporlanLegacy", "iconIconnect", "iconImanifold", "iconSensi", "iconDg8",
|
|
17
17
|
"iconBluflame", "iconRedfish510", "iconRedfish510333", "iconRedfish550", "iconDg1000", "iconTrueflow", "iconThumbprintRed", "iconThumbprintGreen", "iconThumbprintYellow", "whiteBox"];
|
|
18
18
|
for (let label of labels) embeddedIcons[label] = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64[label]));
|
|
19
19
|
const mqLogoBytes = util._base64ToArrayBuffer(base64.mqLogo);
|
|
20
20
|
const mqLogo = await pdfDoc.embedPng(mqLogoBytes);
|
|
21
21
|
|
|
22
|
+
if (payload.tests.length < 2) {
|
|
23
|
+
const page = pdfDoc.getPages()[0];
|
|
24
|
+
const button = form.createButton('HideSystemScore');
|
|
25
|
+
button.addToPage('', page, {
|
|
26
|
+
x: 581,
|
|
27
|
+
y: 295,
|
|
28
|
+
width: 221,
|
|
29
|
+
height: 135,
|
|
30
|
+
// textColor: rgb(1, 1, 1),
|
|
31
|
+
// backgroundColor: rgb(1, 1, 1),
|
|
32
|
+
// borderColor: rgb(1, 1, 1),
|
|
33
|
+
borderWidth: 0
|
|
34
|
+
});
|
|
35
|
+
button.setImage(embeddedIcons.whiteBox);
|
|
36
|
+
}
|
|
37
|
+
|
|
22
38
|
// embed company logo and profile picture
|
|
23
39
|
let profileImage, companyImage;
|
|
24
40
|
let profileImageType = util.checkProfilePicture(payload.meta);
|
|
@@ -49,11 +65,11 @@ export async function getReport(payload) { console.log("Corrective Measures - Pa
|
|
|
49
65
|
}
|
|
50
66
|
|
|
51
67
|
let scoreHeader = payload.tests.length > 1 ? "Test In Score" : "Your System Score";
|
|
52
|
-
form.getTextField("YourSystemScoreHeader").setText(
|
|
68
|
+
form.getTextField("YourSystemScoreHeader").setText(scoreHeader);
|
|
53
69
|
let systemScorePercentage = payload.tests[0].testInfo.data.vitals_score ? +payload.tests[0].testInfo.data.vitals_score.toFixed(0) : 0;
|
|
54
70
|
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
55
71
|
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
56
|
-
if (!payload.tests[0].testInfo.
|
|
72
|
+
if (!payload.tests[0].testInfo.data.vitals_score) {
|
|
57
73
|
systemScorePercentage = "--";
|
|
58
74
|
systemScoreGrade = "";
|
|
59
75
|
} else systemScorePercentage += "%";
|
|
@@ -64,12 +80,12 @@ export async function getReport(payload) { console.log("Corrective Measures - Pa
|
|
|
64
80
|
systemScorePercentage = payload.tests[1].testInfo.data.vitals_score ? +payload.tests[1].testInfo.data.vitals_score.toFixed(0) : 0;
|
|
65
81
|
systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
66
82
|
systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
67
|
-
if (!payload.tests[1].testInfo.
|
|
83
|
+
if (!payload.tests[1].testInfo.data.vitals_score) {
|
|
68
84
|
systemScorePercentage = "--";
|
|
69
85
|
systemScoreGrade = "";
|
|
70
86
|
} else systemScorePercentage += "%";
|
|
71
87
|
form.getTextField(`YourSystemScore${systemScoreColor}2`).setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
72
|
-
}
|
|
88
|
+
}
|
|
73
89
|
|
|
74
90
|
form.getTextField(`Block1-Title`).setText(payload.system_data.title1);
|
|
75
91
|
for (let rowNum = 1; rowNum < 12; rowNum++) {
|
|
@@ -18,6 +18,7 @@ export async function getReport(payload) { console.log("Full Report"); console.l
|
|
|
18
18
|
|
|
19
19
|
const coreDoc = await PDFDocument.create();
|
|
20
20
|
|
|
21
|
+
/******** COVER SHEET (1 PAGE) *********/
|
|
21
22
|
try {
|
|
22
23
|
let coverPageBase64 = payload.meta.pdf_settings.includeCoverPage ? await coverPage.getReport(payload) : false;
|
|
23
24
|
const coverPageDoc = coverPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(coverPageBase64)) : false;
|
|
@@ -25,8 +26,9 @@ export async function getReport(payload) { console.log("Full Report"); console.l
|
|
|
25
26
|
if (_coverPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _coverPageDoc);
|
|
26
27
|
} catch (e) {} // error printed in original pdf script
|
|
27
28
|
|
|
29
|
+
/******** TEST IN VITALS (2 PAGES) *********/
|
|
28
30
|
try {
|
|
29
|
-
if (payload.meta.report_mode == "goettl"
|
|
31
|
+
if (payload.meta.report_mode == "goettl") {
|
|
30
32
|
if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo) {
|
|
31
33
|
let vitalsReportBase64 = await vitalsCoolingReport.getReport(payload, payload.tests[0]);
|
|
32
34
|
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
@@ -36,7 +38,7 @@ export async function getReport(payload) { console.log("Full Report"); console.l
|
|
|
36
38
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
|
|
37
39
|
}
|
|
38
40
|
if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo) {
|
|
39
|
-
let vitalsReportBase64_ = await vitalsHeatingReport.getReport(payload, payload.tests[1]);
|
|
41
|
+
let vitalsReportBase64_ = payload.meta.report_mode == "goettl" ? await vitalsHeatingReport.getReport(payload, payload.tests[1]) : await vitalsCoolingReport.getReport(payload, payload.tests[1]);
|
|
40
42
|
const vitalsReportDoc_ = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64_));
|
|
41
43
|
const [_vitalsReportPg1_] = await coreDoc.copyPages(vitalsReportDoc_, [0]);
|
|
42
44
|
const [_vitalsReportPg2_] = await coreDoc.copyPages(vitalsReportDoc_, [1]);
|
|
@@ -44,6 +46,7 @@ export async function getReport(payload) { console.log("Full Report"); console.l
|
|
|
44
46
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2_);
|
|
45
47
|
}
|
|
46
48
|
} else if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo) {
|
|
49
|
+
payload.meta.header = "Test In A/C Vitals";
|
|
47
50
|
let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload) : await vitalsHeatingReport.getReport(payload);
|
|
48
51
|
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
49
52
|
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
@@ -53,17 +56,38 @@ export async function getReport(payload) { console.log("Full Report"); console.l
|
|
|
53
56
|
}
|
|
54
57
|
} catch (e) {} // error printed in original pdf script
|
|
55
58
|
|
|
59
|
+
/******** TEST IN MEASUREMENTS (1 PAGE) *********/
|
|
56
60
|
try {
|
|
57
61
|
let measurementDetailsBase64 = await measurementDetails.getReport(payload);
|
|
58
62
|
const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64)) : false;
|
|
59
63
|
const [_measurementDetailsDoc] = measurementDetailsDoc ? await coreDoc.copyPages(measurementDetailsDoc, [0]) : false;
|
|
60
64
|
if (_measurementDetailsDoc) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsDoc);
|
|
65
|
+
} catch (e) {} // error printed in original pdf script
|
|
66
|
+
|
|
67
|
+
/******** TEST OUT VITALS (2 PAGES) *********/
|
|
68
|
+
try {
|
|
69
|
+
if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo) {
|
|
70
|
+
payload.meta.header = "Test Out A/C Vitals";
|
|
71
|
+
let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload) : await vitalsHeatingReport.getReport(payload);
|
|
72
|
+
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
73
|
+
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
74
|
+
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
75
|
+
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
76
|
+
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
|
|
77
|
+
}
|
|
78
|
+
} catch (e) {} // error printed in original pdf script
|
|
79
|
+
|
|
80
|
+
/******** TEST OUT MEASUREMENTS (1 PAGE) *********/
|
|
81
|
+
try {
|
|
61
82
|
if (payload.tests.length > 1) {
|
|
83
|
+
let measurementDetailsBase64 = await measurementDetails.getReport(payload);
|
|
84
|
+
const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64)) : false;
|
|
62
85
|
const [_measurementDetailsDocPg2] = measurementDetailsDoc ? await coreDoc.copyPages(measurementDetailsDoc, [1]) : false;
|
|
63
86
|
if (_measurementDetailsDocPg2) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsDocPg2);
|
|
64
87
|
}
|
|
65
88
|
} catch (e) {} // error printed in original pdf script
|
|
66
89
|
|
|
90
|
+
/******** CORRECTIVE MEASURES (1 PAGE) *********/
|
|
67
91
|
try {
|
|
68
92
|
let correctiveMeasuresBase64 = await correctiveMeasures.getReport(payload);
|
|
69
93
|
const correctiveMeasuresDoc = correctiveMeasuresBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(correctiveMeasuresBase64)) : false;
|
|
@@ -71,6 +95,7 @@ export async function getReport(payload) { console.log("Full Report"); console.l
|
|
|
71
95
|
if (_correctiveMeasuresDoc) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDoc);
|
|
72
96
|
} catch (e) {} // error printed in original pdf script
|
|
73
97
|
|
|
98
|
+
/******** PHOTOS (X PAGES) *********/
|
|
74
99
|
try {
|
|
75
100
|
let selectedPhotosReport = payload.meta.origin == 'virtuoso' ? photosReportS3 : photosReport;
|
|
76
101
|
let photosReportBase64 = (payload.meta.pdf_settings.includePhotos && payload.meta.photo_count > 0) ? await selectedPhotosReport.getReport(payload.photos) : false;
|
|
@@ -81,6 +106,7 @@ export async function getReport(payload) { console.log("Full Report"); console.l
|
|
|
81
106
|
}
|
|
82
107
|
} catch (e) {} // error printed in original pdf script
|
|
83
108
|
|
|
109
|
+
/******** SYSTEM INFO (1 PAGE) *********/
|
|
84
110
|
try {
|
|
85
111
|
let systemInfoPageBase64 = await systemInfoPage.getReport(payload);
|
|
86
112
|
const systemInfoPageDoc = systemInfoPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(systemInfoPageBase64)) : false;
|
|
@@ -28,7 +28,7 @@ export async function getReport(payload) { console.log("Measurement Details - Pa
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
let labels = ["iconRangeHigh", "iconRangeLow", "iconRangeNormal", "iconTesto", "iconCalculator", "iconFieldpiece",
|
|
31
|
-
"iconUei", "iconSporlanPro", "iconSporlanLegacy", "iconIconnect", "iconImanifold", "iconSensi",
|
|
31
|
+
"iconUei", "iconSporlanPro", "iconSporlanLegacy", "iconIconnect", "iconImanifold", "iconSensi", "iconDg8",
|
|
32
32
|
"iconBluflame", "iconRedfish510", "iconRedfish510333", "iconRedfish550", "iconDg1000", "iconTrueflow", "iconThumbprintRed", "iconThumbprintGreen", "iconThumbprintYellow"
|
|
33
33
|
];
|
|
34
34
|
for (let label of labels) embeddedIconsTestIn[label] = await pdfDocPg1.embedPng(util._base64ToArrayBuffer(base64[label]));
|
|
@@ -119,7 +119,7 @@ export async function getReport(payload) { console.log("Measurement Details - Pa
|
|
|
119
119
|
let systemScorePercentage = payload.tests[t].testInfo.data.vitals_score ? +payload.tests[t].testInfo.data.vitals_score.toFixed(0) : 0;
|
|
120
120
|
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
121
121
|
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
122
|
-
if (!payload.tests[0].testInfo.
|
|
122
|
+
if (!payload.tests[0].testInfo.data.vitals_score) {
|
|
123
123
|
systemScorePercentage = "--";
|
|
124
124
|
systemScoreGrade = "";
|
|
125
125
|
} else systemScorePercentage += "%";
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { PDFDocument } from 'pdf-lib';
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
2
|
+
import * as base64 from '../base-64/icons.js';
|
|
3
|
+
import * as pdfCooling from '../base-64/system-info-cooling.js';
|
|
4
|
+
import * as pdfHeating from '../base-64/system-info-heating.js';
|
|
4
5
|
import * as util from '../util.js';
|
|
5
6
|
|
|
6
|
-
export async function getReport(payload) { console.log("
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
export async function getReport(payload) { console.log("System Info Page");
|
|
8
|
+
try {
|
|
9
|
+
const pdfDoc = payload.meta.report_mode == "heating" ? await PDFDocument.load(util._base64ToArrayBuffer(pdfHeating.base64)) : await PDFDocument.load(util._base64ToArrayBuffer(pdfCooling.base64));
|
|
10
|
+
const form = pdfDoc.getForm();
|
|
11
|
+
const mqLogoBytes = util._base64ToArrayBuffer(base64.mqLogo);
|
|
12
|
+
const mqLogo = await pdfDoc.embedPng(mqLogoBytes);
|
|
13
|
+
form.getButton("FullWidthLogo").setImage(mqLogo);
|
|
14
|
+
form.flatten();
|
|
15
|
+
const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
|
|
16
|
+
return pdfBase64;
|
|
17
|
+
} catch (e) {
|
|
18
|
+
console.log(e);
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
15
21
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PDFDocument } from 'pdf-lib';
|
|
2
|
-
import * as pdfCooling from '../base-64/
|
|
3
|
-
import * as pdfHeating from '../base-64/
|
|
2
|
+
import * as pdfCooling from '../base-64/understanding-cooling.js';
|
|
3
|
+
import * as pdfHeating from '../base-64/understanding-heating.js';
|
|
4
4
|
import * as util from '../util.js';
|
|
5
5
|
|
|
6
|
-
export async function getReport(payload) { console.log("
|
|
6
|
+
export async function getReport(payload) { console.log("Understanding Page");
|
|
7
7
|
const pdfDoc = payload.meta.report_mode == "heating" ? await PDFDocument.load(util._base64ToArrayBuffer(pdfHeating.base64)) : await PDFDocument.load(util._base64ToArrayBuffer(pdfCooling.base64));
|
|
8
8
|
const form = pdfDoc.getForm();
|
|
9
9
|
const mqLogoBytes = util._base64ToArrayBuffer(base64.mqLogo);
|
|
@@ -70,8 +70,11 @@ export async function getReport(payload, _test) { console.log("Vitals Cooling -
|
|
|
70
70
|
form.getTextField("SystemDiagnostics1").setText("No system-wide issues were detected.");
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
let header = payload.meta.header ? payload.meta.header : "A/C System Vitals";
|
|
74
|
+
form.getTextField('Header').setText(header);
|
|
75
|
+
|
|
73
76
|
// get text fields
|
|
74
|
-
let textFields = getTextFields(payload);
|
|
77
|
+
let textFields = getTextFields(payload, t);
|
|
75
78
|
|
|
76
79
|
// print company logo and profile picture
|
|
77
80
|
if (profileImage && companyImage) { // both images are embedded in the document
|
|
@@ -118,12 +121,10 @@ export async function getReport(payload, _test) { console.log("Vitals Cooling -
|
|
|
118
121
|
form.getTextField('TimeOfServiceUpper').setText(date.toLocaleTimeString("en-US"));
|
|
119
122
|
}
|
|
120
123
|
|
|
121
|
-
|
|
122
|
-
console.log();
|
|
123
|
-
let systemScorePercentage = payload.tests[0].testInfo.data.vitals_score ? +payload.tests[0].testInfo.data.vitals_score.toFixed(0) : 0;
|
|
124
|
+
let systemScorePercentage = t.data.vitals_score ? +t.data.vitals_score.toFixed(0) : 0;
|
|
124
125
|
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
125
126
|
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
126
|
-
if (!
|
|
127
|
+
if (!t.data.vitals_score) {
|
|
127
128
|
systemScorePercentage = "--";
|
|
128
129
|
systemScoreGrade = "";
|
|
129
130
|
} else systemScorePercentage += "%";
|
|
@@ -162,15 +163,15 @@ export async function getReport(payload, _test) { console.log("Vitals Cooling -
|
|
|
162
163
|
for (let i = 0; i < measureLabels.length; i++) {
|
|
163
164
|
let iconPlacement = "Mid";
|
|
164
165
|
let icon = iconRangeRed;
|
|
165
|
-
let actual = +
|
|
166
|
-
let mid = +
|
|
167
|
-
let low = +
|
|
168
|
-
let high = +
|
|
166
|
+
let actual = +t.data[targetKeys[i]];
|
|
167
|
+
let mid = +t.targets[targetKeys[i]];
|
|
168
|
+
let low = +t.targets[`${targetKeys[i]}_ideal_low`];
|
|
169
|
+
let high = +t.targets[`${targetKeys[i]}_ideal_high`];
|
|
169
170
|
low = mid - low;
|
|
170
171
|
high = mid + high;
|
|
171
172
|
if (targetKeys[i] == "pressure_static_total_external") high = mid * 1.4;
|
|
172
173
|
else if (targetKeys[i] == "velocity_face_filter1") high = 500;
|
|
173
|
-
let val =
|
|
174
|
+
let val = t.data[targetKeys[i]];
|
|
174
175
|
if (actual < low && targetKeys[i] != "velocity_face_filter1") iconPlacement = "Low";
|
|
175
176
|
else if (actual > high) iconPlacement = "High";
|
|
176
177
|
else if (val) icon = iconRangeGreen;
|
|
@@ -182,11 +183,11 @@ export async function getReport(payload, _test) { console.log("Vitals Cooling -
|
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
// print pass fail measures
|
|
185
|
-
if (
|
|
186
|
+
if (t.subsystem_review_complete) {
|
|
186
187
|
let passFails = ["electrical_system_pass_fail", "air_distribution_system_pass_fail", "air_filtration_system_pass_fail", "condensate_drain_system_pass_fail", "refrigerant_charge_pass_fail", "outdoor_equipment_pass_fail", "indoor_equipment_pass_fail", "cooling_capacity_pass_fail", "cooling_electrical_efficiency_pass_fail"];
|
|
187
188
|
let pfLabels = ["Electrical system", "Air distribution system", "Air filtration system", "Condensate drain system", "Refrigerant charge", "Outdoor equipment", "Indoor equipment", "Cooling capacity", "Cooling electrical efficiency"];
|
|
188
189
|
for (let i = 1; i <= passFails.length; i++) {
|
|
189
|
-
let meas =
|
|
190
|
+
let meas = t[passFails[i - 1]];
|
|
190
191
|
let icon = meas == "Pass" || meas == "High" || meas == "Mid" ? iconRangeGreen : iconRangeRed;
|
|
191
192
|
console.log(passFails[i - 1] + " || " + meas + " || " + icon);
|
|
192
193
|
form.getButton(`ImageSubsystem${i}_af_image`).setImage(icon);
|
|
@@ -201,8 +202,7 @@ export async function getReport(payload, _test) { console.log("Vitals Cooling -
|
|
|
201
202
|
} catch (error) { console.log(error) }
|
|
202
203
|
}
|
|
203
204
|
|
|
204
|
-
function getTextFields(payload) {
|
|
205
|
-
let test = payload.tests[0].testInfo;
|
|
205
|
+
function getTextFields(payload, test) {
|
|
206
206
|
return {
|
|
207
207
|
"cName": payload.site.customer.first_name && payload.site.customer.last_name ? `${payload.site.customer.first_name} ${payload.site.customer.last_name}` : "",
|
|
208
208
|
"address": payload.site.location.address ? payload.site.location.address : "",
|
|
@@ -49,6 +49,9 @@ export async function getReport(payload, _test) { console.log("Vitals Heating -
|
|
|
49
49
|
// get form for filling
|
|
50
50
|
const form = pdfDoc.getForm();
|
|
51
51
|
|
|
52
|
+
let header = payload.meta.header ? payload.meta.header : "A/C System Vitals";
|
|
53
|
+
form.getTextField('Header').setText(header);
|
|
54
|
+
|
|
52
55
|
// get text fields
|
|
53
56
|
let textFields = getTextFields(payload);
|
|
54
57
|
|
|
@@ -98,10 +101,10 @@ export async function getReport(payload, _test) { console.log("Vitals Heating -
|
|
|
98
101
|
}
|
|
99
102
|
|
|
100
103
|
|
|
101
|
-
let systemScorePercentage =
|
|
104
|
+
let systemScorePercentage = test.testInfo.data.vitals_score ? +test.testInfo.data.vitals_score.toFixed(0) : 0;
|
|
102
105
|
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
103
106
|
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
104
|
-
if (!
|
|
107
|
+
if (!test.testInfo.canScoreVitals && !payload.pdfSettings.alwaysShowVitals) {
|
|
105
108
|
systemScorePercentage = "--";
|
|
106
109
|
systemScoreGrade = "";
|
|
107
110
|
} else systemScorePercentage += "%";
|
|
@@ -151,7 +154,7 @@ export async function getReport(payload, _test) { console.log("Vitals Heating -
|
|
|
151
154
|
high = mid + high;
|
|
152
155
|
if (targetKeys[i] == "pressure_static_total_external") high = mid * 1.4;
|
|
153
156
|
else if (targetKeys[i] == "velocity_face_filter1") high = 500;
|
|
154
|
-
let val =
|
|
157
|
+
let val = test.testInfo.data[targetKeys[i]];
|
|
155
158
|
if (actual < low && targetKeys[i] != "velocity_face_filter1") iconPlacement = "Low";
|
|
156
159
|
else if (actual > high) iconPlacement = "High";
|
|
157
160
|
else if (val) icon = iconRangeGreen;
|
|
@@ -179,7 +182,7 @@ export async function getReport(payload, _test) { console.log("Vitals Heating -
|
|
|
179
182
|
form.getButton(`ImageEfficiency${specialCasePlacement}`).setImage(specialCaseIcon);
|
|
180
183
|
|
|
181
184
|
// print pass fail measures
|
|
182
|
-
if (
|
|
185
|
+
if (test.testInfo.subsystem_review_complete) {
|
|
183
186
|
let passFails = ["ambient_co_pass_fail", "control_system_pass_fail", "electrical_system_pass_fail", "air_distribution_system_pass_fail", "air_filtration_system_pass_fail", "condensate_drain_system_pass_fail", "indoor_equipment_pass_fail", "venting_system_pass_fail", "fuel_delivery_system_pass_fail", "make_up_air_system_pass_fail", "heat_exchanger_pass_fail", "safety_system_pass_fail", "heating_operation_pass_fail", "combustion_safety_pass_fail", "combustion_efficiency_pass_fail"];
|
|
184
187
|
let pfLabels = ["Ambient CO", "Control system (thermostat)", "Electrical system", "Air distribution system", "Air filtration system", "Condensate drain system", "Indoor equipment", "Venting system"];
|
|
185
188
|
for (let i = 1; i <= passFails.length; i++) {
|
|
@@ -198,7 +201,7 @@ export async function getReport(payload, _test) { console.log("Vitals Heating -
|
|
|
198
201
|
}
|
|
199
202
|
|
|
200
203
|
function getTextFields(payload) {
|
|
201
|
-
let test =
|
|
204
|
+
let test = test.testInfo;
|
|
202
205
|
return {
|
|
203
206
|
"cName": payload.site.customer.first_name && payload.site.customer.last_name ? `${payload.site.customer.first_name} ${payload.site.customer.last_name}` : "",
|
|
204
207
|
"address": payload.site.location.address ? payload.site.location.address : "",
|
package/util.js
CHANGED
|
@@ -79,6 +79,7 @@ export function getToolIcon(test, ref, embeddedIcons) {
|
|
|
79
79
|
case "TrueFlow": toolIcon = embeddedIcons.iconTrueflow; break;
|
|
80
80
|
case "Calculator": toolIcon = embeddedIcons.iconCalculator; break;
|
|
81
81
|
case "DG-1000": toolIcon = embeddedIcons.iconDg1000; break;
|
|
82
|
+
case "DG-8": toolIcon = embeddedIcons.iconDg8; break;
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
if (test.source[ref] == "iDVM510" && ref.includes("amperage")) toolIcon = embeddedIcons.iconRedfish510333;
|