@measurequick/measurequick-report-generator 1.1.63 → 1.1.65
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
CHANGED
|
@@ -15,7 +15,7 @@ export async function getReport(payload) {
|
|
|
15
15
|
"iconBluflame", "iconRedfish510", "iconRedfish510333", "iconRedfish550", "iconDg1000", "iconTrueflow"];
|
|
16
16
|
for (let label of labels) embeddedIcons[label] = await pdfDoc.embedPng(util._base64ToArrayBuffer(base64[label]));
|
|
17
17
|
|
|
18
|
-
let scoreDeduction = payload.
|
|
18
|
+
let scoreDeduction = payload.tests[0].testInfo.score_deduction? payload.tests[0].testInfo.score_deduction : 0;
|
|
19
19
|
let systemScorePercentage = +(100 - +(scoreDeduction.toFixed(0)));
|
|
20
20
|
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
21
21
|
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
@@ -5,10 +5,9 @@ import * as util from '../util.js';
|
|
|
5
5
|
import * as fontFile from '../base-64/font.js';
|
|
6
6
|
import * as pdf from '../base-64/measurement-details-page.js';
|
|
7
7
|
|
|
8
|
-
let embeddedIcons = {};
|
|
9
|
-
|
|
10
|
-
export async function getReport(payload) { console.log("payload");console.log(payload);
|
|
8
|
+
let embeddedIcons = { test_in: {}, test_out: {} };
|
|
11
9
|
|
|
10
|
+
export async function getReport(payload) { console.log(payload);
|
|
12
11
|
const pdfDocPg1 = await PDFDocument.load(util._base64ToArrayBuffer(pdf.base64));
|
|
13
12
|
const pdfDocPg2 = await PDFDocument.load(util._base64ToArrayBuffer(pdf.base64));
|
|
14
13
|
|
|
@@ -41,14 +40,14 @@ export async function getReport(payload) { console.log("payload");console.log(pa
|
|
|
41
40
|
let labels = ["iconRangeHigh", "iconRangeLow", "iconRangeNormal", "iconTesto", "iconCalculator", "iconFieldpiece",
|
|
42
41
|
"iconUei", "iconSporlanPro", "iconSporlanLegacy", "iconIconnect", "iconImanifold", "iconSensi",
|
|
43
42
|
"iconBluflame", "iconRedfish510", "iconRedfish510333", "iconRedfish550", "iconDg1000", "iconTrueflow"];
|
|
44
|
-
for (let label of labels) embeddedIcons[label] = await pdfDocPg1.embedPng(util._base64ToArrayBuffer(base64[label]));
|
|
45
|
-
for (let label of labels) embeddedIcons[label] = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(base64[label]));
|
|
43
|
+
for (let label of labels) embeddedIcons.test_in[label] = await pdfDocPg1.embedPng(util._base64ToArrayBuffer(base64[label]));
|
|
44
|
+
for (let label of labels) embeddedIcons.test_out[label] = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(base64[label]));
|
|
46
45
|
|
|
47
46
|
let form = formPg1;
|
|
48
47
|
|
|
49
48
|
for (let t = 0; t < payload.tests.length; t++) {
|
|
50
|
-
let
|
|
51
|
-
if ((t == 0 && payload.tests.length == 1) || t == 1)
|
|
49
|
+
let section = 'test_in';
|
|
50
|
+
if ((t == 0 && payload.tests.length == 1) || t == 1) section = 'test_out';
|
|
52
51
|
let test = payload.tests[t].testInfo;
|
|
53
52
|
if (t == 1) form = formPg2;
|
|
54
53
|
let date = new Date();
|
|
@@ -63,7 +62,7 @@ export async function getReport(payload) { console.log("payload");console.log(pa
|
|
|
63
62
|
form.getTextField('Time of Service').setText(date.toLocaleTimeString("en-US"));
|
|
64
63
|
}
|
|
65
64
|
|
|
66
|
-
let scoreDeduction = payload.
|
|
65
|
+
let scoreDeduction = payload.tests[t].testInfo.score_deduction ? payload.tests[t].testInfo.score_deduction : 0;
|
|
67
66
|
let systemScorePercentage = +(100 - +(scoreDeduction.toFixed(0)));
|
|
68
67
|
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
69
68
|
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
@@ -74,9 +73,12 @@ export async function getReport(payload) { console.log("payload");console.log(pa
|
|
|
74
73
|
form.getTextField('Information Text').setText("What Are Your System Vitals?\nJust like your health vitals, temperature, pulse, blood pressure etc, your A/C system vitals show the overall health of your air conditioning system. These vitals account for both the refrigerant and air delivery side of the system. System targets that are out of range are typically related to a system diagnostic listed below. Correcting the diagnostic faults, if possible, should put the system vitals back in the normal range.");
|
|
75
74
|
|
|
76
75
|
for (let blockNum = 1; blockNum < 5; blockNum++) {
|
|
77
|
-
form.getTextField(`Block${blockNum}-Title`).setText(payload
|
|
76
|
+
form.getTextField(`Block${blockNum}-Title`).setText(payload[section][`title${blockNum}`]);
|
|
78
77
|
for (let rowNum = 1; rowNum < 14; rowNum++) {
|
|
79
|
-
let measurement = payload.
|
|
78
|
+
let measurement;// = payload.test_in[`block${blockNum}`][rowNum-1];
|
|
79
|
+
//let measurement1, measurement2;
|
|
80
|
+
if (t == 0) measurement = payload.test_in[`block${blockNum}`][rowNum-1];
|
|
81
|
+
else if (t == 1) measurement = payload.test_out[`block${blockNum}`][rowNum-1];
|
|
80
82
|
if (measurement) {
|
|
81
83
|
let units = measurement.units ? `(${measurement.units})` : "";
|
|
82
84
|
form.getTextField(`Block${blockNum}-Row${rowNum}-Col1`).setText(`${measurement.label} ${units}`);
|
|
@@ -85,9 +87,9 @@ export async function getReport(payload) { console.log("payload");console.log(pa
|
|
|
85
87
|
else if (measurement.fixTo) val = val.toFixed(measurement.fixTo);
|
|
86
88
|
form.getTextField(`Block${blockNum}-Row${rowNum}-Col2`).setText(`${val}`);
|
|
87
89
|
if (blockNum != 4) {
|
|
88
|
-
let rangeIcon = util.getRangeIcon(test, measurement.ref, embeddedIcons);
|
|
90
|
+
let rangeIcon = util.getRangeIcon(test, measurement.ref, embeddedIcons[section]);
|
|
89
91
|
if (rangeIcon && payload.meta.show_range_indicators) form.getButton(`Block${blockNum}-Row${rowNum}-Col3`).setImage(rangeIcon);
|
|
90
|
-
let toolIcon = util.getToolIcon(test, measurement.ref, embeddedIcons);
|
|
92
|
+
let toolIcon = util.getToolIcon(test, measurement.ref, embeddedIcons[section]);
|
|
91
93
|
if (toolIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(toolIcon);
|
|
92
94
|
}
|
|
93
95
|
} else break;
|
|
@@ -97,8 +99,10 @@ export async function getReport(payload) { console.log("payload");console.log(pa
|
|
|
97
99
|
formPg1.flatten();
|
|
98
100
|
formPg2.flatten();
|
|
99
101
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
if (payload.tests.length > 1) {
|
|
103
|
+
const [secondPage] = await pdfDocPg1.copyPages(pdfDocPg2, [0]);
|
|
104
|
+
pdfDocPg1.insertPage(1, secondPage);
|
|
105
|
+
}
|
|
102
106
|
|
|
103
107
|
return await pdfDocPg1.saveAsBase64({ dataUri: true });
|
|
104
108
|
}
|
|
@@ -36,7 +36,7 @@ export async function getReport(payload) { console.log(payload);
|
|
|
36
36
|
|
|
37
37
|
// print system diagnostics section
|
|
38
38
|
let scoreDeduction = 0;
|
|
39
|
-
let t = payload.
|
|
39
|
+
let t = payload.tests[0].testInfo;
|
|
40
40
|
if (t && t.diagnostics && t.diagnostics.multi_point_analysis && t.diagnostics.multi_point_analysis.length > 0) {
|
|
41
41
|
for (let i = 0; i < 9; i++) {
|
|
42
42
|
let d = t.diagnostics.multi_point_analysis[i];
|
|
@@ -126,15 +126,15 @@ export async function getReport(payload) { console.log(payload);
|
|
|
126
126
|
for (let i = 0; i < measureLabels.length; i++) {
|
|
127
127
|
let iconPlacement = "Mid";
|
|
128
128
|
let icon = iconRangeRed;
|
|
129
|
-
let actual = +payload.
|
|
130
|
-
let mid = +payload.
|
|
131
|
-
let low = +payload.
|
|
132
|
-
let high = +payload.
|
|
129
|
+
let actual = +payload.tests[0].testInfo.data[targetKeys[i]];
|
|
130
|
+
let mid = +payload.tests[0].testInfo.targets[targetKeys[i]];
|
|
131
|
+
let low = +payload.tests[0].testInfo.targets[`${targetKeys[i]}_ideal_low`];
|
|
132
|
+
let high = +payload.tests[0].testInfo.targets[`${targetKeys[i]}_ideal_high`];
|
|
133
133
|
low = mid - low;
|
|
134
134
|
high = mid + high;
|
|
135
135
|
if (targetKeys[i] == "pressure_static_total_external") high = mid * 1.4;
|
|
136
136
|
else if (targetKeys[i] == "velocity_face_filter1") high = 500;
|
|
137
|
-
let val = payload.
|
|
137
|
+
let val = payload.tests[0].testInfo.data[targetKeys[i]];
|
|
138
138
|
if (actual < low && targetKeys[i] != "velocity_face_filter1") iconPlacement = "Low";
|
|
139
139
|
else if (actual > high) iconPlacement = "High";
|
|
140
140
|
else if (val) icon = iconRangeGreen;
|
|
@@ -148,7 +148,7 @@ export async function getReport(payload) { console.log(payload);
|
|
|
148
148
|
// print pass fail measures
|
|
149
149
|
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"];
|
|
150
150
|
for (let i = 1; i <= passFails.length; i++) {
|
|
151
|
-
let meas = payload.
|
|
151
|
+
let meas = payload.tests[0].testInfo[passFails[i - 1]];
|
|
152
152
|
let icon = meas == "Pass" || meas == "High" || meas == "Mid" ? iconRangeGreen : iconRangeRed;
|
|
153
153
|
console.log(passFails[i - 1] + " || " + meas + " || " + icon);
|
|
154
154
|
form.getButton(`ImageSubsystem${i}_af_image`).setImage(icon);
|
|
@@ -161,7 +161,7 @@ export async function getReport(payload) { console.log(payload);
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
function getTextFields(payload) {
|
|
164
|
-
let test = payload.
|
|
164
|
+
let test = payload.tests[0].testInfo;
|
|
165
165
|
return {
|
|
166
166
|
"cName": payload.site.customer.first_name && payload.site.customer.last_name ? `${payload.site.customer.first_name} ${payload.site.customer.last_name}` : "",
|
|
167
167
|
"address": payload.site.location.address ? payload.site.location.address : "",
|
|
@@ -37,7 +37,7 @@ export async function getReport(payload) { console.log("Vitals Heating Report");
|
|
|
37
37
|
// print system diagnostics section
|
|
38
38
|
let scoreDeduction = 0;
|
|
39
39
|
|
|
40
|
-
let systemScorePercentage = payload.
|
|
40
|
+
let systemScorePercentage = payload.tests[0].testInfo.data.efficiency_gcv;
|
|
41
41
|
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
42
42
|
let systemScoreColor = util.getColorFromGrade(systemScoreGrade);
|
|
43
43
|
|
|
@@ -112,7 +112,7 @@ export async function getReport(payload) { console.log("Vitals Heating Report");
|
|
|
112
112
|
high = mid + high;
|
|
113
113
|
if (targetKeys[i] == "pressure_static_total_external") high = mid * 1.4;
|
|
114
114
|
else if (targetKeys[i] == "velocity_face_filter1") high = 500;
|
|
115
|
-
let val = payload.
|
|
115
|
+
let val = payload.tests[0].testInfo.data[targetKeys[i]];
|
|
116
116
|
if (actual < low && targetKeys[i] != "velocity_face_filter1") iconPlacement = "Low";
|
|
117
117
|
else if (actual > high) iconPlacement = "High";
|
|
118
118
|
else if (val) icon = iconRangeGreen;
|
|
@@ -154,7 +154,7 @@ export async function getReport(payload) { console.log("Vitals Heating Report");
|
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
function getTextFields(payload) {
|
|
157
|
-
let test = payload.
|
|
157
|
+
let test = payload.tests[0].testInfo;
|
|
158
158
|
return {
|
|
159
159
|
"cName": payload.site.customer.first_name && payload.site.customer.last_name ? `${payload.site.customer.first_name} ${payload.site.customer.last_name}` : "",
|
|
160
160
|
"address": payload.site.location.address ? payload.site.location.address : "",
|