@measurequick/measurequick-report-generator 1.1.6 → 1.1.10
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/scripts/mq-standard.js +159 -108
- package/templates/base-64/mq-standard.js +1 -1
- package/templates/base-64/photos-1x2.js +1 -1
- package/templates/base-64/photos-2x2.js +1 -1
- package/templates/base-64/photos-3x2.js +1 -1
- package/templates/pdf/MqStandard.pdf +0 -0
- package/templates/pdf/Photos1x2.pdf +0 -0
- package/templates/pdf/Photos2x2.pdf +0 -0
- package/templates/pdf/Photos3x2.pdf +0 -0
package/package.json
CHANGED
package/scripts/mq-standard.js
CHANGED
|
@@ -7,7 +7,7 @@ import * as photos1x2 from '../templates/base-64/photos-1x2.js';
|
|
|
7
7
|
|
|
8
8
|
/***************************************************
|
|
9
9
|
[Page # || Page Index ]: Purpose
|
|
10
|
-
|
|
10
|
+
===================================================
|
|
11
11
|
[1 || 0]: Cover Sheet
|
|
12
12
|
[2 || 1]: A/C Vitals Measurements
|
|
13
13
|
[3 || 2]: A/C Vitals Score Breakdown
|
|
@@ -17,14 +17,17 @@ import * as photos1x2 from '../templates/base-64/photos-1x2.js';
|
|
|
17
17
|
[7 || 6]: Heating Vitals Information
|
|
18
18
|
[8 || 7]: Equipment Information
|
|
19
19
|
[9 || 8]: System Review
|
|
20
|
-
[10 || 9]: 2-Column Measurement Details
|
|
21
|
-
[11 || 10]:
|
|
22
|
-
[12 || 11]:
|
|
23
|
-
[13 || 12]:
|
|
24
|
-
[14 || 13]:
|
|
25
|
-
[15 || 14]:
|
|
26
|
-
[16 || 15]:
|
|
27
|
-
[17 || 16]:
|
|
20
|
+
[10 || 9]: 2-Column Measurement Details (Page 1)
|
|
21
|
+
[11 || 10]: 2-Column Measurement Details (Page 2)
|
|
22
|
+
[12 || 11]: 3-Column Measurement Details (Page 1)
|
|
23
|
+
[13 || 12]: 3-Column Measurement Details (Page 2)
|
|
24
|
+
[14 || 13]: 4-Column Measurement Details (Page 1)
|
|
25
|
+
[15 || 14]: 4-Column Measurement Details (Page 2)
|
|
26
|
+
[16 || 15]: Understanding A/C Subsystems
|
|
27
|
+
[17 || 16]: Understanding Heating Subsystems
|
|
28
|
+
[18 || 17]: 2x3 Photo Grid
|
|
29
|
+
[19 || 18]: 2x2 Photo Grid
|
|
30
|
+
[20 || 19]: 2x1 Photo Grid
|
|
28
31
|
***************************************************/
|
|
29
32
|
|
|
30
33
|
export async function generateReport(payload) { console.log(payload);
|
|
@@ -32,48 +35,45 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
32
35
|
// Initialize pdf-lib
|
|
33
36
|
const pdfDoc = await PDFDocument.load(_base64ToArrayBuffer(pdf.base64));
|
|
34
37
|
|
|
35
|
-
//pdfDoc.insertPage(0, secondDonorPage);
|
|
36
|
-
|
|
37
38
|
// Remove Unnecessary Photo Pages
|
|
38
39
|
let duplicatePhotoPageIndex;
|
|
39
40
|
if (payload.meta.max_photos_per_page === 2) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
pdfDoc.removePage(15);
|
|
44
|
-
pdfDoc.removePage(14);
|
|
41
|
+
duplicatePhotoPageIndex = 19;
|
|
42
|
+
pdfDoc.removePage(18);
|
|
43
|
+
pdfDoc.removePage(17);
|
|
45
44
|
} else if (payload.meta.max_photos_per_page === 4) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// pdfDoc.addPage(duplicatePhotoPage);
|
|
50
|
-
pdfDoc.removePage(14);
|
|
45
|
+
duplicatePhotoPageIndex = 18;
|
|
46
|
+
pdfDoc.removePage(19);
|
|
47
|
+
pdfDoc.removePage(17);
|
|
51
48
|
} else if (payload.meta.max_photos_per_page === 6) {
|
|
52
|
-
|
|
53
|
-
pdfDoc.removePage(
|
|
54
|
-
|
|
55
|
-
// const [duplicatePhotoPage] = await pdfDoc.copyPages(duplicatePhotoPageDoc, [0]);
|
|
56
|
-
// pdfDoc.addPage(duplicatePhotoPage);
|
|
49
|
+
duplicatePhotoPageIndex = 17;
|
|
50
|
+
pdfDoc.removePage(19);
|
|
51
|
+
pdfDoc.removePage(18);
|
|
57
52
|
}
|
|
58
53
|
|
|
54
|
+
// TODO: Duplicate duplicatePhotoPageIndex (x) numberOfDuplicates = payload.project.photos.length / payload.meta.max_photos_per_page;
|
|
55
|
+
|
|
59
56
|
// Remove Unnecessary Info Page
|
|
60
|
-
if (payload.meta.report_type === "cooling") pdfDoc.removePage(
|
|
61
|
-
else if (payload.meta.report_type === "heating") pdfDoc.removePage(
|
|
57
|
+
if (payload.meta.report_type === "cooling") pdfDoc.removePage(16);
|
|
58
|
+
else if (payload.meta.report_type === "heating") pdfDoc.removePage(15);
|
|
62
59
|
|
|
63
60
|
// Remove Unnecessary Measurement Pages
|
|
64
61
|
let duplicateMeasurementPageIndex;
|
|
65
62
|
if (payload.meta.number_of_measurement_columns === 2) {
|
|
63
|
+
pdfDoc.removePage(14);
|
|
64
|
+
pdfDoc.removePage(13);
|
|
65
|
+
pdfDoc.removePage(12);
|
|
66
66
|
pdfDoc.removePage(11);
|
|
67
|
-
pdfDoc.removePage(10);
|
|
68
|
-
//duplicate(9);
|
|
69
67
|
}
|
|
70
68
|
else if (payload.meta.number_of_measurement_columns === 3) {
|
|
71
|
-
pdfDoc.removePage(
|
|
72
|
-
|
|
69
|
+
pdfDoc.removePage(14);
|
|
70
|
+
pdfDoc.removePage(13);
|
|
71
|
+
pdfDoc.removePage(10);
|
|
73
72
|
pdfDoc.removePage(9);
|
|
74
73
|
}
|
|
75
74
|
else if (payload.meta.number_of_measurement_columns === 4) {
|
|
76
|
-
|
|
75
|
+
pdfDoc.removePage(12);
|
|
76
|
+
pdfDoc.removePage(11);
|
|
77
77
|
pdfDoc.removePage(10);
|
|
78
78
|
pdfDoc.removePage(9);
|
|
79
79
|
}
|
|
@@ -119,14 +119,12 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
119
119
|
// Initialize Form For Population
|
|
120
120
|
const form = pdfDoc.getForm();
|
|
121
121
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
// console.log(`${type}: ${name} - ${ref}`)
|
|
129
|
-
// })
|
|
122
|
+
const fields = form.getFields()
|
|
123
|
+
fields.forEach(field => {
|
|
124
|
+
const type = field.constructor.name
|
|
125
|
+
const name = field.getName()
|
|
126
|
+
console.log(`${type}: ${name}`)
|
|
127
|
+
})
|
|
130
128
|
|
|
131
129
|
// Populate Cover Sheet
|
|
132
130
|
form.getTextField("Report Title").setText(payload.meta.report_title);
|
|
@@ -163,7 +161,7 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
163
161
|
let systemScoreColor = getColorFromGrade(systemScoreGrade);
|
|
164
162
|
let textFields = getTextFields(payload);
|
|
165
163
|
|
|
166
|
-
//
|
|
164
|
+
// Populate Customer Data
|
|
167
165
|
let dateTimePlacement = "Upper";
|
|
168
166
|
let e = "";
|
|
169
167
|
let d = "";
|
|
@@ -192,7 +190,7 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
192
190
|
form.getTextField('TimeOfServiceUpper').setText(date.toLocaleTimeString("en-US"));
|
|
193
191
|
}
|
|
194
192
|
|
|
195
|
-
//
|
|
193
|
+
// Populate Vitals Measurement Data
|
|
196
194
|
form.getTextField(`YourSystemScore${systemScoreColor}`).setText(`${systemScorePercentage}% ${systemScoreGrade}`);
|
|
197
195
|
form.getTextField('Superheat').setText(`${textFields.superheat} °${payload.units.temperature}`);
|
|
198
196
|
form.getTextField('Subcooling').setText(`${textFields.subcooling} °${payload.units.temperature}`);
|
|
@@ -214,7 +212,7 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
214
212
|
form.getTextField(`RefrigerantChargeIssues${lossColor}`).setText(`- ${textFields.refChargeLosses}`);
|
|
215
213
|
form.getTextField('YourSystemScorePage2').setText(`${systemScorePercentage}% ${systemScoreGrade}`);
|
|
216
214
|
|
|
217
|
-
//
|
|
215
|
+
// Populate Measurement Range Icons
|
|
218
216
|
const measureLabels = ["Superheat", "Subcooling", "Condenser", "TempSplit", "Tesp", "FilterFace"];
|
|
219
217
|
const targetKeys = ["superheat", "subcooling", "approach", "temperature_split", "pressure_static_total_external", "velocity_face_filter1"];
|
|
220
218
|
for (let i = 0; i < measureLabels.length; i++) {
|
|
@@ -238,7 +236,7 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
238
236
|
form.getTextField(`${measureLabels[i]}Target`).setText(targetZone);
|
|
239
237
|
}
|
|
240
238
|
|
|
241
|
-
//
|
|
239
|
+
// Populate Pass Fail Section
|
|
242
240
|
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"];
|
|
243
241
|
for (let i = 1; i <= passFails.length; i++) {
|
|
244
242
|
let meas = payload.test[passFails[i - 1]];
|
|
@@ -247,38 +245,66 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
247
245
|
}
|
|
248
246
|
|
|
249
247
|
// Populate Equipment Info Page
|
|
248
|
+
console.log("Equipment Info");
|
|
250
249
|
form.getTextField(`EI Title 1`).setText(payload.equipment_information.title1);
|
|
251
250
|
form.getTextField(`EI Title 2`).setText(payload.equipment_information.title2);
|
|
252
251
|
form.getTextField(`EI Title 3`).setText(payload.equipment_information.title3);
|
|
253
252
|
|
|
253
|
+
// Populate System Identification Section
|
|
254
|
+
console.log("System ID");
|
|
254
255
|
for (let fieldNum = 0; fieldNum <= 5; fieldNum++) {
|
|
255
|
-
console.log(payload.equipment_information.system_identification[fieldNum]);
|
|
256
256
|
let e = payload.equipment_information.system_identification[fieldNum];
|
|
257
|
-
form.getTextField(`Equip_Info-Field ${fieldNum+1}a`).setText(`${
|
|
258
|
-
form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText(`${payload.equipment[e.ref]}`);
|
|
257
|
+
form.getTextField(`Equip_Info-Field ${fieldNum+1}a`).setText(`${e.label}`);
|
|
258
|
+
if (payload.equipment[e.ref]) form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText(`${payload.equipment[e.ref]}`);
|
|
259
|
+
else form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText("--");
|
|
259
260
|
}
|
|
260
261
|
|
|
262
|
+
// Populate System Profile Section
|
|
263
|
+
console.log("System Profile");
|
|
261
264
|
let c = 0;
|
|
262
265
|
for (let fieldNum = 41; fieldNum <= 47; fieldNum++) {
|
|
263
|
-
console.log(payload.equipment_information.system_profile[c]);
|
|
264
266
|
let e = payload.equipment_information.system_profile[c];
|
|
265
|
-
form.getTextField(`Equip_Info-Field ${fieldNum+1}a`).setText(`${
|
|
266
|
-
form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText(`${payload.equipment[e.ref]}`);
|
|
267
|
+
form.getTextField(`Equip_Info-Field ${fieldNum+1}a`).setText(`${e.label}`);
|
|
268
|
+
if (payload.equipment[e.ref]) form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText(`${payload.equipment[e.ref]}`);
|
|
269
|
+
else form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText("--");
|
|
267
270
|
c++;
|
|
268
271
|
}
|
|
269
272
|
|
|
273
|
+
// Populate System Components Section
|
|
274
|
+
console.log("System Components");
|
|
275
|
+
let iterateOver = payload.equipment_information.installation_information;
|
|
276
|
+
let sectionPrinting = 1;
|
|
270
277
|
c = 0;
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
let e =
|
|
278
|
+
form.getTextField(`Equip_Info-Field 7a`).setText("Installation Information");
|
|
279
|
+
for (let fieldNum = 7; fieldNum <= 40; fieldNum++) {
|
|
280
|
+
let e = iterateOver[c];
|
|
274
281
|
if (e) {
|
|
275
282
|
form.getTextField(`Equip_Info-Field ${fieldNum+1}a`).setText(`${e.label}`);
|
|
276
|
-
form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText(`${payload.equipment[e.ref]}`);
|
|
283
|
+
if (payload.equipment[e.ref]) form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText(`${payload.equipment[e.ref]}`);
|
|
284
|
+
else form.getTextField(`Equip_Info-Field ${fieldNum+1}b`).setText("--");
|
|
285
|
+
} else {
|
|
286
|
+
fieldNum++;
|
|
287
|
+
c = 0;
|
|
288
|
+
if (sectionPrinting == 1) {
|
|
289
|
+
iterateOver = payload.equipment_information.filter_information;
|
|
290
|
+
form.getTextField(`Equip_Info-Field ${fieldNum+1}a`).setText("Filter Information");
|
|
291
|
+
} else if (sectionPrinting == 2) {
|
|
292
|
+
iterateOver = payload.equipment_information.capacitors;
|
|
293
|
+
form.getTextField(`Equip_Info-Field ${fieldNum+1}a`).setText("Capacitor Information");
|
|
294
|
+
} else if (sectionPrinting == 3) {
|
|
295
|
+
iterateOver = payload.equipment_information.belt_sizes;
|
|
296
|
+
form.getTextField(`Equip_Info-Field ${fieldNum+1}a`).setText("Belt Information");
|
|
297
|
+
} else break;
|
|
298
|
+
sectionPrinting++;
|
|
277
299
|
}
|
|
278
300
|
c++;
|
|
279
301
|
}
|
|
280
302
|
|
|
303
|
+
let t1 = payload.project.tests[0].testInfo;
|
|
304
|
+
let t2 = payload.project.tests[1].testInfo;
|
|
305
|
+
|
|
281
306
|
// Populate System Review Page
|
|
307
|
+
console.log("System Review");
|
|
282
308
|
for (let catNum = 1; catNum <= 10; catNum++) {
|
|
283
309
|
if (payload.system_review[`category${catNum}`]) {
|
|
284
310
|
form.getTextField(`SR Title ${catNum}`).setText(payload.system_review[`title${catNum}`]);
|
|
@@ -286,97 +312,128 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
286
312
|
if (factors) {
|
|
287
313
|
for (let fieldNum = 0; fieldNum < factors.length; fieldNum++) {
|
|
288
314
|
form.getTextField(`Category ${catNum} Field ${fieldNum+1}a`).setText(`${factors[fieldNum].label} (${factors[fieldNum].units}):`);
|
|
289
|
-
form.getTextField(`Category ${catNum} Field ${fieldNum+1}b`).setText(factors[fieldNum].
|
|
315
|
+
if (t1.data[factors[fieldNum].ref]) form.getTextField(`Category ${catNum} Field ${fieldNum+1}b`).setText(`${t1.data[factors[fieldNum].ref]}`);
|
|
316
|
+
else form.getTextField(`Category ${catNum} Field ${fieldNum+1}b`).setText("--");
|
|
290
317
|
}
|
|
291
318
|
}
|
|
292
319
|
}
|
|
293
320
|
}
|
|
294
321
|
|
|
295
322
|
// Populate Measurement Details Page
|
|
296
|
-
|
|
297
|
-
let
|
|
323
|
+
console.log("Measurement Details Page 1");
|
|
324
|
+
let suffix = "";//"#0";
|
|
298
325
|
let rowPrinting = 1;
|
|
299
326
|
let cNums = payload.meta.number_of_measurement_columns;
|
|
300
|
-
form.getTextField(`MD${cNums} Title 1`).setText(payload.measurement_details.title1);
|
|
301
|
-
form.getTextField(`MD${cNums} Title 2`).setText(payload.measurement_details.title2);
|
|
302
|
-
if (cNums >= 3) form.getTextField(`MD${cNums} Title 3`).setText(payload.measurement_details.title3);
|
|
303
|
-
if (cNums == 4) form.getTextField(`MD${cNums} Title 4`).setText(payload.measurement_details.title4);
|
|
327
|
+
form.getTextField(`MD${cNums} Title 1${suffix}`).setText(payload.measurement_details.title1);
|
|
328
|
+
form.getTextField(`MD${cNums} Title 2${suffix}`).setText(payload.measurement_details.title2);
|
|
329
|
+
if (cNums >= 3) form.getTextField(`MD${cNums} Title 3${suffix}`).setText(payload.measurement_details.title3);
|
|
330
|
+
if (cNums == 4) form.getTextField(`MD${cNums} Title 4${suffix}`).setText(payload.measurement_details.title4);
|
|
304
331
|
|
|
305
|
-
form.getTextField(`MD${cNums} ${rowPrinting}1`).setText("Outdoor Measurements:");
|
|
332
|
+
form.getTextField(`MD${cNums} ${rowPrinting}1${suffix}`).setText("Outdoor Measurements:");
|
|
306
333
|
rowPrinting++;
|
|
307
334
|
|
|
308
335
|
for (let rowNum = 0; rowNum < payload.measurement_details.outdoor_measurements.length; rowNum++) {
|
|
309
336
|
let m = payload.measurement_details.outdoor_measurements[rowNum];
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
337
|
+
form.getTextField(`MD${cNums} ${rowPrinting}1${suffix}`).setText(`${m.label} (${m.units})`);
|
|
338
|
+
if (t1.data[m.ref]) {
|
|
339
|
+
let v = (+t1.data[m.ref]).toFixed(2);
|
|
340
|
+
form.getTextField(`MD${cNums} ${rowPrinting}2${suffix}`).setText(`${v}`);
|
|
341
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}2${suffix}`).setText("--");
|
|
342
|
+
if (cNums >= 3) {
|
|
343
|
+
if (t2.data[m.ref]) {
|
|
344
|
+
let v = (+t2.data[m.ref]).toFixed(2);
|
|
345
|
+
form.getTextField(`MD${cNums} ${rowPrinting}3${suffix}`).setText(`${v}`);
|
|
346
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}3${suffix}`).setText("--");
|
|
347
|
+
}
|
|
314
348
|
if (cNums == 4) {
|
|
315
349
|
if (t1.data[m.ref] && t2.data[m.ref]) {
|
|
316
|
-
let v = (+t1.data[m.ref]) - (+t2.data[m.ref]);
|
|
317
|
-
form.getTextField(`MD${cNums} ${rowPrinting}4`).setText(`${v}`);
|
|
318
|
-
} else form.getTextField(`MD${cNums} ${rowPrinting}4`).setText("--");
|
|
350
|
+
let v = ((+t1.data[m.ref]) - (+t2.data[m.ref])).toFixed(2);
|
|
351
|
+
form.getTextField(`MD${cNums} ${rowPrinting}4${suffix}`).setText(`${v}`);
|
|
352
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}4${suffix}`).setText("--");
|
|
319
353
|
}
|
|
320
354
|
rowPrinting++;
|
|
321
355
|
}
|
|
322
356
|
|
|
323
357
|
rowPrinting++;
|
|
324
|
-
form.getTextField(`MD${cNums} ${rowPrinting}1`).setText("Weather Data:");
|
|
358
|
+
form.getTextField(`MD${cNums} ${rowPrinting}1${suffix}`).setText("Weather Data:");
|
|
325
359
|
rowPrinting++;
|
|
326
360
|
|
|
327
361
|
for (let rowNum = 0; rowNum < payload.measurement_details.weather_data.length; rowNum++) {
|
|
328
362
|
let m = payload.measurement_details.weather_data[rowNum];
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
363
|
+
form.getTextField(`MD${cNums} ${rowPrinting}1${suffix}`).setText(`${m.label} (${m.units})`);
|
|
364
|
+
if (t1.data[m.ref]) {
|
|
365
|
+
let v = (+t1.data[m.ref]).toFixed(2);
|
|
366
|
+
form.getTextField(`MD${cNums} ${rowPrinting}2${suffix}`).setText(`${v}`);
|
|
367
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}2${suffix}`).setText("--");
|
|
368
|
+
if (cNums >= 3) {
|
|
369
|
+
if (t2.data[m.ref]) {
|
|
370
|
+
let v = (+t2.data[m.ref]).toFixed(2);
|
|
371
|
+
form.getTextField(`MD${cNums} ${rowPrinting}3${suffix}`).setText(`${v}`);
|
|
372
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}3${suffix}`).setText("--");
|
|
373
|
+
}
|
|
333
374
|
if (cNums == 4) {
|
|
334
375
|
if (t1.data[m.ref] && t2.data[m.ref]) {
|
|
335
|
-
let v = (+t1.data[m.ref]) - (+t2.data[m.ref]);
|
|
336
|
-
form.getTextField(`MD${cNums} ${rowPrinting}4`).setText(`${v}`);
|
|
337
|
-
} else form.getTextField(`MD${cNums} ${rowPrinting}4`).setText("--");
|
|
376
|
+
let v = ((+t1.data[m.ref]) - (+t2.data[m.ref])).toFixed(2);
|
|
377
|
+
form.getTextField(`MD${cNums} ${rowPrinting}4${suffix}`).setText(`${v}`);
|
|
378
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}4${suffix}`).setText("--");
|
|
338
379
|
}
|
|
339
380
|
rowPrinting++;
|
|
340
381
|
}
|
|
341
382
|
|
|
342
383
|
rowPrinting++;
|
|
343
|
-
form.getTextField(`MD${cNums} ${rowPrinting}1`).setText("Indoor Measurements:");
|
|
384
|
+
form.getTextField(`MD${cNums} ${rowPrinting}1${suffix}`).setText("Indoor Measurements:");
|
|
344
385
|
rowPrinting++;
|
|
345
386
|
|
|
346
387
|
for (let rowNum = 0; rowNum < payload.measurement_details.indoor_measurements.length; rowNum++) {
|
|
347
388
|
let m = payload.measurement_details.indoor_measurements[rowNum];
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
389
|
+
form.getTextField(`MD${cNums} ${rowPrinting}1${suffix}`).setText(`${m.label} (${m.units})`);
|
|
390
|
+
if (t1.data[m.ref]) {
|
|
391
|
+
let v = (+t1.data[m.ref]).toFixed(2);
|
|
392
|
+
form.getTextField(`MD${cNums} ${rowPrinting}2${suffix}`).setText(`${v}`);
|
|
393
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}2${suffix}`).setText("--");
|
|
394
|
+
if (cNums >= 3) {
|
|
395
|
+
if (t2.data[m.ref]) {
|
|
396
|
+
let v = (+t2.data[m.ref]).toFixed(2);
|
|
397
|
+
form.getTextField(`MD${cNums} ${rowPrinting}3${suffix}`).setText(`${v}`);
|
|
398
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}3${suffix}`).setText("--");
|
|
357
399
|
}
|
|
358
|
-
rowPrinting++;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
// TODO: Target New Page
|
|
362
|
-
|
|
363
|
-
for (let rowNum = 0; rowNum < payload.measurement_details.performance_calculations.length; rowNum++) {
|
|
364
|
-
let m = payload.measurement_details.performance_calculations[rowNum];
|
|
365
|
-
//console.log(m);
|
|
366
|
-
form.getTextField(`MD${cNums} ${rowPrinting}1`).setText(`${m.label} (${m.units})`);
|
|
367
|
-
form.getTextField(`MD${cNums} ${rowPrinting}2`).setText(`${t1.data[m.ref]}`);
|
|
368
|
-
if (cNums >= 3) form.getTextField(`MD${cNums} ${rowPrinting}3`).setText(`${t2.data[m.ref]}`);
|
|
369
400
|
if (cNums == 4) {
|
|
370
401
|
if (t1.data[m.ref] && t2.data[m.ref]) {
|
|
371
|
-
let v = (+t1.data[m.ref]) - (+t2.data[m.ref]);
|
|
372
|
-
form.getTextField(`MD${cNums} ${rowPrinting}4`).setText(`${v}`);
|
|
373
|
-
} else form.getTextField(`MD${cNums} ${rowPrinting}4`).setText("--");
|
|
402
|
+
let v = ((+t1.data[m.ref]) - (+t2.data[m.ref])).toFixed(2);
|
|
403
|
+
form.getTextField(`MD${cNums} ${rowPrinting}4${suffix}`).setText(`${v}`);
|
|
404
|
+
} else form.getTextField(`MD${cNums} ${rowPrinting}4${suffix}`).setText("--");
|
|
374
405
|
}
|
|
375
406
|
rowPrinting++;
|
|
376
407
|
}
|
|
377
408
|
|
|
409
|
+
// suffix = "#1";
|
|
410
|
+
// console.log("Measurement Details Page 2");
|
|
411
|
+
//
|
|
412
|
+
// for (let rowNum = 0; rowNum < payload.measurement_details.performance_calculations.length; rowNum++) {
|
|
413
|
+
// let m = payload.measurement_details.performance_calculations[rowNum];
|
|
414
|
+
// form.getTextField(`MD${cNums} ${rowPrinting}1${suffix}`).setText(`${m.label} (${m.units})`);
|
|
415
|
+
// if (t1.data[m.ref]) {
|
|
416
|
+
// let v = (+t1.data[m.ref]).toFixed(2);
|
|
417
|
+
// form.getTextField(`MD${cNums} ${rowPrinting}2${suffix}`).setText(`${v}`);
|
|
418
|
+
// } else form.getTextField(`MD${cNums} ${rowPrinting}2${suffix}`).setText("--");
|
|
419
|
+
// if (cNums >= 3) {
|
|
420
|
+
// if (t2.data[m.ref]) {
|
|
421
|
+
// let v = (+t2.data[m.ref]).toFixed(2);
|
|
422
|
+
// form.getTextField(`MD${cNums} ${rowPrinting}3${suffix}`).setText(`${v}`);
|
|
423
|
+
// } else form.getTextField(`MD${cNums} ${rowPrinting}3${suffix}`).setText("--");
|
|
424
|
+
// }
|
|
425
|
+
// if (cNums == 4) {
|
|
426
|
+
// if (t1.data[m.ref] && t2.data[m.ref]) {
|
|
427
|
+
// let v = (+t1.data[m.ref]) - (+t2.data[m.ref]);
|
|
428
|
+
// form.getTextField(`MD${cNums} ${rowPrinting}4${suffix}`).setText(`${v}`);
|
|
429
|
+
// } else form.getTextField(`MD${cNums} ${rowPrinting}4${suffix}`).setText("--");
|
|
430
|
+
// }
|
|
431
|
+
// rowPrinting++;
|
|
432
|
+
// }
|
|
433
|
+
|
|
378
434
|
// TODO: Populate Photo Page(s)
|
|
379
435
|
|
|
436
|
+
|
|
380
437
|
// Flatten Form, Convert & Return PDF as Base64
|
|
381
438
|
form.flatten();
|
|
382
439
|
const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
|
|
@@ -384,12 +441,6 @@ export async function generateReport(payload) { console.log(payload);
|
|
|
384
441
|
return pdfBase64;
|
|
385
442
|
}
|
|
386
443
|
|
|
387
|
-
function duplicatePage(fromIndex, toIndex) {
|
|
388
|
-
// const duplicatePhotoPageDoc = await PDFDocument.load(_base64ToArrayBuffer(photos3x2.base64));
|
|
389
|
-
// const [duplicatePhotoPage] = await pdfDoc.copyPages(duplicatePhotoPageDoc, [0]);
|
|
390
|
-
// pdfDoc.addPage(duplicatePhotoPage);
|
|
391
|
-
}
|
|
392
|
-
|
|
393
444
|
function getGradeFromScore(score) {
|
|
394
445
|
let grade = "F";
|
|
395
446
|
if (score == 100) return "A+";
|