@measurequick/measurequick-report-generator 1.4.25 → 1.4.27

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.4.25",
3
+ "version": "1.4.27",
4
4
  "description": "Generates PDF documents for various MeasureQuick applications.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -22,8 +22,8 @@ export async function getReport(payload) {
22
22
 
23
23
  // flatten and return as base64
24
24
  form.flatten();
25
- let _pdf = await pdfDoc.saveAsBase64({ dataUri: true });
26
- return { code: 200, pdf: _pdf };
25
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
26
+ return { code: 200, pdf: pdfBase64 };
27
27
  } catch (error) {
28
28
  return { code: 400, error: error };
29
29
  }
@@ -7,8 +7,8 @@ import * as util from '../util.js';
7
7
  export async function getReport(payload) {
8
8
  try {
9
9
  const pdfDoc = await PDFDocument.load(util._base64ToArrayBuffer(payload.meta.base64));
10
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
11
- return { code: 200, pdf: pdf };
10
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
11
+ return { code: 200, pdf: pdfBase64 };
12
12
  } catch (error) {
13
13
  return { code: 400, error: error };
14
14
  }
@@ -128,8 +128,8 @@ export async function getReport(payload) {
128
128
  /** END CORRECTIVE ACTIONS **/
129
129
 
130
130
  form.flatten();
131
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
132
- return { code: 200, pdf: pdf };
131
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
132
+ return { code: 200, pdf: pdfBase64 };
133
133
  } catch (error) {
134
134
  return { code: 400, error: error };
135
135
  }
@@ -31,8 +31,8 @@ export async function getReport(payload) {
31
31
  if (companyImage) form.getButton("Company Logo").setImage(companyImage);
32
32
  } else if (companyImage) form.getButton("Company Logo Full").setImage(companyImage);
33
33
  form.flatten();
34
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
35
- return { code: 200, pdf: pdf };
34
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
35
+ return { code: 200, pdf: pdfBase64 };
36
36
  } catch (error) {
37
37
  return { code: 400, error: error };
38
38
  }
@@ -25,8 +25,8 @@ export async function getReport(payload) {
25
25
 
26
26
  // flatten and return as base64
27
27
  form.flatten();
28
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
29
- return { code: 200, pdf: pdf };
28
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
29
+ return { code: 200, pdf: pdfBase64 };
30
30
  } catch (error) {
31
31
  return { code: 400, error: error };
32
32
  }
@@ -21,8 +21,8 @@ export async function getReport(payload) {
21
21
 
22
22
  // flatten and return as base64
23
23
  form.flatten();
24
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
25
- return { code: 200, pdf: pdf };
24
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
25
+ return { code: 200, pdf: pdfBase64 };
26
26
  } catch (error) {
27
27
  return { code: 400, error: error };
28
28
  }
@@ -155,19 +155,21 @@ export async function getReport(payload) {
155
155
  }
156
156
 
157
157
  /******** CORRECTIVE MEASURES (1-2 PAGES) *********/
158
- try {
159
- let correctiveMeasuresBase64 = await correctiveMeasures.getReport(payload);
160
- const correctiveMeasuresDoc = correctiveMeasuresBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(correctiveMeasuresBase64)) : false;
161
- const [_correctiveMeasuresDoc] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [0]) : false;
162
- if (correctiveMeasuresDoc.getPages().length > 1) {
163
- const [_correctiveMeasuresDocPage2] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [1]) : false;
164
- if (_correctiveMeasuresDoc) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDoc);
165
- if (_correctiveMeasuresDocPage2) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDocPage2);
166
- } else if (_correctiveMeasuresDoc) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDoc);
167
- } catch (error) {
168
- return { code: 400, error: error };
158
+ if (!util.projectIsGoettl(payload.project)){
159
+ try {
160
+ let correctiveMeasuresBase64 = await correctiveMeasures.getReport(payload);
161
+ const correctiveMeasuresDoc = correctiveMeasuresBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(correctiveMeasuresBase64)) : false;
162
+ const [_correctiveMeasuresDoc] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [0]) : false;
163
+ if (correctiveMeasuresDoc.getPages().length > 1) {
164
+ const [_correctiveMeasuresDocPage2] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [1]) : false;
165
+ if (_correctiveMeasuresDoc) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDoc);
166
+ if (_correctiveMeasuresDocPage2) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDocPage2);
167
+ } else if (_correctiveMeasuresDoc) coreDoc.insertPage(coreDoc.getPages().length, _correctiveMeasuresDoc);
168
+ } catch (error) {
169
+ return { code: 400, error: error };
170
+ }
169
171
  }
170
-
172
+
171
173
  /******** PHOTOS (X PAGES) *********/
172
174
  try {
173
175
  let selectedPhotosReport = payload.meta.origin == 'virtuoso' ? photosReportS3 : photosReport;
@@ -191,6 +193,6 @@ export async function getReport(payload) {
191
193
  return { code: 400, error: error };
192
194
  }
193
195
 
194
- let pdf = await coreDoc.saveAsBase64({ dataUri: true });
195
- return { code: 200, pdf: pdf };
196
+ const pdfBase64 = await coreDoc.saveAsBase64({ dataUri: true });
197
+ return { code: 200, pdf: pdfBase64 };
196
198
  }
@@ -167,8 +167,8 @@ export async function getReport(payload) { // DAVID TODO
167
167
  pdfDocPg1.insertPage(1, secondPage);
168
168
  }
169
169
 
170
- let pdf = await pdfDocPg1.saveAsBase64({ dataUri: true });
171
- return { code: 200, pdf: pdf };
170
+ const pdfBase64 = await pdfDocPg1.saveAsBase64({ dataUri: true });
171
+ return { code: 200, pdf: pdfBase64 };
172
172
  } catch (error) {
173
173
  return { code: 400, error: error };
174
174
  }
@@ -16,6 +16,8 @@ export async function getReport(payload) {
16
16
  const formPg1 = pdfDocPg1.getForm();
17
17
  const formPg2 = pdfDocPg2.getForm();
18
18
 
19
+ const isGoettlInstall = util.projectIsGoettl(payload.project);
20
+
19
21
  let mapImagePg1, mapImagePg2;
20
22
  if (payload.map && typeof payload.map == 'string') {
21
23
  if (payload.map.includes("image/jpeg")) {
@@ -141,10 +143,10 @@ export async function getReport(payload) {
141
143
  let condDisplay = util.getElectricalData(test, "", embeddedIcons);
142
144
  let ahuDisplay = util.getElectricalData(test, "_ahu", embeddedIcons);
143
145
  if (measurement) {
144
- if (measurement.label == "Cond. Volts" && condDisplay.voltageIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(condDisplay.voltageIcon);
145
- else if (measurement.label == "Cond. Amps" && condDisplay.amperageIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(condDisplay.amperageIcon);
146
- else if (measurement.label == "AHU Volts" && ahuDisplay.voltageIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(ahuDisplay.voltageIcon);
147
- else if (measurement.label == "AHU Amps" && ahuDisplay.amperageIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(ahuDisplay.amperageIcon);
146
+ if (!isGoettlInstall && measurement.label == "Cond. Volts" && condDisplay.voltageIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(condDisplay.voltageIcon);
147
+ else if (!isGoettlInstall && measurement.label == "Cond. Amps" && condDisplay.amperageIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(condDisplay.amperageIcon);
148
+ else if (!isGoettlInstall && measurement.label == "AHU Volts" && ahuDisplay.voltageIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(ahuDisplay.voltageIcon);
149
+ else if (!isGoettlInstall && measurement.label == "AHU Amps" && ahuDisplay.amperageIcon) form.getButton(`Block${blockNum}-Row${rowNum}-Col4`).setImage(ahuDisplay.amperageIcon);
148
150
  let units = measurement.units ? `(${measurement.units})` : "";
149
151
  let altLabel = "";
150
152
  if (payload.meta.report_mode != 'heating' && blockNum == 1 && (rowNum == 4 || rowNum == 5 || rowNum == 6 || rowNum == 9)) altLabel = "c";
@@ -192,8 +194,8 @@ export async function getReport(payload) {
192
194
  pdfDocPg1.insertPage(1, secondPage);
193
195
  }
194
196
 
195
- let pdf = await pdfDocPg1.saveAsBase64({ dataUri: true });
196
- return { code: 200, pdf: pdf };
197
+ const pdfBase64 = await pdfDocPg1.saveAsBase64({ dataUri: true });
198
+ return { code: 200, pdf: pdfBase64 };
197
199
  } catch (error) {
198
200
  return { code: 400, error: error };
199
201
  }
@@ -69,8 +69,8 @@ export async function getReport(payload) {
69
69
  const [nextPage] = await pdfDoc.copyPages(docs[i], [0]);
70
70
  pdfDoc.insertPage(i, nextPage);
71
71
  }
72
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
73
- return { code: 200, pdf: pdf };
72
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
73
+ return { code: 200, pdf: pdfBase64 };
74
74
  }
75
75
  catch (error) {
76
76
  return { code: 400, error: error };
@@ -133,8 +133,8 @@ export async function getReport(payload) {
133
133
  const [nextPage] = await pdfDoc.copyPages(docs[i], [0]);
134
134
  pdfDoc.insertPage(i, nextPage);
135
135
  }
136
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
137
- return { code: 200, pdf: pdf };
136
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
137
+ return { code: 200, pdf: pdfBase64 };
138
138
  }
139
139
  else {
140
140
  return false;
@@ -22,8 +22,8 @@ export async function getReport(payload) {
22
22
  if (imageStripHeat) form.getButton("customImage1").setImage(imageStripHeat);
23
23
  if (imageHpThermostat) form.getButton("customImage2").setImage(imageHpThermostat);
24
24
  form.flatten();
25
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
26
- return { code: 200, pdf: pdf };
25
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
26
+ return { code: 200, pdf: pdfBase64 };
27
27
  }
28
28
  catch (error) {
29
29
  return { code: 400, error: error };
@@ -15,8 +15,8 @@ export async function getReport(payload) {
15
15
  const form = pdfDoc.getForm();
16
16
  form.getButton("SignatureCustomer").setImage(signature);
17
17
  form.flatten();
18
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
19
- return { code: 200, pdf: pdf };
18
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
19
+ return { code: 200, pdf: pdfBase64 };
20
20
  } else return false;
21
21
  }
22
22
  catch (error) {
@@ -12,8 +12,8 @@ export async function getReport(payload) {
12
12
  const mqLogo = await pdfDoc.embedPng(mqLogoBytes);
13
13
  form.getButton("FullWidthLogo").setImage(mqLogo);
14
14
  form.flatten();
15
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
16
- return { code: 200, pdf: pdf };
15
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
16
+ return { code: 200, pdf: pdfBase64 };
17
17
  } catch (error) {
18
18
  return { code: 400, error: error };
19
19
  }
@@ -204,8 +204,8 @@ export async function getReport(payload, _test) {
204
204
 
205
205
  // flatten and return as base64
206
206
  form.flatten();
207
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
208
- return { code: 200, pdf: pdf };
207
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
208
+ return { code: 200, pdf: pdfBase64 };
209
209
  } catch (error) {
210
210
  return { code: 400, error: error };
211
211
  }
@@ -231,8 +231,8 @@ export async function getReport(payload, _test) {
231
231
 
232
232
  // flatten and return as base64
233
233
  form.flatten();
234
- let pdf = await pdfDoc.saveAsBase64({ dataUri: true });
235
- return { code: 200, pdf: pdf };
234
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
235
+ return { code: 200, pdf: pdfBase64 };
236
236
  } catch (error) {
237
237
  return { code: 400, error: error };
238
238
  }
package/util.js CHANGED
@@ -19,6 +19,66 @@ export function checkCompanyLogo(meta) {
19
19
  }
20
20
  }
21
21
 
22
+ export function projectIsGoettl(project) {
23
+ if (!project) return false;
24
+ let typeValid = (project.specialProjectType &&
25
+ (project.specialProjectType === 'Goettl - Package Heat Pump' ||
26
+ project.specialProjectType === 'Goettl - Heat Pump Horizontal' ||
27
+ project.specialProjectType === 'Goettl - Upflow Split' ||
28
+ project.specialProjectType === 'Package Heat Pumps' ||
29
+ project.specialProjectType === 'Horizontal Split Heat Pumps' ||
30
+ project.specialProjectType === 'Horizontal Hydronic Attic' ||
31
+ project.specialProjectType === 'Ceiling Mount Units' ||
32
+ project.specialProjectType === 'Wall Mounted Units (Heat Pump & Hydronic)' ||
33
+ project.specialProjectType === 'Up Flow Split Heat Pumps' ||
34
+ project.specialProjectType === 'Stand Alone Hydronic Up Flow Garage' ||
35
+ project.specialProjectType === 'Manufactured Home Split Heat Pumps' ||
36
+ project.specialProjectType === 'Manufactured Home Package Units' ||
37
+ this.projectIsGoettlGas(project))) ? true : false;
38
+ let subTypeValid = (project.specialProjectSubType &&
39
+ (project.specialProjectSubType === 'Goettl - Package Heat Pump' ||
40
+ project.specialProjectSubType === 'Goettl - Heat Pump Horizontal' ||
41
+ project.specialProjectSubType === 'Goettl - Upflow Split' ||
42
+ project.specialProjectSubType === 'Package Heat Pumps' ||
43
+ project.specialProjectSubType === 'Horizontal Split Heat Pumps' ||
44
+ project.specialProjectSubType === 'Horizontal Hydronic Attic' ||
45
+ project.specialProjectSubType === 'Ceiling Mount Units' ||
46
+ project.specialProjectSubType === 'Wall Mounted Units (Heat Pump & Hydronic)' ||
47
+ project.specialProjectSubType === 'Up Flow Split Heat Pumps' ||
48
+ project.specialProjectSubType === 'Stand Alone Hydronic Up Flow Garage' ||
49
+ project.specialProjectSubType === 'Manufactured Home Split Heat Pumps' ||
50
+ project.specialProjectSubType === 'Manufactured Home Package Units' ||
51
+ this.projectIsGoettlGas(project))) ? true : false;
52
+ return (typeValid || subTypeValid) ? true : false;
53
+ }
54
+
55
+ export function projectIsGoettlGas(project) {
56
+ if (!project) return false;
57
+ let typeValid = (project.specialProjectType &&
58
+ (project.specialProjectType === 'Goettl - Gas Package Unit' ||
59
+ project.specialProjectType === 'Goettl - Horizontal Split Gas' ||
60
+ project.specialProjectType === 'Goettl - Upflow Gas Split' ||
61
+ project.specialProjectType === 'Package Gas Units' ||
62
+ project.specialProjectType === 'Horizontal Split Gas Units' ||
63
+ project.specialProjectType === 'Condensing Category 4 Horizontal Furnace Splits' ||
64
+ project.specialProjectType === 'Up Flow Split Gas Units' ||
65
+ project.specialProjectType === 'Condensing Category 4 Up Flow Furnace Splits' ||
66
+ project.specialProjectType === 'Manufactured Home Split Gas Units' ||
67
+ project.specialProjectType === 'Down Flow Manufactured Home Furnaces')) ? true : false;
68
+ let subTypeValid = (project.specialProjectSubType &&
69
+ (project.specialProjectSubType === 'Goettl - Gas Package Unit' ||
70
+ project.specialProjectSubType === 'Goettl - Horizontal Split Gas' ||
71
+ project.specialProjectSubType === 'Goettl - Upflow Gas Split' ||
72
+ project.specialProjectSubType === 'Package Gas Units' ||
73
+ project.specialProjectSubType === 'Horizontal Split Gas Units' ||
74
+ project.specialProjectSubType === 'Condensing Category 4 Horizontal Furnace Splits' ||
75
+ project.specialProjectSubType === 'Up Flow Split Gas Units' ||
76
+ project.specialProjectSubType === 'Condensing Category 4 Up Flow Furnace Splits' ||
77
+ project.specialProjectSubType === 'Manufactured Home Split Gas Units' ||
78
+ project.specialProjectSubType === 'Down Flow Manufactured Home Furnaces')) ? true : false;
79
+ return (typeValid || subTypeValid) ? true : false;
80
+ }
81
+
22
82
  export function checkProfilePicture(meta) {
23
83
  if (meta.pdf_settings.includeProfilePic) {
24
84