@measurequick/measurequick-report-generator 1.5.141 → 1.5.142

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.141",
3
+ "version": "1.5.142",
4
4
  "description": "Generates PDF documents for various measureQuick applications.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -328,29 +328,43 @@ export async function getReport(payload, _test) {
328
328
 
329
329
  let specialCasePlacement = "1";
330
330
  let specialCaseIcon = iconRangeGreen;
331
- let age = payload.equipment.year_installed_ahu_furnace
332
- ? +new Date().getUTCFullYear() -
333
- +payload.equipment.year_installed_ahu_furnace
334
- : null;
335
-
336
- if (age < 2) specialCasePlacement = "1";
337
- else if (age < 5) specialCasePlacement = "2";
338
- else if (age < 8) specialCasePlacement = "3";
339
- else if (age < 15) {
340
- specialCasePlacement = "4";
341
- specialCaseIcon = iconRangeRed;
342
- } else if (age < 20) {
343
- specialCasePlacement = "5";
344
- specialCaseIcon = iconRangeRed;
345
- } else if (age < 25) {
346
- specialCasePlacement = "6";
347
- specialCaseIcon = iconRangeRed;
348
- } else if (age >= 25) {
349
- specialCasePlacement = "7";
350
- specialCaseIcon = iconRangeRed;
331
+
332
+ const currentYear = new Date().getUTCFullYear();
333
+ const rawYear = payload.equipment.year_installed_ahu_furnace;
334
+ const installYear =
335
+ rawYear !== undefined && rawYear !== null ? Number(rawYear) : NaN;
336
+ const hasValidYear =
337
+ Number.isFinite(installYear) &&
338
+ installYear > 1900 &&
339
+ installYear <= currentYear;
340
+
341
+ if (hasValidYear) {
342
+ const age = currentYear - installYear;
343
+
344
+ if (age < 2) specialCasePlacement = "1";
345
+ else if (age < 5) specialCasePlacement = "2";
346
+ else if (age < 8) specialCasePlacement = "3";
347
+ else if (age < 15) {
348
+ specialCasePlacement = "4";
349
+ specialCaseIcon = iconRangeRed;
350
+ } else if (age < 20) {
351
+ specialCasePlacement = "5";
352
+ specialCaseIcon = iconRangeRed;
353
+ } else if (age < 25) {
354
+ specialCasePlacement = "6";
355
+ specialCaseIcon = iconRangeRed;
356
+ } else {
357
+ specialCasePlacement = "7";
358
+ specialCaseIcon = iconRangeRed;
359
+ }
360
+
361
+ // Only set the image and text when age is known
362
+ safeSetImage(form, `ImageAge${specialCasePlacement}`, specialCaseIcon);
363
+ safeSetText(form, `Age`, age.toString());
364
+ } else {
365
+ // No valid year entered: leave Age empty and do not place an icon
366
+ safeSetText(form, `Age`, "--");
351
367
  }
352
- safeSetImage(form, `ImageAge${specialCasePlacement}`, specialCaseIcon);
353
- safeSetText(form, `Age`, age.toString());
354
368
 
355
369
  specialCasePlacement = "Low";
356
370
  let efficiency = test.testInfo.data.efficiency
@@ -315,29 +315,43 @@ export async function getReport(payload, _test) {
315
315
 
316
316
  let specialCasePlacement = "1";
317
317
  let specialCaseIcon = iconRangeGreen;
318
- let age = payload.equipment.year_installed_ahu_furnace
319
- ? +new Date().getUTCFullYear() -
320
- +payload.equipment.year_installed_ahu_furnace
321
- : null;
322
318
 
323
- if (age < 2) specialCasePlacement = "1";
324
- else if (age < 5) specialCasePlacement = "2";
325
- else if (age < 8) specialCasePlacement = "3";
326
- else if (age < 15) {
327
- specialCasePlacement = "4";
328
- specialCaseIcon = iconRangeRed;
329
- } else if (age < 20) {
330
- specialCasePlacement = "5";
331
- specialCaseIcon = iconRangeRed;
332
- } else if (age < 25) {
333
- specialCasePlacement = "6";
334
- specialCaseIcon = iconRangeRed;
335
- } else if (age >= 25) {
336
- specialCasePlacement = "7";
337
- specialCaseIcon = iconRangeRed;
319
+ const currentYear = new Date().getUTCFullYear();
320
+ const rawYear = payload.equipment.year_installed_ahu_furnace;
321
+ const installYear =
322
+ rawYear !== undefined && rawYear !== null ? Number(rawYear) : NaN;
323
+ const hasValidYear =
324
+ Number.isFinite(installYear) &&
325
+ installYear > 1900 &&
326
+ installYear <= currentYear;
327
+
328
+ if (hasValidYear) {
329
+ const age = currentYear - installYear;
330
+
331
+ if (age < 2) specialCasePlacement = "1";
332
+ else if (age < 5) specialCasePlacement = "2";
333
+ else if (age < 8) specialCasePlacement = "3";
334
+ else if (age < 15) {
335
+ specialCasePlacement = "4";
336
+ specialCaseIcon = iconRangeRed;
337
+ } else if (age < 20) {
338
+ specialCasePlacement = "5";
339
+ specialCaseIcon = iconRangeRed;
340
+ } else if (age < 25) {
341
+ specialCasePlacement = "6";
342
+ specialCaseIcon = iconRangeRed;
343
+ } else {
344
+ specialCasePlacement = "7";
345
+ specialCaseIcon = iconRangeRed;
346
+ }
347
+
348
+ // Only set the image and text when age is known
349
+ safeSetImage(form, `ImageAge${specialCasePlacement}`, specialCaseIcon);
350
+ safeSetText(form, `Age`, age.toString());
351
+ } else {
352
+ // No valid year entered: leave Age empty and do not place an icon
353
+ safeSetText(form, `Age`, "--");
338
354
  }
339
- safeSetImage(form, `ImageAge${specialCasePlacement}`, specialCaseIcon);
340
- safeSetText(form, `Age`, age.toString());
341
355
 
342
356
  specialCaseIcon = iconRangeRed;
343
357
  specialCasePlacement = "Mid";