@measurequick/measurequick-report-generator 1.2.169 → 1.3.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/base-64/icons.js
CHANGED
|
@@ -100,4 +100,4 @@ export const logoSensi = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQgAAACO
|
|
|
100
100
|
|
|
101
101
|
export const logoSensiMq = 'data:image/png;base64,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';
|
|
102
102
|
|
|
103
|
-
export const
|
|
103
|
+
export const iconJb = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMC1jMDAwIDc5LmRhNGE3ZTVlZiwgMjAyMi8xMS8yMi0xMzo1MDowNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyY2Q2ZGE3Yi0zYTY4LTQwOTEtODVlNS0xZDNhMjZjYjE3NjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzAwOTI5MDQ5NTM3MTFFRDgzQTk5QUVFNEEyMUVCRkIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzAwOTI5MDM5NTM3MTFFRDgzQTk5QUVFNEEyMUVCRkIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2ZTdkMWJjZS05YzUyLTRlNjctYmZmZi01MzRhMjExNGE2MWIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphMTU4OTcxOS1lYzFjLTlmNGYt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";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@measurequick/measurequick-report-generator",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Generates PDF documents for various MeasureQuick applications.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
],
|
|
19
19
|
"author": "MeasureQuick",
|
|
20
20
|
"license": "ISC"
|
|
21
|
-
}
|
|
21
|
+
}
|
|
@@ -28,7 +28,7 @@ export async function getReport(payload) {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
let labels = ["iconRangeHigh", "iconRangeLow", "iconRangeNormal", "iconTesto", "iconCalculator", "iconFieldpiece",
|
|
31
|
-
"iconUei", "iconSporlanPro", "iconSporlanLegacy", "iconIconnect", "iconImanifold", "iconSensi", "iconDg8",
|
|
31
|
+
"iconUei", "iconSporlanPro", "iconSporlanLegacy", "iconIconnect", "iconImanifold", "iconSensi", "iconDg8", "iconJb",
|
|
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]));
|
|
@@ -1,238 +1,238 @@
|
|
|
1
1
|
import { PDFDocument } from 'pdf-lib';
|
|
2
|
-
import * as base64
|
|
2
|
+
import * as base64 from '../base-64/icons.js';
|
|
3
3
|
import * as pdf from '../base-64/mq-vitals-heating.js';
|
|
4
|
-
import * as systemInfoPage
|
|
4
|
+
import * as systemInfoPage from './system-info-page.js';
|
|
5
5
|
import * as util from '../util.js';
|
|
6
6
|
|
|
7
7
|
export async function getReport(payload, _test) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
try {
|
|
9
|
+
// fetch and load form
|
|
10
|
+
const formPdfBytes = util._base64ToArrayBuffer(pdf.base64);
|
|
11
|
+
const pdfDoc = await PDFDocument.load(formPdfBytes);
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
// fetch resources
|
|
14
|
+
const iconRangeGreenBytes = util._base64ToArrayBuffer(base64.iconRangeGreen);
|
|
15
|
+
const iconRangeRedBytes = util._base64ToArrayBuffer(base64.iconRangeRed);
|
|
16
|
+
const iconRangeYellowBytes = util._base64ToArrayBuffer(base64.iconRangeYellow);
|
|
17
|
+
const iconFlagBlackBytes = util._base64ToArrayBuffer(base64.iconFlagBlack);
|
|
18
|
+
const iconFlagGreenBytes = util._base64ToArrayBuffer(base64.iconFlagGreen);
|
|
19
|
+
const iconFlagRedBytes = util._base64ToArrayBuffer(base64.iconFlagRed);
|
|
20
|
+
const iconFlagYellowBytes = util._base64ToArrayBuffer(base64.iconFlagYellow);
|
|
21
|
+
const iconStabilityBytes = util._base64ToArrayBuffer(base64.iconStability);
|
|
22
|
+
const iconThumbprintGreenBytes = util._base64ToArrayBuffer(base64.iconThumbprintGreen);
|
|
23
|
+
const iconThumbprintRedBytes = util._base64ToArrayBuffer(base64.iconThumbprintRed);
|
|
24
|
+
const mqLogoBytes = util._base64ToArrayBuffer(base64.mqLogo);
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
// load resources
|
|
27
|
+
const iconRangeGreen = await pdfDoc.embedPng(iconRangeGreenBytes);
|
|
28
|
+
const iconRangeRed = await pdfDoc.embedPng(iconRangeRedBytes);
|
|
29
|
+
const iconRangeYellow = await pdfDoc.embedPng(iconRangeYellowBytes);
|
|
30
|
+
const iconFlagBlack = await pdfDoc.embedPng(iconFlagBlackBytes);
|
|
31
|
+
const iconFlagGreen = await pdfDoc.embedPng(iconFlagGreenBytes);
|
|
32
|
+
const iconFlagRed = await pdfDoc.embedPng(iconFlagRedBytes);
|
|
33
|
+
const iconFlagYellow = await pdfDoc.embedPng(iconFlagYellowBytes);
|
|
34
|
+
const iconStability = await pdfDoc.embedPng(iconStabilityBytes);
|
|
35
|
+
const iconThumbprintGreen = await pdfDoc.embedPng(iconThumbprintGreenBytes);
|
|
36
|
+
const iconThumbprintRed = await pdfDoc.embedPng(iconThumbprintRedBytes);
|
|
37
|
+
const mqLogo = await pdfDoc.embedPng(mqLogoBytes);
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
// embed company logo and profile picture
|
|
40
|
+
let profileImage, companyImage;
|
|
41
|
+
let profileImageType = util.checkProfilePicture(payload.meta);
|
|
42
|
+
let companyImageType = util.checkCompanyLogo(payload.meta);
|
|
43
|
+
if (profileImageType) {
|
|
44
|
+
if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
|
|
45
|
+
else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
|
|
46
|
+
if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
|
|
47
|
+
else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
|
|
48
|
+
}
|
|
49
|
+
if (companyImageType == "jpg") companyImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
50
|
+
else if (companyImageType == "png") companyImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
// get form for filling
|
|
53
|
+
const form = pdfDoc.getForm();
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
let header = "Heating System Vitals";
|
|
56
|
+
form.getTextField('Header').setText(header);
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
let test = payload.tests[0];
|
|
59
|
+
if (_test) test = _test;
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
61
|
+
// get text fields
|
|
62
|
+
let t = payload.tests[0].testInfo;
|
|
63
|
+
if (_test) t = _test.testInfo;
|
|
64
|
+
let manifoldKey = "pressure_manifold";
|
|
65
|
+
if (payload.equipment.multi_stage_heat_system) manifoldKey += "_after";
|
|
66
|
+
t.manifoldKey = manifoldKey;
|
|
67
|
+
let textFields = getTextFields(payload, t);
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
69
|
+
// print company logo and profile picture
|
|
70
|
+
if (profileImage && companyImage) {
|
|
71
|
+
form.getButton("ProfilePicture").setImage(profileImage);
|
|
72
|
+
form.getButton("HalfWidthLogo").setImage(companyImage);
|
|
73
|
+
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
74
|
+
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
75
|
+
} else if (profileImage) {
|
|
76
|
+
form.getButton("ProfilePicture").setImage(profileImage);
|
|
77
|
+
form.getButton("HalfWidthLogo").setImage(mqLogo);
|
|
78
|
+
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
79
|
+
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
80
|
+
} else {
|
|
81
|
+
if (companyImage) form.getButton("FullWidthLogo").setImage(companyImage);
|
|
82
|
+
else form.getButton("FullWidthLogo").setImage(mqLogo);
|
|
83
|
+
}
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
// print customer data
|
|
86
|
+
let dateTimePlacement = "Upper";
|
|
87
|
+
let e = "";
|
|
88
|
+
let d = "";
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
90
|
+
let date = new Date();
|
|
91
|
+
if (textFields.cName && textFields.address && textFields.city && textFields.state && textFields.zip) {
|
|
92
|
+
dateTimePlacement = "Lower";
|
|
93
|
+
form.getTextField('Name').setText(`${textFields.cName}`);
|
|
94
|
+
form.getTextField('Address1').setText(`${textFields.address}`);
|
|
95
|
+
if (textFields.address2) {
|
|
96
|
+
form.getTextField('Address2').setText(`${textFields.address2}`);
|
|
97
|
+
form.getTextField('CityStateZip').setText(`${textFields.city}${textFields.state}${textFields.zip}`);
|
|
98
|
+
} else form.getTextField('Address2').setText(`${textFields.city}${textFields.state}${textFields.zip}`);
|
|
99
|
+
form.getTextField('DateOfServiceLabelUpper').setText("");
|
|
100
|
+
form.getTextField('TimeOfServiceLabelUpper').setText("");
|
|
101
|
+
form.getTextField('DateOfServiceLabelLower').setText("Date of Service:");
|
|
102
|
+
form.getTextField('TimeOfServiceLabelLower').setText("Time of Service:");
|
|
103
|
+
form.getTextField('DateOfServiceLower').setText(date.toLocaleDateString("en-US"));
|
|
104
|
+
form.getTextField('TimeOfServiceLower').setText(date.toLocaleTimeString("en-US"));
|
|
105
|
+
} else {
|
|
106
|
+
form.getTextField('DateOfServiceLabelLower').setText("");
|
|
107
|
+
form.getTextField('TimeOfServiceLabelLower').setText("");
|
|
108
|
+
form.getTextField('DateOfServiceLabelUpper').setText("Date of Service:");
|
|
109
|
+
form.getTextField('TimeOfServiceLabelUpper').setText("Time of Service:");
|
|
110
|
+
form.getTextField('DateOfServiceUpper').setText(date.toLocaleDateString("en-US"));
|
|
111
|
+
form.getTextField('TimeOfServiceUpper').setText(date.toLocaleTimeString("en-US"));
|
|
112
|
+
}
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
114
|
+
let systemScorePercentage = test.testInfo.data.vitals_score ? +test.testInfo.data.vitals_score.toFixed(0) : 0;
|
|
115
|
+
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
116
|
+
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
117
|
+
if (!t.data.vitals_score) {
|
|
118
|
+
systemScorePercentage = "--";
|
|
119
|
+
systemScoreGrade = "";
|
|
120
|
+
} else systemScorePercentage += "%";
|
|
121
|
+
// print measurement data
|
|
122
|
+
form.getTextField(`YourSystemScore${systemScoreColor}`).setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
123
123
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
124
|
+
form.getTextField('COaf').setText(`${textFields.coaf} ppm`);
|
|
125
|
+
form.getTextField('Efficiency').setText(`${textFields.efficiency}`);
|
|
126
|
+
form.getTextField('ManifoldPressure').setText(`${textFields.manifoldPressure} inH2O`);
|
|
127
|
+
form.getTextField('TemperatureSplit').setText(`${textFields.tempSplit} °${payload.units.temperature}`);
|
|
128
|
+
form.getTextField('TotalExternalStaticPressure').setText(`${textFields.tesp} inH2O`);
|
|
129
|
+
form.getTextField('FilterFaceVelocity').setText(`${textFields.fltrFace} FPM`);
|
|
130
130
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
131
|
+
// print losses data (second page)
|
|
132
|
+
let prefix;
|
|
133
|
+
let lossColor = textFields.ageLoss < 3 ? "Green" : "Red";
|
|
134
|
+
prefix = textFields.ageLoss == 0 ? "" : "-";
|
|
135
|
+
form.getTextField(`AgeLosses${lossColor}`).setText(`${prefix}${textFields.ageLoss}`);
|
|
136
|
+
lossColor = textFields.coafLoss < 3 ? "Green" : "Red";
|
|
137
|
+
prefix = textFields.coafLoss == 0 ? "" : "-";
|
|
138
|
+
form.getTextField(`CoafLosses${lossColor}`).setText(`${prefix}${textFields.coafLoss}`);
|
|
139
|
+
lossColor = textFields.tempSplitLoss < 3 ? "Green" : "Red";
|
|
140
|
+
prefix = textFields.tempSplitLoss == 0 ? "" : "-";
|
|
141
|
+
form.getTextField(`HeatTransferLosses${lossColor}`).setText(`${prefix}${textFields.tempSplitLoss}`);
|
|
142
|
+
lossColor = textFields.gasInputLoss < 3 ? "Green" : "Red";
|
|
143
|
+
prefix = textFields.gasInputLoss == 0 ? "" : "-";
|
|
144
|
+
form.getTextField(`FuelInputLosses${lossColor}`).setText(`${prefix}${textFields.gasInputLoss}`);
|
|
145
|
+
lossColor = textFields.staticLoss < 3 ? "Green" : "Red";
|
|
146
|
+
prefix = textFields.staticLoss == 0 ? "" : "-";
|
|
147
|
+
form.getTextField(`AirDistributionLosses${lossColor}`).setText(`${prefix}${textFields.staticLoss}`);
|
|
148
|
+
form.getTextField('YourSystemScorePage2').setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
149
149
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
150
|
+
// print targets and range icons
|
|
151
|
+
const measureLabels = ["ManifoldPressure", "TempSplit", "Tesp", "FilterFace"];
|
|
152
|
+
const targetKeys = [manifoldKey, "temperature_rise", "pressure_static_total_external", "velocity_face_filter1"];
|
|
153
|
+
for (let i = 0; i < measureLabels.length; i++) {
|
|
154
|
+
let iconPlacement = "Mid";
|
|
155
|
+
let icon = iconRangeRed;
|
|
156
|
+
let actual = +test.testInfo.data[targetKeys[i]];
|
|
157
|
+
let mid = +test.testInfo.targets[targetKeys[i]];
|
|
158
|
+
let low = +test.testInfo.targets[`${targetKeys[i]}_ideal_low`];
|
|
159
|
+
let high = +test.testInfo.targets[`${targetKeys[i]}_ideal_high`];
|
|
160
|
+
low = mid - low;
|
|
161
|
+
high = mid + high;
|
|
162
|
+
if (targetKeys[i] == "pressure_static_total_external") high = mid * 1.4;
|
|
163
|
+
else if (targetKeys[i] == "velocity_face_filter1") high = 500;
|
|
164
|
+
let val = test.testInfo.data[targetKeys[i]];
|
|
165
|
+
if (actual < low && targetKeys[i] != "velocity_face_filter1") iconPlacement = "Low";
|
|
166
|
+
else if (actual > high) iconPlacement = "High";
|
|
167
|
+
else if (val) icon = iconRangeGreen;
|
|
168
|
+
if (icon) form.getButton(`Image${measureLabels[i]}${iconPlacement}`).setImage(icon);
|
|
169
|
+
let targetZone = "";
|
|
170
|
+
if (targetKeys[i] == "pressure_static_total_external" || targetKeys[i] == "velocity_face_filter1") targetZone = `(< ${high.toFixed(1)})`;
|
|
171
|
+
else if (!isNaN(low) && low != "NaN" && !isNaN(high) && high != "NaN") targetZone = `(${low.toFixed(1)} - ${high.toFixed(1)})`;
|
|
172
|
+
form.getTextField(`${measureLabels[i]}Target`).setText(targetZone);
|
|
173
|
+
}
|
|
174
174
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
175
|
+
// if (payload.meta.boiler_type == '') {
|
|
176
|
+
// form.getTextField(`Header3`).setText('Air Distribution & Filtration');
|
|
177
|
+
// form.getTextField(`Subheader4`).setText('Temperature Split');
|
|
178
|
+
// form.getTextField(`Subheader5`).setText('Total External Static Pressure');
|
|
179
|
+
// form.getTextField(`Subheader6`).setText('Filter Face Velocity');
|
|
180
|
+
// } else {
|
|
181
|
+
// form.getTextField(`Header3`).setText('Fluid Distribution');
|
|
182
|
+
// form.getTextField(`Subheader4`).setText('');
|
|
183
|
+
// form.getTextField(`Subheader5`).setText('');
|
|
184
|
+
// form.getTextField(`Subheader6`).setText('');
|
|
185
|
+
// }
|
|
186
186
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
187
|
+
let specialCaseIcon = iconRangeRed;
|
|
188
|
+
let specialCasePlacement = "Mid";
|
|
189
|
+
if (test.testInfo.data.coaf < 100) {
|
|
190
|
+
specialCaseIcon = iconRangeGreen;
|
|
191
|
+
specialCasePlacement = "Low";
|
|
192
|
+
} else if (test.testInfo.data.coaf > 400) specialCasePlacement = "High";
|
|
193
|
+
form.getButton(`ImageCOaf${specialCasePlacement}`).setImage(specialCaseIcon);
|
|
194
194
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
specialCasePlacement = "Low";
|
|
196
|
+
if (test.testInfo.data.efficiency_gcv >= 90) specialCasePlacement = "High";
|
|
197
|
+
else if (test.testInfo.data.efficiency_gcv >= 80) specialCasePlacement = "Mid";
|
|
198
|
+
form.getButton(`ImageEfficiency${specialCasePlacement}`).setImage(iconRangeGreen);
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
200
|
+
// print pass fail measures
|
|
201
|
+
if (test.testInfo.subsystem_review_complete) {
|
|
202
|
+
let airDistLabel = payload.meta.boiler_type ? "Fluid distribution system" : "Air distribution system";
|
|
203
|
+
let passFails = ["ambient_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_pass_fail", "heating_efficiency_pass_fail"];
|
|
204
|
+
let pfLabels = ["Ambient CO", "Control system (thermostat)", "Electrical system", airDistLabel, "Air filtration system", "Condensate drain system", "Indoor equipment", "Venting system", "Fuel delivery system", "Make up air (CAZ)", "Heat exchanger", "Safety system", "Heating operation", "Combustion Safety", "Combustion efficiency"];
|
|
205
|
+
if (payload.meta.boiler_type != '') {
|
|
206
|
+
passFails.splice(4, 1);
|
|
207
|
+
pfLabels.splice(4, 1);
|
|
208
|
+
}
|
|
209
|
+
if (payload.meta.boiler_type == 'Steam') {
|
|
210
|
+
passFails.splice(3, 1);
|
|
211
|
+
pfLabels.splice(3, 1);
|
|
212
|
+
}
|
|
213
|
+
for (let i = 0; i < passFails.length; i++) {
|
|
214
|
+
let meas = test.testInfo[passFails[i]];
|
|
215
|
+
let icon = meas == "Pass" || meas == "High" || meas == "Mid" ? iconRangeGreen : iconRangeRed;
|
|
216
|
+
if (meas == "Caution") icon = iconRangeYellow;
|
|
217
|
+
if (passFails[i] == 'heating_efficiency_pass_fail') icon = iconRangeGreen;
|
|
218
|
+
form.getButton(`ImageSubsystem${i + 1}_af_image`).setImage(icon);
|
|
219
|
+
let suffix = test.testInfo[passFails[i] + '_override'] ? ' *' : '';
|
|
220
|
+
form.getTextField(`SSR${i + 1}`).setText(pfLabels[i] + suffix);
|
|
221
|
+
}
|
|
222
|
+
} else form.getTextField(`SSR1`).setText("Not yet reviewed");
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
224
|
+
if (payload.meta.report_type != "FullReport") {
|
|
225
|
+
let systemInfoPageBase64 = await systemInfoPage.getReport(payload);
|
|
226
|
+
const systemInfoPageDoc = systemInfoPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(systemInfoPageBase64)) : false;
|
|
227
|
+
const [_systemInfoPageDoc] = systemInfoPageDoc ? await pdfDoc.copyPages(systemInfoPageDoc, [0]) : false;
|
|
228
|
+
if (_systemInfoPageDoc) pdfDoc.insertPage(pdfDoc.getPages().length, _systemInfoPageDoc);
|
|
229
|
+
}
|
|
230
230
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
231
|
+
// flatten and return as base64
|
|
232
|
+
form.flatten();
|
|
233
|
+
const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
|
|
234
|
+
return pdfBase64;
|
|
235
|
+
} catch (error) { console.log(error) }
|
|
236
236
|
}
|
|
237
237
|
|
|
238
238
|
function getTextFields(payload, test) {
|
package/util.js
CHANGED
|
@@ -84,6 +84,7 @@ export function getToolIcon(test, ref, embeddedIcons) {
|
|
|
84
84
|
case "Calculator": toolIcon = embeddedIcons.iconCalculator; break;
|
|
85
85
|
case "DG-1000": toolIcon = embeddedIcons.iconDg1000; break;
|
|
86
86
|
case "DG-8": toolIcon = embeddedIcons.iconDg8; break;
|
|
87
|
+
case "JB": toolIcon = embeddedIcons.iconJb; break;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
if (test.source[ref] == "iDVM510" && ref.includes("amperage")) toolIcon = embeddedIcons.iconRedfish510333;
|