@acorex-platform/module-maintenance-management-client 0.0.38 → 0.0.48

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.
Files changed (150) hide show
  1. package/fesm2022/{acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BI7RNP_h.mjs → acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-CGfPQtJ8.mjs} +65 -172
  2. package/fesm2022/acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-CGfPQtJ8.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-activity-type-asset-type.mjs +15 -0
  4. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-activity-type-asset-type.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-activity-type-resource.mjs +15 -0
  6. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-activity-type-resource.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-activity-type.mjs +15 -0
  8. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-activity-type.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-cause.mjs +14 -0
  10. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-cause.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-detection.mjs +14 -0
  12. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-detection.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-effect.mjs +14 -0
  14. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-effect.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mechanism.mjs +13 -0
  16. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mechanism.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mode-asset-type.mjs +15 -0
  18. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mode-asset-type.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mode-mechanism.mjs +13 -0
  20. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mode-mechanism.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mode-solution.mjs +14 -0
  22. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mode-solution.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mode.mjs +15 -0
  24. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-mode.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-register-cause.mjs +13 -0
  26. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-register-cause.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-register-effect.mjs +13 -0
  28. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-register-effect.mjs.map +1 -1
  29. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-register-mechanism.mjs +13 -0
  30. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-register-mechanism.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-register.mjs +15 -0
  32. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-register.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-severity.mjs +14 -0
  34. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-severity.mjs.map +1 -1
  35. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-type.mjs +13 -0
  36. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-failure-type.mjs.map +1 -1
  37. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-plan.mjs +15 -0
  38. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-plan.mjs.map +1 -1
  39. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template-activity-type.mjs +13 -0
  40. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template-activity-type.mjs.map +1 -1
  41. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template-failure-mode.mjs +13 -0
  42. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template-failure-mode.mjs.map +1 -1
  43. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template-resource.mjs +15 -0
  44. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template-resource.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template.mjs +15 -0
  46. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-type.mjs +14 -0
  48. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-type.mjs.map +1 -1
  49. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-work-order.mjs +16 -0
  50. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-work-order.mjs.map +1 -1
  51. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-work-package.mjs +14 -0
  52. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-work-package.mjs.map +1 -1
  53. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-work-report.mjs +15 -0
  54. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-work-report.mjs.map +1 -1
  55. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-DJkKh0Qa.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-Ce_Gtygg.mjs} +27 -27
  56. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-DJkKh0Qa.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-Ce_Gtygg.mjs.map} +1 -1
  57. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity--Kz4Kqqe.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-j4ZSEV23.mjs} +17 -2
  58. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-j4ZSEV23.mjs.map +1 -0
  59. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-C2OP2EN0.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-E_3V_jzB.mjs} +17 -2
  60. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-E_3V_jzB.mjs.map +1 -0
  61. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-D9UUDRIS.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-B6fhl6no.mjs} +17 -2
  62. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-B6fhl6no.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-glUcXwS9.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-B1ax2SQq.mjs} +16 -2
  64. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-B1ax2SQq.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-CTp1voFW.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-BPm8TxI9.mjs} +16 -2
  66. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-BPm8TxI9.mjs.map +1 -0
  67. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-ClD09en8.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-CmDa7IJB.mjs} +16 -2
  68. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-CmDa7IJB.mjs.map +1 -0
  69. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-BcU0-nFS.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-Cuw1Xtw5.mjs} +15 -2
  70. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-Cuw1Xtw5.mjs.map +1 -0
  71. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-N37srLVb.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-CsERi3bQ.mjs} +17 -2
  72. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-CsERi3bQ.mjs.map +1 -0
  73. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-BkkvXk03.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-CQn2ZTN9.mjs} +15 -2
  74. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-CQn2ZTN9.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-HlVVBMTA.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-DOW3oGBy.mjs} +16 -2
  76. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-DOW3oGBy.mjs.map +1 -0
  77. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-BGJP73yC.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-nwlghfGJ.mjs} +17 -2
  78. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-nwlghfGJ.mjs.map +1 -0
  79. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-CLM9YuYF.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-CKgQBajU.mjs} +15 -2
  80. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-CKgQBajU.mjs.map +1 -0
  81. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-DpLYMLsi.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-BsTm2DXz.mjs} +15 -2
  82. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-BsTm2DXz.mjs.map +1 -0
  83. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-DqU2wP0I.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-RhAUF4Wg.mjs} +15 -2
  84. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-RhAUF4Wg.mjs.map +1 -0
  85. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-BPZwEGE9.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-CbPYlGtD.mjs} +17 -2
  86. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-CbPYlGtD.mjs.map +1 -0
  87. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-DaMUJOID.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-D15HVsVC.mjs} +16 -2
  88. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-D15HVsVC.mjs.map +1 -0
  89. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-DkhVvBOh.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-BP1c8JV3.mjs} +15 -2
  90. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-BP1c8JV3.mjs.map +1 -0
  91. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-WCiP2h8H.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-Cw7zqSZx.mjs} +17 -2
  92. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-Cw7zqSZx.mjs.map +1 -0
  93. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-FWn7bmMX.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-B3Icwu6O.mjs} +15 -2
  94. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-B3Icwu6O.mjs.map +1 -0
  95. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-DC5GTHYM.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-5pH2CdNi.mjs} +15 -2
  96. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-5pH2CdNi.mjs.map +1 -0
  97. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-O6y3Q3U6.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-C5aCdGUY.mjs} +17 -2
  98. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-C5aCdGUY.mjs.map +1 -0
  99. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-DFDajM9U.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-CVq2QFMQ.mjs} +17 -2
  100. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-CVq2QFMQ.mjs.map +1 -0
  101. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-CGSHreth.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-BmiKeQX1.mjs} +16 -2
  102. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-BmiKeQX1.mjs.map +1 -0
  103. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-GaQSPAmn.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-Bbkv3aW3.mjs} +18 -2
  104. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-Bbkv3aW3.mjs.map +1 -0
  105. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-CJE8Txjo.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-B_Q7JeJI.mjs} +16 -2
  106. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-CJE8Txjo.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-B_Q7JeJI.mjs.map} +1 -1
  107. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-BrActlGh.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-CVbumznt.mjs} +17 -2
  108. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-CVbumznt.mjs.map +1 -0
  109. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog.mjs +1 -1
  110. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts.mjs +21 -1
  111. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts.mjs.map +1 -1
  112. package/fesm2022/{acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-By_yjJjy.mjs → acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-Dk2th4Rc.mjs} +2 -2
  113. package/fesm2022/{acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-By_yjJjy.mjs.map → acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-Dk2th4Rc.mjs.map} +1 -1
  114. package/fesm2022/{acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-CcH5qKzv.mjs → acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-BvFTVTKQ.mjs} +2 -2
  115. package/fesm2022/{acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-CcH5qKzv.mjs.map → acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-BvFTVTKQ.mjs.map} +1 -1
  116. package/fesm2022/{acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CVlDdtxW.mjs → acorex-platform-module-maintenance-management-client-start-work-order-flow.command-BJeww85O.mjs} +2 -2
  117. package/fesm2022/{acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CVlDdtxW.mjs.map → acorex-platform-module-maintenance-management-client-start-work-order-flow.command-BJeww85O.mjs.map} +1 -1
  118. package/fesm2022/{acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-CZwXs7XY.mjs → acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-D0Pv7gvX.mjs} +2 -2
  119. package/fesm2022/{acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-CZwXs7XY.mjs.map → acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-D0Pv7gvX.mjs.map} +1 -1
  120. package/fesm2022/{acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-yzj-D7MB.mjs → acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-BwOeeKLn.mjs} +2 -2
  121. package/fesm2022/{acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-yzj-D7MB.mjs.map → acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-BwOeeKLn.mjs.map} +1 -1
  122. package/fesm2022/acorex-platform-module-maintenance-management-client.mjs +1 -1
  123. package/package.json +1 -1
  124. package/types/acorex-platform-module-maintenance-management-client-contracts.d.ts +8 -2
  125. package/fesm2022/acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BI7RNP_h.mjs.map +0 -1
  126. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity--Kz4Kqqe.mjs.map +0 -1
  127. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-C2OP2EN0.mjs.map +0 -1
  128. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-D9UUDRIS.mjs.map +0 -1
  129. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-glUcXwS9.mjs.map +0 -1
  130. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-CTp1voFW.mjs.map +0 -1
  131. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-ClD09en8.mjs.map +0 -1
  132. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-BcU0-nFS.mjs.map +0 -1
  133. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-N37srLVb.mjs.map +0 -1
  134. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-BkkvXk03.mjs.map +0 -1
  135. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-HlVVBMTA.mjs.map +0 -1
  136. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-BGJP73yC.mjs.map +0 -1
  137. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-CLM9YuYF.mjs.map +0 -1
  138. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-DpLYMLsi.mjs.map +0 -1
  139. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-DqU2wP0I.mjs.map +0 -1
  140. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-BPZwEGE9.mjs.map +0 -1
  141. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-DaMUJOID.mjs.map +0 -1
  142. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-DkhVvBOh.mjs.map +0 -1
  143. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-WCiP2h8H.mjs.map +0 -1
  144. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-FWn7bmMX.mjs.map +0 -1
  145. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-DC5GTHYM.mjs.map +0 -1
  146. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-O6y3Q3U6.mjs.map +0 -1
  147. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-DFDajM9U.mjs.map +0 -1
  148. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-CGSHreth.mjs.map +0 -1
  149. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-GaQSPAmn.mjs.map +0 -1
  150. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-BrActlGh.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-maintenance-management-client-contracts.mjs","sources":["../../../../libs/modules/maintenance-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/commands.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/features.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/menu.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/permission.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/work-order.status.ts","../../../../libs/modules/maintenance-management/contracts/src/work-order.source-type.ts","../../../../libs/modules/maintenance-management/contracts/src/failure-register.status.ts","../../../../libs/modules/maintenance-management/contracts/src/root-config.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type/activity-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-asset-type/activity-type-asset-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-resource/activity-type-resource.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-cause/failure-cause.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-detection/failure-detection.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-effect/failure-effect.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mechanism/failure-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode/failure-mode.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-asset-type/failure-mode-asset-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-mechanism/failure-mode-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-solution/failure-mode-solution.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register/failure-register.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-cause/failure-register-cause.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-effect/failure-register-effect.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-mechanism/failure-register-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-severity/failure-severity.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-type/failure-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-plan/maintenance-plan.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template/maintenance-template.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-activity-type/maintenance-template-activity-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-failure-mode/maintenance-template-failure-mode.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-resource/maintenance-template-resource.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-type/maintenance-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/work-report/work-report.types.ts","../../../../libs/modules/maintenance-management/contracts/src/index.ts","../../../../libs/modules/maintenance-management/contracts/src/acorex-platform-module-maintenance-management-client-contracts.ts"],"sourcesContent":["/** Maintenance catalog scope for questionnaires, question bank items, and workflow definitions. */\nexport const MM_CATALOG_SCOPE_MN = 'maintenance-management.mn';\n","//#region ---- Command keys ----\n\nexport const AXMMaintenanceManagementCommandKeys = {\n WorkOrder: {\n StartFlow: 'MaintenanceManagement.WorkOrder:StartFlow',\n },\n WorkReport: {\n FillCompletion: 'MaintenanceManagement.WorkReport:FillCompletion',\n OpenFromWorkOrder: 'MaintenanceManagement.WorkReport:OpenFromWorkOrder',\n },\n WorkflowActivity: {\n ResolveWorkOrder: 'workflow-activity:resolve-work-order',\n ResolvePersonUserId: 'workflow-activity:resolve-person-user-id',\n CreateOrGetWorkReportDraft: 'workflow-activity:create-or-get-work-report-draft',\n UpdateWorkOrderInProgress: 'workflow-activity:update-work-order-in-progress',\n ValidateWorkOrderCompletion: 'workflow-activity:validate-work-order-completion',\n UpdateWorkReportOnCompletion: 'workflow-activity:update-work-report-on-completion',\n RecordWorkReportAssessment: 'workflow-activity:record-work-report-assessment',\n UpdateWorkOrderCompleted: 'workflow-activity:update-work-order-completed',\n },\n} as const;\n\n//#endregion\n","export const AXMMaintenanceManagementFeatureKeys = {\n Management: 'MaintenanceManagement:Feature:Management',\n} as const;\n","export const AXMMaintenanceManagementMenuKeys = {\n Root: 'MaintenanceManagement:Menu',\n // MainPlanEquipmentMaintenanceSectionGroup: 'MaintenanceManagement:Menu:MainPlanEquipment:MaintenanceSectionGroup',\n // PlanEquipmentMaintenanceSectionGroup: 'MaintenanceManagement:Menu:PlantEquipment:MaintenanceSectionGroup',\n Activities: 'MaintenanceManagement:Menu:Activities',\n Failures: 'MaintenanceManagement:Menu:Failures',\n ActivityCategories: 'MaintenanceManagement:Menu:ActivityCategories',\n ActivityTypes: 'MaintenanceManagement:Menu:ActivityTypes',\n MaintenanceTypes: 'MaintenanceManagement:Menu:MaintenanceTypes',\n MaintenancePlans: 'MaintenanceManagement:Menu:MaintenancePlans',\n MaintenancePlansList: 'MaintenanceManagement:Menu:MaintenancePlans:List',\n WorkPackages: 'MaintenanceManagement:Menu:WorkPackages',\n WorkOrders: 'MaintenanceManagement:Menu:WorkOrders',\n WorkReports: 'MaintenanceManagement:Menu:WorkReports',\n MaintenanceTemplates: 'MaintenanceManagement:Menu:MaintenanceTemplates',\n MaintenanceTemplateActivityTypes: 'MaintenanceManagement:Menu:MaintenanceTemplateActivityTypes',\n MaintenanceTemplateResources: 'MaintenanceManagement:Menu:MaintenanceTemplateResources',\n MaintenanceTemplateFailureModes: 'MaintenanceManagement:Menu:MaintenanceTemplateFailureModes',\n FailureCauses: 'MaintenanceManagement:Menu:FailureCauses',\n FailureMechanisms: 'MaintenanceManagement:Menu:FailureMechanisms',\n FailureDetections: 'MaintenanceManagement:Menu:FailureDetections',\n FailureEffects: 'MaintenanceManagement:Menu:FailureEffects',\n FailureSeverities: 'MaintenanceManagement:Menu:FailureSeverities',\n FailureTypes: 'MaintenanceManagement:Menu:FailureTypes',\n FailureModes: 'MaintenanceManagement:Menu:FailureModes',\n FailureRegisters: 'MaintenanceManagement:Menu:FailureRegisters',\n} as const;\n","/**\n * Assets & Maintenance capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPAssetsMaintenancePermissionKeys = {\n Access: 'AssetsMaintenance:Permission:Access',\n MaintainAssets: 'AssetsMaintenance:Permission:MaintainAssets',\n MaintainMaintenance: 'AssetsMaintenance:Permission:MaintainMaintenance',\n Setup: 'AssetsMaintenance:Permission:Setup',\n} as const;\n\nconst cap = AXPAssetsMaintenancePermissionKeys.MaintainMaintenance;\n\nfunction entityCrud() {\n return {\n Management: cap,\n View: cap,\n Create: cap,\n Update: cap,\n Delete: cap,\n } as const;\n}\n\n/**\n * @deprecated Prefer {@link AXPAssetsMaintenancePermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMMaintenanceManagementPermissionKeys = {\n MaintenanceManagement: {\n Management: cap,\n ActivityCategory: entityCrud(),\n MaintenanceType: entityCrud(),\n MaintenanceTemplate: entityCrud(),\n MaintenancePlan: entityCrud(),\n WorkPackage: entityCrud(),\n WorkOrder: entityCrud(),\n WorkReport: entityCrud(),\n MaintenanceTemplateActivityType: entityCrud(),\n MaintenanceTemplateResource: entityCrud(),\n MaintenanceTemplateFailureMode: entityCrud(),\n ActivityType: entityCrud(),\n ActivityTypeAssetType: entityCrud(),\n ActivityTypeResource: entityCrud(),\n FailureCause: entityCrud(),\n FailureMechanism: entityCrud(),\n FailureDetection: entityCrud(),\n FailureEffect: entityCrud(),\n FailureSeverity: entityCrud(),\n FailureType: entityCrud(),\n FailureMode: entityCrud(),\n FailureRegister: entityCrud(),\n },\n} as const;\n","//#region ---- Status names ----\n\nexport enum AXMWorkOrderStatus {\n Planned = 'planned',\n Scheduled = 'scheduled',\n Assigned = 'assigned',\n InProgress = 'in-progress',\n OnHold = 'on-hold',\n Completed = 'completed',\n SignedOff = 'signed-off',\n Cancelled = 'cancelled',\n}\n\n//#endregion\n","//#region ---- Source type enum ----\n\nexport enum AXMWorkOrderSourceType {\n Manual = 'manual',\n MaintenancePlan = 'maintenance-plan',\n CreateAsset = 'create-asset',\n FailureRegister = 'failure-register',\n}\n\n//#endregion\n","//#region ---- Status names ----\n\nexport enum AXMFailureRegisterStatus {\n Reported = 'reported',\n UnderReview = 'underReview',\n WorkOrderRequired = 'workOrderRequired',\n WorkOrderCreated = 'workOrderCreated',\n InProgress = 'inProgress',\n Resolved = 'resolved',\n FollowUpRequired = 'followUpRequired',\n Rejected = 'rejected',\n Duplicate = 'duplicate',\n Closed = 'closed',\n}\n\n//#endregion\n","//#region ---- Root Configuration ----\n\nconst config = {\n i18n: 'maintenance-management',\n module: 'MaintenanceManagement',\n route: 'maintenance-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: config.route,\n name: config.module,\n title: '@maintenance-management:module.title',\n icon: 'fa-light fa-box',\n },\n entities: {\n maintenanceType: {\n name: 'MaintenanceType',\n source: `${config.module}.MaintenanceType`,\n title: '@maintenance-management:maintenance-types.entities.maintenance-type.title',\n titlePlural: '@maintenance-management:maintenance-types.entities.maintenance-type.plural',\n icon: 'fa-light fa-screwdriver-wrench',\n },\n maintenanceTemplate: {\n name: 'MaintenanceTemplate',\n source: `${config.module}.MaintenanceTemplate`,\n title: '@maintenance-management:maintenance-templates.entities.maintenance-template.title',\n titlePlural: '@maintenance-management:maintenance-templates.entities.maintenance-template.plural',\n icon: 'fa-light fa-clipboard-list',\n },\n maintenancePlan: {\n name: 'MaintenancePlan',\n source: `${config.module}.MaintenancePlan`,\n title: '@maintenance-management:maintenance-plans.entities.maintenance-plan.title',\n titlePlural: '@maintenance-management:maintenance-plans.entities.maintenance-plan.plural',\n icon: 'fa-light fa-calendar-check',\n },\n workPackage: {\n name: 'WorkPackage',\n source: `${config.module}.WorkPackage`,\n title: '@maintenance-management:work-packages.entities.work-package.title',\n titlePlural: '@maintenance-management:work-packages.entities.work-package.plural',\n icon: 'fa-light fa-boxes-packing',\n },\n workOrder: {\n name: 'WorkOrder',\n source: `${config.module}.WorkOrder`,\n title: '@maintenance-management:work-orders.entities.work-order.title',\n titlePlural: '@maintenance-management:work-orders.entities.work-order.plural',\n icon: 'fa-light fa-clipboard-check',\n },\n workReport: {\n name: 'WorkReport',\n source: `${config.module}.WorkReport`,\n title: '@maintenance-management:work-reports.entities.work-report.title',\n titlePlural: '@maintenance-management:work-reports.entities.work-report.plural',\n icon: 'fa-light fa-file-lines',\n },\n maintenanceTemplateActivityType: {\n name: 'MaintenanceTemplateActivityType',\n source: `${config.module}.MaintenanceTemplateActivityType`,\n title:\n '@maintenance-management:maintenance-template-activity-types.entities.maintenance-template-activity-type.title',\n titlePlural:\n '@maintenance-management:maintenance-template-activity-types.entities.maintenance-template-activity-type.plural',\n icon: 'fa-light fa-list-check',\n },\n maintenanceTemplateResource: {\n name: 'MaintenanceTemplateResource',\n source: `${config.module}.MaintenanceTemplateResource`,\n title: '@maintenance-management:maintenance-template-resources.entities.maintenance-template-resource.title',\n titlePlural:\n '@maintenance-management:maintenance-template-resources.entities.maintenance-template-resource.plural',\n icon: 'fa-light fa-box-open-full',\n },\n maintenanceTemplateFailureMode: {\n name: 'MaintenanceTemplateFailureMode',\n source: `${config.module}.MaintenanceTemplateFailureMode`,\n title:\n '@maintenance-management:maintenance-template-failure-modes.entities.maintenance-template-failure-mode.title',\n titlePlural:\n '@maintenance-management:maintenance-template-failure-modes.entities.maintenance-template-failure-mode.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n activityType: {\n name: 'ActivityType',\n source: `${config.module}.ActivityType`,\n title: '@maintenance-management:activity-types.entities.activity-type.title',\n titlePlural: '@maintenance-management:activity-types.entities.activity-type.plural',\n icon: 'fa-light fa-list-check',\n },\n activityTypeAssetType: {\n name: 'ActivityTypeAssetType',\n source: `${config.module}.ActivityTypeAssetType`,\n title: '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.title',\n titlePlural: '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.plural',\n icon: 'fa-light fa-link',\n },\n activityTypeResource: {\n name: 'ActivityTypeResource',\n source: `${config.module}.ActivityTypeResource`,\n title: '@maintenance-management:activity-type-resources.entities.activity-type-resource.title',\n titlePlural: '@maintenance-management:activity-type-resources.entities.activity-type-resource.plural',\n icon: 'fa-light fa-cubes',\n },\n failureCause: {\n name: 'FailureCause',\n source: `${config.module}.FailureCause`,\n title: '@maintenance-management:failure-causes.entities.failure-cause.title',\n titlePlural: '@maintenance-management:failure-causes.entities.failure-cause.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n failureMechanism: {\n name: 'FailureMechanism',\n source: `${config.module}.FailureMechanism`,\n title: '@maintenance-management:failure-mechanisms.entities.failure-mechanism.title',\n titlePlural: '@maintenance-management:failure-mechanisms.entities.failure-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n failureDetection: {\n name: 'FailureDetection',\n source: `${config.module}.FailureDetection`,\n title: '@maintenance-management:failure-detections.entities.failure-detection.title',\n titlePlural: '@maintenance-management:failure-detections.entities.failure-detection.plural',\n icon: 'fa-light fa-radar',\n },\n failureType: {\n name: 'FailureType',\n source: `${config.module}.FailureType`,\n title: '@maintenance-management:failure-types.entities.failure-type.title',\n titlePlural: '@maintenance-management:failure-types.entities.failure-type.plural',\n icon: 'fa-light fa-shapes',\n },\n failureMode: {\n name: 'FailureMode',\n source: `${config.module}.FailureMode`,\n title: '@maintenance-management:failure-modes.entities.failure-mode.title',\n titlePlural: '@maintenance-management:failure-modes.entities.failure-mode.plural',\n icon: 'fa-light fa-diagram-project',\n },\n failureModeAssetType: {\n name: 'FailureModeAssetType',\n source: `${config.module}.FailureModeAssetType`,\n title: '@maintenance-management:failure-mode-asset-types.entities.failure-mode-asset-type.title',\n titlePlural: '@maintenance-management:failure-mode-asset-types.entities.failure-mode-asset-type.plural',\n icon: 'fa-light fa-link',\n },\n failureModeMechanism: {\n name: 'FailureModeMechanism',\n source: `${config.module}.FailureModeMechanism`,\n title: '@maintenance-management:failure-mode-mechanisms.entities.failure-mode-mechanism.title',\n titlePlural: '@maintenance-management:failure-mode-mechanisms.entities.failure-mode-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n failureModeSolution: {\n name: 'FailureModeSolution',\n source: `${config.module}.FailureModeSolution`,\n title: '@maintenance-management:failure-mode-solutions.entities.failure-mode-solution.title',\n titlePlural: '@maintenance-management:failure-mode-solutions.entities.failure-mode-solution.plural',\n icon: 'fa-light fa-screwdriver-wrench',\n },\n failureEffect: {\n name: 'FailureEffect',\n source: `${config.module}.FailureEffect`,\n title: '@maintenance-management:failure-effects.entities.failure-effect.title',\n titlePlural: '@maintenance-management:failure-effects.entities.failure-effect.plural',\n icon: 'fa-light fa-waveform-lines',\n },\n failureSeverity: {\n name: 'FailureSeverity',\n source: `${config.module}.FailureSeverity`,\n title: '@maintenance-management:failure-severities.entities.failure-severity.title',\n titlePlural: '@maintenance-management:failure-severities.entities.failure-severity.plural',\n icon: 'fa-light fa-gauge-high',\n },\n failureRegister: {\n name: 'FailureRegister',\n source: `${config.module}.FailureRegister`,\n title: '@maintenance-management:failure-registers.entities.failure-register.title',\n titlePlural: '@maintenance-management:failure-registers.entities.failure-register.plural',\n icon: 'fa-light fa-file-waveform',\n },\n failureRegisterEffect: {\n name: 'FailureRegisterEffect',\n source: `${config.module}.FailureRegisterEffect`,\n title: '@maintenance-management:failure-register-effects.entities.failure-register-effect.title',\n titlePlural: '@maintenance-management:failure-register-effects.entities.failure-register-effect.plural',\n icon: 'fa-light fa-wave-pulse',\n },\n failureRegisterCause: {\n name: 'FailureRegisterCause',\n source: `${config.module}.FailureRegisterCause`,\n title: '@maintenance-management:failure-register-causes.entities.failure-register-cause.title',\n titlePlural: '@maintenance-management:failure-register-causes.entities.failure-register-cause.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n failureRegisterMechanism: {\n name: 'FailureRegisterMechanism',\n source: `${config.module}.FailureRegisterMechanism`,\n title: '@maintenance-management:failure-register-mechanisms.entities.failure-register-mechanism.title',\n titlePlural: '@maintenance-management:failure-register-mechanisms.entities.failure-register-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n },\n};\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\n/** Scheduler-picker value persisted on activity types. */\nexport interface AXMMaintenanceManagementActivityTypeSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n endDate?: string | Date;\n };\n}\n\nexport interface AXMMaintenanceManagementActivityTypeEntityModel {\n id: string;\n code: string;\n activityCategoryId: string;\n activityCategory?: { id: string; title: AXPMultiLanguageString };\n scheduleId?: AXMMaintenanceManagementActivityTypeSchedule;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n initialEstimatedTime?: number;\n shutDownFlag?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementActivityTypeAssetTypeEntityModel {\n id: string;\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n assetTypeId: string;\n assetType?: { id: string; title: AXPMultiLanguageString };\n workTeamId: string;\n workTeam?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\nexport type AXMMaintenanceManagementActivityTypeResourceType = 'assettype' | 'jobdefinition' | 'inventoryitem';\n\nexport interface AXMMaintenanceManagementActivityTypeResourceEntityModel {\n id: string;\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n resourceType: AXMMaintenanceManagementActivityTypeResourceType;\n resourceId: string;\n resourceSelectionIds?: string[];\n /** Denormalized labels for list/grid when stored values are raw ids (see mock seeding). */\n resourceSummary?: string;\n count?: number;\n description?: AXPMultiLanguageString;\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureCauseEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n failureTypeId?: string;\n failureType?: { id: string; title: AXPMultiLanguageString };\n failureMechanismIds?: string[];\n priorityId?: 'critical' | 'high' | 'medium' | 'low';\n shutDownFlag?: boolean;\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureDetectionEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureEffectEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureMechanismEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n shutDownFlag?: boolean;\n priorityId?: string;\n failureTypeId: string;\n failureType?: { id: string; title: AXPMultiLanguageString };\n failureMechanismIds?: string[];\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeAssetTypeEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n assetTypeId: string;\n assetType?: { id: string; title: AXPMultiLanguageString };\n priorityId?: string;\n shutDownFlag?: boolean;\n creditRequired?: boolean;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeMechanismEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeMechanismEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeSolutionEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n description: AXPMultiLanguageString;\n successRate: number;\n riskLevel: 'low' | 'medium' | 'high' | 'critical';\n estimatedCost: number;\n solutionType: 'temporary' | 'permanent' | 'workaround' | 'preventive';\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\nimport { AXMFailureRegisterStatus } from '../../failure-register.status';\n\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterEntityModel {\n id: string;\n /** Business code from identifier rule `failure-register-code` (`FR-{date:YYYY}-{seq:4}`). */\n code: string;\n statusId: AXMFailureRegisterStatus;\n date: string;\n assetSystemId?: string;\n assetSystem?: { id: string; title: AXPMultiLanguageString };\n assetId: string;\n asset?: { id: string; title: AXPMultiLanguageString };\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureDetectionId: string;\n failureDetection?: { id: string; title: AXPMultiLanguageString };\n priorityId: string;\n failureSeverityId: string;\n failureSeverity?: { id: string; title: AXPMultiLanguageString };\n failureEffectIds?: string[];\n failureCauseIds?: string[];\n failureMechanismIds?: string[];\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterCauseEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureCauseId: string;\n failureCause?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterEffectEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureEffectId: string;\n failureEffect?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterMechanismEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureSeverityEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureTypeEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenancePlanSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n occurrences?: number;\n endDate?: string | Date;\n };\n}\n\nexport interface AXMMaintenanceManagementMaintenancePlanEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-plan-code` (`MP-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n maintenanceTypeId: string;\n maintenanceType?: { id: string; title: AXPMultiLanguageString };\n assetId: string;\n asset?: {\n id: string;\n title: AXPMultiLanguageString;\n assetTypeId?: string;\n assetType?: { maintenanceTypeIds?: string[] };\n };\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString; hasSchedule?: boolean };\n schedule?: AXMMaintenanceManagementMaintenancePlanSchedule;\n assignedToId?: string;\n assignedTo?: { id: string; displayName?: string };\n priorityId?: string;\n priority?: { id: string; title: AXPMultiLanguageString };\n needPermission?: boolean;\n needShutdown?: boolean;\n estimatedHours?: number;\n autoGeneratedPlan?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\n/** Workflow template binding and admin-configured default inputs for maintenance templates. */\nexport interface AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig {\n workflowDefinitionId: string;\n workflowName: string;\n /** When false, approval workflow is disabled for work orders using this template. */\n enabled?: boolean;\n defaultInput?: Record<string, unknown>;\n}\n\n/** Scheduler-picker value persisted on maintenance templates (aligned with maintenance plans). */\nexport interface AXMMaintenanceManagementMaintenanceTemplateSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n endDate?: string | Date;\n };\n}\n\n/** Persisted value shape for the meta-data-builder plugin (`metaDataList`). */\nexport interface AXMMaintenanceManagementMaintenanceTemplateMetaDataList {\n groups: Array<{\n name: string;\n title?: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n order: number;\n fields: Array<{\n id: string;\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n /** Serialized widget descriptor (JSON string), same convention as Asset Type mock meta-data. */\n interface: string;\n configuration?: Record<string, unknown>;\n order: number;\n }>;\n }>;\n}\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-template-code` (`MNT-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n maintenanceTypeId: string;\n maintenanceType?: {\n id: string;\n title: AXPMultiLanguageString;\n hasSchedule?: boolean;\n autoGeneratePlan?: boolean;\n };\n assetTypeId: string;\n assetType?: { id: string; title?: AXPMultiLanguageString; maintenanceTypeIds?: string[] };\n /** Selected metadata field ids from asset types that support the maintenance type. */\n // metadataIds?: string[];\n /** Asset status key (aligned with asset lifecycle status). */\n assetStatusTypeId?: string;\n needPermission: boolean;\n needShutdown: boolean;\n estimatedMinutes?: number;\n /** Dynamic field definitions for the meta-data-builder plugin (stored as `metaDataList`). */\n // metaDataList?: AXMMaintenanceManagementMaintenanceTemplateMetaDataList;\n /** Selected workflow and template-time input defaults (workflow-selector plugin). */\n workflowConfig?: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null;\n /** Recurrence schedule (`scheduler-picker` widget value). */\n schedule?: AXMMaintenanceManagementMaintenanceTemplateSchedule;\n /** Template definition version (identifier). */\n versionId?: string;\n autoGeneratePlan?: boolean;\n hasSchedule?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateActivityTypeEntityModel {\n id: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n sequenceNo: number;\n needShutdown: boolean;\n isMainActivity: boolean;\n estimatedMinutes?: number;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateFailureModeEntityModel {\n id: string;\n code: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\nexport type AXMMaintenanceManagementMaintenanceTemplateResourceType = 'assettype' | 'jobdefinition' | 'inventoryitem';\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateResourceEntityModel {\n id: string;\n code: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title?: AXPMultiLanguageString; name?: string };\n resourceType: AXMMaintenanceManagementMaintenanceTemplateResourceType;\n resourceId?: string;\n resourceSelectionIds?: string[];\n /** Denormalized titles for list/grid when stored values are ids. */\n resourceSummary?: string;\n quantity?: number;\n estimatedHours?: number;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTypeEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-type-code` (`MT-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n autoGeneratePlan?: boolean;\n hasSchedule?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\n//#region ---- Types ----\n\nexport interface AXMWorkReportAssessmentReference {\n assessmentCaseId: string;\n assessmentCase?: {\n id: string;\n title?: AXPMultiLanguageString;\n };\n completedAt?: string | null;\n completedById?: string | null;\n}\n\nexport interface AXMMaintenanceManagementWorkReportEntityModel {\n id: string;\n workOrderId: string;\n workOrder?: {\n id: string;\n workOrderNo?: string;\n title?: AXPMultiLanguageString;\n statusId?: string;\n };\n reportedAt: string;\n performedById: string;\n performedBy?: { id: string; displayName?: string };\n result?: string;\n summary?: string;\n actionTaken?: string;\n recommendation?: string;\n laborHours?: number;\n downtimeMinutes?: number;\n startedAt?: Date;\n endedAt?: Date;\n needFollowUp?: boolean;\n followUpWorkOrderId?: string;\n followUpWorkOrder?: {\n id: string;\n workOrderNo?: string;\n title?: AXPMultiLanguageString;\n };\n assessments?: AXMWorkReportAssessmentReference[];\n finalizedAt?: string | null;\n}\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './commands.keys';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './work-order.status';\nexport * from './work-order.source-type';\nexport * from './failure-register.status';\n\nexport * from './root-config';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-maintenance-management-client-contracts.mjs","sources":["../../../../libs/modules/maintenance-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/commands.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/features.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/menu.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/permission.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/work-order.status.ts","../../../../libs/modules/maintenance-management/contracts/src/work-order.source-type.ts","../../../../libs/modules/maintenance-management/contracts/src/failure-register.status.ts","../../../../libs/modules/maintenance-management/contracts/src/root-config.ts","../../../../libs/modules/maintenance-management/contracts/src/manifest.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type/activity-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-asset-type/activity-type-asset-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-resource/activity-type-resource.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-cause/failure-cause.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-detection/failure-detection.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-effect/failure-effect.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mechanism/failure-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode/failure-mode.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-asset-type/failure-mode-asset-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-mechanism/failure-mode-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-solution/failure-mode-solution.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register/failure-register.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-cause/failure-register-cause.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-effect/failure-register-effect.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-mechanism/failure-register-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-severity/failure-severity.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-type/failure-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-plan/maintenance-plan.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template/maintenance-template.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-activity-type/maintenance-template-activity-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-failure-mode/maintenance-template-failure-mode.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-resource/maintenance-template-resource.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-type/maintenance-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/work-report/work-report.types.ts","../../../../libs/modules/maintenance-management/contracts/src/index.ts","../../../../libs/modules/maintenance-management/contracts/src/acorex-platform-module-maintenance-management-client-contracts.ts"],"sourcesContent":["/** Maintenance catalog scope for questionnaires, question bank items, and workflow definitions. */\nexport const MM_CATALOG_SCOPE_MN = 'maintenance-management.mn';\n","//#region ---- Command keys ----\n\nexport const AXMMaintenanceManagementCommandKeys = {\n WorkOrder: {\n StartFlow: 'MaintenanceManagement.WorkOrder:StartFlow',\n },\n WorkReport: {\n FillCompletion: 'MaintenanceManagement.WorkReport:FillCompletion',\n OpenFromWorkOrder: 'MaintenanceManagement.WorkReport:OpenFromWorkOrder',\n },\n WorkflowActivity: {\n ResolveWorkOrder: 'workflow-activity:resolve-work-order',\n ResolvePersonUserId: 'workflow-activity:resolve-person-user-id',\n CreateOrGetWorkReportDraft: 'workflow-activity:create-or-get-work-report-draft',\n UpdateWorkOrderInProgress: 'workflow-activity:update-work-order-in-progress',\n ValidateWorkOrderCompletion: 'workflow-activity:validate-work-order-completion',\n UpdateWorkReportOnCompletion: 'workflow-activity:update-work-report-on-completion',\n RecordWorkReportAssessment: 'workflow-activity:record-work-report-assessment',\n UpdateWorkOrderCompleted: 'workflow-activity:update-work-order-completed',\n },\n} as const;\n\n//#endregion\n","export const AXMMaintenanceManagementFeatureKeys = {\n Management: 'MaintenanceManagement:Feature:Management',\n} as const;\n","export const AXMMaintenanceManagementMenuKeys = {\n Root: 'MaintenanceManagement:Menu',\n // MainPlanEquipmentMaintenanceSectionGroup: 'MaintenanceManagement:Menu:MainPlanEquipment:MaintenanceSectionGroup',\n // PlanEquipmentMaintenanceSectionGroup: 'MaintenanceManagement:Menu:PlantEquipment:MaintenanceSectionGroup',\n Activities: 'MaintenanceManagement:Menu:Activities',\n Failures: 'MaintenanceManagement:Menu:Failures',\n ActivityCategories: 'MaintenanceManagement:Menu:ActivityCategories',\n ActivityTypes: 'MaintenanceManagement:Menu:ActivityTypes',\n MaintenanceTypes: 'MaintenanceManagement:Menu:MaintenanceTypes',\n MaintenancePlans: 'MaintenanceManagement:Menu:MaintenancePlans',\n MaintenancePlansList: 'MaintenanceManagement:Menu:MaintenancePlans:List',\n WorkPackages: 'MaintenanceManagement:Menu:WorkPackages',\n WorkOrders: 'MaintenanceManagement:Menu:WorkOrders',\n WorkReports: 'MaintenanceManagement:Menu:WorkReports',\n MaintenanceTemplates: 'MaintenanceManagement:Menu:MaintenanceTemplates',\n MaintenanceTemplateActivityTypes: 'MaintenanceManagement:Menu:MaintenanceTemplateActivityTypes',\n MaintenanceTemplateResources: 'MaintenanceManagement:Menu:MaintenanceTemplateResources',\n MaintenanceTemplateFailureModes: 'MaintenanceManagement:Menu:MaintenanceTemplateFailureModes',\n FailureCauses: 'MaintenanceManagement:Menu:FailureCauses',\n FailureMechanisms: 'MaintenanceManagement:Menu:FailureMechanisms',\n FailureDetections: 'MaintenanceManagement:Menu:FailureDetections',\n FailureEffects: 'MaintenanceManagement:Menu:FailureEffects',\n FailureSeverities: 'MaintenanceManagement:Menu:FailureSeverities',\n FailureTypes: 'MaintenanceManagement:Menu:FailureTypes',\n FailureModes: 'MaintenanceManagement:Menu:FailureModes',\n FailureRegisters: 'MaintenanceManagement:Menu:FailureRegisters',\n} as const;\n","/**\n * Assets & Maintenance capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPAssetsMaintenancePermissionKeys = {\n Access: 'AssetsMaintenance:Permission:Access',\n MaintainAssets: 'AssetsMaintenance:Permission:MaintainAssets',\n MaintainMaintenance: 'AssetsMaintenance:Permission:MaintainMaintenance',\n Setup: 'AssetsMaintenance:Permission:Setup',\n} as const;\n\nconst cap = AXPAssetsMaintenancePermissionKeys.MaintainMaintenance;\n\nfunction entityCrud() {\n return {\n Management: cap,\n View: cap,\n Create: cap,\n Update: cap,\n Delete: cap,\n } as const;\n}\n\n/**\n * @deprecated Prefer {@link AXPAssetsMaintenancePermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMMaintenanceManagementPermissionKeys = {\n MaintenanceManagement: {\n Management: cap,\n ActivityCategory: entityCrud(),\n MaintenanceType: entityCrud(),\n MaintenanceTemplate: entityCrud(),\n MaintenancePlan: entityCrud(),\n WorkPackage: entityCrud(),\n WorkOrder: entityCrud(),\n WorkReport: entityCrud(),\n MaintenanceTemplateActivityType: entityCrud(),\n MaintenanceTemplateResource: entityCrud(),\n MaintenanceTemplateFailureMode: entityCrud(),\n ActivityType: entityCrud(),\n ActivityTypeAssetType: entityCrud(),\n ActivityTypeResource: entityCrud(),\n FailureCause: entityCrud(),\n FailureMechanism: entityCrud(),\n FailureDetection: entityCrud(),\n FailureEffect: entityCrud(),\n FailureSeverity: entityCrud(),\n FailureType: entityCrud(),\n FailureMode: entityCrud(),\n FailureRegister: entityCrud(),\n },\n} as const;\n","//#region ---- Status names ----\n\nexport enum AXMWorkOrderStatus {\n Planned = 'planned',\n Scheduled = 'scheduled',\n Assigned = 'assigned',\n InProgress = 'in-progress',\n OnHold = 'on-hold',\n Completed = 'completed',\n SignedOff = 'signed-off',\n Cancelled = 'cancelled',\n}\n\n//#endregion\n","//#region ---- Source type enum ----\n\nexport enum AXMWorkOrderSourceType {\n Manual = 'manual',\n MaintenancePlan = 'maintenance-plan',\n CreateAsset = 'create-asset',\n FailureRegister = 'failure-register',\n}\n\n//#endregion\n","//#region ---- Status names ----\n\nexport enum AXMFailureRegisterStatus {\n Reported = 'reported',\n UnderReview = 'underReview',\n WorkOrderRequired = 'workOrderRequired',\n WorkOrderCreated = 'workOrderCreated',\n InProgress = 'inProgress',\n Resolved = 'resolved',\n FollowUpRequired = 'followUpRequired',\n Rejected = 'rejected',\n Duplicate = 'duplicate',\n Closed = 'closed',\n}\n\n//#endregion\n","//#region ---- Root Configuration ----\n\nconst config = {\n i18n: 'maintenance-management',\n module: 'MaintenanceManagement',\n route: 'maintenance-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: config.route,\n name: config.module,\n title: '@maintenance-management:module.title',\n icon: 'fa-light fa-box',\n },\n entities: {\n maintenanceType: {\n name: 'MaintenanceType',\n source: `${config.module}.MaintenanceType`,\n title: '@maintenance-management:maintenance-types.entities.maintenance-type.title',\n titlePlural: '@maintenance-management:maintenance-types.entities.maintenance-type.plural',\n icon: 'fa-light fa-screwdriver-wrench',\n },\n maintenanceTemplate: {\n name: 'MaintenanceTemplate',\n source: `${config.module}.MaintenanceTemplate`,\n title: '@maintenance-management:maintenance-templates.entities.maintenance-template.title',\n titlePlural: '@maintenance-management:maintenance-templates.entities.maintenance-template.plural',\n icon: 'fa-light fa-clipboard-list',\n },\n maintenancePlan: {\n name: 'MaintenancePlan',\n source: `${config.module}.MaintenancePlan`,\n title: '@maintenance-management:maintenance-plans.entities.maintenance-plan.title',\n titlePlural: '@maintenance-management:maintenance-plans.entities.maintenance-plan.plural',\n icon: 'fa-light fa-calendar-check',\n },\n workPackage: {\n name: 'WorkPackage',\n source: `${config.module}.WorkPackage`,\n title: '@maintenance-management:work-packages.entities.work-package.title',\n titlePlural: '@maintenance-management:work-packages.entities.work-package.plural',\n icon: 'fa-light fa-boxes-packing',\n },\n workOrder: {\n name: 'WorkOrder',\n source: `${config.module}.WorkOrder`,\n title: '@maintenance-management:work-orders.entities.work-order.title',\n titlePlural: '@maintenance-management:work-orders.entities.work-order.plural',\n icon: 'fa-light fa-clipboard-check',\n },\n workReport: {\n name: 'WorkReport',\n source: `${config.module}.WorkReport`,\n title: '@maintenance-management:work-reports.entities.work-report.title',\n titlePlural: '@maintenance-management:work-reports.entities.work-report.plural',\n icon: 'fa-light fa-file-lines',\n },\n maintenanceTemplateActivityType: {\n name: 'MaintenanceTemplateActivityType',\n source: `${config.module}.MaintenanceTemplateActivityType`,\n title:\n '@maintenance-management:maintenance-template-activity-types.entities.maintenance-template-activity-type.title',\n titlePlural:\n '@maintenance-management:maintenance-template-activity-types.entities.maintenance-template-activity-type.plural',\n icon: 'fa-light fa-list-check',\n },\n maintenanceTemplateResource: {\n name: 'MaintenanceTemplateResource',\n source: `${config.module}.MaintenanceTemplateResource`,\n title: '@maintenance-management:maintenance-template-resources.entities.maintenance-template-resource.title',\n titlePlural:\n '@maintenance-management:maintenance-template-resources.entities.maintenance-template-resource.plural',\n icon: 'fa-light fa-box-open-full',\n },\n maintenanceTemplateFailureMode: {\n name: 'MaintenanceTemplateFailureMode',\n source: `${config.module}.MaintenanceTemplateFailureMode`,\n title:\n '@maintenance-management:maintenance-template-failure-modes.entities.maintenance-template-failure-mode.title',\n titlePlural:\n '@maintenance-management:maintenance-template-failure-modes.entities.maintenance-template-failure-mode.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n activityType: {\n name: 'ActivityType',\n source: `${config.module}.ActivityType`,\n title: '@maintenance-management:activity-types.entities.activity-type.title',\n titlePlural: '@maintenance-management:activity-types.entities.activity-type.plural',\n icon: 'fa-light fa-list-check',\n },\n activityTypeAssetType: {\n name: 'ActivityTypeAssetType',\n source: `${config.module}.ActivityTypeAssetType`,\n title: '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.title',\n titlePlural: '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.plural',\n icon: 'fa-light fa-link',\n },\n activityTypeResource: {\n name: 'ActivityTypeResource',\n source: `${config.module}.ActivityTypeResource`,\n title: '@maintenance-management:activity-type-resources.entities.activity-type-resource.title',\n titlePlural: '@maintenance-management:activity-type-resources.entities.activity-type-resource.plural',\n icon: 'fa-light fa-cubes',\n },\n failureCause: {\n name: 'FailureCause',\n source: `${config.module}.FailureCause`,\n title: '@maintenance-management:failure-causes.entities.failure-cause.title',\n titlePlural: '@maintenance-management:failure-causes.entities.failure-cause.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n failureMechanism: {\n name: 'FailureMechanism',\n source: `${config.module}.FailureMechanism`,\n title: '@maintenance-management:failure-mechanisms.entities.failure-mechanism.title',\n titlePlural: '@maintenance-management:failure-mechanisms.entities.failure-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n failureDetection: {\n name: 'FailureDetection',\n source: `${config.module}.FailureDetection`,\n title: '@maintenance-management:failure-detections.entities.failure-detection.title',\n titlePlural: '@maintenance-management:failure-detections.entities.failure-detection.plural',\n icon: 'fa-light fa-radar',\n },\n failureType: {\n name: 'FailureType',\n source: `${config.module}.FailureType`,\n title: '@maintenance-management:failure-types.entities.failure-type.title',\n titlePlural: '@maintenance-management:failure-types.entities.failure-type.plural',\n icon: 'fa-light fa-shapes',\n },\n failureMode: {\n name: 'FailureMode',\n source: `${config.module}.FailureMode`,\n title: '@maintenance-management:failure-modes.entities.failure-mode.title',\n titlePlural: '@maintenance-management:failure-modes.entities.failure-mode.plural',\n icon: 'fa-light fa-diagram-project',\n },\n failureModeAssetType: {\n name: 'FailureModeAssetType',\n source: `${config.module}.FailureModeAssetType`,\n title: '@maintenance-management:failure-mode-asset-types.entities.failure-mode-asset-type.title',\n titlePlural: '@maintenance-management:failure-mode-asset-types.entities.failure-mode-asset-type.plural',\n icon: 'fa-light fa-link',\n },\n failureModeMechanism: {\n name: 'FailureModeMechanism',\n source: `${config.module}.FailureModeMechanism`,\n title: '@maintenance-management:failure-mode-mechanisms.entities.failure-mode-mechanism.title',\n titlePlural: '@maintenance-management:failure-mode-mechanisms.entities.failure-mode-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n failureModeSolution: {\n name: 'FailureModeSolution',\n source: `${config.module}.FailureModeSolution`,\n title: '@maintenance-management:failure-mode-solutions.entities.failure-mode-solution.title',\n titlePlural: '@maintenance-management:failure-mode-solutions.entities.failure-mode-solution.plural',\n icon: 'fa-light fa-screwdriver-wrench',\n },\n failureEffect: {\n name: 'FailureEffect',\n source: `${config.module}.FailureEffect`,\n title: '@maintenance-management:failure-effects.entities.failure-effect.title',\n titlePlural: '@maintenance-management:failure-effects.entities.failure-effect.plural',\n icon: 'fa-light fa-waveform-lines',\n },\n failureSeverity: {\n name: 'FailureSeverity',\n source: `${config.module}.FailureSeverity`,\n title: '@maintenance-management:failure-severities.entities.failure-severity.title',\n titlePlural: '@maintenance-management:failure-severities.entities.failure-severity.plural',\n icon: 'fa-light fa-gauge-high',\n },\n failureRegister: {\n name: 'FailureRegister',\n source: `${config.module}.FailureRegister`,\n title: '@maintenance-management:failure-registers.entities.failure-register.title',\n titlePlural: '@maintenance-management:failure-registers.entities.failure-register.plural',\n icon: 'fa-light fa-file-waveform',\n },\n failureRegisterEffect: {\n name: 'FailureRegisterEffect',\n source: `${config.module}.FailureRegisterEffect`,\n title: '@maintenance-management:failure-register-effects.entities.failure-register-effect.title',\n titlePlural: '@maintenance-management:failure-register-effects.entities.failure-register-effect.plural',\n icon: 'fa-light fa-wave-pulse',\n },\n failureRegisterCause: {\n name: 'FailureRegisterCause',\n source: `${config.module}.FailureRegisterCause`,\n title: '@maintenance-management:failure-register-causes.entities.failure-register-cause.title',\n titlePlural: '@maintenance-management:failure-register-causes.entities.failure-register-cause.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n failureRegisterMechanism: {\n name: 'FailureRegisterMechanism',\n source: `${config.module}.FailureRegisterMechanism`,\n title: '@maintenance-management:failure-register-mechanisms.entities.failure-register-mechanism.title',\n titlePlural: '@maintenance-management:failure-register-mechanisms.entities.failure-register-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Maintenance Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const MaintenanceManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'domain',\n domain: 'asset-maintenance',\n required: false,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\n/** Scheduler-picker value persisted on activity types. */\nexport interface AXMMaintenanceManagementActivityTypeSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n endDate?: string | Date;\n };\n}\n\nexport interface AXMMaintenanceManagementActivityTypeEntityModel {\n id: string;\n code: string;\n activityCategoryId: string;\n activityCategory?: { id: string; title: AXPMultiLanguageString };\n scheduleId?: AXMMaintenanceManagementActivityTypeSchedule;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n initialEstimatedTime?: number;\n shutDownFlag?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementActivityTypeAssetTypeEntityModel {\n id: string;\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n assetTypeId: string;\n assetType?: { id: string; title: AXPMultiLanguageString };\n workTeamId: string;\n workTeam?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\nexport type AXMMaintenanceManagementActivityTypeResourceType = 'assettype' | 'jobdefinition' | 'inventoryitem';\n\nexport interface AXMMaintenanceManagementActivityTypeResourceEntityModel {\n id: string;\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n resourceType: AXMMaintenanceManagementActivityTypeResourceType;\n resourceId: string;\n resourceSelectionIds?: string[];\n /** Denormalized labels for list/grid when stored values are raw ids (see mock seeding). */\n resourceSummary?: string;\n count?: number;\n description?: AXPMultiLanguageString;\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureCauseEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n failureTypeId?: string;\n failureType?: { id: string; title: AXPMultiLanguageString };\n failureMechanismIds?: string[];\n priorityId?: 'critical' | 'high' | 'medium' | 'low';\n shutDownFlag?: boolean;\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureDetectionEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureEffectEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureMechanismEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n shutDownFlag?: boolean;\n priorityId?: string;\n failureTypeId: string;\n failureType?: { id: string; title: AXPMultiLanguageString };\n failureMechanismIds?: string[];\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeAssetTypeEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n assetTypeId: string;\n assetType?: { id: string; title: AXPMultiLanguageString };\n priorityId?: string;\n shutDownFlag?: boolean;\n creditRequired?: boolean;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeMechanismEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeMechanismEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeSolutionEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n description: AXPMultiLanguageString;\n successRate: number;\n riskLevel: 'low' | 'medium' | 'high' | 'critical';\n estimatedCost: number;\n solutionType: 'temporary' | 'permanent' | 'workaround' | 'preventive';\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\nimport { AXMFailureRegisterStatus } from '../../failure-register.status';\n\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterEntityModel {\n id: string;\n /** Business code from identifier rule `failure-register-code` (`FR-{date:YYYY}-{seq:4}`). */\n code: string;\n statusId: AXMFailureRegisterStatus;\n date: string;\n assetSystemId?: string;\n assetSystem?: { id: string; title: AXPMultiLanguageString };\n assetId: string;\n asset?: { id: string; title: AXPMultiLanguageString };\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureDetectionId: string;\n failureDetection?: { id: string; title: AXPMultiLanguageString };\n priorityId: string;\n failureSeverityId: string;\n failureSeverity?: { id: string; title: AXPMultiLanguageString };\n failureEffectIds?: string[];\n failureCauseIds?: string[];\n failureMechanismIds?: string[];\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterCauseEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureCauseId: string;\n failureCause?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterEffectEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureEffectId: string;\n failureEffect?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterMechanismEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureSeverityEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureTypeEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenancePlanSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n occurrences?: number;\n endDate?: string | Date;\n };\n}\n\nexport interface AXMMaintenanceManagementMaintenancePlanEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-plan-code` (`MP-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n maintenanceTypeId: string;\n maintenanceType?: { id: string; title: AXPMultiLanguageString };\n assetId: string;\n asset?: {\n id: string;\n title: AXPMultiLanguageString;\n assetTypeId?: string;\n assetType?: { maintenanceTypeIds?: string[] };\n };\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString; hasSchedule?: boolean };\n schedule?: AXMMaintenanceManagementMaintenancePlanSchedule;\n assignedToId?: string;\n assignedTo?: { id: string; displayName?: string };\n priorityId?: string;\n priority?: { id: string; title: AXPMultiLanguageString };\n needPermission?: boolean;\n needShutdown?: boolean;\n estimatedHours?: number;\n autoGeneratedPlan?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\n/** Workflow template binding and admin-configured default inputs for maintenance templates. */\nexport interface AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig {\n workflowDefinitionId: string;\n workflowName: string;\n /** When false, approval workflow is disabled for work orders using this template. */\n enabled?: boolean;\n defaultInput?: Record<string, unknown>;\n}\n\n/** Scheduler-picker value persisted on maintenance templates (aligned with maintenance plans). */\nexport interface AXMMaintenanceManagementMaintenanceTemplateSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n endDate?: string | Date;\n };\n}\n\n/** Persisted value shape for the meta-data-builder plugin (`metaDataList`). */\nexport interface AXMMaintenanceManagementMaintenanceTemplateMetaDataList {\n groups: Array<{\n name: string;\n title?: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n order: number;\n fields: Array<{\n id: string;\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n /** Serialized widget descriptor (JSON string), same convention as Asset Type mock meta-data. */\n interface: string;\n configuration?: Record<string, unknown>;\n order: number;\n }>;\n }>;\n}\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-template-code` (`MNT-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n maintenanceTypeId: string;\n maintenanceType?: {\n id: string;\n title: AXPMultiLanguageString;\n hasSchedule?: boolean;\n autoGeneratePlan?: boolean;\n };\n assetTypeId: string;\n assetType?: { id: string; title?: AXPMultiLanguageString; maintenanceTypeIds?: string[] };\n /** Selected metadata field ids from asset types that support the maintenance type. */\n // metadataIds?: string[];\n /** Asset status key (aligned with asset lifecycle status). */\n assetStatusTypeId?: string;\n needPermission: boolean;\n needShutdown: boolean;\n estimatedMinutes?: number;\n /** Dynamic field definitions for the meta-data-builder plugin (stored as `metaDataList`). */\n // metaDataList?: AXMMaintenanceManagementMaintenanceTemplateMetaDataList;\n /** Selected workflow and template-time input defaults (workflow-selector plugin). */\n workflowConfig?: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null;\n /** Recurrence schedule (`scheduler-picker` widget value). */\n schedule?: AXMMaintenanceManagementMaintenanceTemplateSchedule;\n /** Template definition version (identifier). */\n versionId?: string;\n autoGeneratePlan?: boolean;\n hasSchedule?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateActivityTypeEntityModel {\n id: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n sequenceNo: number;\n needShutdown: boolean;\n isMainActivity: boolean;\n estimatedMinutes?: number;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateFailureModeEntityModel {\n id: string;\n code: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\nexport type AXMMaintenanceManagementMaintenanceTemplateResourceType = 'assettype' | 'jobdefinition' | 'inventoryitem';\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateResourceEntityModel {\n id: string;\n code: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title?: AXPMultiLanguageString; name?: string };\n resourceType: AXMMaintenanceManagementMaintenanceTemplateResourceType;\n resourceId?: string;\n resourceSelectionIds?: string[];\n /** Denormalized titles for list/grid when stored values are ids. */\n resourceSummary?: string;\n quantity?: number;\n estimatedHours?: number;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTypeEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-type-code` (`MT-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n autoGeneratePlan?: boolean;\n hasSchedule?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\n//#region ---- Types ----\n\nexport interface AXMWorkReportAssessmentReference {\n assessmentCaseId: string;\n assessmentCase?: {\n id: string;\n title?: AXPMultiLanguageString;\n };\n completedAt?: string | null;\n completedById?: string | null;\n}\n\nexport interface AXMMaintenanceManagementWorkReportEntityModel {\n id: string;\n workOrderId: string;\n workOrder?: {\n id: string;\n workOrderNo?: string;\n title?: AXPMultiLanguageString;\n statusId?: string;\n };\n reportedAt: string;\n performedById: string;\n performedBy?: { id: string; displayName?: string };\n result?: string;\n summary?: string;\n actionTaken?: string;\n recommendation?: string;\n laborHours?: number;\n downtimeMinutes?: number;\n startedAt?: Date;\n endedAt?: Date;\n needFollowUp?: boolean;\n followUpWorkOrderId?: string;\n followUpWorkOrder?: {\n id: string;\n workOrderNo?: string;\n title?: AXPMultiLanguageString;\n };\n assessments?: AXMWorkReportAssessmentReference[];\n finalizedAt?: string | null;\n}\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './commands.keys';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './work-order.status';\nexport * from './work-order.source-type';\nexport * from './failure-register.status';\n\nexport * from './root-config';\nexport * from './manifest';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import * as i0 from '@angular/core';
4
4
  import { inject, Injectable } from '@angular/core';
5
5
  import { defaultTo, get, isString } from 'lodash';
6
6
  import { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';
7
- import { A as AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BI7RNP_h.mjs';
7
+ import { A as AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-CGfPQtJ8.mjs';
8
8
 
9
9
  //#region ---- Imports ----
10
10
  //#endregion
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
138
138
  }] });
139
139
 
140
140
  export { CreateOrGetWorkReportDraftActivity };
141
- //# sourceMappingURL=acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-By_yjJjy.mjs.map
141
+ //# sourceMappingURL=acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-Dk2th4Rc.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-By_yjJjy.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/activities/create-or-get-work-report-draft.activity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPDebugService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from '../work-order-workflow.debug';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface CreateOrGetWorkReportDraftInput {\n workOrderId: string;\n performedById?: string | null;\n}\n\nexport interface CreateOrGetWorkReportDraftOutput {\n workReportId: string;\n created: boolean;\n reused: boolean;\n}\n\n//#endregion\n\n/**\n * Creates a draft work report for a work order or reuses an existing one to prevent duplicates.\n */\n@Injectable({ providedIn: 'root' })\nexport class CreateOrGetWorkReportDraftActivity\n implements AXPCommand<CreateOrGetWorkReportDraftInput, CreateOrGetWorkReportDraftOutput>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly debug = inject(AXPDebugService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: CreateOrGetWorkReportDraftInput,\n ): AXPCommandExecuteResultPromise<CreateOrGetWorkReportDraftOutput> {\n const workOrderId = this.resolveText(input?.workOrderId);\n\n if (!workOrderId) {\n return {\n success: false,\n message: { text: 'workOrderId is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const existing = await this.findWorkReportByWorkOrderId(workOrderId);\n if (existing?.id) {\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Reused existing work report draft',\n { workOrderId, workReportId: existing.id },\n );\n return { success: true, kind: 'object',\n data: {\n workReportId: existing.id,\n created: false,\n reused: true,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n const performedById = await this.resolvePerformedById(workOrderId, input.performedById);\n if (!performedById) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'performedById could not be resolved',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'performedById is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const now = new Date().toISOString();\n const createdId = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .create({\n workOrderId,\n reportedAt: now,\n performedById,\n startedAt: now,\n finalizedAt: null,\n assessments: [],\n } as never);\n\n const workReportId = this.resolveText(createdId);\n if (!workReportId) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Work report draft creation returned no id',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'Work report draft could not be created' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Created work report draft',\n { workOrderId, workReportId, performedById },\n );\n\n return { success: true, kind: 'object',\n data: {\n workReportId,\n created: true,\n reused: false,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async resolvePerformedById(workOrderId: string, explicit: unknown): Promise<string> {\n const fromInput = this.resolveText(explicit);\n if (fromInput) {\n return fromInput;\n }\n\n const workOrder = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId)) as AXMMaintenanceManagementWorkOrderEntityModel | null;\n\n const assignedToId = this.resolveText(workOrder?.assignedToId);\n if (!assignedToId) {\n return '';\n }\n\n const page = await this.entityService\n .withEntity('HumanCapitalManagement', 'Employee')\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'personId', operator: { type: 'equal' }, value: assignedToId }],\n },\n } as never);\n\n const employee = defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n return this.resolveText(employee?.id);\n }\n\n private async findWorkReportByWorkOrderId(workOrderId: string): Promise<{ id?: string } | null> {\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'workOrderId', operator: { type: 'equal' }, value: workOrderId }],\n },\n } as never);\n\n return defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n //#endregion\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;AA4BA;AAEA;;AAEG;MAEU,kCAAkC,CAAA;AAD/C,IAAA,WAAA,GAAA;;AAMmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;AA6JjD,IAAA;;;IAvJC,MAAM,OAAO,CACX,KAAsC,EAAA;QAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC;QAExD,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE;AAC5C,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAChC;QACH;QAEA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC;AACpE,QAAA,IAAI,QAAQ,EAAE,EAAE,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,uCAAuC,EACvC,mBAAmB,EACnB,mCAAmC,EACnC,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC3C;AACD,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ;AACpC,gBAAA,IAAI,EAAE;oBACJ,YAAY,EAAE,QAAQ,CAAC,EAAE;AACzB,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,MAAM,EAAE,IAAI;AACb,iBAAA;AACD,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAC9B;QACH;AAEA,QAAA,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;QACvF,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,uCAAuC,EACvC,mBAAmB,EACnB,qCAAqC,EACrC,EAAE,WAAW,EAAE,CAChB;YACD,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;AAC9C,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAChC;QACH;QAEA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACpC,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;AAC1B,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACtE,aAAA,IAAI;AACJ,aAAA,MAAM,CAAC;YACN,WAAW;AACX,YAAA,UAAU,EAAE,GAAG;YACf,aAAa;AACb,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,EAAE;AACP,SAAA,CAAC;QAEb,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,uCAAuC,EACvC,mBAAmB,EACnB,2CAA2C,EAC3C,EAAE,WAAW,EAAE,CAChB;YACD,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,wCAAwC,EAAE;AAC3D,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAChC;QACH;AAEA,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,uCAAuC,EACvC,mBAAmB,EACnB,2BAA2B,EAC3B,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,CAC7C;AAED,QAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ;AACpC,YAAA,IAAI,EAAE;gBACJ,YAAY;AACZ,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,MAAM,EAAE,KAAK;AACd,aAAA;AACD,YAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;SAC9B;IACH;;;AAMQ,IAAA,MAAM,oBAAoB,CAAC,WAAmB,EAAE,QAAiB,EAAA;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QAC5C,IAAI,SAAS,EAAE;AACb,YAAA,OAAO,SAAS;QAClB;AAEA,QAAA,MAAM,SAAS,IAAI,MAAM,IAAI,CAAC;AAC3B,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACrE,aAAA,IAAI;AACJ,aAAA,KAAK,CAAC,WAAW,CAAC,CAAwD;QAE7E,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC;QAC9D,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;AACrB,aAAA,UAAU,CAAC,wBAAwB,EAAE,UAAU;AAC/C,aAAA,IAAI;AACJ,aAAA,KAAK,CAAC;AACL,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACnF,aAAA;AACO,SAAA,CAAC;AAEb,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,CAA2B;QACjF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvC;IAEQ,MAAM,2BAA2B,CAAC,WAAmB,EAAA;AAC3D,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;AACrB,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACtE,aAAA,IAAI;AACJ,aAAA,KAAK,CAAC;AACL,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AACrF,aAAA;AACO,SAAA,CAAC;QAEb,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,CAA2B;IACzE;AAEQ,IAAA,WAAW,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACpB,YAAA,OAAO,EAAE;QACX;AACA,QAAA,OAAO,KAAK,CAAC,IAAI,EAAE;IACrB;8GAhKW,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,cADrB,MAAM,EAAA,CAAA,CAAA;;2FACnB,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAD9C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
1
+ {"version":3,"file":"acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-Dk2th4Rc.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/activities/create-or-get-work-report-draft.activity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPDebugService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from '../work-order-workflow.debug';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface CreateOrGetWorkReportDraftInput {\n workOrderId: string;\n performedById?: string | null;\n}\n\nexport interface CreateOrGetWorkReportDraftOutput {\n workReportId: string;\n created: boolean;\n reused: boolean;\n}\n\n//#endregion\n\n/**\n * Creates a draft work report for a work order or reuses an existing one to prevent duplicates.\n */\n@Injectable({ providedIn: 'root' })\nexport class CreateOrGetWorkReportDraftActivity\n implements AXPCommand<CreateOrGetWorkReportDraftInput, CreateOrGetWorkReportDraftOutput>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly debug = inject(AXPDebugService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: CreateOrGetWorkReportDraftInput,\n ): AXPCommandExecuteResultPromise<CreateOrGetWorkReportDraftOutput> {\n const workOrderId = this.resolveText(input?.workOrderId);\n\n if (!workOrderId) {\n return {\n success: false,\n message: { text: 'workOrderId is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const existing = await this.findWorkReportByWorkOrderId(workOrderId);\n if (existing?.id) {\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Reused existing work report draft',\n { workOrderId, workReportId: existing.id },\n );\n return { success: true, kind: 'object',\n data: {\n workReportId: existing.id,\n created: false,\n reused: true,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n const performedById = await this.resolvePerformedById(workOrderId, input.performedById);\n if (!performedById) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'performedById could not be resolved',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'performedById is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const now = new Date().toISOString();\n const createdId = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .create({\n workOrderId,\n reportedAt: now,\n performedById,\n startedAt: now,\n finalizedAt: null,\n assessments: [],\n } as never);\n\n const workReportId = this.resolveText(createdId);\n if (!workReportId) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Work report draft creation returned no id',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'Work report draft could not be created' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Created work report draft',\n { workOrderId, workReportId, performedById },\n );\n\n return { success: true, kind: 'object',\n data: {\n workReportId,\n created: true,\n reused: false,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async resolvePerformedById(workOrderId: string, explicit: unknown): Promise<string> {\n const fromInput = this.resolveText(explicit);\n if (fromInput) {\n return fromInput;\n }\n\n const workOrder = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId)) as AXMMaintenanceManagementWorkOrderEntityModel | null;\n\n const assignedToId = this.resolveText(workOrder?.assignedToId);\n if (!assignedToId) {\n return '';\n }\n\n const page = await this.entityService\n .withEntity('HumanCapitalManagement', 'Employee')\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'personId', operator: { type: 'equal' }, value: assignedToId }],\n },\n } as never);\n\n const employee = defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n return this.resolveText(employee?.id);\n }\n\n private async findWorkReportByWorkOrderId(workOrderId: string): Promise<{ id?: string } | null> {\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'workOrderId', operator: { type: 'equal' }, value: workOrderId }],\n },\n } as never);\n\n return defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import * as i0 from '@angular/core';
4
4
  import { inject, Injectable } from '@angular/core';
5
5
  import { defaultTo, get, isString } from 'lodash';
6
6
  import { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';
7
- import { A as AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BI7RNP_h.mjs';
7
+ import { A as AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-CGfPQtJ8.mjs';
8
8
  import { i as isWorkReportFinalized, s as sortWorkReportAssessments, u as upsertWorkReportAssessment } from './acorex-platform-module-maintenance-management-client-work-report-assessment.util-Da1HVAit.mjs';
9
9
 
10
10
  //#region ---- Imports ----
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
149
149
  }] });
150
150
 
151
151
  export { RecordWorkReportAssessmentActivity };
152
- //# sourceMappingURL=acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-CcH5qKzv.mjs.map
152
+ //# sourceMappingURL=acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-BvFTVTKQ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-CcH5qKzv.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/activities/record-work-report-assessment.activity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPDebugService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from '../work-order-workflow.debug';\nimport type { AXMMaintenanceManagementWorkReportEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n isWorkReportFinalized,\n sortWorkReportAssessments,\n upsertWorkReportAssessment,\n} from '../../../work-report/work-report-assessment.util';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface RecordWorkReportAssessmentInput {\n workOrderId: string;\n workReportId?: string | null;\n performedById?: string | null;\n assessmentCaseId: string;\n completedById?: string | null;\n}\n\nexport interface RecordWorkReportAssessmentOutput {\n workReportId: string;\n workOrderId: string;\n}\n\n//#endregion\n\n/**\n * Persists a lightweight checklist assessment reference on WorkReport after a checklist is submitted.\n * Questionnaire answers remain in AssessmentCase / AssessmentSession storage.\n */\n@Injectable({ providedIn: 'root' })\nexport class RecordWorkReportAssessmentActivity\n implements AXPCommand<RecordWorkReportAssessmentInput, RecordWorkReportAssessmentOutput>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly debug = inject(AXPDebugService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: RecordWorkReportAssessmentInput,\n ): AXPCommandExecuteResultPromise<RecordWorkReportAssessmentOutput> {\n const workOrderId = this.resolveText(input?.workOrderId);\n const assessmentCaseId = this.resolveText(input?.assessmentCaseId);\n\n if (!workOrderId) {\n return {\n success: false,\n message: { text: 'workOrderId is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n if (!assessmentCaseId) {\n return { success: true, kind: 'object',\n data: { workReportId: this.resolveText(input.workReportId), workOrderId },\n metadata: { outcome: 'Done' },\n };\n }\n\n const workReport = await this.resolveWorkReport(workOrderId, input);\n if (!workReport?.id) {\n return {\n success: false,\n message: { text: 'Work report could not be resolved for the work order' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n if (isWorkReportFinalized(workReport)) {\n return {\n success: false,\n message: { text: 'Work report is finalized and cannot be updated' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const assessmentCase = await this.loadAssessmentCase(assessmentCaseId);\n const completedById = this.resolveText(input.completedById);\n const assessments = sortWorkReportAssessments(\n upsertWorkReportAssessment(workReport.assessments, {\n assessmentCaseId,\n assessmentCaseTitle: assessmentCase?.title as never,\n completedAt: new Date().toISOString(),\n completedById: completedById || null,\n }),\n );\n\n await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .update(workReport.id, { assessments } as never);\n\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-assessment',\n 'Recorded checklist reference on work report',\n { workOrderId, workReportId: workReport.id, assessmentCaseId, assessmentCount: assessments.length },\n );\n\n return { success: true, kind: 'object',\n data: { workReportId: workReport.id, workOrderId },\n metadata: { outcome: 'Done' },\n };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async resolveWorkReport(\n workOrderId: string,\n input: RecordWorkReportAssessmentInput,\n ): Promise<AXMMaintenanceManagementWorkReportEntityModel | null> {\n const workReportId = this.resolveText(input.workReportId);\n if (workReportId) {\n const byId = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .byKey(workReportId)) as AXMMaintenanceManagementWorkReportEntityModel | null;\n\n if (byId?.id && this.resolveText(byId.workOrderId) === workOrderId) {\n return byId;\n }\n }\n\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'workOrderId', operator: { type: 'equal' }, value: workOrderId }],\n },\n } as never);\n\n const existing = defaultTo(get(page, 'items[0]'), null) as AXMMaintenanceManagementWorkReportEntityModel | null;\n if (existing?.id) {\n return existing;\n }\n\n const performedById = this.resolveText(input.performedById);\n if (!performedById) {\n return null;\n }\n\n const now = new Date().toISOString();\n const createdId = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .create({\n workOrderId,\n reportedAt: now,\n performedById,\n startedAt: now,\n finalizedAt: null,\n assessments: [],\n } as never);\n\n const id = this.resolveText(createdId);\n if (!id) {\n return null;\n }\n\n return (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .byKey(id)) as AXMMaintenanceManagementWorkReportEntityModel | null;\n }\n\n private async loadAssessmentCase(assessmentCaseId: string): Promise<{ title?: unknown } | null> {\n try {\n return (await this.entityService\n .withEntity('AssessmentManagement', 'AssessmentCase')\n .data()\n .byKey(assessmentCaseId)) as { title?: unknown } | null;\n } catch {\n return null;\n }\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-BvFTVTKQ.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/activities/record-work-report-assessment.activity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPDebugService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from '../work-order-workflow.debug';\nimport type { AXMMaintenanceManagementWorkReportEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n isWorkReportFinalized,\n sortWorkReportAssessments,\n upsertWorkReportAssessment,\n} from '../../../work-report/work-report-assessment.util';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface RecordWorkReportAssessmentInput {\n workOrderId: string;\n workReportId?: string | null;\n performedById?: string | null;\n assessmentCaseId: string;\n completedById?: string | null;\n}\n\nexport interface RecordWorkReportAssessmentOutput {\n workReportId: string;\n workOrderId: string;\n}\n\n//#endregion\n\n/**\n * Persists a lightweight checklist assessment reference on WorkReport after a checklist is submitted.\n * Questionnaire answers remain in AssessmentCase / AssessmentSession storage.\n */\n@Injectable({ providedIn: 'root' })\nexport class RecordWorkReportAssessmentActivity\n implements AXPCommand<RecordWorkReportAssessmentInput, RecordWorkReportAssessmentOutput>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly debug = inject(AXPDebugService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: RecordWorkReportAssessmentInput,\n ): AXPCommandExecuteResultPromise<RecordWorkReportAssessmentOutput> {\n const workOrderId = this.resolveText(input?.workOrderId);\n const assessmentCaseId = this.resolveText(input?.assessmentCaseId);\n\n if (!workOrderId) {\n return {\n success: false,\n message: { text: 'workOrderId is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n if (!assessmentCaseId) {\n return { success: true, kind: 'object',\n data: { workReportId: this.resolveText(input.workReportId), workOrderId },\n metadata: { outcome: 'Done' },\n };\n }\n\n const workReport = await this.resolveWorkReport(workOrderId, input);\n if (!workReport?.id) {\n return {\n success: false,\n message: { text: 'Work report could not be resolved for the work order' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n if (isWorkReportFinalized(workReport)) {\n return {\n success: false,\n message: { text: 'Work report is finalized and cannot be updated' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const assessmentCase = await this.loadAssessmentCase(assessmentCaseId);\n const completedById = this.resolveText(input.completedById);\n const assessments = sortWorkReportAssessments(\n upsertWorkReportAssessment(workReport.assessments, {\n assessmentCaseId,\n assessmentCaseTitle: assessmentCase?.title as never,\n completedAt: new Date().toISOString(),\n completedById: completedById || null,\n }),\n );\n\n await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .update(workReport.id, { assessments } as never);\n\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-assessment',\n 'Recorded checklist reference on work report',\n { workOrderId, workReportId: workReport.id, assessmentCaseId, assessmentCount: assessments.length },\n );\n\n return { success: true, kind: 'object',\n data: { workReportId: workReport.id, workOrderId },\n metadata: { outcome: 'Done' },\n };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async resolveWorkReport(\n workOrderId: string,\n input: RecordWorkReportAssessmentInput,\n ): Promise<AXMMaintenanceManagementWorkReportEntityModel | null> {\n const workReportId = this.resolveText(input.workReportId);\n if (workReportId) {\n const byId = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .byKey(workReportId)) as AXMMaintenanceManagementWorkReportEntityModel | null;\n\n if (byId?.id && this.resolveText(byId.workOrderId) === workOrderId) {\n return byId;\n }\n }\n\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'workOrderId', operator: { type: 'equal' }, value: workOrderId }],\n },\n } as never);\n\n const existing = defaultTo(get(page, 'items[0]'), null) as AXMMaintenanceManagementWorkReportEntityModel | null;\n if (existing?.id) {\n return existing;\n }\n\n const performedById = this.resolveText(input.performedById);\n if (!performedById) {\n return null;\n }\n\n const now = new Date().toISOString();\n const createdId = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .create({\n workOrderId,\n reportedAt: now,\n performedById,\n startedAt: now,\n finalizedAt: null,\n assessments: [],\n } as never);\n\n const id = this.resolveText(createdId);\n if (!id) {\n return null;\n }\n\n return (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .byKey(id)) as AXMMaintenanceManagementWorkReportEntityModel | null;\n }\n\n private async loadAssessmentCase(assessmentCaseId: string): Promise<{ title?: unknown } | null> {\n try {\n return (await this.entityService\n .withEntity('AssessmentManagement', 'AssessmentCase')\n .data()\n .byKey(assessmentCaseId)) as { title?: unknown } | null;\n } catch {\n return null;\n }\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import * as i0 from '@angular/core';
8
8
  import { inject, Injectable } from '@angular/core';
9
9
  import { defaultTo, get, isString } from 'lodash';
10
10
  import { AXMWorkOrderStatus, RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';
11
- import { q as queryWorkflowTemplatesForAsset, r as resolveDisplayLabel } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BI7RNP_h.mjs';
11
+ import { q as queryWorkflowTemplatesForAsset, r as resolveDisplayLabel } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-CGfPQtJ8.mjs';
12
12
 
13
13
  //#region ---- Imports ----
14
14
  const STARTABLE_STATUSES = new Set([
@@ -399,4 +399,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
399
399
  }] });
400
400
 
401
401
  export { StartWorkOrderFlowCommand };
402
- //# sourceMappingURL=acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CVlDdtxW.mjs.map
402
+ //# sourceMappingURL=acorex-platform-module-maintenance-management-client-start-work-order-flow.command-BJeww85O.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CVlDdtxW.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/commands/start-work-order-flow.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntityService,\n buildAXPRecordWorkflowInfo,\n getRecordWorkflowInstanceId,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPBroadcastEventService } from '@acorex-platform/framework-client/core';\nimport { AXP_WORKFLOW_ENGINE, type AXPWorkflowEngine } from '@acorex-platform/framework-client/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { AXMWorkOrderStatus, RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n type EntityStorageBackend,\n queryWorkflowTemplatesForAsset,\n resolveDisplayLabel,\n type MaintenanceTemplateLike,\n} from '../../../middlewares/maintenance-generation.utils';\n\n//#endregion\n\n//#region ---- Types ----\n\ninterface StartWorkOrderFlowContext {\n /** When set, applies the maintenance template on the work order before starting the workflow. */\n maintenanceTemplateId?: string;\n data?: Record<string, unknown>;\n options?: { maintenanceTemplateId?: string };\n}\n\nconst STARTABLE_STATUSES = new Set<string>([\n AXMWorkOrderStatus.Planned,\n AXMWorkOrderStatus.Scheduled,\n AXMWorkOrderStatus.Assigned,\n]);\n\n//#endregion\n\n/**\n * Starts the maintenance template workflow for a work order (execution + approval).\n */\n@Injectable({ providedIn: 'root' })\nexport class StartWorkOrderFlowCommand implements AXPCommand<StartWorkOrderFlowContext, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly workflowEngine = inject(AXP_WORKFLOW_ENGINE) as AXPWorkflowEngine;\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n private readonly dialogService = inject(AXDialogService);\n private readonly eventService = inject(AXPBroadcastEventService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: StartWorkOrderFlowContext): AXPCommandExecuteResultPromise<void> {\n const row = defaultTo(get(input, 'data'), {}) as Record<string, unknown>;\n const workOrderId = this.resolveText(get(row, 'id'));\n if (!workOrderId) {\n return { success: false, message: { text: 'Work order id is required.' } };\n }\n\n if (getRecordWorkflowInstanceId(row)) {\n return { success: false };\n }\n\n let workOrder = await this.loadWorkOrder(workOrderId, row);\n if (!workOrder) {\n return { success: false, message: { text: 'Work order not found.' } };\n }\n\n const explicitTemplateId = this.resolveText(get(input, 'maintenanceTemplateId'));\n const selectedTemplateId = await this.resolveMaintenanceTemplateId(workOrder, explicitTemplateId || undefined);\n if (!selectedTemplateId) {\n return { success: false };\n }\n\n const flowPrerequisites = await this.validateFlowPrerequisites(workOrder, selectedTemplateId);\n if (!flowPrerequisites) {\n return { success: false };\n }\n\n const { workflowConfig, workflowName, assignedEmployeeId } = flowPrerequisites;\n\n if (selectedTemplateId !== workOrder.maintenanceTemplateId) {\n await this.applyMaintenanceTemplate(workOrderId, selectedTemplateId);\n workOrder = (await this.loadWorkOrder(workOrderId)) ?? workOrder;\n }\n\n const assetIdentifiers = await this.resolveAssetIdentifiers(this.resolveText(workOrder.assetId));\n const workflowInputs = this.buildWorkflowInputs(\n workOrder,\n workflowConfig,\n assignedEmployeeId,\n assetIdentifiers,\n );\n const correlationId = `${RootConfig.entities.workOrder.source}:${workOrderId}:${workflowName}`;\n\n try {\n // Start via engine only — do not use AXPWorkflowManager.start() here; it auto-runs inline\n // frontend steps (e.g. checklist fill). Human tasks must stay on the task board.\n const startResponse = await this.workflowEngine.start({\n workflowId: workflowName,\n input: {\n ...workflowInputs,\n refId: workOrderId,\n refType: RootConfig.entities.workOrder.source,\n correlationId,\n },\n });\n\n const instanceId = startResponse.instanceId;\n if (!instanceId) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: 'Unknown error' } };\n }\n\n await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .update(workOrderId, {\n workflowInfo: buildAXPRecordWorkflowInfo({\n instanceId,\n definitionId: workflowName,\n correlationId,\n }),\n } as never);\n\n this.eventService.publish('task-board.refresh', { provider: workflowName });\n\n const taskBoardHint = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.workflow-started-use-task-board',\n );\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:messages.generic.success.title'),\n content: taskBoardHint,\n closeButton: true,\n timeOut: 6000,\n });\n\n return { success: true, kind: 'object', data: undefined };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n console.error('[StartWorkOrderFlowCommand]', error);\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: message,\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: message } };\n }\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async loadWorkOrder(\n workOrderId: string,\n row?: Record<string, unknown>,\n ): Promise<AXMMaintenanceManagementWorkOrderEntityModel | null> {\n if (get(row, 'id') === workOrderId) {\n return row as unknown as AXMMaintenanceManagementWorkOrderEntityModel;\n }\n\n const loaded = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId);\n return (loaded as AXMMaintenanceManagementWorkOrderEntityModel | null) ?? null;\n }\n\n private async applyMaintenanceTemplate(workOrderId: string, templateId: string): Promise<void> {\n const template = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.maintenanceTemplate.name)\n .data()\n .byKey(templateId)) as {\n id?: string;\n title?: unknown;\n maintenanceTypeId?: string;\n metadataIds?: string[];\n workflowConfig?: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null;\n needShutdown?: boolean;\n needPermission?: boolean;\n estimatedMinutes?: number;\n } | null;\n\n if (!template?.id) {\n throw new Error('Maintenance template not found.');\n }\n\n const estimatedHours =\n typeof template.estimatedMinutes === 'number' && template.estimatedMinutes > 0\n ? Math.round((template.estimatedMinutes / 60) * 100) / 100\n : undefined;\n\n await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .update(workOrderId, {\n maintenanceTemplateId: template.id,\n maintenanceTypeId: template.maintenanceTypeId,\n maintenanceTemplate: {\n id: template.id,\n title: template.title,\n metadataIds: template.metadataIds,\n workflowConfig: template.workflowConfig,\n },\n needShutdown: template.needShutdown ?? false,\n needPermission: template.needPermission ?? false,\n ...(estimatedHours !== undefined ? { estimatedHours } : {}),\n } as never);\n }\n\n private async resolveWorkflowConfig(\n workOrder: AXMMaintenanceManagementWorkOrderEntityModel,\n ): Promise<AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null> {\n let workflowConfig = workOrder.maintenanceTemplate?.workflowConfig ?? null;\n if (!workflowConfig?.workflowDefinitionId && workOrder.maintenanceTemplateId) {\n const template = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.maintenanceTemplate.name)\n .data()\n .byKey(workOrder.maintenanceTemplateId);\n workflowConfig = get(template, 'workflowConfig') ?? null;\n }\n return workflowConfig;\n }\n\n private isWorkflowEnabled(\n workflowConfig: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null,\n ): boolean {\n if (!workflowConfig?.workflowDefinitionId?.trim() || !workflowConfig.workflowName?.trim()) {\n return false;\n }\n return workflowConfig.enabled !== false;\n }\n\n /**\n * Validates work-order state before starting a workflow or persisting workflowInfo.\n */\n private async validateFlowPrerequisites(\n workOrder: AXMMaintenanceManagementWorkOrderEntityModel,\n selectedTemplateId: string,\n ): Promise<{\n workflowConfig: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig;\n workflowName: string;\n assignedEmployeeId: string;\n } | null> {\n const statusId = workOrder.statusId ?? '';\n if (!STARTABLE_STATUSES.has(statusId)) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.flow-requires-startable-status',\n );\n await this.showWarning(content);\n return null;\n }\n\n const workflowConfig = await this.resolveWorkflowConfigForTemplate(selectedTemplateId);\n if (!this.isWorkflowEnabled(workflowConfig)) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.no-workflow-configured',\n );\n await this.showWarning(content);\n return null;\n }\n\n const workflowName = workflowConfig!.workflowName.trim();\n const assignedToId = this.resolveText(workOrder.assignedToId);\n if (!assignedToId) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.assigned-user-required',\n );\n await this.showWarning(content);\n return null;\n }\n\n const assignedEmployeeId = await this.resolveEmployeeIdByPersonId(assignedToId);\n if (workflowName === 'work-order-approval' && !assignedEmployeeId) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.assigned-employee-required',\n );\n await this.showWarning(content);\n return null;\n }\n\n return { workflowConfig: workflowConfig!, workflowName, assignedEmployeeId };\n }\n\n private async resolveWorkflowConfigForTemplate(\n templateId: string,\n ): Promise<AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null> {\n const template = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.maintenanceTemplate.name)\n .data()\n .byKey(templateId);\n return get(template, 'workflowConfig') ?? null;\n }\n\n private async resolveAssetIdentifiers(\n assetId: string,\n ): Promise<{ assetCode: string | null; assetSerialNumber: string | null }> {\n if (!assetId) {\n return { assetCode: null, assetSerialNumber: null };\n }\n\n const asset = (await this.entityService\n .withEntity('AssetManagement', 'Asset')\n .data()\n .byKey(assetId)) as { code?: string; serialNumber?: string } | null;\n\n const assetCode = this.resolveText(asset?.code);\n const assetSerialNumber = this.resolveText(asset?.serialNumber);\n\n return {\n assetCode: assetCode || null,\n assetSerialNumber: assetSerialNumber || null,\n };\n }\n\n private buildWorkflowInputs(\n workOrder: AXMMaintenanceManagementWorkOrderEntityModel,\n workflowConfig: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig,\n assignedEmployeeId: string,\n assetIdentifiers: { assetCode: string | null; assetSerialNumber: string | null },\n ): Record<string, unknown> {\n const assetTitle = workOrder.asset?.title;\n const assetDisplayName =\n typeof assetTitle === 'string'\n ? assetTitle\n : resolveMultiLanguageString(assetTitle as never, this.translationService.getActiveLang());\n\n const templateDefaults = defaultTo(workflowConfig.defaultInput, {}) as Record<string, unknown>;\n const maintenanceTypeTitle = workOrder.maintenanceType?.title;\n const maintenanceTypeName =\n typeof maintenanceTypeTitle === 'string'\n ? maintenanceTypeTitle\n : resolveMultiLanguageString(maintenanceTypeTitle as never, this.translationService.getActiveLang());\n\n const assignedToTitle = workOrder.assignedTo?.fullName;\n\n return {\n ...templateDefaults,\n workOrderId: workOrder.id,\n workOrderNo: workOrder.workOrderNo,\n workOrderCode: workOrder.workOrderNo,\n assetId: workOrder.assetId,\n assetCode: assetIdentifiers.assetCode,\n assetSerialNumber: assetIdentifiers.assetSerialNumber,\n assetDisplayName,\n maintenanceTypeId: workOrder.maintenanceTypeId,\n maintenanceTypeName,\n maintenancePlanId: workOrder.maintenancePlanId ?? null,\n failureRegisterId: workOrder.failureRegisterId ?? null,\n assignedToId: workOrder.assignedToId ?? null,\n assignedToDisplayName:\n typeof assignedToTitle === 'string' && assignedToTitle.trim()\n ? assignedToTitle.trim()\n : workOrder.assignedToId ?? null,\n assignedEmployeeId: assignedEmployeeId || null,\n sourceType: workOrder.sourceType ?? null,\n dueDate: workOrder.scheduledEnd ?? workOrder.scheduledStart ?? null,\n };\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n private async showWarning(content: string): Promise<void> {\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n timeOut: 10000,\n timeOutProgress: true,\n });\n }\n\n /**\n * Work-order approval flow expects `HumanCapitalManagement.Employee` id (`performedById` on WorkReport).\n * `WorkOrder.assignedToId` stores `PersonCore.Person` id.\n */\n private async resolveEmployeeIdByPersonId(personId: string): Promise<string> {\n if (!personId) {\n return '';\n }\n\n const page = await this.entityService\n .withEntity('HumanCapitalManagement', 'Employee')\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'personId', operator: { type: 'equal' }, value: personId }],\n },\n } as never);\n\n const employee = defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n return this.resolveText(employee?.id);\n }\n\n private async resolveMaintenanceTemplateId(\n workOrder: AXMMaintenanceManagementWorkOrderEntityModel,\n explicitTemplateId?: string,\n ): Promise<string> {\n if (explicitTemplateId) {\n return explicitTemplateId;\n }\n\n const currentTemplateId = this.resolveText(workOrder.maintenanceTemplateId);\n if (currentTemplateId) {\n const currentConfig = await this.resolveWorkflowConfig(workOrder);\n if (this.isWorkflowEnabled(currentConfig)) {\n return currentTemplateId;\n }\n }\n\n const assetId = this.resolveText(workOrder.assetId);\n if (!assetId) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.no-workflow-templates-for-asset',\n );\n await this.showWarning(content);\n return '';\n }\n\n const backend = this.createStorageBackend();\n const templateEntityName = `${RootConfig.module.name}.${RootConfig.entities.maintenanceTemplate.name}`;\n const templates = await queryWorkflowTemplatesForAsset(backend, templateEntityName, assetId);\n if (templates.length === 0) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.no-workflow-templates-for-asset',\n );\n await this.showWarning(content);\n return '';\n }\n\n if (templates.length === 1) {\n return templates[0].id;\n }\n\n return (await this.pickMaintenanceTemplate(templates)) ?? '';\n }\n\n private async pickMaintenanceTemplate(templates: MaintenanceTemplateLike[]): Promise<string | null> {\n const locale = this.translationService.getActiveLang() as 'en-US' | 'fa-IR';\n const sorted = [...templates].sort((a, b) => {\n const ta = resolveDisplayLabel(a.title, a.code ?? a.id, locale);\n const tb = resolveDisplayLabel(b.title, b.code ?? b.id, locale);\n return ta.localeCompare(tb, locale, { sensitivity: 'base' });\n });\n\n const title = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.actions.start-flow.select-template.title',\n );\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.actions.start-flow.select-template.content',\n );\n const cancelLabel = await this.translationService.translateAsync('@general:actions.cancel.title');\n\n return new Promise((resolve) => {\n let settled = false;\n const finish = (value: string | null) => {\n if (settled) {\n return;\n }\n settled = true;\n resolve(value);\n };\n\n const dialog = this.dialogService.open({\n title,\n content,\n type: 'primary',\n orientation: 'vertical',\n closeButton: true,\n buttons: [\n {\n text: cancelLabel,\n color: 'default',\n autofocus: true,\n onClick: () => {\n dialog.close();\n finish(null);\n },\n },\n ...sorted.map((template) => ({\n text: resolveDisplayLabel(template.title, template.code ?? template.id, locale),\n color: 'primary' as const,\n onClick: () => {\n dialog.close();\n finish(template.id);\n },\n })),\n ],\n });\n });\n }\n\n private createStorageBackend(): EntityStorageBackend {\n return {\n getOne: async (entityName, id) => {\n const [module, entity] = entityName.split('.');\n return this.entityService.withEntity(module, entity).data().byKey(id);\n },\n insertOne: async () => null,\n query: async (entityName, request) => {\n const [module, entity] = entityName.split('.');\n return this.entityService.withEntity(module, entity).data().query(request as never);\n },\n };\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-maintenance-management-client-start-work-order-flow.command-BJeww85O.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/commands/start-work-order-flow.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntityService,\n buildAXPRecordWorkflowInfo,\n getRecordWorkflowInstanceId,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPBroadcastEventService } from '@acorex-platform/framework-client/core';\nimport { AXP_WORKFLOW_ENGINE, type AXPWorkflowEngine } from '@acorex-platform/framework-client/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { AXMWorkOrderStatus, RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n type EntityStorageBackend,\n queryWorkflowTemplatesForAsset,\n resolveDisplayLabel,\n type MaintenanceTemplateLike,\n} from '../../../middlewares/maintenance-generation.utils';\n\n//#endregion\n\n//#region ---- Types ----\n\ninterface StartWorkOrderFlowContext {\n /** When set, applies the maintenance template on the work order before starting the workflow. */\n maintenanceTemplateId?: string;\n data?: Record<string, unknown>;\n options?: { maintenanceTemplateId?: string };\n}\n\nconst STARTABLE_STATUSES = new Set<string>([\n AXMWorkOrderStatus.Planned,\n AXMWorkOrderStatus.Scheduled,\n AXMWorkOrderStatus.Assigned,\n]);\n\n//#endregion\n\n/**\n * Starts the maintenance template workflow for a work order (execution + approval).\n */\n@Injectable({ providedIn: 'root' })\nexport class StartWorkOrderFlowCommand implements AXPCommand<StartWorkOrderFlowContext, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly workflowEngine = inject(AXP_WORKFLOW_ENGINE) as AXPWorkflowEngine;\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n private readonly dialogService = inject(AXDialogService);\n private readonly eventService = inject(AXPBroadcastEventService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: StartWorkOrderFlowContext): AXPCommandExecuteResultPromise<void> {\n const row = defaultTo(get(input, 'data'), {}) as Record<string, unknown>;\n const workOrderId = this.resolveText(get(row, 'id'));\n if (!workOrderId) {\n return { success: false, message: { text: 'Work order id is required.' } };\n }\n\n if (getRecordWorkflowInstanceId(row)) {\n return { success: false };\n }\n\n let workOrder = await this.loadWorkOrder(workOrderId, row);\n if (!workOrder) {\n return { success: false, message: { text: 'Work order not found.' } };\n }\n\n const explicitTemplateId = this.resolveText(get(input, 'maintenanceTemplateId'));\n const selectedTemplateId = await this.resolveMaintenanceTemplateId(workOrder, explicitTemplateId || undefined);\n if (!selectedTemplateId) {\n return { success: false };\n }\n\n const flowPrerequisites = await this.validateFlowPrerequisites(workOrder, selectedTemplateId);\n if (!flowPrerequisites) {\n return { success: false };\n }\n\n const { workflowConfig, workflowName, assignedEmployeeId } = flowPrerequisites;\n\n if (selectedTemplateId !== workOrder.maintenanceTemplateId) {\n await this.applyMaintenanceTemplate(workOrderId, selectedTemplateId);\n workOrder = (await this.loadWorkOrder(workOrderId)) ?? workOrder;\n }\n\n const assetIdentifiers = await this.resolveAssetIdentifiers(this.resolveText(workOrder.assetId));\n const workflowInputs = this.buildWorkflowInputs(\n workOrder,\n workflowConfig,\n assignedEmployeeId,\n assetIdentifiers,\n );\n const correlationId = `${RootConfig.entities.workOrder.source}:${workOrderId}:${workflowName}`;\n\n try {\n // Start via engine only — do not use AXPWorkflowManager.start() here; it auto-runs inline\n // frontend steps (e.g. checklist fill). Human tasks must stay on the task board.\n const startResponse = await this.workflowEngine.start({\n workflowId: workflowName,\n input: {\n ...workflowInputs,\n refId: workOrderId,\n refType: RootConfig.entities.workOrder.source,\n correlationId,\n },\n });\n\n const instanceId = startResponse.instanceId;\n if (!instanceId) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: 'Unknown error' } };\n }\n\n await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .update(workOrderId, {\n workflowInfo: buildAXPRecordWorkflowInfo({\n instanceId,\n definitionId: workflowName,\n correlationId,\n }),\n } as never);\n\n this.eventService.publish('task-board.refresh', { provider: workflowName });\n\n const taskBoardHint = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.workflow-started-use-task-board',\n );\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:messages.generic.success.title'),\n content: taskBoardHint,\n closeButton: true,\n timeOut: 6000,\n });\n\n return { success: true, kind: 'object', data: undefined };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n console.error('[StartWorkOrderFlowCommand]', error);\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: message,\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: message } };\n }\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async loadWorkOrder(\n workOrderId: string,\n row?: Record<string, unknown>,\n ): Promise<AXMMaintenanceManagementWorkOrderEntityModel | null> {\n if (get(row, 'id') === workOrderId) {\n return row as unknown as AXMMaintenanceManagementWorkOrderEntityModel;\n }\n\n const loaded = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId);\n return (loaded as AXMMaintenanceManagementWorkOrderEntityModel | null) ?? null;\n }\n\n private async applyMaintenanceTemplate(workOrderId: string, templateId: string): Promise<void> {\n const template = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.maintenanceTemplate.name)\n .data()\n .byKey(templateId)) as {\n id?: string;\n title?: unknown;\n maintenanceTypeId?: string;\n metadataIds?: string[];\n workflowConfig?: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null;\n needShutdown?: boolean;\n needPermission?: boolean;\n estimatedMinutes?: number;\n } | null;\n\n if (!template?.id) {\n throw new Error('Maintenance template not found.');\n }\n\n const estimatedHours =\n typeof template.estimatedMinutes === 'number' && template.estimatedMinutes > 0\n ? Math.round((template.estimatedMinutes / 60) * 100) / 100\n : undefined;\n\n await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .update(workOrderId, {\n maintenanceTemplateId: template.id,\n maintenanceTypeId: template.maintenanceTypeId,\n maintenanceTemplate: {\n id: template.id,\n title: template.title,\n metadataIds: template.metadataIds,\n workflowConfig: template.workflowConfig,\n },\n needShutdown: template.needShutdown ?? false,\n needPermission: template.needPermission ?? false,\n ...(estimatedHours !== undefined ? { estimatedHours } : {}),\n } as never);\n }\n\n private async resolveWorkflowConfig(\n workOrder: AXMMaintenanceManagementWorkOrderEntityModel,\n ): Promise<AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null> {\n let workflowConfig = workOrder.maintenanceTemplate?.workflowConfig ?? null;\n if (!workflowConfig?.workflowDefinitionId && workOrder.maintenanceTemplateId) {\n const template = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.maintenanceTemplate.name)\n .data()\n .byKey(workOrder.maintenanceTemplateId);\n workflowConfig = get(template, 'workflowConfig') ?? null;\n }\n return workflowConfig;\n }\n\n private isWorkflowEnabled(\n workflowConfig: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null,\n ): boolean {\n if (!workflowConfig?.workflowDefinitionId?.trim() || !workflowConfig.workflowName?.trim()) {\n return false;\n }\n return workflowConfig.enabled !== false;\n }\n\n /**\n * Validates work-order state before starting a workflow or persisting workflowInfo.\n */\n private async validateFlowPrerequisites(\n workOrder: AXMMaintenanceManagementWorkOrderEntityModel,\n selectedTemplateId: string,\n ): Promise<{\n workflowConfig: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig;\n workflowName: string;\n assignedEmployeeId: string;\n } | null> {\n const statusId = workOrder.statusId ?? '';\n if (!STARTABLE_STATUSES.has(statusId)) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.flow-requires-startable-status',\n );\n await this.showWarning(content);\n return null;\n }\n\n const workflowConfig = await this.resolveWorkflowConfigForTemplate(selectedTemplateId);\n if (!this.isWorkflowEnabled(workflowConfig)) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.no-workflow-configured',\n );\n await this.showWarning(content);\n return null;\n }\n\n const workflowName = workflowConfig!.workflowName.trim();\n const assignedToId = this.resolveText(workOrder.assignedToId);\n if (!assignedToId) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.assigned-user-required',\n );\n await this.showWarning(content);\n return null;\n }\n\n const assignedEmployeeId = await this.resolveEmployeeIdByPersonId(assignedToId);\n if (workflowName === 'work-order-approval' && !assignedEmployeeId) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.assigned-employee-required',\n );\n await this.showWarning(content);\n return null;\n }\n\n return { workflowConfig: workflowConfig!, workflowName, assignedEmployeeId };\n }\n\n private async resolveWorkflowConfigForTemplate(\n templateId: string,\n ): Promise<AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null> {\n const template = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.maintenanceTemplate.name)\n .data()\n .byKey(templateId);\n return get(template, 'workflowConfig') ?? null;\n }\n\n private async resolveAssetIdentifiers(\n assetId: string,\n ): Promise<{ assetCode: string | null; assetSerialNumber: string | null }> {\n if (!assetId) {\n return { assetCode: null, assetSerialNumber: null };\n }\n\n const asset = (await this.entityService\n .withEntity('AssetManagement', 'Asset')\n .data()\n .byKey(assetId)) as { code?: string; serialNumber?: string } | null;\n\n const assetCode = this.resolveText(asset?.code);\n const assetSerialNumber = this.resolveText(asset?.serialNumber);\n\n return {\n assetCode: assetCode || null,\n assetSerialNumber: assetSerialNumber || null,\n };\n }\n\n private buildWorkflowInputs(\n workOrder: AXMMaintenanceManagementWorkOrderEntityModel,\n workflowConfig: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig,\n assignedEmployeeId: string,\n assetIdentifiers: { assetCode: string | null; assetSerialNumber: string | null },\n ): Record<string, unknown> {\n const assetTitle = workOrder.asset?.title;\n const assetDisplayName =\n typeof assetTitle === 'string'\n ? assetTitle\n : resolveMultiLanguageString(assetTitle as never, this.translationService.getActiveLang());\n\n const templateDefaults = defaultTo(workflowConfig.defaultInput, {}) as Record<string, unknown>;\n const maintenanceTypeTitle = workOrder.maintenanceType?.title;\n const maintenanceTypeName =\n typeof maintenanceTypeTitle === 'string'\n ? maintenanceTypeTitle\n : resolveMultiLanguageString(maintenanceTypeTitle as never, this.translationService.getActiveLang());\n\n const assignedToTitle = workOrder.assignedTo?.fullName;\n\n return {\n ...templateDefaults,\n workOrderId: workOrder.id,\n workOrderNo: workOrder.workOrderNo,\n workOrderCode: workOrder.workOrderNo,\n assetId: workOrder.assetId,\n assetCode: assetIdentifiers.assetCode,\n assetSerialNumber: assetIdentifiers.assetSerialNumber,\n assetDisplayName,\n maintenanceTypeId: workOrder.maintenanceTypeId,\n maintenanceTypeName,\n maintenancePlanId: workOrder.maintenancePlanId ?? null,\n failureRegisterId: workOrder.failureRegisterId ?? null,\n assignedToId: workOrder.assignedToId ?? null,\n assignedToDisplayName:\n typeof assignedToTitle === 'string' && assignedToTitle.trim()\n ? assignedToTitle.trim()\n : workOrder.assignedToId ?? null,\n assignedEmployeeId: assignedEmployeeId || null,\n sourceType: workOrder.sourceType ?? null,\n dueDate: workOrder.scheduledEnd ?? workOrder.scheduledStart ?? null,\n };\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n private async showWarning(content: string): Promise<void> {\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n timeOut: 10000,\n timeOutProgress: true,\n });\n }\n\n /**\n * Work-order approval flow expects `HumanCapitalManagement.Employee` id (`performedById` on WorkReport).\n * `WorkOrder.assignedToId` stores `PersonCore.Person` id.\n */\n private async resolveEmployeeIdByPersonId(personId: string): Promise<string> {\n if (!personId) {\n return '';\n }\n\n const page = await this.entityService\n .withEntity('HumanCapitalManagement', 'Employee')\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'personId', operator: { type: 'equal' }, value: personId }],\n },\n } as never);\n\n const employee = defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n return this.resolveText(employee?.id);\n }\n\n private async resolveMaintenanceTemplateId(\n workOrder: AXMMaintenanceManagementWorkOrderEntityModel,\n explicitTemplateId?: string,\n ): Promise<string> {\n if (explicitTemplateId) {\n return explicitTemplateId;\n }\n\n const currentTemplateId = this.resolveText(workOrder.maintenanceTemplateId);\n if (currentTemplateId) {\n const currentConfig = await this.resolveWorkflowConfig(workOrder);\n if (this.isWorkflowEnabled(currentConfig)) {\n return currentTemplateId;\n }\n }\n\n const assetId = this.resolveText(workOrder.assetId);\n if (!assetId) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.no-workflow-templates-for-asset',\n );\n await this.showWarning(content);\n return '';\n }\n\n const backend = this.createStorageBackend();\n const templateEntityName = `${RootConfig.module.name}.${RootConfig.entities.maintenanceTemplate.name}`;\n const templates = await queryWorkflowTemplatesForAsset(backend, templateEntityName, assetId);\n if (templates.length === 0) {\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.messages.no-workflow-templates-for-asset',\n );\n await this.showWarning(content);\n return '';\n }\n\n if (templates.length === 1) {\n return templates[0].id;\n }\n\n return (await this.pickMaintenanceTemplate(templates)) ?? '';\n }\n\n private async pickMaintenanceTemplate(templates: MaintenanceTemplateLike[]): Promise<string | null> {\n const locale = this.translationService.getActiveLang() as 'en-US' | 'fa-IR';\n const sorted = [...templates].sort((a, b) => {\n const ta = resolveDisplayLabel(a.title, a.code ?? a.id, locale);\n const tb = resolveDisplayLabel(b.title, b.code ?? b.id, locale);\n return ta.localeCompare(tb, locale, { sensitivity: 'base' });\n });\n\n const title = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.actions.start-flow.select-template.title',\n );\n const content = await this.translationService.translateAsync(\n '@maintenance-management:work-orders.actions.start-flow.select-template.content',\n );\n const cancelLabel = await this.translationService.translateAsync('@general:actions.cancel.title');\n\n return new Promise((resolve) => {\n let settled = false;\n const finish = (value: string | null) => {\n if (settled) {\n return;\n }\n settled = true;\n resolve(value);\n };\n\n const dialog = this.dialogService.open({\n title,\n content,\n type: 'primary',\n orientation: 'vertical',\n closeButton: true,\n buttons: [\n {\n text: cancelLabel,\n color: 'default',\n autofocus: true,\n onClick: () => {\n dialog.close();\n finish(null);\n },\n },\n ...sorted.map((template) => ({\n text: resolveDisplayLabel(template.title, template.code ?? template.id, locale),\n color: 'primary' as const,\n onClick: () => {\n dialog.close();\n finish(template.id);\n },\n })),\n ],\n });\n });\n }\n\n private createStorageBackend(): EntityStorageBackend {\n return {\n getOne: async (entityName, id) => {\n const [module, entity] = entityName.split('.');\n return this.entityService.withEntity(module, entity).data().byKey(id);\n },\n insertOne: async () => null,\n query: async (entityName, request) => {\n const [module, entity] = entityName.split('.');\n return this.entityService.withEntity(module, entity).data().query(request as never);\n },\n };\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}