@measurequick/measurequick-report-generator 1.2.53 → 1.2.55
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 +9 -12
- package/report-gen-scripts/cover-page.js +13 -16
- package/report-gen-scripts/full-report.js +2 -0
- package/report-gen-scripts/vitals-cooling-report.js +12 -15
- package/report-gen-scripts/vitals-heating-report.js +9 -12
- package/util.js +21 -0
package/package.json
CHANGED
|
@@ -20,19 +20,16 @@ export async function getReport(payload) {
|
|
|
20
20
|
|
|
21
21
|
// embed company logo and profile picture
|
|
22
22
|
let profileImage, companyImage;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
if (payload.meta.pdf_settings.includeCompanyLogo && payload.meta.profile_settings.companyLogoBase64) {
|
|
33
|
-
if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) companyImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
34
|
-
else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) companyImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
23
|
+
let profileImageType = util.checkProfilePicture(payload.meta);
|
|
24
|
+
let companyImageType = util.checkCompanyLogo(payload.meta);
|
|
25
|
+
if (profileImageType) {
|
|
26
|
+
if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
|
|
27
|
+
else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
|
|
28
|
+
if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
|
|
29
|
+
else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
|
|
35
30
|
}
|
|
31
|
+
if (companyImageType == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
32
|
+
else if (companyImageType == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
36
33
|
|
|
37
34
|
// print company logo and profile picture
|
|
38
35
|
if (profileImage && companyImage) {
|
|
@@ -4,30 +4,27 @@ import * as util from '../util.js';
|
|
|
4
4
|
|
|
5
5
|
export async function getReport(payload) { console.log("Cover Page");
|
|
6
6
|
const pdfDoc = await PDFDocument.load(util._base64ToArrayBuffer(pdf.base64));
|
|
7
|
-
let
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
else if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/png")) profilePicture = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
|
|
16
|
-
}
|
|
17
|
-
if (payload.meta.profile_settings.companyLogoBase64) {
|
|
18
|
-
if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) companyLogo = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
19
|
-
else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) companyLogo = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
7
|
+
let profileImage, companyImage;
|
|
8
|
+
let profileImageType = util.checkProfilePicture(payload.meta);
|
|
9
|
+
let companyImageType = util.checkCompanyLogo(payload.meta);
|
|
10
|
+
if (profileImageType) {
|
|
11
|
+
if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
|
|
12
|
+
else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
|
|
13
|
+
if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
|
|
14
|
+
else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
|
|
20
15
|
}
|
|
16
|
+
if (companyImageType == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
17
|
+
else if (companyImageType == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
21
18
|
const form = pdfDoc.getForm();
|
|
22
19
|
form.getTextField("Report Title").setText(payload.meta.report_title);
|
|
23
20
|
form.getTextField("Technician Name").setText(payload.meta.technician_name);
|
|
24
21
|
form.getTextField("Company Name").setText(payload.meta.company_name);
|
|
25
22
|
form.getTextField("Date of Service Cover").setText(payload.meta.date_of_service);
|
|
26
23
|
form.getTextField("Time of Service Cover").setText(payload.meta.time_of_service);
|
|
27
|
-
if (
|
|
28
|
-
form.getButton("Profile Picture").setImage(
|
|
24
|
+
if (profileImage) {
|
|
25
|
+
form.getButton("Profile Picture").setImage(profileImage);
|
|
29
26
|
if (companyLogo) form.getButton("Company Logo").setImage(companyLogo);
|
|
30
|
-
} else if (companyLogo) form.getButton("Company Logo Full").setImage(
|
|
27
|
+
} else if (companyLogo) form.getButton("Company Logo Full").setImage(companyImage);
|
|
31
28
|
form.flatten();
|
|
32
29
|
const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
|
|
33
30
|
return pdfBase64;
|
|
@@ -60,6 +60,8 @@ export async function getReport(payload) { console.log("Full Report");
|
|
|
60
60
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
61
61
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
|
|
62
62
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg3);
|
|
63
|
+
} else {
|
|
64
|
+
console.log("cant generate vitals");
|
|
63
65
|
}
|
|
64
66
|
} catch (err) {
|
|
65
67
|
console.log("Vitals Error: " + JSON.stringify(err));
|
|
@@ -35,19 +35,16 @@ export async function getReport(payload, _test) { console.log(payload);
|
|
|
35
35
|
|
|
36
36
|
// embed company logo and profile picture
|
|
37
37
|
let profileImage, companyImage;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (payload.meta.pdf_settings.includeCompanyLogo && payload.meta.profile_settings.companyLogoBase64) {
|
|
48
|
-
if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) companyImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
49
|
-
else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) companyImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
38
|
+
let profileImageType = util.checkProfilePicture(payload.meta);
|
|
39
|
+
let companyImageType = util.checkCompanyLogo(payload.meta);
|
|
40
|
+
if (profileImageType) {
|
|
41
|
+
if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
|
|
42
|
+
else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
|
|
43
|
+
if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
|
|
44
|
+
else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
|
|
50
45
|
}
|
|
46
|
+
if (companyImageType == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
47
|
+
else if (companyImageType == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
51
48
|
|
|
52
49
|
// get form for filling
|
|
53
50
|
const form = pdfDoc.getForm();
|
|
@@ -77,17 +74,17 @@ export async function getReport(payload, _test) { console.log(payload);
|
|
|
77
74
|
let textFields = getTextFields(payload);
|
|
78
75
|
|
|
79
76
|
// print company logo and profile picture
|
|
80
|
-
if (profileImage && companyImage) {
|
|
77
|
+
if (profileImage && companyImage) { // both images are embedded in the document
|
|
81
78
|
form.getButton("ProfilePicture").setImage(profileImage);
|
|
82
79
|
form.getButton("HalfWidthLogo").setImage(companyImage);
|
|
83
80
|
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
84
81
|
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
85
|
-
} else if (profileImage) {
|
|
82
|
+
} else if (profileImage) { // no company logo is embedded in the document
|
|
86
83
|
form.getButton("ProfilePicture").setImage(profileImage);
|
|
87
84
|
form.getButton("HalfWidthLogo").setImage(mqLogo);
|
|
88
85
|
if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
|
|
89
86
|
form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
|
|
90
|
-
} else {
|
|
87
|
+
} else { // no profile picture is embedded in the document
|
|
91
88
|
if (companyImage) form.getButton("FullWidthLogo").setImage(companyImage);
|
|
92
89
|
else form.getButton("FullWidthLogo").setImage(mqLogo);
|
|
93
90
|
}
|
|
@@ -35,19 +35,16 @@ export async function getReport(payload, _test) { console.log("Vitals Heating Re
|
|
|
35
35
|
|
|
36
36
|
// embed company logo and profile picture
|
|
37
37
|
let profileImage, companyImage;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (payload.meta.pdf_settings.includeCompanyLogo && payload.meta.profile_settings.companyLogoBase64) {
|
|
48
|
-
if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) companyImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
49
|
-
else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) companyImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
38
|
+
let profileImageType = util.checkProfilePicture(payload.meta);
|
|
39
|
+
let companyImageType = util.checkCompanyLogo(payload.meta);
|
|
40
|
+
if (profileImageType) {
|
|
41
|
+
if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
|
|
42
|
+
else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
|
|
43
|
+
if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
|
|
44
|
+
else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
|
|
50
45
|
}
|
|
46
|
+
if (companyImageType == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
47
|
+
else if (companyImageType == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
|
|
51
48
|
|
|
52
49
|
// get form for filling
|
|
53
50
|
const form = pdfDoc.getForm();
|
package/util.js
CHANGED
|
@@ -11,6 +11,27 @@ export function _base64ToArrayBuffer(base64) {
|
|
|
11
11
|
return bytes.buffer;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
export function checkCompanyLogo(meta) {
|
|
15
|
+
if (meta.pdf_settings.includeCompanyLogo && meta.profile_settings.companyLogoBase64) {
|
|
16
|
+
if (meta.profile_settings.companyLogoBase64.includes("image/jpeg")) return "jpg";
|
|
17
|
+
else if (meta.profile_settings.companyLogoBase64.includes("image/png")) return "png";
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function checkProfilePicture(meta) {
|
|
23
|
+
if (meta.pdf_settings.includeProfilePic) {
|
|
24
|
+
if (meta.pdf_settings.shapeProfilePic && meta.profile_settings.profilePicCircleBase64) {
|
|
25
|
+
if (meta.profile_settings.profilePicCircleBase64.includes("image/jpeg")) return { type: "jpg", shape: "circle" };
|
|
26
|
+
else if (meta.profile_settings.profilePicCircleBase64.includes("image/png")) return { type: "png", shape: "circle" };
|
|
27
|
+
} else if (meta.profile_settings.profilePicSquareBase64) {
|
|
28
|
+
if (meta.profile_settings.profilePicSquareBase64.includes("image/jpeg")) return { type: "jpg", shape: "square" };
|
|
29
|
+
else if (meta.profile_settings.profilePicSquareBase64.includes("image/png")) return { type: "png", shape: "square" };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
|
|
14
35
|
export function getGradeFromScore(score) {
|
|
15
36
|
let grade = "F";
|
|
16
37
|
if (score == 100) return "A+";
|