@measurequick/measurequick-report-generator 1.5.176 → 1.5.177
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/corrective-measures.js +25 -13
- package/report-gen-scripts/cover-page.js +1 -1
- package/report-gen-scripts/measurement-details.js +38 -16
- package/report-gen-scripts/vitals-cooling-report.js +25 -13
- package/report-gen-scripts/vitals-heating-report-no-combustion.js +25 -13
- package/report-gen-scripts/vitals-heating-report.js +25 -13
package/package.json
CHANGED
|
@@ -51,16 +51,25 @@ export async function getReport(payload) {
|
|
|
51
51
|
let pageHeader = payload.meta.report_mode == "heating" ? "Visual Inspection" : payload.project.unit_not_operational ? "Inoperational System Faults" : "Corrective Measures";
|
|
52
52
|
form.getTextField('Header').setText(pageTitle);
|
|
53
53
|
|
|
54
|
-
// For NCI projects (CoolMaxx/HeatMaxx),
|
|
55
|
-
let
|
|
56
|
-
if (
|
|
57
|
-
nciLogoImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
// For NCI projects (CoolMaxx/HeatMaxx), draw NCI logo in place of profile picture (15% larger)
|
|
55
|
+
let isNCI = isNCIProject(payload) && base64.nciLogo;
|
|
56
|
+
if (isNCI) {
|
|
57
|
+
const nciLogoImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
58
|
+
const pages = pdfDoc.getPages();
|
|
59
|
+
const firstPage = pages[0];
|
|
60
|
+
const { width, height } = firstPage.getSize();
|
|
61
|
+
// Draw NCI logo in profile picture area (upper right), 15% larger than normal
|
|
62
|
+
const logoWidth = 75;
|
|
63
|
+
const logoHeight = logoWidth * (nciLogoImage.height / nciLogoImage.width);
|
|
64
|
+
const x = width - logoWidth - 15;
|
|
65
|
+
const y = height - logoHeight - 42;
|
|
66
|
+
firstPage.drawImage(nciLogoImage, {
|
|
67
|
+
x: x,
|
|
68
|
+
y: y,
|
|
69
|
+
width: logoWidth,
|
|
70
|
+
height: logoHeight,
|
|
71
|
+
});
|
|
72
|
+
// Still set company logo
|
|
64
73
|
if (companyImage) {
|
|
65
74
|
form.getButton("HalfWidthLogo").setImage(companyImage);
|
|
66
75
|
} else {
|
|
@@ -68,17 +77,20 @@ export async function getReport(payload) {
|
|
|
68
77
|
}
|
|
69
78
|
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
70
79
|
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
71
|
-
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// print company logo and profile picture
|
|
83
|
+
if (!isNCI && profileImage && companyImage) {
|
|
72
84
|
form.getButton("ProfilePicture").setImage(profileImage);
|
|
73
85
|
form.getButton("HalfWidthLogo").setImage(companyImage);
|
|
74
86
|
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
75
87
|
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
76
|
-
} else if (profileImage) {
|
|
88
|
+
} else if (!isNCI && profileImage) {
|
|
77
89
|
form.getButton("ProfilePicture").setImage(profileImage);
|
|
78
90
|
form.getButton("HalfWidthLogo").setImage(mqLogo);
|
|
79
91
|
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
80
92
|
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
81
|
-
} else {
|
|
93
|
+
} else if (!isNCI) {
|
|
82
94
|
if (companyImage) form.getButton("FullWidthLogo").setImage(companyImage);
|
|
83
95
|
else form.getButton("FullWidthLogo").setImage(mqLogo);
|
|
84
96
|
}
|
|
@@ -52,7 +52,7 @@ export async function getReport(payload) {
|
|
|
52
52
|
const logoWidth = 180;
|
|
53
53
|
const logoHeight = logoWidth * (nciLogo.height / nciLogo.width);
|
|
54
54
|
const x = (width - logoWidth) / 2;
|
|
55
|
-
const y = height - logoHeight -
|
|
55
|
+
const y = height - logoHeight - 204; // 204 points from top (~2.8 inches)
|
|
56
56
|
firstPage.drawImage(nciLogo, {
|
|
57
57
|
x: x,
|
|
58
58
|
y: y,
|
|
@@ -200,19 +200,38 @@ export async function getReport(payload) {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
// For NCI projects (CoolMaxx/HeatMaxx),
|
|
204
|
-
let
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
203
|
+
// For NCI projects (CoolMaxx/HeatMaxx), draw NCI logo in place of profile picture (15% larger)
|
|
204
|
+
let isNCI = isNCIProject(payload) && base64.nciLogo;
|
|
205
|
+
if (isNCI) {
|
|
206
|
+
const nciLogoImagePg1 = await pdfDocPg1.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
207
|
+
const nciLogoImagePg2 = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
208
|
+
const pagesPg1 = pdfDocPg1.getPages();
|
|
209
|
+
const pagesPg2 = pdfDocPg2.getPages();
|
|
210
|
+
const firstPagePg1 = pagesPg1[0];
|
|
211
|
+
const firstPagePg2 = pagesPg2[0];
|
|
212
|
+
const { width: width1, height: height1 } = firstPagePg1.getSize();
|
|
213
|
+
const { width: width2, height: height2 } = firstPagePg2.getSize();
|
|
214
|
+
// Draw NCI logo in profile picture area (upper right), 15% larger than normal
|
|
215
|
+
const logoWidth = 75;
|
|
216
|
+
const logoHeight1 = logoWidth * (nciLogoImagePg1.height / nciLogoImagePg1.width);
|
|
217
|
+
const logoHeight2 = logoWidth * (nciLogoImagePg2.height / nciLogoImagePg2.width);
|
|
218
|
+
const x1 = width1 - logoWidth - 15;
|
|
219
|
+
const y1 = height1 - logoHeight1 - 42;
|
|
220
|
+
const x2 = width2 - logoWidth - 15;
|
|
221
|
+
const y2 = height2 - logoHeight2 - 42;
|
|
222
|
+
firstPagePg1.drawImage(nciLogoImagePg1, {
|
|
223
|
+
x: x1,
|
|
224
|
+
y: y1,
|
|
225
|
+
width: logoWidth,
|
|
226
|
+
height: logoHeight1,
|
|
227
|
+
});
|
|
228
|
+
firstPagePg2.drawImage(nciLogoImagePg2, {
|
|
229
|
+
x: x2,
|
|
230
|
+
y: y2,
|
|
231
|
+
width: logoWidth,
|
|
232
|
+
height: logoHeight2,
|
|
233
|
+
});
|
|
234
|
+
// Still set company logo
|
|
216
235
|
if (companyImagePg1) {
|
|
217
236
|
formPg1.getButton("HalfWidthLogo").setImage(companyImagePg1);
|
|
218
237
|
formPg2.getButton("HalfWidthLogo").setImage(companyImagePg2);
|
|
@@ -235,7 +254,10 @@ export async function getReport(payload) {
|
|
|
235
254
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
236
255
|
);
|
|
237
256
|
}
|
|
238
|
-
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
// print company logo and profile picture
|
|
260
|
+
if (!isNCI && profileImagePg1 && companyImagePg1) {
|
|
239
261
|
formPg1.getButton("ProfilePicture").setImage(profileImagePg1);
|
|
240
262
|
formPg1.getButton("HalfWidthLogo").setImage(companyImagePg1);
|
|
241
263
|
formPg2.getButton("ProfilePicture").setImage(profileImagePg2);
|
|
@@ -255,7 +277,7 @@ export async function getReport(payload) {
|
|
|
255
277
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
256
278
|
);
|
|
257
279
|
}
|
|
258
|
-
} else if (profileImagePg1) {
|
|
280
|
+
} else if (!isNCI && profileImagePg1) {
|
|
259
281
|
formPg1.getButton("ProfilePicture").setImage(profileImagePg1);
|
|
260
282
|
formPg1.getButton("HalfWidthLogo").setImage(mqLogoPg1);
|
|
261
283
|
formPg2.getButton("ProfilePicture").setImage(profileImagePg2);
|
|
@@ -275,7 +297,7 @@ export async function getReport(payload) {
|
|
|
275
297
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
276
298
|
);
|
|
277
299
|
}
|
|
278
|
-
} else {
|
|
300
|
+
} else if (!isNCI) {
|
|
279
301
|
if (companyImagePg1) {
|
|
280
302
|
formPg1.getButton("FullWidthLogo").setImage(companyImagePg1);
|
|
281
303
|
formPg2.getButton("FullWidthLogo").setImage(companyImagePg2);
|
|
@@ -127,16 +127,25 @@ export async function getReport(payload, _test) {
|
|
|
127
127
|
// get text fields
|
|
128
128
|
let textFields = getTextFields(payload, t);
|
|
129
129
|
|
|
130
|
-
// For NCI projects (CoolMaxx/HeatMaxx),
|
|
131
|
-
let
|
|
132
|
-
if (
|
|
133
|
-
nciLogoImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
130
|
+
// For NCI projects (CoolMaxx/HeatMaxx), draw NCI logo in place of profile picture (15% larger)
|
|
131
|
+
let isNCI = isNCIProject(payload) && base64.nciLogo;
|
|
132
|
+
if (isNCI) {
|
|
133
|
+
const nciLogoImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
134
|
+
const pages = pdfDoc.getPages();
|
|
135
|
+
const firstPage = pages[0];
|
|
136
|
+
const { width, height } = firstPage.getSize();
|
|
137
|
+
// Draw NCI logo in profile picture area (upper right), 15% larger than normal
|
|
138
|
+
const logoWidth = 75;
|
|
139
|
+
const logoHeight = logoWidth * (nciLogoImage.height / nciLogoImage.width);
|
|
140
|
+
const x = width - logoWidth - 15;
|
|
141
|
+
const y = height - logoHeight - 42;
|
|
142
|
+
firstPage.drawImage(nciLogoImage, {
|
|
143
|
+
x: x,
|
|
144
|
+
y: y,
|
|
145
|
+
width: logoWidth,
|
|
146
|
+
height: logoHeight,
|
|
147
|
+
});
|
|
148
|
+
// Still set company logo
|
|
140
149
|
if (companyImage) {
|
|
141
150
|
form.getButton("HalfWidthLogo").setImage(companyImage);
|
|
142
151
|
} else {
|
|
@@ -151,7 +160,10 @@ export async function getReport(payload, _test) {
|
|
|
151
160
|
.setText(
|
|
152
161
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
153
162
|
);
|
|
154
|
-
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// print company logo and profile picture
|
|
166
|
+
if (!isNCI && profileImage && companyImage) {
|
|
155
167
|
// both images are embedded in the document
|
|
156
168
|
form.getButton("ProfilePicture").setImage(profileImage);
|
|
157
169
|
form.getButton("HalfWidthLogo").setImage(companyImage);
|
|
@@ -164,7 +176,7 @@ export async function getReport(payload, _test) {
|
|
|
164
176
|
.setText(
|
|
165
177
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
166
178
|
);
|
|
167
|
-
} else if (profileImage) {
|
|
179
|
+
} else if (!isNCI && profileImage) {
|
|
168
180
|
// no company logo is embedded in the document
|
|
169
181
|
form.getButton("ProfilePicture").setImage(profileImage);
|
|
170
182
|
form.getButton("HalfWidthLogo").setImage(mqLogo);
|
|
@@ -177,7 +189,7 @@ export async function getReport(payload, _test) {
|
|
|
177
189
|
.setText(
|
|
178
190
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
179
191
|
);
|
|
180
|
-
} else {
|
|
192
|
+
} else if (!isNCI) {
|
|
181
193
|
// no profile picture is embedded in the document
|
|
182
194
|
if (companyImage) form.getButton("FullWidthLogo").setImage(companyImage);
|
|
183
195
|
else form.getButton("FullWidthLogo").setImage(mqLogo);
|
|
@@ -115,16 +115,25 @@ export async function getReport(payload, _test) {
|
|
|
115
115
|
t.manifoldKey = manifoldKey;
|
|
116
116
|
let textFields = getTextFields(payload, t);
|
|
117
117
|
|
|
118
|
-
// For NCI projects (CoolMaxx/HeatMaxx),
|
|
119
|
-
let
|
|
120
|
-
if (
|
|
121
|
-
nciLogoImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
118
|
+
// For NCI projects (CoolMaxx/HeatMaxx), draw NCI logo in place of profile picture (15% larger)
|
|
119
|
+
let isNCI = isNCIProject(payload) && base64.nciLogo;
|
|
120
|
+
if (isNCI) {
|
|
121
|
+
const nciLogoImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
122
|
+
const pages = pdfDoc.getPages();
|
|
123
|
+
const firstPage = pages[0];
|
|
124
|
+
const { width, height } = firstPage.getSize();
|
|
125
|
+
// Draw NCI logo in profile picture area (upper right), 15% larger than normal
|
|
126
|
+
const logoWidth = 75;
|
|
127
|
+
const logoHeight = logoWidth * (nciLogoImage.height / nciLogoImage.width);
|
|
128
|
+
const x = width - logoWidth - 15;
|
|
129
|
+
const y = height - logoHeight - 42;
|
|
130
|
+
firstPage.drawImage(nciLogoImage, {
|
|
131
|
+
x: x,
|
|
132
|
+
y: y,
|
|
133
|
+
width: logoWidth,
|
|
134
|
+
height: logoHeight,
|
|
135
|
+
});
|
|
136
|
+
// Still set company logo
|
|
128
137
|
if (companyImage) {
|
|
129
138
|
safeSetImage(form, "HalfWidthLogo", companyImage);
|
|
130
139
|
} else {
|
|
@@ -139,7 +148,10 @@ export async function getReport(payload, _test) {
|
|
|
139
148
|
"TechName",
|
|
140
149
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
141
150
|
);
|
|
142
|
-
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// print company logo and profile picture
|
|
154
|
+
if (!isNCI && profileImage && companyImage) {
|
|
143
155
|
safeSetImage(form, "ProfilePicture", profileImage);
|
|
144
156
|
safeSetImage(form, "HalfWidthLogo", companyImage);
|
|
145
157
|
if (
|
|
@@ -151,7 +163,7 @@ export async function getReport(payload, _test) {
|
|
|
151
163
|
"TechName",
|
|
152
164
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
153
165
|
);
|
|
154
|
-
} else if (profileImage) {
|
|
166
|
+
} else if (!isNCI && profileImage) {
|
|
155
167
|
safeSetImage(form, "ProfilePicture", profileImage);
|
|
156
168
|
safeSetImage(form, "HalfWidthLogo", mqLogo);
|
|
157
169
|
if (
|
|
@@ -163,7 +175,7 @@ export async function getReport(payload, _test) {
|
|
|
163
175
|
"TechName",
|
|
164
176
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
165
177
|
);
|
|
166
|
-
} else {
|
|
178
|
+
} else if (!isNCI) {
|
|
167
179
|
if (companyImage) safeSetImage(form, "FullWidthLogo", companyImage);
|
|
168
180
|
else safeSetImage(form, "FullWidthLogo", mqLogo);
|
|
169
181
|
}
|
|
@@ -128,16 +128,25 @@ export async function getReport(payload, _test) {
|
|
|
128
128
|
t.manifoldKey = manifoldKey;
|
|
129
129
|
let textFields = getTextFields(payload, t);
|
|
130
130
|
|
|
131
|
-
// For NCI projects (CoolMaxx/HeatMaxx),
|
|
132
|
-
let
|
|
133
|
-
if (
|
|
134
|
-
nciLogoImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
131
|
+
// For NCI projects (CoolMaxx/HeatMaxx), draw NCI logo in place of profile picture (15% larger)
|
|
132
|
+
let isNCI = isNCIProject(payload) && base64.nciLogo;
|
|
133
|
+
if (isNCI) {
|
|
134
|
+
const nciLogoImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64.nciLogo));
|
|
135
|
+
const pages = pdfDoc.getPages();
|
|
136
|
+
const firstPage = pages[0];
|
|
137
|
+
const { width, height } = firstPage.getSize();
|
|
138
|
+
// Draw NCI logo in profile picture area (upper right), 15% larger than normal
|
|
139
|
+
const logoWidth = 75;
|
|
140
|
+
const logoHeight = logoWidth * (nciLogoImage.height / nciLogoImage.width);
|
|
141
|
+
const x = width - logoWidth - 15;
|
|
142
|
+
const y = height - logoHeight - 42;
|
|
143
|
+
firstPage.drawImage(nciLogoImage, {
|
|
144
|
+
x: x,
|
|
145
|
+
y: y,
|
|
146
|
+
width: logoWidth,
|
|
147
|
+
height: logoHeight,
|
|
148
|
+
});
|
|
149
|
+
// Still set company logo
|
|
141
150
|
if (companyImage) {
|
|
142
151
|
safeSetImage(form, "HalfWidthLogo", companyImage);
|
|
143
152
|
} else {
|
|
@@ -152,7 +161,10 @@ export async function getReport(payload, _test) {
|
|
|
152
161
|
"TechName",
|
|
153
162
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
154
163
|
);
|
|
155
|
-
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// print company logo and profile picture
|
|
167
|
+
if (!isNCI && profileImage && companyImage) {
|
|
156
168
|
safeSetImage(form, "ProfilePicture", profileImage);
|
|
157
169
|
safeSetImage(form, "HalfWidthLogo", companyImage);
|
|
158
170
|
if (
|
|
@@ -164,7 +176,7 @@ export async function getReport(payload, _test) {
|
|
|
164
176
|
"TechName",
|
|
165
177
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
166
178
|
);
|
|
167
|
-
} else if (profileImage) {
|
|
179
|
+
} else if (!isNCI && profileImage) {
|
|
168
180
|
safeSetImage(form, "ProfilePicture", profileImage);
|
|
169
181
|
safeSetImage(form, "HalfWidthLogo", mqLogo);
|
|
170
182
|
if (
|
|
@@ -176,7 +188,7 @@ export async function getReport(payload, _test) {
|
|
|
176
188
|
"TechName",
|
|
177
189
|
`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`
|
|
178
190
|
);
|
|
179
|
-
} else {
|
|
191
|
+
} else if (!isNCI) {
|
|
180
192
|
if (companyImage) safeSetImage(form, "FullWidthLogo", companyImage);
|
|
181
193
|
else safeSetImage(form, "FullWidthLogo", mqLogo);
|
|
182
194
|
}
|