@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measurequick/measurequick-report-generator",
3
- "version": "1.1.63",
3
+ "version": "1.1.65",
4
4
  "description": "Generates PDF documents for various MeasureQuick applications.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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.meta.score_deduction? payload.meta.score_deduction : 0;
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 testSection = "test_in";
51
- if ((t == 0 && payload.tests.length == 1) || t == 1) testSection = "test_out";
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.meta.score_deduction? payload.meta.score_deduction : 0;
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.measurements[testSection][`title${blockNum}`]);
76
+ form.getTextField(`Block${blockNum}-Title`).setText(payload[section][`title${blockNum}`]);
78
77
  for (let rowNum = 1; rowNum < 14; rowNum++) {
79
- let measurement = payload.measurements[testSection][`block${blockNum}`][rowNum-1];
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
- const [secondPage] = await pdfDocPg1.copyPages(pdfDocPg2, [0]);
101
- if (payload.project.tests.length > 1) pdfDocPg1.insertPage(1, secondPage);
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.test.testInfo;
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.test.testInfo.data[targetKeys[i]];
130
- let mid = +payload.test.testInfo.targets[targetKeys[i]];
131
- let low = +payload.test.testInfo.targets[`${targetKeys[i]}_ideal_low`];
132
- let high = +payload.test.testInfo.targets[`${targetKeys[i]}_ideal_high`];
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.test.testInfo.data[targetKeys[i]];
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.test.testInfo[passFails[i - 1]];
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.test.testInfo;
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.test.testInfo.data.efficiency_gcv;
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.test.testInfo.data[targetKeys[i]];
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.test.testInfo;
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 : "",