@measurequick/measurequick-report-generator 1.5.37 → 1.5.39

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.5.37",
3
+ "version": "1.5.39",
4
4
  "description": "Generates PDF documents for various measureQuick applications.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -12,23 +12,153 @@ let embeddedIconsTestOut = {};
12
12
  export async function getReport(payload) {
13
13
  try {
14
14
  const pdfDocPg1 = await PDFDocument.load(util._base64ToArrayBuffer(pdf.base64));
15
- const pdfDocPg2 = await PDFDocument.load(util._base64ToArrayBuffer(pdf.base64));
15
+ //const pdfDocPg2 = await PDFDocument.load(util._base64ToArrayBuffer(pdf.base64));
16
16
 
17
17
  const formPg1 = pdfDocPg1.getForm();
18
- const formPg2 = pdfDocPg2.getForm();
19
-
20
- const isGoettlInstall = util.projectIsGoettl(payload.project);
21
-
22
- let mapImagePg1, mapImagePg2;
23
- if (payload.map && typeof payload.map == 'string') {
24
- if (payload.map.includes("image/jpeg")) {
25
- mapImagePg1 = await pdfDocPg1.embedJpg(util._base64ToArrayBuffer(payload.map));
26
- mapImagePg2 = await pdfDocPg2.embedJpg(util._base64ToArrayBuffer(payload.map));
27
- } else if (payload.map.includes("image/png")) {
28
- mapImagePg1 = await pdfDocPg1.embedPng(util._base64ToArrayBuffer(payload.map));
29
- mapImagePg2 = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(payload.map));
30
- }
18
+ //const formPg2 = pdfDocPg2.getForm();
19
+
20
+ //const isGoettlInstall = util.projectIsGoettl(payload.project);
21
+
22
+ let utility_logo;
23
+
24
+ if (payload.project.franklin_utility === 'Unisource'){
25
+ utility_logo = await pdfDocPg1.embedPng(assets.unisourceLogo);
26
+ }
27
+
28
+ formPg1.getButton("ImageUtility").setImage(utility_logo);
29
+
30
+ //Block4-Title2a: Existing System
31
+ formPg1.getTextField('Block4-Title2a').setText('Existing System');
32
+ let row = 1;
33
+ if (payload.project.franklin_existing_heat_source_fuel){
34
+ //Block4-Row1-Col1: Existing Heat Source Fuel:
35
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Existing Heat Source Fuel:');
36
+ //Block4-Row1-Col2: Existing Heat Source Fuel value
37
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText(payload.project.franklin_existing_heat_source_fuel);
38
+ row++;
39
+ }
40
+ if (payload.project.franklin_existing_system_type){
41
+ //Block4-Row2-Col1: Existing System Type:
42
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Existing System Type:');
43
+ //Block4-Row2-Col2: value
44
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText(payload.project.franklin_existing_system_type);
45
+ row++;
31
46
  }
47
+ if (payload.equipment.condenser_make){
48
+ //Block4-Row3-Col1: Manufacturer:
49
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Manufacturer:');
50
+ //Block4-Row3-Col2: value
51
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText(payload.equipment.condenser_make);
52
+ row++;
53
+ }
54
+ if (payload.equipment.condenser_model){
55
+ //Block4-Row4-Col1: Model Number:
56
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Model Number:');
57
+ //Block4-Row4-Col2: value
58
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText(payload.equipment.condenser_model);
59
+ row++;
60
+ }
61
+ if (payload.equipment.tonnage_nominal){
62
+ let capacity = payload.equipment.tonnage_nominal * 12000;
63
+ //Block4-Row5-Col1: Nominal Capacity (Btu/h):
64
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Nominal Capacity (Btu/h):');
65
+ //Block4-Row5-Col2: value
66
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText(capacity);
67
+ row++;
68
+ }
69
+ if (payload.tests[payload.tests[0]].testInfo.data.efficiency){
70
+ //Block4-Row6-Col1: Measured EER:
71
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Measured EER:');
72
+ //Block4-Row6-Col2: value
73
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText(payload.tests[payload.tests[0]].testInfo.data.efficiency);
74
+ row++;
75
+ }
76
+ if (payload.equipment.equipment_age){
77
+ //Block4-Row7-Col1: Age of System:
78
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Age of System:');
79
+ //Block4-Row7-Col2: value
80
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText(payload.equipment.equipment_age);
81
+ row++;
82
+ }
83
+ if (payload.tests[payload.tests[0]].testInfo.diagnostics.system_wide.stability===0){
84
+ //Block4-Row8-Col1: Stable/Operational for 15 Mins:
85
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Stable/Operational for 15 Mins:');
86
+ //Block4-Row8-Col2: value
87
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText('Yes');
88
+ row++;
89
+ } else if (payload.tests[payload.tests[0]].testInfo.diagnostics.system_wide.stability!==0){
90
+ //Block4-Row8-Col1: Stable/Operational for 15 Mins:
91
+ formPg1.getTextField('Block4-Row'+ row +'-Col1').setText('Stable/Operational for 15 Mins:');
92
+ //Block4-Row8-Col2: value
93
+ formPg1.getTextField('Block4-Row'+ row +'-Col2').setText('No');
94
+ row++;
95
+ }
96
+
97
+ //Block5-Title2a: New System
98
+ formPg1.getTextField('Block4-Title2a').setText('New System');
99
+ row = 1;
100
+
101
+ if (payload.project.franklin_new_system_ahri_number){
102
+ //Block5-Row1-Col1: AHRI#:
103
+ formPg1.getTextField('Block5-Row'+ row +'-Col1').setText('AHRI#:');
104
+ //Block5-Row1-Col2: value
105
+ formPg1.getTextField('Block5-Row'+ row +'-Col2').setText(payload.project.franklin_new_system_ahri_number);
106
+ row++;
107
+ }
108
+ if (payload.project.franklin_number_of_stages){
109
+ //Block5-Row2-Col1: Stage(s):
110
+ formPg1.getTextField('Block5-Row'+ row +'-Col1').setText('Stage(s):');
111
+ //Block5-Row2-Col2: value
112
+ formPg1.getTextField('Block5-Row'+ row +'-Col2').setText(payload.project.franklin_number_of_stages);
113
+ row++;
114
+ }
115
+ if (payload.project.franklin_new_system_hspf2){
116
+ //Block5-Row3-Col1: HSPF2 Rating:
117
+ formPg1.getTextField('Block5-Row'+ row +'-Col1').setText('HSPF2 Rating:');
118
+ //Block5-Row3-Col2: value
119
+ formPg1.getTextField('Block5-Row'+ row +'-Col2').setText(payload.project.franklin_new_system_hspf2);
120
+ row++;
121
+ }
122
+ if (payload.project.franklin_new_system_seer2){
123
+ //Block5-Row4-Col1: SEER2 Rating:
124
+ formPg1.getTextField('Block5-Row'+ row +'-Col1').setText('SEER2 Rating:');
125
+ //Block5-Row4-Col2: value
126
+ formPg1.getTextField('Block5-Row'+ row +'-Col2').setText(payload.project.franklin_new_system_seer2);
127
+ row++;
128
+ }
129
+ if (payload.project.franklin_new_system_capacity){
130
+ //Block5-Row5-Col1: Nominal Capacity (Btu/h):
131
+ formPg1.getTextField('Block5-Row'+ row +'-Col1').setText('Nominal Capacity (Btu/h):');
132
+ //Block5-Row5-Col2: value
133
+ formPg1.getTextField('Block5-Row'+ row +'-Col2').setText(payload.project.franklin_new_system_capacity);
134
+ row++;
135
+ }
136
+ if (payload.project.franklin_new_system_type){
137
+ //Block5-Row6-Col1: System Type:
138
+ formPg1.getTextField('Block5-Row'+ row +'-Col1').setText('New System Type:');
139
+ //Block5-Row6-Col2: value
140
+ formPg1.getTextField('Block5-Row'+ row +'-Col2').setText(payload.project.franklin_new_system_type);
141
+ row++;
142
+ }
143
+ if (payload.project.franklin_combustion_safety_testing){
144
+ //Block5-Row7-Col1: Combustion Safety Testing:
145
+ formPg1.getTextField('Block5-Row'+ row +'-Col1').setText('Combustion Safety Testing:');
146
+ //Block5-Row7-Col2: value
147
+ formPg1.getTextField('Block5-Row'+ row +'-Col2').setText(payload.project.franklin_combustion_safety_testing);
148
+ row++;
149
+ }
150
+ if (payload.project.franklin_reason_for_installation){
151
+ //Block5-Row8-Col1: Reason for Installation:
152
+ formPg1.getTextField('Block5-Row'+ row +'-Col1').setText('Reason for Installation:');
153
+ //Block5-Row8-Col2: value
154
+ formPg1.getTextField('Block5-Row'+ row +'-Col2').setText(payload.project.franklin_reason_for_installation);
155
+ row++;
156
+ }
157
+
158
+
159
+ //RebateTable1: TEP Efficient Home Rebates/Unisource Efficient Home Rebates
160
+ //RebateTable2: TEP Multi-family Rebates***
161
+ //RebateTable2Asterisk: ***Rebate values differ on Multifamily complexes 5 units or greater
32
162
 
33
163
 
34
164
 
@@ -49,28 +179,28 @@ export async function getReport(payload) {
49
179
  if (payload.meta.pdf_settings.shapeProfilePic && payload.meta.profile_settings.profilePicCircleBase64 && typeof payload.meta.profile_settings.profilePicCircleBase64 == 'string') {
50
180
  if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/jpeg")) {
51
181
  profileImagePg1 = await pdfDocPg1.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
52
- profileImagePg2 = await pdfDocPg2.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
182
+ //profileImagePg2 = await pdfDocPg2.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
53
183
  } else if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/png")) {
54
184
  profileImagePg1 = await pdfDocPg1.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
55
- profileImagePg2 = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
185
+ //profileImagePg2 = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
56
186
  }
57
187
  } else if (payload.meta.profile_settings.profilePicSquareBase64 && typeof payload.meta.profile_settings.profilePicSquareBase64 == 'string') {
58
188
  if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/jpeg")) {
59
189
  profileImagePg1 = await pdfDocPg1.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
60
- profileImagePg2 = await pdfDocPg2.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
190
+ //profileImagePg2 = await pdfDocPg2.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
61
191
  } else if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/png")) {
62
192
  profileImagePg1 = await pdfDocPg1.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
63
- profileImagePg2 = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
193
+ //profileImagePg2 = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
64
194
  }
65
195
  }
66
196
  }
67
197
  if (payload.meta.pdf_settings.includeCompanyLogo && payload.meta.profile_settings.companyLogoBase64 && typeof payload.meta.profile_settings.companyLogoBase64 == 'string') {
68
198
  if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) {
69
199
  companyImagePg1 = await pdfDocPg1.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
70
- companyImagePg2 = await pdfDocPg2.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
200
+ //companyImagePg2 = await pdfDocPg2.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
71
201
  } else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) {
72
202
  companyImagePg1 = await pdfDocPg1.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
73
- companyImagePg2 = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
203
+ //companyImagePg2 = await pdfDocPg2.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
74
204
  }
75
205
  }
76
206
 
@@ -78,20 +208,20 @@ export async function getReport(payload) {
78
208
  if (profileImagePg1 && companyImagePg1) {
79
209
  formPg1.getButton("ProfilePicture").setImage(profileImagePg1);
80
210
  //formPg1.getButton("HalfWidthLogo").setImage(companyImagePg1);
81
- formPg2.getButton("ProfilePicture").setImage(profileImagePg2);
211
+ //formPg2.getButton("ProfilePicture").setImage(profileImagePg2);
82
212
  //formPg2.getButton("HalfWidthLogo").setImage(companyImagePg2);
83
213
  if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName) {
84
214
  formPg1.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
85
- formPg2.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
215
+ //formPg2.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
86
216
  }
87
217
  } else if (profileImagePg1) {
88
218
  formPg1.getButton("ProfilePicture").setImage(profileImagePg1);
89
219
  //formPg1.getButton("HalfWidthLogo").setImage(mqLogoPg1);
90
- formPg2.getButton("ProfilePicture").setImage(profileImagePg2);
220
+ //formPg2.getButton("ProfilePicture").setImage(profileImagePg2);
91
221
  //formPg2.getButton("HalfWidthLogo").setImage(mqLogoPg2);
92
222
  if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName) {
93
223
  formPg1.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
94
- formPg2.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
224
+ //formPg2.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
95
225
  }
96
226
  } else {
97
227
  if (companyImagePg1) {
@@ -103,15 +233,26 @@ export async function getReport(payload) {
103
233
  }
104
234
  }
105
235
 
236
+ //TODO: custom header by project type
237
+ let header = 'Franklin Energy';
238
+ if (payload.project.specialProjectType === 'Franklin Energy Service' && payload.project.acca){
239
+ header = 'Franklin Energy Equipment Install';
240
+ } else if (payload.project.specialProjectType === 'Franklin Energy Service' && !payload.project.acca){
241
+ header = 'Franklin Energy Service';
242
+ } else if (payload.project.specialProjectType === 'Franklin Energy Installation'){
243
+ header = 'Franklin Energy System Install';
244
+ }
245
+ form.getTextField('Header').setText(header);
246
+
247
+
106
248
  for (let t = 0; t < payload.tests.length; t++) {
107
249
  let section = t == 0 ? 'test_in' : 'test_out';
108
250
  let sectionLabel = t == 0 ? 'Test In ' : 'Test Out ';
109
251
  if (payload.tests.length == 1) sectionLabel = "";
110
- let form = t == 0 ? formPg1 : formPg2;
252
+ let form = formPg1;
111
253
  let test = payload.tests[t].testInfo;
112
254
 
113
- //TODO: custom header by project type
114
- form.getTextField('Header').setText(`Franklin Energy`);
255
+
115
256
 
116
257
  if (payload.meta.cName) form.getTextField('Name').setText(`${payload.meta.cName}`);
117
258
  if (payload.meta.address) form.getTextField('Address 1').setText(`${payload.meta.address}`);
@@ -29,7 +29,7 @@ export async function getReport(payload) {
29
29
  let franklinCoverPageBase64 = await franklinCoverPage.getReport(payload);
30
30
  const franklinCoverPageDoc = franklinCoverPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(franklinCoverPageBase64.data)) : false;
31
31
  const [_franklinCoverPageDoc] = franklinCoverPageDoc ? await coreDoc.copyPages(franklinCoverPageDoc, [0]) : false;
32
- if (_coverPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _coverPageDoc);
32
+ if (_franklinCoverPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _franklinCoverPageDoc);
33
33
  }
34
34
  } catch (error) {
35
35
  errors.push(`Franklin Page: ${error}`);