@measurequick/measurequick-report-generator 1.5.208 → 1.5.216
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/base-64/icons.js +3 -0
- package/package.json +1 -1
- package/report-gen-scripts/classic-report.js +45 -0
- package/report-gen-scripts/measurement-details.js +23 -10
- package/report-gen-scripts/vitals-cooling-report.js +63 -0
- package/report-gen-scripts/vitals-heatpump-heating-report.js +63 -0
- package/util.js +34 -11
package/base-64/icons.js
CHANGED
|
@@ -94,6 +94,9 @@ export const iconBluflame =
|
|
|
94
94
|
export const iconSauermann =
|
|
95
95
|
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMC1jMDAwIDc5LmRhNGE3ZTVlZiwgMjAyMi8xMS8yMi0xMzo1MDowNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyY2Q2ZGE3Yi0zYTY4LTQwOTEtODVlNS0xZDNhMjZjYjE3NjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjExQzU5MDRBOEUwMTFFREJFNTdDQkI1MUJGRjQxQUUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjExQzU5MDNBOEUwMTFFREJFNTdDQkI1MUJGRjQxQUUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozMDA5MjkwMzk1MzcxMUVEODNBOTlBRUU0QTIxRUJGQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozMDA5MjkwNDk1MzcxMUVEODNBOTlBRUU0QTIxRUJGQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgmSFxMAAAMAUExURdnt95nP6vrTqaXU7ej0+vayaPGKGf758vWsXYXF5vzo0fa3cW664Wq54Vqx3fz+//706v3z5/KSKZHL6fGOIdzu+Pzp1PWqWfa4dPOaOQmLzfKXM/KULvX6/fH4/O73/PnRpfSmUObz+v3s2fnLmPjJlh2U0fvixyqa1IzI6Pvfwfb7/Tui1/P5/Tag1v3w4hOPz/SkTP3v32C034rH5/KZN8vm9CKW0lWu3FOt3PWtXkio2rbc8ECk2Dyi1/nHkvOeQF+z3p7R6/fAhDCd1fKYNCmZ0/a0bPWwZP/8+v/69nG84v/37/afQ/OdPvzky9Xr9gWIzPvdvfrZtfGQJbHa7/nNnanW7Tmh1/CEDvCDC++ABSyb1H3B5ACGy/WrWxeR0PSnU/SlT/OhR/OgRVev3e99AE+r20an2RGOzvCEDfCCCfzjyOHx+fvbuPazavv9/vWvYwyMzaHS7GS13//7+CCV0vjEjBiR0PfCh3/C5RaQzy+c1VCs2/n8//a6d/znzweJzD+k2IPE5tDp9dHp9kKl2KzY7sLi8/rWrvrat3i/47Xc8PKTLAKHyyOX0sfk9L3g8kuq2vjEi/KULer1+wOHzPe+gGi34Pn8/vnOn/CHE/rYs97v+PCIFfWxZjSf1huT0Vyy3va0a/CFEPCGEfr9/vv9//CBCPWuYSWY0/e+f/3r2Eyq2lGs3KLT7MPj87re8Q+Nzv/mz7Pb8JvQ9/j8/nW+47jd8c/o9vzbueLx+/6jTPSoVdfs9/mhR//kyvGLHPOfQ/eyZ/a4c/e6ePe8e/SiSMDh+RSPzwGGy/a5dvfAg/WyZ/a1buz2+/rXsfGMHbTb8EOm2fzmzfShR9vu+PynUyGW0vfBhv717P727Tqi2D6j2NLq9hmS0BqS0v3x5KvX7sXj8xKP0Eqp2vjIk/jDiSGW1Lzf8fnSpv/cu6HT+ZvQ683o/CiZ1vKVL/nMmu9+Afe8fMzn9fa2bw2Mzsbk843J6GK138nl9HS946/Z73e+4/GPI/////6kyCYAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAE8klEQVR42uzad1gTZxgAcAgGQ0tFtAUFZQiUFDElBihgVaAxRVEUd6ueuM4BISyjDCl7qIgLRSvuPWunXXZPW7uHFtvaYvegw5Yu7PMEhLvL3X3vG0L7h9/7b/Lk99xdvu97xzlc+Z/CgcIUpjCFKUxhClOYwhS+dmGf8tsd8+qjKjSGw7eZzeYPaw0FJcd0q/p+9uegboNPV+ZF6+9npCLZPMz1+8iB9oXrpjyyopaBhFdoveMEO8Hl4RVeUs5vyw+rd04fcWFEo0ZvMIe1f694YbZPV+EJLnoRL0u/0PUWp3UfG332c7882PemR9c5tdzQ2JSl1p0wZtgMN7iEWpnquPDKSF/S9Rz44buHXn58i21wVZQQXR4Xf7rbl9OUdwRqWP2ph7t/HWeXCNhe04aQf+z8eMWyF0yqJ7Xzno0dN+6pJz7wTDj74pcKOFy1U8DqyomoR+Ch5lRWNDZWw+A3cgTs8DKSOjQ3gpWLOb0BsONiwT/qBIlNU7Gk2LuBBNetF1yuhrh0+rGQiB0rC69tErjDiA93NgsL5xAZOFy4cqOJrpIFR64kHCd084luGouIfhKwzmp/fJAIH8LAbKYofNzK1ZD3jP4omJ0tAh+zPoScyHASDu682x1wqcjp10CG9yBhNlAAO4m4i/eT4SIszE7kwQ1i6cUrGYBTZj4WvpsHq8XgNT0A8EX0Je/hwPHiGdVqyMHqh5bHd8BbisXhXqAj/U4sPLkDzpNKlWFZciZW3tYOD0mWyl5zYGnMZiTs3Q63SOfnRpgchJQvtsEGaVgNTN2Cb0TBGyywUa4kWQGUx5gw8CgLPE22GNJB89WJNXB4hgVOlC/D/gGnyveA4VQLXEEoABdkQOWA64HwEgtMrD9n9gBftEcMAm4iFr1hq8HyleteAsNegHo7ZzCcftMbCGdBKv2bKxEF2WUYnALqMTDRRric7gyBC2Awkxz3O1j+SAuAoxhw/NEAps+Q17ELHGY2zQLLy2Tggxa4isGEId4OcpIFHrgJJTOXfIFyriQc1HYsrsfBTP7bQNlTCj7fBt/HYCMRKN8rUStfzblmomXgMb1SHA65Cn+NhplQmOwtlXK159WL8LIGtoWJwUc74UF4GJh0izzlX7glzCob5GwIPNfK3c6vFivw8Kt1ANg6Jyniw2678LKrLXmYQliYO+DhWgAs7L2ds25FnETDxT5k+C2+e1ms+YLfwMiDlxC++7x4u2kt0s0i5738ptBrUg22MtzeSW77fcFzp0q3FN0W2PVOe3DZ1ndlu7ez4O5JYmGxj+NqlxL61Z+XwNiCX4nNEU7D3nkroENfuobMfhKO2jpUPUEzifdJeWdjX2JhsXIApxpOB09hTh2XLKOG/5VNHgtO8uewW1Fzp0jHUtfdly7of/zq05T8lF216umLdie2/F0G6AON9uNMRpoVNg81DxQWFrrBq5fgs890svOq/5uJucdPMX061ZrNaV2Ypo59+tsHxgDM3iEjYyZzRx8J6V0b4y4NUBxRvef/3MjHjvYU/dy9aFLQGf+NB3k9w4Tq0faYmA+dakq6yzK2ao6d6xmTuUOpVO7IVHn6z+/fZ/sM/vnz8wBTYJpd3xEI8DNFpMr3kGrmHNl2a/e8FeEe/M0dr2tHte5dwol9rRFa5TlFsDt9AYXCFKYwhSlMYQpTmMIUvlbgfwUYAC0sxTrnqtHCAAAAAElFTkSuQmCC";
|
|
96
96
|
|
|
97
|
+
export const iconSeitron =
|
|
98
|
+
"data:image/png;base64,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";
|
|
99
|
+
|
|
97
100
|
export const iconRedfish510 =
|
|
98
101
|
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAwFBMVEUAAAD///9QWFZkHh9rJidpOTpjCg6WJCiNJCiDJSh2JSjclZhRAwevHyeeIimJOT51Sk3TARE3AwemChjPGSmQEhujKzWgP0blaHIREBEjLkJHWFgkKioyOTkcHh6ztrY9U1IrMzI3Pz5IUE9MVFM9RENDSklOXlugpaTh5uV4fHuEiIeSlpVscnDKzcxUXFlcYV9kaWdubUuNgjfCvqDYtgh/bA2ulRlRT0yZgmRAKic/NzZOICBdKytTOTn///+sLFaIAAAAQHRSTlP///////////////////////////////////////////////////////////////////////////////////8AwnuxRAAAAAlwSFlzAAALEwAACxMBAJqcGAAADe5pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtcDpDcmVhdGVEYXRlPSIyMDE3LTA3LTA3VDE2OjA3OjI3LTA0OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wNS0wMVQxNzo0MTozOS0wNDowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wNS0wMVQxNzo0MTozOS0wNDowMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YmM4ZThkOGUtNmVlNy00ZTI5LTlhZGYtNmI1OGY0MGJiZWE5IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6OTliZmQ1ZWEtMWEyNy0xMTQ0LWE3MmMtZmZmZTY5YTUyZGVmIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MmNkNmRhN2ItM2E2OC00MDkxLTg1ZTUtMWQzYTI2Y2IxNzY5IiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIgZXhpZjpDb2xvclNwYWNlPSI2NTUzNSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjEyMCIgZXhpZjpQaXhlbFlEaW1lbnNpb249IjEyMCI+IDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDxyZGY6QmFnPiA8cmRmOmxpPjMwRkNFOTcwRjJGMDY3RTRCNURBMUZERDNGOUQ2Q0U1PC9yZGY6bGk+IDxyZGY6bGk+QjRBM0EwNzdDQUYxQUFFQTUzNTM2N0E5NTY2MTA3ODI8L3JkZjpsaT4gPHJkZjpsaT5FMTlBQjlFOTgxODEzRTBBODJDQ0FCOEI0OTU1NDFGRTwvcmRmOmxpPiA8cmRmOmxpPkZDQzcwNTc5N0ExRDMzRjAyRjU3QjkxNTZENjNGQzBDPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjRkNmY4NzlmLTZmMWUtMTE3YS05NzI5LWI4YzViMjc4NWIzZjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2Y2Q4ODViYi00MzFhLTA0NDEtODQ2Ny03NWNmZjNkNjA2OGQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTg5Y2I3YzAtMjk1My0xMTdhLWFiMmItZGI5ZmJmOGM5NTRlPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM1OTE5ZmEyLTBiZGUtMTE3Yi05OTZmLWUxMjIxZGE1MmU1NjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDplMzYxMTc3YS1iYzMwLTExN2EtOThjOC1mYmI5ZWY4YTBkOGM8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZmJmNjI0MzctZDhlMy0wNjRhLTg5MzQtY2EyMDIwN2VhMTFlPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJjZDZkYTdiLTNhNjgtNDA5MS04NWU1LTFkM2EyNmNiMTc2OSIgc3RFdnQ6d2hlbj0iMjAxNy0xMC0wNFQxNjowMzowOC0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphZTQwMmFlNy1lODc2LTQ3ZWEtYjQ3Yy04NDUwMzQ1YjJjOTUiIHN0RXZ0OndoZW49IjIwMTctMTAtMDVUMDE6MDQ6MzUtMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0YzRmYzcwMy05YWZjLTQxOTctYjcwNC1hYzM4MjM5NzBkZDUiIHN0RXZ0OndoZW49IjIwMTktMDUtMDFUMTc6NDE6MzktMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYzhlOGQ4ZS02ZWU3LTRlMjktOWFkZi02YjU4ZjQwYmJlYTkiIHN0RXZ0OndoZW49IjIwMTktMDUtMDFUMTc6NDE6MzktMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBN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";
|
|
99
102
|
|
package/package.json
CHANGED
|
@@ -1734,6 +1734,15 @@ export async function getReport(payload) {
|
|
|
1734
1734
|
testo_size,
|
|
1735
1735
|
testo_size
|
|
1736
1736
|
);
|
|
1737
|
+
} else if (testObj.source.power_factor == "UEi HAC" || testObj.source.power_factor == "UEi DL599") {
|
|
1738
|
+
doc.addImage(
|
|
1739
|
+
base64.iconUei,
|
|
1740
|
+
"PNG",
|
|
1741
|
+
pos_right + testo_offset_x,
|
|
1742
|
+
pos_vert - testo_offset_y,
|
|
1743
|
+
testo_size,
|
|
1744
|
+
testo_size
|
|
1745
|
+
);
|
|
1737
1746
|
}
|
|
1738
1747
|
drawRangeIcon("power_factor", pos_vert_outdoor - testo_offset_y);
|
|
1739
1748
|
pos_vert += spacing;
|
|
@@ -1781,6 +1790,15 @@ export async function getReport(payload) {
|
|
|
1781
1790
|
testo_size,
|
|
1782
1791
|
testo_size
|
|
1783
1792
|
);
|
|
1793
|
+
} else if (testObj.source.power_condenser == "UEi HAC" || testObj.source.power_condenser == "UEi DL599") {
|
|
1794
|
+
doc.addImage(
|
|
1795
|
+
base64.iconUei,
|
|
1796
|
+
"PNG",
|
|
1797
|
+
pos_right + testo_offset_x,
|
|
1798
|
+
pos_vert - testo_offset_y,
|
|
1799
|
+
testo_size,
|
|
1800
|
+
testo_size
|
|
1801
|
+
);
|
|
1784
1802
|
} else if (
|
|
1785
1803
|
testObj.electrical_capture_type !== "Power" &&
|
|
1786
1804
|
testObj.data.power_condenser
|
|
@@ -2469,6 +2487,15 @@ export async function getReport(payload) {
|
|
|
2469
2487
|
testo_size,
|
|
2470
2488
|
testo_size
|
|
2471
2489
|
);
|
|
2490
|
+
} else if (testObj.source.voltage_l1_ahu == "UEi HAC" || testObj.source.voltage_l1_ahu == "UEi DL599") {
|
|
2491
|
+
doc.addImage(
|
|
2492
|
+
base64.iconUei,
|
|
2493
|
+
"PNG",
|
|
2494
|
+
pos_right + testo_offset_x,
|
|
2495
|
+
pos_vert - testo_offset_y,
|
|
2496
|
+
testo_size,
|
|
2497
|
+
testo_size
|
|
2498
|
+
);
|
|
2472
2499
|
}
|
|
2473
2500
|
pos_vert += 0.2;
|
|
2474
2501
|
}
|
|
@@ -2523,6 +2550,15 @@ export async function getReport(payload) {
|
|
|
2523
2550
|
testo_size,
|
|
2524
2551
|
testo_size
|
|
2525
2552
|
);
|
|
2553
|
+
} else if (testObj.source.amperage_l1_ahu == "UEi HAC" || testObj.source.amperage_l1_ahu == "UEi DL599") {
|
|
2554
|
+
doc.addImage(
|
|
2555
|
+
base64.iconUei,
|
|
2556
|
+
"PNG",
|
|
2557
|
+
pos_right + testo_offset_x,
|
|
2558
|
+
pos_vert - testo_offset_y,
|
|
2559
|
+
testo_size,
|
|
2560
|
+
testo_size
|
|
2561
|
+
);
|
|
2526
2562
|
}
|
|
2527
2563
|
pos_vert += 0.2;
|
|
2528
2564
|
}
|
|
@@ -2569,6 +2605,15 @@ export async function getReport(payload) {
|
|
|
2569
2605
|
testo_size,
|
|
2570
2606
|
testo_size
|
|
2571
2607
|
);
|
|
2608
|
+
} else if (testObj.source.power_factor_ahu == "UEi HAC" || testObj.source.power_factor_ahu == "UEi DL599") {
|
|
2609
|
+
doc.addImage(
|
|
2610
|
+
base64.iconUei,
|
|
2611
|
+
"PNG",
|
|
2612
|
+
pos_right + testo_offset_x,
|
|
2613
|
+
pos_vert - testo_offset_y,
|
|
2614
|
+
testo_size,
|
|
2615
|
+
testo_size
|
|
2616
|
+
);
|
|
2572
2617
|
}
|
|
2573
2618
|
drawRangeIcon("power_factor_ahu", pos_vert_outdoor - testo_offset_y);
|
|
2574
2619
|
pos_vert += 0.2;
|
|
@@ -10,7 +10,7 @@ let embeddedIconsTestOut = {};
|
|
|
10
10
|
function isNCIProject(payload) {
|
|
11
11
|
if (payload && payload.project && payload.project.specialProjectType) {
|
|
12
12
|
const type = payload.project.specialProjectType;
|
|
13
|
-
return type ===
|
|
13
|
+
return type === "CoolMaxx" || type === "HeatMaxx";
|
|
14
14
|
}
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
@@ -203,8 +203,12 @@ export async function getReport(payload) {
|
|
|
203
203
|
// For NCI projects (CoolMaxx/HeatMaxx), draw NCI logo in place of profile picture (15% larger)
|
|
204
204
|
let isNCI = isNCIProject(payload) && base64.nciLogo;
|
|
205
205
|
if (isNCI) {
|
|
206
|
-
const nciLogoImagePg1 = await pdfDocPg1.embedPng(
|
|
207
|
-
|
|
206
|
+
const nciLogoImagePg1 = await pdfDocPg1.embedPng(
|
|
207
|
+
util._base64ToArrayBuffer(base64.nciLogo)
|
|
208
|
+
);
|
|
209
|
+
const nciLogoImagePg2 = await pdfDocPg2.embedPng(
|
|
210
|
+
util._base64ToArrayBuffer(base64.nciLogo)
|
|
211
|
+
);
|
|
208
212
|
const pagesPg1 = pdfDocPg1.getPages();
|
|
209
213
|
const pagesPg2 = pdfDocPg2.getPages();
|
|
210
214
|
const firstPagePg1 = pagesPg1[0];
|
|
@@ -218,11 +222,13 @@ export async function getReport(payload) {
|
|
|
218
222
|
const rectPg2 = widgetsPg2[0].getRectangle();
|
|
219
223
|
// Draw NCI logo at the profile picture position, 15% larger
|
|
220
224
|
const logoWidth1 = rectPg1.width * 1.15;
|
|
221
|
-
const logoHeight1 =
|
|
225
|
+
const logoHeight1 =
|
|
226
|
+
logoWidth1 * (nciLogoImagePg1.height / nciLogoImagePg1.width);
|
|
222
227
|
const x1 = rectPg1.x + (rectPg1.width - logoWidth1) / 2;
|
|
223
228
|
const y1 = rectPg1.y + (rectPg1.height - logoHeight1) / 2;
|
|
224
229
|
const logoWidth2 = rectPg2.width * 1.15;
|
|
225
|
-
const logoHeight2 =
|
|
230
|
+
const logoHeight2 =
|
|
231
|
+
logoWidth2 * (nciLogoImagePg2.height / nciLogoImagePg2.width);
|
|
226
232
|
const x2 = rectPg2.x + (rectPg2.width - logoWidth2) / 2;
|
|
227
233
|
const y2 = rectPg2.y + (rectPg2.height - logoHeight2) / 2;
|
|
228
234
|
firstPagePg1.drawImage(nciLogoImagePg1, {
|
|
@@ -283,7 +289,8 @@ export async function getReport(payload) {
|
|
|
283
289
|
let test = payload.tests[t].testInfo;
|
|
284
290
|
// Add source property to test object for tool icon lookup
|
|
285
291
|
// Source is stored in testInfo.source, not at the test root level
|
|
286
|
-
test.source =
|
|
292
|
+
test.source =
|
|
293
|
+
payload.tests[t].testInfo.source || payload.tests[t].source || {};
|
|
287
294
|
form.getTextField("Header").setText(`${sectionLabel}Measurement Details`);
|
|
288
295
|
|
|
289
296
|
if (payload.meta.cName)
|
|
@@ -500,9 +507,12 @@ export async function getReport(payload) {
|
|
|
500
507
|
|
|
501
508
|
// Use derated value if available for gas_input_rated
|
|
502
509
|
// Also check for empty string - middleman passes "" when it expects lookup from test.data
|
|
503
|
-
let val =
|
|
504
|
-
|
|
505
|
-
|
|
510
|
+
let val =
|
|
511
|
+
measurement.value !== null &&
|
|
512
|
+
measurement.value !== undefined &&
|
|
513
|
+
measurement.value !== ""
|
|
514
|
+
? measurement.value
|
|
515
|
+
: +test.data[measurement.ref];
|
|
506
516
|
if (
|
|
507
517
|
measurement.ref == "gas_input_rated" &&
|
|
508
518
|
payload.equipment.gas_input_derated
|
|
@@ -518,7 +528,10 @@ export async function getReport(payload) {
|
|
|
518
528
|
|
|
519
529
|
// For CO measurements: if value is null/undefined, show "--"; if valid, show as integer (no decimals)
|
|
520
530
|
if (isCOMeasurement) {
|
|
521
|
-
if (
|
|
531
|
+
if (
|
|
532
|
+
measurement.value === null ||
|
|
533
|
+
measurement.value === undefined
|
|
534
|
+
) {
|
|
522
535
|
val = "--";
|
|
523
536
|
} else {
|
|
524
537
|
val = Math.round(Number(val)).toString();
|
|
@@ -5,6 +5,20 @@ import * as systemInfoPage from "./system-info-page.js";
|
|
|
5
5
|
import * as util from "../util.js";
|
|
6
6
|
import * as notesSummaryPage from "./notes-summary-page.js";
|
|
7
7
|
|
|
8
|
+
// Helper to safely set text field (ignores if field doesn't exist)
|
|
9
|
+
function safeSetText(form, name, value) {
|
|
10
|
+
try {
|
|
11
|
+
form.getTextField(name).setText(value != null ? String(value) : "");
|
|
12
|
+
} catch (e) {}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Helper to safely set image on button (ignores if field doesn't exist)
|
|
16
|
+
function safeSetImage(form, name, image) {
|
|
17
|
+
try {
|
|
18
|
+
form.getButton(name).setImage(image);
|
|
19
|
+
} catch (e) {}
|
|
20
|
+
}
|
|
21
|
+
|
|
8
22
|
// Check if project is CoolMaxx or HeatMaxx (NCI branded)
|
|
9
23
|
function isNCIProject(payload) {
|
|
10
24
|
if (payload && payload.project && payload.project.specialProjectType) {
|
|
@@ -230,6 +244,19 @@ export async function getReport(payload, _test) {
|
|
|
230
244
|
.setText(date.toLocaleTimeString("en-US"));
|
|
231
245
|
}
|
|
232
246
|
|
|
247
|
+
// Build equipment info and set "Information Text" field with shortened description
|
|
248
|
+
const equipment = payload.equipment || {};
|
|
249
|
+
let equipmentLines = [];
|
|
250
|
+
if (equipment.condenser_make) equipmentLines.push("Make: " + equipment.condenser_make);
|
|
251
|
+
if (equipment.condenser_model) equipmentLines.push("Model: " + equipment.condenser_model);
|
|
252
|
+
if (equipment.condenser_serial) equipmentLines.push("Serial: " + equipment.condenser_serial);
|
|
253
|
+
|
|
254
|
+
let infoText = "What Are Your System Vitals?\nYour system vitals show the overall health of your HVAC system. These vitals account for both the refrigerant and air delivery of the system.";
|
|
255
|
+
if (equipmentLines.length > 0) {
|
|
256
|
+
infoText = equipmentLines.join("\n") + "\n\n" + infoText;
|
|
257
|
+
}
|
|
258
|
+
safeSetText(form, "Information Text", infoText);
|
|
259
|
+
|
|
233
260
|
let systemScorePercentage = t.data.vitals_score
|
|
234
261
|
? +t.data.vitals_score.toFixed(0)
|
|
235
262
|
: 0;
|
|
@@ -294,6 +321,42 @@ export async function getReport(payload, _test) {
|
|
|
294
321
|
.getTextField("YourSystemScorePage2")
|
|
295
322
|
.setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
296
323
|
|
|
324
|
+
// Display system age (condenser year installed)
|
|
325
|
+
const currentYear = new Date().getUTCFullYear();
|
|
326
|
+
const rawYear = payload.equipment && payload.equipment.year_installed;
|
|
327
|
+
const installYear = rawYear !== undefined && rawYear !== null ? Number(rawYear) : NaN;
|
|
328
|
+
const hasValidYear = Number.isFinite(installYear) && installYear > 1900 && installYear <= currentYear;
|
|
329
|
+
|
|
330
|
+
if (hasValidYear) {
|
|
331
|
+
const age = currentYear - installYear;
|
|
332
|
+
let specialCasePlacement = "1";
|
|
333
|
+
let specialCaseIcon = iconRangeGreen;
|
|
334
|
+
|
|
335
|
+
if (age < 2) specialCasePlacement = "1";
|
|
336
|
+
else if (age < 5) specialCasePlacement = "2";
|
|
337
|
+
else if (age < 8) specialCasePlacement = "3";
|
|
338
|
+
else if (age < 15) {
|
|
339
|
+
specialCasePlacement = "4";
|
|
340
|
+
specialCaseIcon = iconRangeRed;
|
|
341
|
+
} else if (age < 20) {
|
|
342
|
+
specialCasePlacement = "5";
|
|
343
|
+
specialCaseIcon = iconRangeRed;
|
|
344
|
+
} else if (age < 25) {
|
|
345
|
+
specialCasePlacement = "6";
|
|
346
|
+
specialCaseIcon = iconRangeRed;
|
|
347
|
+
} else {
|
|
348
|
+
specialCasePlacement = "7";
|
|
349
|
+
specialCaseIcon = iconRangeRed;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
// Set age marker and text if fields exist
|
|
353
|
+
safeSetImage(form, `ImageAge${specialCasePlacement}`, specialCaseIcon);
|
|
354
|
+
safeSetText(form, "Age", age.toString());
|
|
355
|
+
} else {
|
|
356
|
+
// Age unknown - set to "--" if field exists
|
|
357
|
+
safeSetText(form, "Age", "--");
|
|
358
|
+
}
|
|
359
|
+
|
|
297
360
|
// print targets and range icons
|
|
298
361
|
const measureLabels = [
|
|
299
362
|
"Superheat",
|
|
@@ -4,6 +4,20 @@ import * as pdf from "../base-64/mq-vitals-heatpump-heating.js";
|
|
|
4
4
|
import * as util from "../util.js";
|
|
5
5
|
import * as notesSummaryPage from "./notes-summary-page.js";
|
|
6
6
|
|
|
7
|
+
// Helper to safely set text field (ignores if field doesn't exist)
|
|
8
|
+
function safeSetText(form, name, value) {
|
|
9
|
+
try {
|
|
10
|
+
form.getTextField(name).setText(value != null ? String(value) : "");
|
|
11
|
+
} catch (e) {}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Helper to safely set image on button (ignores if field doesn't exist)
|
|
15
|
+
function safeSetImage(form, name, image) {
|
|
16
|
+
try {
|
|
17
|
+
form.getButton(name).setImage(image);
|
|
18
|
+
} catch (e) {}
|
|
19
|
+
}
|
|
20
|
+
|
|
7
21
|
// Check if project is CoolMaxx or HeatMaxx (NCI branded)
|
|
8
22
|
function isNCIProject(payload) {
|
|
9
23
|
if (payload && payload.project && payload.project.specialProjectType) {
|
|
@@ -170,6 +184,19 @@ export async function getReport(payload, _test) {
|
|
|
170
184
|
form.getTextField("TimeOfServiceUpper").setText(date.toLocaleTimeString("en-US"));
|
|
171
185
|
}
|
|
172
186
|
|
|
187
|
+
// Build equipment info and set "Information Text" field with shortened description
|
|
188
|
+
const equipment = payload.equipment || {};
|
|
189
|
+
let equipmentLines = [];
|
|
190
|
+
if (equipment.condenser_make) equipmentLines.push("Make: " + equipment.condenser_make);
|
|
191
|
+
if (equipment.condenser_model) equipmentLines.push("Model: " + equipment.condenser_model);
|
|
192
|
+
if (equipment.condenser_serial) equipmentLines.push("Serial: " + equipment.condenser_serial);
|
|
193
|
+
|
|
194
|
+
let infoText = "What Are Your System Vitals?\nYour system vitals show the overall health of your HVAC system. These vitals account for both the refrigerant and air delivery of the system.";
|
|
195
|
+
if (equipmentLines.length > 0) {
|
|
196
|
+
infoText = equipmentLines.join("\n") + "\n\n" + infoText;
|
|
197
|
+
}
|
|
198
|
+
safeSetText(form, "Information Text", infoText);
|
|
199
|
+
|
|
173
200
|
// System score
|
|
174
201
|
let systemScorePercentage = t.data.vitals_score ? +t.data.vitals_score.toFixed(0) : 0;
|
|
175
202
|
let systemScoreGrade = util.getGradeFromScore(systemScorePercentage);
|
|
@@ -223,6 +250,42 @@ export async function getReport(payload, _test) {
|
|
|
223
250
|
|
|
224
251
|
form.getTextField("YourSystemScorePage2").setText(`${systemScorePercentage} ${systemScoreGrade}`);
|
|
225
252
|
|
|
253
|
+
// Display system age (condenser year installed - heat pump outdoor unit)
|
|
254
|
+
const currentYear = new Date().getUTCFullYear();
|
|
255
|
+
const rawYear = payload.equipment && payload.equipment.year_installed;
|
|
256
|
+
const installYear = rawYear !== undefined && rawYear !== null ? Number(rawYear) : NaN;
|
|
257
|
+
const hasValidYear = Number.isFinite(installYear) && installYear > 1900 && installYear <= currentYear;
|
|
258
|
+
|
|
259
|
+
if (hasValidYear) {
|
|
260
|
+
const age = currentYear - installYear;
|
|
261
|
+
let specialCasePlacement = "1";
|
|
262
|
+
let specialCaseIcon = iconRangeGreen;
|
|
263
|
+
|
|
264
|
+
if (age < 2) specialCasePlacement = "1";
|
|
265
|
+
else if (age < 5) specialCasePlacement = "2";
|
|
266
|
+
else if (age < 8) specialCasePlacement = "3";
|
|
267
|
+
else if (age < 15) {
|
|
268
|
+
specialCasePlacement = "4";
|
|
269
|
+
specialCaseIcon = iconRangeRed;
|
|
270
|
+
} else if (age < 20) {
|
|
271
|
+
specialCasePlacement = "5";
|
|
272
|
+
specialCaseIcon = iconRangeRed;
|
|
273
|
+
} else if (age < 25) {
|
|
274
|
+
specialCasePlacement = "6";
|
|
275
|
+
specialCaseIcon = iconRangeRed;
|
|
276
|
+
} else {
|
|
277
|
+
specialCasePlacement = "7";
|
|
278
|
+
specialCaseIcon = iconRangeRed;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// Set age marker and text if fields exist
|
|
282
|
+
safeSetImage(form, `ImageAge${specialCasePlacement}`, specialCaseIcon);
|
|
283
|
+
safeSetText(form, "Age", age.toString());
|
|
284
|
+
} else {
|
|
285
|
+
// Age unknown - set to "--" if field exists
|
|
286
|
+
safeSetText(form, "Age", "--");
|
|
287
|
+
}
|
|
288
|
+
|
|
226
289
|
// Print targets and range icons for heat pump heating
|
|
227
290
|
// Heat pump heating target zones - some are in data, some in targets
|
|
228
291
|
const measureLabels = ["Superheat", "Subcooling", "Condenser", "TempSplit", "Tesp", "FilterFace"];
|
package/util.js
CHANGED
|
@@ -200,6 +200,8 @@ export function getToolIcon(test, ref, embeddedIcons) {
|
|
|
200
200
|
break;
|
|
201
201
|
case "UEi HUB":
|
|
202
202
|
case "COA2 CO Monitor":
|
|
203
|
+
case "UEi HAC":
|
|
204
|
+
case "UEi DL599":
|
|
203
205
|
toolIcon = embeddedIcons.iconUei;
|
|
204
206
|
break;
|
|
205
207
|
case "Protector":
|
|
@@ -218,6 +220,7 @@ export function getToolIcon(test, ref, embeddedIcons) {
|
|
|
218
220
|
toolIcon = embeddedIcons.iconBluflame;
|
|
219
221
|
break;
|
|
220
222
|
case "iDVM510":
|
|
223
|
+
case "iDVM-510":
|
|
221
224
|
toolIcon = embeddedIcons.iconRedfish510;
|
|
222
225
|
break;
|
|
223
226
|
case "iDVM550":
|
|
@@ -248,9 +251,12 @@ export function getToolIcon(test, ref, embeddedIcons) {
|
|
|
248
251
|
case "Sauermann":
|
|
249
252
|
toolIcon = embeddedIcons.iconSauermann;
|
|
250
253
|
break;
|
|
254
|
+
case "Seitron":
|
|
255
|
+
toolIcon = embeddedIcons.iconSeitron;
|
|
256
|
+
break;
|
|
251
257
|
}
|
|
252
258
|
}
|
|
253
|
-
if (sourceValue == "iDVM510" && ref.includes("amperage"))
|
|
259
|
+
if ((sourceValue == "iDVM510" || sourceValue == "iDVM-510") && ref.includes("amperage"))
|
|
254
260
|
toolIcon = embeddedIcons.iconRedfish510333;
|
|
255
261
|
return toolIcon;
|
|
256
262
|
}
|
|
@@ -369,28 +375,45 @@ export function getElectricalData(test, suffix, embeddedIcons) {
|
|
|
369
375
|
const suffixAlreadyInSrc = src.includes(suffix) && suffix !== "";
|
|
370
376
|
const vSourceKey = suffixAlreadyInSrc ? "voltage" + src : "voltage" + src + suffix;
|
|
371
377
|
const aSourceKey = suffixAlreadyInSrc ? "amperage" + src : "amperage" + src + suffix;
|
|
378
|
+
|
|
379
|
+
// Build fallback source keys for multimeter sources (used when L1/L2/L3 sources aren't set)
|
|
380
|
+
// For condenser (suffix=""), check voltage_multimeter_condenser then voltage_multimeter
|
|
381
|
+
// For AHU (suffix="_ahu"), check voltage_multimeter_ahu then voltage_multimeter
|
|
382
|
+
const vMultimeterKey = suffix === "_ahu" ? "voltage_multimeter_ahu" : "voltage_multimeter_condenser";
|
|
383
|
+
const aMultimeterKey = suffix === "_ahu" ? "amperage_multimeter_ahu" : "amperage_multimeter_condenser";
|
|
384
|
+
|
|
385
|
+
// Get voltage source with fallback chain
|
|
386
|
+
let vSource = test.source[vSourceKey];
|
|
387
|
+
if (!vSource) vSource = test.source[vMultimeterKey];
|
|
388
|
+
if (!vSource) vSource = test.source["voltage_multimeter"];
|
|
389
|
+
|
|
390
|
+
// Get amperage source with fallback chain
|
|
391
|
+
let aSource = test.source[aSourceKey];
|
|
392
|
+
if (!aSource) aSource = test.source[aMultimeterKey];
|
|
393
|
+
if (!aSource) aSource = test.source["amperage_multimeter"];
|
|
394
|
+
|
|
372
395
|
if (vDisplay) {
|
|
373
|
-
if (
|
|
396
|
+
if (vSource == "ComfortGuard")
|
|
374
397
|
vIcon = embeddedIcons.iconSensi;
|
|
375
|
-
else if (
|
|
398
|
+
else if (vSource == "iDVM550" || vSource == "iDVM-550")
|
|
376
399
|
vIcon = embeddedIcons.iconRedfish550;
|
|
377
|
-
else if (
|
|
400
|
+
else if (vSource == "VOLT-100")
|
|
378
401
|
vIcon = embeddedIcons.iconVolt100;
|
|
379
|
-
else if (
|
|
402
|
+
else if (vSource == "iDVM510" || vSource == "iDVM-510")
|
|
380
403
|
vIcon = embeddedIcons.iconRedfish510;
|
|
381
|
-
else if (
|
|
404
|
+
else if (vSource == "Fieldpiece")
|
|
382
405
|
vIcon = embeddedIcons.iconFieldpiece;
|
|
383
406
|
}
|
|
384
407
|
if (aDisplay) {
|
|
385
|
-
if (
|
|
408
|
+
if (aSource == "ComfortGuard")
|
|
386
409
|
aIcon = embeddedIcons.iconSensi;
|
|
387
|
-
else if (
|
|
410
|
+
else if (aSource == "iDVM550" || aSource == "iDVM-550")
|
|
388
411
|
aIcon = embeddedIcons.iconRedfish550;
|
|
389
|
-
else if (
|
|
412
|
+
else if (aSource == "VOLT-100")
|
|
390
413
|
aIcon = embeddedIcons.iconVolt100;
|
|
391
|
-
else if (
|
|
414
|
+
else if (aSource == "iDVM510" || aSource == "iDVM-510")
|
|
392
415
|
aIcon = embeddedIcons.iconRedfish510;
|
|
393
|
-
else if (
|
|
416
|
+
else if (aSource == "Fieldpiece")
|
|
394
417
|
aIcon = embeddedIcons.iconFieldpiece;
|
|
395
418
|
}
|
|
396
419
|
return {
|