@measurequick/measurequick-report-generator 1.2.80 → 1.2.82
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/index.js +1 -1
- package/package.json +1 -1
- package/report-gen-scripts/corrective-measures.js +116 -106
package/index.js
CHANGED
|
@@ -20,6 +20,6 @@ export function getReport(payload) {
|
|
|
20
20
|
case "PtcsHeatPumpReport": return ptcsHeatPumpReport.getReport(payload);
|
|
21
21
|
case "VitalsCoolingReport": return vitalsCoolingReport.getReport(payload, false);
|
|
22
22
|
case "VitalsHeatingReport": return vitalsHeatingReport.getReport(payload, false);
|
|
23
|
-
case "
|
|
23
|
+
case "BluVacReport": return bluvacReport.getReport(payload);
|
|
24
24
|
}
|
|
25
25
|
}
|
package/package.json
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
PDFDocument
|
|
3
|
+
} from 'pdf-lib';
|
|
2
4
|
import * as base64 from '../base-64/icons.js';
|
|
3
5
|
import * as pdf from '../base-64/corrective-measures-page.js';
|
|
4
6
|
import * as pdf2 from '../base-64/corrective-measures-page-2.js';
|
|
@@ -6,125 +8,133 @@ import * as util from '../util.js';
|
|
|
6
8
|
|
|
7
9
|
let embeddedIcons = {};
|
|
8
10
|
|
|
9
|
-
export async function getReport(payload) {
|
|
11
|
+
export async function getReport(payload) {
|
|
12
|
+
console.log("Corrective Measures - Payload:");
|
|
13
|
+
console.log(payload);
|
|
10
14
|
|
|
11
15
|
try {
|
|
12
|
-
|
|
16
|
+
let b64 = payload.tests.length < 2 ? pdf : pdf2;
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
const pdfDoc = await PDFDocument.load(util._base64ToArrayBuffer(b64.base64));
|
|
15
19
|
|
|
16
|
-
|
|
20
|
+
const form = pdfDoc.getForm();
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
let labels = ["iconRangeHigh", "iconRangeLow", "iconRangeNormal", "iconTesto", "iconCalculator", "iconFieldpiece",
|
|
23
|
+
"iconUei", "iconSporlanPro", "iconSporlanLegacy", "iconIconnect", "iconImanifold", "iconSensi", "iconDg8",
|
|
24
|
+
"iconBluflame", "iconRedfish510", "iconRedfish510333", "iconRedfish550", "iconDg1000", "iconTrueflow", "iconThumbprintRed", "iconThumbprintGreen", "iconThumbprintYellow", "whiteBox"
|
|
25
|
+
];
|
|
26
|
+
for (let label of labels) embeddedIcons[label] = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64[label]));
|
|
27
|
+
const mqLogoBytes = util._base64ToArrayBuffer(base64.mqLogo);
|
|
28
|
+
const mqLogo = await pdfDoc.embedPng(mqLogoBytes);
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
// embed company logo and profile picture
|
|
31
|
+
let profileImage, companyImage;
|
|
32
|
+
let profileImageType = util.checkProfilePicture(payload.meta);
|
|
33
|
+
let companyImageType = util.checkCompanyLogo(payload.meta);
|
|
34
|
+
if (profileImageType) {
|
|
35
|
+
if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
|
|
36
|
+
else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
|
|
37
|
+
if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
|
|
38
|
+
else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
|
|
39
|
+
}
|
|
40
|
+
if (companyImageType == "jpg") companyImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
41
|
+
else if (companyImageType == "png") companyImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
37
42
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
// print company logo and profile picture
|
|
44
|
+
if (profileImage && companyImage) {
|
|
45
|
+
form.getButton("ProfilePicture").setImage(profileImage);
|
|
46
|
+
form.getButton("HalfWidthLogo").setImage(companyImage);
|
|
47
|
+
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
48
|
+
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
49
|
+
} else if (profileImage) {
|
|
50
|
+
form.getButton("ProfilePicture").setImage(profileImage);
|
|
51
|
+
form.getButton("HalfWidthLogo").setImage(mqLogo);
|
|
52
|
+
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
53
|
+
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
54
|
+
} else {
|
|
55
|
+
if (companyImage) form.getButton("FullWidthLogo").setImage(companyImage);
|
|
56
|
+
else form.getButton("FullWidthLogo").setImage(mqLogo);
|
|
57
|
+
}
|
|
53
58
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
let scoreHeader = payload.tests.length > 1 ? "Test In Score" : "Your System Score";
|
|
60
|
+
form.getTextField("YourSystemScoreHeader").setText(scoreHeader);
|
|
61
|
+
let systemScorePercentage = payload.tests[0].testInfo.data.vitals_score ? +payload.tests[0].testInfo.data.vitals_score.toFixed(0) : 0;
|
|
62
|
+
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
63
|
+
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
64
|
+
if (!payload.tests[0].testInfo.data.vitals_score) {
|
|
65
|
+
systemScorePercentage = "--";
|
|
66
|
+
systemScoreGrade = "";
|
|
67
|
+
} else systemScorePercentage += "%";
|
|
68
|
+
form.getTextField(`YourSystemScore${systemScoreColor}`).setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
69
|
+
|
|
70
|
+
if (payload.tests.length > 1) {
|
|
71
|
+
form.getTextField("YourSystemScoreHeader2").setText("Test Out Score");
|
|
72
|
+
systemScorePercentage = payload.tests[1].testInfo.data.vitals_score ? +payload.tests[1].testInfo.data.vitals_score.toFixed(0) : 0;
|
|
73
|
+
systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
74
|
+
systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
75
|
+
if (!payload.tests[1].testInfo.data.vitals_score) {
|
|
60
76
|
systemScorePercentage = "--";
|
|
61
77
|
systemScoreGrade = "";
|
|
62
78
|
} else systemScorePercentage += "%";
|
|
63
|
-
form.getTextField(`YourSystemScore${systemScoreColor}`).setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
64
|
-
|
|
65
|
-
if (payload.tests.length > 1) {
|
|
66
|
-
form.getTextField("YourSystemScoreHeader2").setText("Test Out Score");
|
|
67
|
-
systemScorePercentage = payload.tests[1].testInfo.data.vitals_score ? +payload.tests[1].testInfo.data.vitals_score.toFixed(0) : 0;
|
|
68
|
-
systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
69
|
-
systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
70
|
-
if (!payload.tests[1].testInfo.data.vitals_score) {
|
|
71
|
-
systemScorePercentage = "--";
|
|
72
|
-
systemScoreGrade = "";
|
|
73
|
-
} else systemScorePercentage += "%";
|
|
74
|
-
form.getTextField(`YourSystemScore${systemScoreColor}2`).setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
75
|
-
}
|
|
79
|
+
form.getTextField(`YourSystemScore${systemScoreColor}2`).setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
80
|
+
}
|
|
76
81
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
form.getTextField(`Block1-Title`).setText(payload.system_data.title1);
|
|
83
|
+
for (let rowNum = 1; rowNum < 12; rowNum++) {
|
|
84
|
+
let measurement = payload.system_data[`block1`][rowNum - 1];
|
|
85
|
+
if (measurement) form.getTextField(`Block1-Row${rowNum}`).setText(`${measurement.value}`);
|
|
86
|
+
else break;
|
|
87
|
+
}
|
|
83
88
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
form.getTextField(`Block2-Title`).setText(payload.system_data.title2);
|
|
90
|
+
for (let rowNum = 1; rowNum < 12; rowNum++) {
|
|
91
|
+
let measurement = payload.system_data[`block2`][rowNum - 1];
|
|
92
|
+
if (measurement) {
|
|
93
|
+
form.getTextField(`Block2-Row${rowNum}-Col1`).setText(measurement.label);
|
|
94
|
+
let val = measurement.value ? measurement.value : payload.equipment[measurement.ref];
|
|
95
|
+
form.getTextField(`Block2-Row${rowNum}-Col2`).setText(`${val}`);
|
|
96
|
+
let icon; // = util.getRangeIcon(test, measurement.ref);
|
|
97
|
+
if (icon) form.getButton(`Block2-Row${rowNum}-Col3`).setImage(icon);
|
|
98
|
+
} else break;
|
|
99
|
+
}
|
|
95
100
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
|
|
101
|
+
form.getTextField(`Block3-Title`).setText(payload.system_data.title3);
|
|
102
|
+
let caIndex = 0;
|
|
103
|
+
let header;
|
|
104
|
+
for (let colNum = 1; colNum < 4; colNum++) {
|
|
105
|
+
let row = 1;
|
|
106
|
+
let caMeas = payload.system_data.block3[caIndex];
|
|
107
|
+
if (caMeas && header == caMeas.ref) {
|
|
108
|
+
form.getTextField(`CA-Col${colNum}-Row${row}-Bold`).setText(`${caMeas.ref} (Cont.)`);
|
|
109
|
+
row++;
|
|
110
|
+
}
|
|
111
|
+
for (let rowNum = row; rowNum < 24; rowNum++) {
|
|
112
|
+
caMeas = payload.system_data.block3[caIndex];
|
|
113
|
+
console.log(caMeas);
|
|
114
|
+
if (caMeas && (payload.meta.report_type == 'CorrectiveMeasures' || (payload.meta.report_type == 'FullReport' && caMeas.ref != 'Condensate Drain System' && caMeas.ref != 'Outdoor Equipment' && caMeas.ref != 'Indoor Equipment' && caMeas.ref != 'Cooling Efficiency'))) {
|
|
115
|
+
if (header !== caMeas.ref) {
|
|
116
|
+
if (rowNum + 2 > 23) {
|
|
117
|
+
colNum++;
|
|
118
|
+
rowNum = 1;
|
|
119
|
+
} else {
|
|
120
|
+
if (rowNum != 1) rowNum++;
|
|
121
|
+
form.getTextField(`CA-Col${colNum}-Row${rowNum}-Bold`).setText(caMeas.ref);
|
|
122
|
+
rowNum++;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
header = caMeas.ref;
|
|
126
|
+
form.getTextField(`CA-Col${colNum}-Row${rowNum}`).setText(caMeas.label);
|
|
127
|
+
caIndex++;
|
|
128
|
+
} else caIndex++;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
125
131
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
132
|
+
form.flatten();
|
|
133
|
+
return await pdfDoc.saveAsBase64({
|
|
134
|
+
dataUri: true
|
|
135
|
+
});
|
|
136
|
+
} catch (error) {
|
|
137
|
+
console.log(error)
|
|
138
|
+
}
|
|
129
139
|
|
|
130
140
|
}
|