@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 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BI7RNP_h.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/work-order-workflow.debug.ts","../../../../libs/modules/maintenance-management/client/src/lib/manifest.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/maintenance-generation.utils.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/asset-create-maintenance-offer.middleware.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/failure-register-create-work-order.middleware.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/maintenance-plan-create-work-order.middleware.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/work-order-checklist-prefill.constants.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/work-order-checklist-fill.middleware.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/work-order-checklist-post-submit.middleware.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/work-order-source-type.middleware.ts","../../../../libs/modules/maintenance-management/client/src/lib/middlewares/index.ts","../../../../libs/modules/maintenance-management/client/src/lib/catalog-scope-definition.provider.ts","../../../../libs/modules/maintenance-management/client/src/lib/features/shared/work-order-expression-evaluator-scope.provider.ts","../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/widgets/work-order-workflow-column.widget.config.ts","../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/widgets/work-order-work-report-column.widget.config.ts","../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/widgets/work-order-workflow-column-widget.provider.ts","../../../../libs/modules/maintenance-management/client/src/lib/features/work-report/widgets/work-report-checklist-results.widget.config.ts","../../../../libs/modules/maintenance-management/client/src/lib/features/work-report/widgets/work-report-widget.provider.ts","../../../../libs/modules/maintenance-management/client/src/lib/maintenance-management.module.ts","../../../../libs/modules/maintenance-management/client/src/lib/menu.provider.ts","../../../../libs/modules/maintenance-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/maintenance-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/work-order-execution-workflow.shared.ts","../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/work-order-execution.workflow.ts","../../../../libs/modules/maintenance-management/client/src/acorex-platform-module-maintenance-management-client.ts"],"sourcesContent":["//#region ---- Workflow debug namespace ----\n\nexport const AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE = 'maintenance-management';\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\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","//#region ---- Imports ----\n\nimport type { AXPIdentifierService } from '@acorex-platform/module-identifier-management-client';\nimport type { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport type { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport { isValidMultiLanguageObject, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { defaultTo, get, isNumber, isObject, isString } from 'lodash';\nimport { AXMWorkOrderSourceType, AXMWorkOrderStatus } from '@acorex-platform/module-maintenance-management-client/contracts';\n\n//#endregion\n\n//#region ---- Identifier rules ----\n\nexport const MAINTENANCE_PLAN_CODE_RULE_ID = 'maintenance-plan-code';\nexport const WORK_ORDER_NO_RULE_ID = 'work-order-no';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport type MaintenanceScheduleMode = 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly';\n\nexport interface MaintenancePlanScheduleLike {\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 type LocalizableLabel = string | AXPMultiLanguageString | undefined;\n\ntype BilingualLabel = { 'en-US': string; 'fa-IR': string };\n\nexport interface MaintenanceTemplateLike {\n id: string;\n code?: string;\n title?: LocalizableLabel;\n description?: LocalizableLabel;\n maintenanceTypeId?: string;\n assetTypeId?: string;\n schedule?: MaintenancePlanScheduleLike;\n estimatedMinutes?: number;\n needPermission?: boolean;\n needShutdown?: boolean;\n autoGeneratePlan?: boolean;\n metadataIds?: string[];\n workflowConfig?: {\n workflowDefinitionId?: string;\n workflowName?: string;\n enabled?: boolean;\n defaultInput?: Record<string, unknown>;\n } | null;\n}\n\nexport interface FailureRegisterLike {\n id: string;\n code?: string;\n assetId?: string;\n priorityId?: string;\n description?: string;\n}\n\nexport interface MaintenancePlanLike {\n id: string;\n code?: string;\n title?: LocalizableLabel;\n description?: LocalizableLabel;\n assetId?: string;\n maintenanceTypeId?: string;\n maintenanceTemplateId?: string;\n schedule?: MaintenancePlanScheduleLike;\n assignedToId?: string;\n assignedTo?: { id?: string; displayName?: string; fullName?: string };\n priorityId?: string;\n priority?: { id?: string; title?: LocalizableLabel };\n estimatedHours?: number;\n needPermission?: boolean;\n needShutdown?: boolean;\n autoGeneratedPlan?: boolean;\n}\n\nexport interface WorkOrderFieldsFromPlan {\n assignedToId?: string;\n assignedTo?: { id: string; fullName?: string };\n priorityId?: string;\n estimatedHours?: number;\n}\n\nexport interface WorkOrderOccurrenceWindow {\n scheduledStart?: string;\n scheduledEnd?: string;\n}\n\n//#endregion\n\nexport interface AssetLike {\n id: string;\n code?: string;\n title?: LocalizableLabel;\n assetTypeId?: string;\n}\n\nexport interface EntityStorageBackend {\n getOne(entityName: string, id: string): Promise<unknown>;\n insertOne(entityName: string, entity: Record<string, unknown>): Promise<unknown>;\n query(\n entityName: string,\n request: {\n skip?: number;\n take?: number;\n filter?: unknown;\n },\n ): Promise<{ total: number; items: unknown[] }>;\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nconst MAX_BY_DATE_OCCURRENCES = 10_000;\n\nexport function isTruthyFlag(value: unknown): boolean {\n return [true, 'true', 1, '1'].includes(value as never);\n}\n\nfunction isMultiLanguageString(value: unknown): value is AXPMultiLanguageString {\n return isValidMultiLanguageObject(value);\n}\n\n/**\n * Normalizes plain or multilingual labels into a bilingual {@link AXPMultiLanguageString}.\n */\nexport function normalizeMultiLanguageString(\n value: LocalizableLabel,\n fallback: string,\n): BilingualLabel {\n if (!value) {\n return { 'en-US': fallback, 'fa-IR': fallback };\n }\n if (isString(value)) {\n return { 'en-US': value, 'fa-IR': value };\n }\n if (isMultiLanguageString(value)) {\n const en = resolveMultiLanguageString(value, 'en-US') || fallback;\n const fa = resolveMultiLanguageString(value, 'fa-IR') || en;\n return { 'en-US': en, 'fa-IR': fa };\n }\n return { 'en-US': fallback, 'fa-IR': fallback };\n}\n\n/**\n * Resolves a display label for dialogs and messages (defaults to en-US).\n */\nexport function resolveDisplayLabel(\n value: LocalizableLabel,\n fallback: string,\n locale: 'en-US' | 'fa-IR' = 'en-US',\n): string {\n if (!value) {\n return fallback;\n }\n if (isString(value)) {\n return value;\n }\n return resolveMultiLanguageString(value, locale) || fallback;\n}\n\nfunction combineMultiLanguageTitle(\n left: LocalizableLabel,\n leftFallback: string,\n right: LocalizableLabel,\n rightFallback: string,\n): AXPMultiLanguageString {\n const leftMl = normalizeMultiLanguageString(left, leftFallback);\n const rightMl = normalizeMultiLanguageString(right, rightFallback);\n\n return {\n 'en-US': `${leftMl['en-US']} - ${rightMl['en-US']}`,\n 'fa-IR': `${leftMl['fa-IR']} - ${rightMl['fa-IR']}`,\n };\n}\n\nfunction toDate(value: string | Date | undefined | null): Date | undefined {\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? undefined : new Date(value.getTime());\n }\n if (typeof value === 'string' && value.length > 0) {\n const parsed = new Date(value);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n return undefined;\n}\n\n/** Treat schedule end dates as inclusive through the end of the calendar day. */\nfunction toScheduleEndBoundary(value: string | Date | undefined | null): Date | undefined {\n const date = toDate(value);\n if (!date) {\n return undefined;\n }\n\n const boundary = new Date(date.getTime());\n boundary.setHours(23, 59, 59, 999);\n return boundary;\n}\n\nfunction toIsoString(date: Date): string {\n return date.toISOString();\n}\n\nfunction inferScheduleMode(schedule: MaintenancePlanScheduleLike): MaintenanceScheduleMode {\n const mode = get(schedule, 'mode');\n if (\n mode === 'hourly' ||\n mode === 'daily' ||\n mode === 'weekly' ||\n mode === 'monthly' ||\n mode === 'yearly'\n ) {\n return mode;\n }\n\n const recurrence = get(schedule, 'recurrence');\n switch (recurrence) {\n case 'hourly':\n return 'hourly';\n case 'daily':\n return 'daily';\n case 'weekly':\n return 'weekly';\n case 'monthly':\n return 'monthly';\n case 'yearly':\n return 'yearly';\n default:\n return 'daily';\n }\n}\n\nfunction resolveScheduleInterval(schedule: MaintenancePlanScheduleLike): number {\n const interval = get(schedule, 'interval');\n return isNumber(interval) && interval > 0 ? interval : 1;\n}\n\n/**\n * Anchor date for the first work-order occurrence (now, byDate, or onDemand).\n */\nexport function resolveScheduleAnchorDate(\n schedule: MaintenancePlanScheduleLike | undefined,\n referenceDate: Date = new Date(),\n): Date | undefined {\n if (!schedule) {\n return undefined;\n }\n\n const startType = get(schedule, 'startCondition.type');\n if (startType === 'onDemand') {\n return undefined;\n }\n\n if (startType === 'now') {\n return new Date(referenceDate.getTime());\n }\n\n const configuredStart = toDate(get(schedule, 'startCondition.startDate'));\n if (configuredStart) {\n return configuredStart;\n }\n\n return undefined;\n}\n\nfunction addScheduleInterval(\n anchor: Date,\n mode: MaintenanceScheduleMode,\n interval: number,\n step: number,\n): Date {\n const result = new Date(anchor.getTime());\n const amount = step * interval;\n\n switch (mode) {\n case 'hourly':\n result.setHours(result.getHours() + amount);\n break;\n case 'daily':\n result.setDate(result.getDate() + amount);\n break;\n case 'weekly':\n result.setDate(result.getDate() + amount * 7);\n break;\n case 'monthly':\n result.setMonth(result.getMonth() + amount);\n break;\n case 'yearly':\n result.setFullYear(result.getFullYear() + amount);\n break;\n }\n\n return result;\n}\n\nfunction resolveOccurrenceScheduledEnd(\n scheduledStart: Date,\n estimatedHours?: number,\n): string | undefined {\n if (!isNumber(estimatedHours) || estimatedHours <= 0) {\n return undefined;\n }\n\n const end = new Date(scheduledStart.getTime());\n end.setTime(end.getTime() + estimatedHours * 60 * 60 * 1000);\n return toIsoString(end);\n}\n\n/**\n * Resolves scheduled start dates for work orders from a maintenance plan schedule.\n *\n * - End `never`: first occurrence only (next ones are generated later).\n * - End `afterOccurrences`: all occurrences up to the configured count.\n * - End `byDate`: occurrences from anchor through end date (inclusive).\n */\nexport function resolveWorkOrderScheduledStarts(\n schedule: MaintenancePlanScheduleLike | undefined,\n referenceDate: Date = new Date(),\n): Date[] {\n if (!schedule) {\n return [];\n }\n\n const anchor = resolveScheduleAnchorDate(schedule, referenceDate);\n if (!anchor) {\n return [];\n }\n\n const mode = inferScheduleMode(schedule);\n const interval = resolveScheduleInterval(schedule);\n const endType = defaultTo(get(schedule, 'endCondition.type'), 'never');\n\n if (endType === 'never') {\n return [anchor];\n }\n\n if (endType === 'afterOccurrences') {\n const count = Math.max(1, defaultTo(get(schedule, 'endCondition.occurrences'), 1));\n return Array.from({ length: count }, (_, step) => addScheduleInterval(anchor, mode, interval, step));\n }\n\n if (endType === 'byDate') {\n const endDate = toScheduleEndBoundary(get(schedule, 'endCondition.endDate'));\n if (!endDate) {\n return [anchor];\n }\n\n const starts: Date[] = [];\n for (let step = 0; step < MAX_BY_DATE_OCCURRENCES; step += 1) {\n const occurrence = addScheduleInterval(anchor, mode, interval, step);\n if (occurrence.getTime() > endDate.getTime()) {\n break;\n }\n starts.push(occurrence);\n }\n\n return starts;\n }\n\n return [anchor];\n}\n\nexport function resolveWorkOrderOccurrences(\n schedule: MaintenancePlanScheduleLike | undefined,\n options?: { referenceDate?: Date; estimatedHours?: number },\n): WorkOrderOccurrenceWindow[] {\n const referenceDate = options?.referenceDate ?? new Date();\n const starts = resolveWorkOrderScheduledStarts(schedule, referenceDate);\n const estimatedHours = options?.estimatedHours;\n\n if (starts.length === 0) {\n return [{}];\n }\n\n return starts.map((scheduledStart) => {\n const scheduledEnd = resolveOccurrenceScheduledEnd(scheduledStart, estimatedHours);\n return {\n scheduledStart: toIsoString(scheduledStart),\n ...(scheduledEnd ? { scheduledEnd } : {}),\n };\n });\n}\n\n/**\n * Returns how many work orders will be created from a plan schedule (minimum 1 when schedule is absent or on-demand).\n */\nexport function countWorkOrdersToCreateFromSchedule(\n schedule: MaintenancePlanScheduleLike | undefined,\n referenceDate: Date = new Date(),\n): number {\n return resolveWorkOrderOccurrences(schedule, { referenceDate }).length;\n}\n\nexport function resolveScheduledStart(\n schedule?: MaintenancePlanScheduleLike,\n referenceDate: Date = new Date(),\n): string | undefined {\n const starts = resolveWorkOrderScheduledStarts(schedule, referenceDate);\n const first = starts[0];\n return first ? toIsoString(first) : undefined;\n}\n\n/** Internal flag on plan create payloads; stripped before persistence when supported. */\nexport const SUPPRESS_WORK_ORDER_PROMPT_FIELD = '__suppressWorkOrderPrompt';\n\n/**\n * Allocates and commits the next identifier code for programmatic entity creates.\n * Validation runs before identifier middleware (order 5); the code must be on the payload.\n * Uses `generate` (not `peek`) so back-to-back creates in a loop receive distinct codes.\n */\nexport async function allocateIdentifierCode(\n identifierService: AXPIdentifierService,\n sessionService: AXPSessionService,\n ruleId: string,\n): Promise<string> {\n const result = await identifierService.generate({\n id: ruleId,\n tenantId: sessionService.tenant?.id,\n appId: sessionService.application?.id,\n });\n return result.code;\n}\n\nexport function buildMaintenancePlanPayload(\n asset: AssetLike,\n template: MaintenanceTemplateLike,\n options?: { suppressWorkOrderPrompt?: boolean; code?: string; autoGeneratedPlan?: boolean },\n): Record<string, unknown> {\n return {\n ...(options?.code ? { code: options.code } : {}),\n title: combineMultiLanguageTitle(\n template.title,\n template.code ?? 'Template',\n asset.title,\n asset.code ?? 'Asset',\n ),\n description: template.description,\n assetId: asset.id,\n maintenanceTypeId: template.maintenanceTypeId,\n maintenanceTemplateId: template.id,\n schedule: template.schedule ?? {\n startCondition: { type: 'byDate', startDate: new Date().toISOString() },\n },\n estimatedHours: template.estimatedMinutes\n ? Math.max(1, Math.ceil(template.estimatedMinutes / 60))\n : undefined,\n needPermission: !!template.needPermission,\n needShutdown: !!template.needShutdown,\n ...(options?.autoGeneratedPlan ? { autoGeneratedPlan: true } : {}),\n ...(options?.suppressWorkOrderPrompt\n ? { [SUPPRESS_WORK_ORDER_PROMPT_FIELD]: true }\n : {}),\n };\n}\n\nexport async function resolveMaintenanceTemplate(\n backend: EntityStorageBackend,\n templateEntityName: string,\n partial: MaintenanceTemplateLike,\n): Promise<MaintenanceTemplateLike | null> {\n if (!partial?.id) {\n return null;\n }\n\n if (partial.maintenanceTypeId) {\n return partial;\n }\n\n const loaded = (await backend\n .getOne(templateEntityName, partial.id)\n .catch(() => null)) as MaintenanceTemplateLike | null;\n\n return loaded?.maintenanceTypeId ? loaded : null;\n}\n\nfunction resolveRelationId(value: unknown): string | undefined {\n if (isString(value)) {\n const trimmed = value.trim();\n return trimmed || undefined;\n }\n\n if (isObject(value)) {\n const id = get(value, 'id') as unknown;\n if (isString(id)) {\n const trimmed = id.trim();\n return trimmed || undefined;\n }\n }\n\n return undefined;\n}\n\n/**\n * Normalizes lookup-style relation values on a plan to plain ids for work-order generation.\n */\nexport function normalizePlanRelationIds(plan: MaintenancePlanLike): MaintenancePlanLike {\n return {\n ...plan,\n assetId: resolveRelationId(plan.assetId) ?? plan.assetId,\n maintenanceTypeId: resolveRelationId(plan.maintenanceTypeId) ?? plan.maintenanceTypeId,\n maintenanceTemplateId: resolveRelationId(plan.maintenanceTemplateId) ?? plan.maintenanceTemplateId,\n assignedToId: resolveRelationId(plan.assignedToId) ?? plan.assignedToId,\n priorityId:\n resolveRelationId(plan.priorityId) ?? resolveRelationId(plan.priority?.id) ?? plan.priorityId,\n };\n}\n\n/**\n * Merges persisted plan with create-time fields that may not be returned by `getOne` yet.\n * Stored values win; missing work-order fields are filled from the create payload.\n */\nexport function mergeMaintenancePlanForWorkOrder(\n createPayload: MaintenancePlanLike | null | undefined,\n stored: MaintenancePlanLike | null,\n id: string,\n): MaintenancePlanLike | null {\n if (!stored && !createPayload) {\n return null;\n }\n\n const merged: MaintenancePlanLike = {\n ...(createPayload ?? {}),\n ...(stored ?? {}),\n id: stored?.id ?? id,\n };\n\n delete (merged as unknown as Record<string, unknown>)[SUPPRESS_WORK_ORDER_PROMPT_FIELD];\n\n if (!createPayload) {\n return normalizePlanRelationIds(merged);\n }\n\n const fillIfMissing = <K extends keyof MaintenancePlanLike>(key: K): void => {\n const storedValue = merged[key];\n const createValue = createPayload[key];\n const storedEmpty =\n storedValue === undefined ||\n storedValue === null ||\n (typeof storedValue === 'string' && storedValue.trim() === '');\n if (storedEmpty && createValue !== undefined && createValue !== null) {\n merged[key] = createValue;\n }\n };\n\n fillIfMissing('assetId');\n fillIfMissing('maintenanceTypeId');\n fillIfMissing('maintenanceTemplateId');\n fillIfMissing('schedule');\n fillIfMissing('title');\n fillIfMissing('description');\n fillIfMissing('needPermission');\n fillIfMissing('needShutdown');\n fillIfMissing('assignedToId');\n fillIfMissing('assignedTo');\n fillIfMissing('priorityId');\n fillIfMissing('priority');\n fillIfMissing('estimatedHours');\n\n return normalizePlanRelationIds(merged);\n}\n\n/**\n * Normalizes plan priority for work-order payload.\n */\nexport function resolvePlanPriorityId(plan: MaintenancePlanLike): string | undefined {\n const priorityId = plan.priorityId?.trim() || plan.priority?.id?.trim();\n return priorityId || undefined;\n}\n\n/**\n * Normalizes plan estimated hours (supports numeric strings from forms/storage).\n */\nexport function resolvePlanEstimatedHours(plan: MaintenancePlanLike): number | undefined {\n const raw = plan.estimatedHours;\n if (isNumber(raw) && raw >= 0) {\n return raw;\n }\n if (isString(raw)) {\n const parsed = Number(raw);\n if (!Number.isNaN(parsed) && parsed >= 0) {\n return parsed;\n }\n }\n return undefined;\n}\n\nconst EMPLOYEE_ENTITY = 'HumanCapitalManagement.Employee';\n\n/**\n * Maintenance plan `assignedToId` stores Employee id; work order `assignedToId` expects Person id.\n */\nexport async function resolvePlanAssignedToForWorkOrder(\n backend: EntityStorageBackend,\n plan: MaintenancePlanLike,\n): Promise<Pick<WorkOrderFieldsFromPlan, 'assignedToId' | 'assignedTo'>> {\n const employeeId = plan.assignedToId?.trim();\n if (!employeeId) {\n return {};\n }\n\n const employee = (await backend.getOne(EMPLOYEE_ENTITY, employeeId).catch(() => null)) as {\n personId?: string;\n person?: { id?: string; fullName?: string; displayName?: string };\n } | null;\n\n const personId = employee?.personId?.trim() || employee?.person?.id?.trim();\n if (!personId) {\n return {};\n }\n\n const fullName = employee?.person?.fullName?.trim() || employee?.person?.displayName?.trim();\n return {\n assignedToId: personId,\n assignedTo: fullName ? { id: personId, fullName } : { id: personId },\n };\n}\n\n/**\n * Resolves work-order assignment, priority, and estimated hours from a maintenance plan.\n */\nexport async function resolvePlanFieldsForWorkOrder(\n backend: EntityStorageBackend,\n plan: MaintenancePlanLike,\n): Promise<WorkOrderFieldsFromPlan> {\n const assignment = await resolvePlanAssignedToForWorkOrder(backend, plan);\n const priorityId = resolvePlanPriorityId(plan);\n const estimatedHours = resolvePlanEstimatedHours(plan);\n\n return {\n ...assignment,\n ...(priorityId ? { priorityId } : {}),\n ...(estimatedHours !== undefined ? { estimatedHours } : {}),\n };\n}\n\nexport function buildWorkOrderPayloadFromFailureRegister(\n failureRegister: FailureRegisterLike,\n template: MaintenanceTemplateLike,\n workOrderNo: string,\n): Record<string, unknown> {\n const title = normalizeMultiLanguageString(template.title, template.code ?? 'Template');\n\n return {\n workOrderNo,\n assetId: failureRegister.assetId,\n maintenanceTypeId: template.maintenanceTypeId,\n maintenanceTemplateId: template.id,\n failureRegisterId: failureRegister.id,\n priorityId: failureRegister.priorityId,\n title,\n description: failureRegister.description,\n needPermission: !!template.needPermission,\n needShutdown: !!template.needShutdown,\n statusId: AXMWorkOrderStatus.Planned,\n sourceType: AXMWorkOrderSourceType.FailureRegister,\n isArchived: false,\n isDeleted: false,\n };\n}\n\nexport function buildWorkOrderPayloadFromPlan(\n plan: MaintenancePlanLike,\n workOrderNo: string,\n options?: {\n autoGeneratedWorkOrder?: boolean;\n referenceDate?: Date;\n occurrence?: WorkOrderOccurrenceWindow;\n sourceType?: AXMWorkOrderSourceType;\n workOrderFields?: WorkOrderFieldsFromPlan;\n includeScheduledEnd?: boolean;\n },\n): Record<string, unknown> {\n const title = normalizeMultiLanguageString(plan.title, plan.code ?? 'Work order');\n const occurrence =\n options?.occurrence ??\n resolveWorkOrderOccurrences(plan.schedule, {\n referenceDate: options?.referenceDate,\n estimatedHours: resolvePlanEstimatedHours(plan),\n })[0];\n\n const fields = options?.workOrderFields ?? {};\n const priorityId = fields.priorityId ?? resolvePlanPriorityId(plan);\n const estimatedHours = fields.estimatedHours ?? resolvePlanEstimatedHours(plan);\n\n return {\n workOrderNo,\n assetId: plan.assetId,\n maintenanceTypeId: plan.maintenanceTypeId,\n maintenanceTemplateId: plan.maintenanceTemplateId,\n maintenancePlanId: plan.id,\n title,\n description: plan.description,\n scheduledStart: occurrence?.scheduledStart,\n ...(options?.includeScheduledEnd && occurrence?.scheduledEnd\n ? { scheduledEnd: occurrence.scheduledEnd }\n : {}),\n ...(fields.assignedToId\n ? {\n assignedToId: fields.assignedToId,\n ...(fields.assignedTo ? { assignedTo: fields.assignedTo } : {}),\n }\n : {}),\n ...(priorityId ? { priorityId } : {}),\n ...(estimatedHours !== undefined ? { estimatedHours } : {}),\n needPermission: !!plan.needPermission,\n needShutdown: !!plan.needShutdown,\n ...(options?.autoGeneratedWorkOrder ? { autoGeneratedWorkOrder: true } : {}),\n statusId: AXMWorkOrderStatus.Planned,\n sourceType: options?.sourceType ?? AXMWorkOrderSourceType.MaintenancePlan,\n isArchived: false,\n isDeleted: false,\n };\n}\n\n/**\n * Builds one work-order payload per schedule occurrence (count varies by end condition).\n */\nexport function buildWorkOrderPayloadsFromPlan(\n plan: MaintenancePlanLike,\n options?: {\n autoGeneratedWorkOrder?: boolean;\n referenceDate?: Date;\n sourceType?: AXMWorkOrderSourceType;\n workOrderFields?: WorkOrderFieldsFromPlan;\n includeScheduledEnd?: boolean;\n },\n): Array<Record<string, unknown>> {\n const referenceDate = options?.referenceDate ?? new Date();\n const estimatedHours = resolvePlanEstimatedHours(plan);\n const occurrences = resolveWorkOrderOccurrences(plan.schedule, {\n referenceDate,\n estimatedHours,\n });\n const selectedOccurrences = options?.autoGeneratedWorkOrder ? occurrences.slice(0, 1) : occurrences;\n\n return selectedOccurrences.map((occurrence) =>\n buildWorkOrderPayloadFromPlan(plan, '', {\n autoGeneratedWorkOrder: options?.autoGeneratedWorkOrder,\n referenceDate,\n occurrence,\n sourceType: options?.sourceType,\n workOrderFields: options?.workOrderFields,\n includeScheduledEnd: options?.includeScheduledEnd,\n }),\n );\n}\n\n/**\n * Inserts all work orders implied by the plan schedule (peek identifier per row).\n */\nexport async function insertWorkOrdersFromPlan(\n entityStorage: { insertOne(entityName: string, entity: Record<string, unknown>): Promise<unknown> },\n identifierService: AXPIdentifierService,\n sessionService: AXPSessionService,\n workOrderEntityName: string,\n plan: MaintenancePlanLike,\n options?: {\n autoGeneratedWorkOrder?: boolean;\n referenceDate?: Date;\n sourceType?: AXMWorkOrderSourceType;\n backend?: EntityStorageBackend;\n },\n): Promise<number> {\n const resolvedPlan = normalizePlanRelationIds(plan);\n const workOrderFields = options?.backend ? await resolvePlanFieldsForWorkOrder(options.backend, resolvedPlan) : {};\n\n const payloads = buildWorkOrderPayloadsFromPlan(resolvedPlan, {\n autoGeneratedWorkOrder: options?.autoGeneratedWorkOrder,\n referenceDate: options?.referenceDate,\n sourceType: options?.sourceType,\n workOrderFields,\n includeScheduledEnd: false,\n });\n let createdCount = 0;\n\n for (const payload of payloads) {\n const workOrderNo = await allocateIdentifierCode(identifierService, sessionService, WORK_ORDER_NO_RULE_ID);\n await entityStorage.insertOne(workOrderEntityName, { ...payload, workOrderNo });\n createdCount += 1;\n }\n\n return createdCount;\n}\n\nexport function canCreateWorkOrderFromFailureRegister(\n failureRegister: FailureRegisterLike,\n template: MaintenanceTemplateLike,\n): boolean {\n return !!(failureRegister.assetId && template.id && template.maintenanceTypeId);\n}\n\nexport function canCreateWorkOrderFromPlan(plan: MaintenancePlanLike): boolean {\n const normalized = normalizePlanRelationIds(plan);\n return !!(\n normalized.assetId &&\n normalized.maintenanceTypeId &&\n normalized.maintenanceTemplateId\n );\n}\n\nfunction isMaintenanceTemplateLike(row: unknown): row is MaintenanceTemplateLike {\n if (!row || typeof row !== 'object') {\n return false;\n }\n const candidate = row as MaintenanceTemplateLike;\n return typeof candidate.id === 'string' && typeof candidate.maintenanceTypeId === 'string';\n}\n\nexport async function queryAutoGenerateTemplatesForAssetType(\n backend: EntityStorageBackend,\n templateEntityName: string,\n assetTypeId: string,\n): Promise<MaintenanceTemplateLike[]> {\n const result = await backend\n .query(templateEntityName, {\n skip: 0,\n take: 200,\n filter: {\n logic: 'and',\n filters: [\n { field: 'assetTypeId', operator: { type: 'equal' }, value: assetTypeId },\n { field: 'autoGeneratePlan', operator: { type: 'equal' }, value: true },\n ],\n },\n })\n .catch(() => ({ total: 0, items: [] }));\n\n const items: unknown[] = result.items ?? [];\n return items.filter(isMaintenanceTemplateLike);\n}\n\nconst ASSET_ENTITY = 'AssetManagement.Asset';\nconst ASSET_TYPE_ENTITY = 'AssetManagement.AssetType';\n\nexport function isWorkflowEnabledOnTemplate(template: MaintenanceTemplateLike): boolean {\n const config = template.workflowConfig;\n if (!config?.workflowDefinitionId?.trim() || !config?.workflowName?.trim()) {\n return false;\n }\n return config.enabled !== false;\n}\n\n/**\n * Resolves asset → asset type maintenance types → maintenance templates with an enabled workflow.\n */\nexport async function queryWorkflowTemplatesForAsset(\n backend: EntityStorageBackend,\n templateEntityName: string,\n assetId: string,\n): Promise<MaintenanceTemplateLike[]> {\n const trimmedAssetId = assetId?.trim();\n if (!trimmedAssetId) {\n return [];\n }\n\n const asset = (await backend.getOne(ASSET_ENTITY, trimmedAssetId).catch(() => null)) as AssetLike | null;\n const assetTypeId = asset?.assetTypeId?.trim();\n if (!asset || !assetTypeId) {\n return [];\n }\n\n const assetType = (await backend.getOne(ASSET_TYPE_ENTITY, assetTypeId).catch(() => null)) as\n | { maintenanceTypeIds?: string[] }\n | null;\n const maintenanceTypeIds = (assetType?.maintenanceTypeIds ?? []).filter((id) => isString(id) && id.trim());\n if (maintenanceTypeIds.length === 0) {\n return [];\n }\n\n const result = await backend\n .query(templateEntityName, {\n skip: 0,\n take: 500,\n filter: {\n logic: 'and',\n filters: [\n { field: 'assetTypeId', operator: { type: 'equal' }, value: assetTypeId },\n { field: 'maintenanceTypeId', operator: { type: 'in' }, value: maintenanceTypeIds },\n ],\n },\n })\n .catch(() => ({ total: 0, items: [] }));\n\n const rawItems: unknown[] = result.items ?? [];\n const items = rawItems.filter(isMaintenanceTemplateLike);\n return items.filter((template) => isWorkflowEnabledOnTemplate(template));\n}\n\nexport async function hasWorkOrderForPlan(\n backend: EntityStorageBackend,\n workOrderEntityName: string,\n planId: string,\n): Promise<boolean> {\n const result = await backend\n .query(workOrderEntityName, {\n skip: 0,\n take: 1,\n filter: {\n field: 'maintenancePlanId',\n operator: { type: 'equal' },\n value: planId,\n },\n })\n .catch(() => ({ total: 0, items: [] }));\n\n return (result.total ?? 0) > 0 || (result.items?.length ?? 0) > 0;\n}\n\nexport async function countWorkOrdersForMaintenancePlan(\n backend: EntityStorageBackend,\n workOrderEntityName: string,\n planId: string,\n): Promise<number> {\n const result = await backend\n .query(workOrderEntityName, {\n skip: 0,\n take: 1,\n filter: {\n field: 'maintenancePlanId',\n operator: { type: 'equal' },\n value: planId,\n },\n })\n .catch(() => ({ total: 0 }));\n\n return result.total ?? 0;\n}\n\nexport async function hasWorkOrderForPlanScheduledStart(\n backend: EntityStorageBackend,\n workOrderEntityName: string,\n planId: string,\n scheduledStart: string,\n): Promise<boolean> {\n const result = await backend\n .query(workOrderEntityName, {\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [\n { field: 'maintenancePlanId', operator: { type: 'equal' }, value: planId },\n { field: 'scheduledStart', operator: { type: 'equal' }, value: scheduledStart },\n ],\n },\n })\n .catch(() => ({ total: 0, items: [] }));\n\n return (result.total ?? 0) > 0 || (result.items?.length ?? 0) > 0;\n}\n\n/**\n * Resolves the next scheduled work-order occurrence after a signed-off work order.\n * For `endCondition.type === 'never'`, returns the next interval from the signed-off scheduled start.\n */\nexport function resolveNextWorkOrderOccurrenceAfterSignedOff(\n plan: MaintenancePlanLike,\n signedOffWorkOrder: { scheduledStart?: string },\n referenceDate: Date = new Date(),\n): WorkOrderOccurrenceWindow | null {\n const schedule = plan.schedule;\n if (!schedule) {\n return null;\n }\n\n const startType = get(schedule, 'startCondition.type');\n if (startType === 'onDemand') {\n return null;\n }\n\n const anchor = toDate(signedOffWorkOrder.scheduledStart) ?? resolveScheduleAnchorDate(schedule, referenceDate);\n if (!anchor) {\n return null;\n }\n\n const mode = inferScheduleMode(schedule);\n const interval = resolveScheduleInterval(schedule);\n const nextStart = addScheduleInterval(anchor, mode, interval, 1);\n const endType = defaultTo(get(schedule, 'endCondition.type'), 'never');\n\n if (endType === 'byDate') {\n const endDate = toScheduleEndBoundary(get(schedule, 'endCondition.endDate'));\n if (endDate && nextStart.getTime() > endDate.getTime()) {\n return null;\n }\n }\n\n const estimatedHours = resolvePlanEstimatedHours(plan);\n const scheduledEnd = resolveOccurrenceScheduledEnd(nextStart, estimatedHours);\n\n return {\n scheduledStart: toIsoString(nextStart),\n ...(scheduledEnd ? { scheduledEnd } : {}),\n };\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXP_IDENTIFIER_SERVICE, type AXPIdentifierService } from '@acorex-platform/module-identifier-management-client';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXPEntityStorageMiddleware,\n AXPEntityStorageService,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { AXMWorkOrderSourceType, RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n buildMaintenancePlanPayload,\n canCreateWorkOrderFromPlan,\n allocateIdentifierCode,\n insertWorkOrdersFromPlan,\n MAINTENANCE_PLAN_CODE_RULE_ID,\n mergeMaintenancePlanForWorkOrder,\n queryAutoGenerateTemplatesForAssetType,\n resolveDisplayLabel,\n type AssetLike,\n type EntityStorageBackend,\n type MaintenancePlanLike,\n type MaintenanceTemplateLike,\n} from './maintenance-generation.utils';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst ASSET_ENTITY = 'AssetManagement.Asset';\n\n//#endregion\n\n//#region ---- Dialog ----\n\ninterface MaintenanceOfferChoice {\n createPlans: boolean;\n createWorkOrders: boolean;\n}\n\nasync function askMaintenanceOfferChoice(\n dialogService: AXDialogService,\n translateService: AXTranslationService,\n templateCount: number,\n assetTitle: string,\n): Promise<MaintenanceOfferChoice | null> {\n const title = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.title',\n );\n const content = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.content',\n { params: { count: templateCount, assetTitle } },\n );\n const plansOnlyLabel = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.actions.plans-only',\n );\n const plansAndWorkOrdersLabel = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.actions.plans-and-work-orders',\n );\n const cancelLabel = await translateService.translateAsync('@general:actions.cancel.title');\n\n return new Promise((resolve) => {\n let settled = false;\n const finish = (value: MaintenanceOfferChoice | null) => {\n if (settled) {\n return;\n }\n settled = true;\n resolve(value);\n };\n\n const dialog = dialogService.open({\n title,\n content,\n type: 'primary',\n orientation: 'horizontal',\n closeButton: false,\n buttons: [\n {\n text: cancelLabel,\n color: 'default',\n autofocus: true,\n onClick: () => {\n dialog.close();\n finish(null);\n },\n },\n {\n text: plansOnlyLabel,\n color: 'default',\n onClick: () => {\n dialog.close();\n finish({ createPlans: true, createWorkOrders: false });\n },\n },\n {\n text: plansAndWorkOrdersLabel,\n color: 'primary',\n onClick: () => {\n dialog.close();\n finish({ createPlans: true, createWorkOrders: true });\n },\n },\n ],\n });\n });\n}\n\n//#endregion\n\n//#region ---- Middleware ----\n\n/**\n * After creating an Asset, offers to create maintenance plans (and optionally work orders)\n * for maintenance templates on the asset type with `autoGeneratePlan = true`.\n */\nexport const assetCreateMaintenanceOfferMiddleware: AXPEntityStorageMiddleware = {\n target: {\n ops: ['create'],\n order: 88,\n },\n execute: async (ctx, next) => {\n const dialogService = inject(AXDialogService, { optional: true });\n const toastService = inject(AXToastService, { optional: true });\n const translateService = inject(AXTranslationService, { optional: true });\n const backend = ctx.entities as EntityStorageBackend;\n const entityStorage = inject(AXPEntityStorageService, { optional: true });\n const identifierService = inject(AXP_IDENTIFIER_SERVICE, { optional: true }) as AXPIdentifierService | null;\n const sessionService = inject(AXPSessionService, { optional: true });\n\n if (ctx.entityName !== ASSET_ENTITY) {\n await next();\n return;\n }\n\n await next();\n\n const createdId = typeof ctx.result === 'string' ? ctx.result : undefined;\n if (\n !createdId ||\n !dialogService ||\n !toastService ||\n !translateService ||\n !entityStorage ||\n !identifierService ||\n !sessionService\n ) {\n return;\n }\n\n const asset = (await backend.getOne(ASSET_ENTITY, createdId).catch(() => null)) as AssetLike | null;\n if (!asset?.assetTypeId) {\n return;\n }\n\n const templateEntity = `${RootConfig.module.name}.${RootConfig.entities.maintenanceTemplate.name}`;\n const planEntity = `${RootConfig.module.name}.${RootConfig.entities.maintenancePlan.name}`;\n const workOrderEntity = `${RootConfig.module.name}.${RootConfig.entities.workOrder.name}`;\n\n const templates = await queryAutoGenerateTemplatesForAssetType(\n backend,\n templateEntity,\n asset.assetTypeId,\n );\n if (templates.length === 0) {\n return;\n }\n\n const assetTitle = resolveDisplayLabel(asset.title, asset.code ?? createdId);\n const choice = await askMaintenanceOfferChoice(\n dialogService,\n translateService,\n templates.length,\n assetTitle,\n );\n if (!choice?.createPlans) {\n return;\n }\n\n const createdPlans: MaintenancePlanLike[] = [];\n\n for (const template of templates) {\n if (!template.maintenanceTypeId) {\n const loaded = (await backend\n .getOne(templateEntity, template.id)\n .catch(() => null)) as MaintenanceTemplateLike | null;\n if (!loaded?.maintenanceTypeId) {\n continue;\n }\n Object.assign(template, loaded);\n }\n\n try {\n // Validation runs before identifier middleware; allocate (commit) a distinct code per plan.\n const planCode = await allocateIdentifierCode(\n identifierService,\n sessionService,\n MAINTENANCE_PLAN_CODE_RULE_ID,\n );\n const planPayload = buildMaintenancePlanPayload(asset, template, {\n suppressWorkOrderPrompt: true,\n code: planCode,\n autoGeneratedPlan: true,\n });\n const planId = await entityStorage.insertOne(planEntity, planPayload);\n const resolvedPlanId = typeof planId === 'string' ? planId : undefined;\n if (!resolvedPlanId) {\n continue;\n }\n\n const storedPlan = (await backend.getOne(planEntity, resolvedPlanId).catch(() => null)) as MaintenancePlanLike | null;\n const plan = mergeMaintenancePlanForWorkOrder(\n { ...planPayload, id: resolvedPlanId },\n storedPlan,\n resolvedPlanId,\n );\n if (plan) {\n createdPlans.push(plan);\n }\n } catch (error) {\n const errorTitle = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.errors.create-failed-title',\n );\n const errorMessage =\n error instanceof Error\n ? error.message\n : await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.errors.create-failed-content',\n );\n toastService.show({ color: 'danger', title: errorTitle, content: errorMessage });\n return;\n }\n }\n\n if (!choice.createWorkOrders || createdPlans.length === 0) {\n const successTitle = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.success.plans-title',\n );\n const successContent = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.success.plans-content',\n { params: { count: createdPlans.length } },\n );\n toastService.show({ color: 'success', title: successTitle, content: successContent });\n return;\n }\n\n let workOrderCount = 0;\n const referenceDate = new Date();\n for (const plan of createdPlans) {\n if (!canCreateWorkOrderFromPlan(plan)) {\n continue;\n }\n workOrderCount += await insertWorkOrdersFromPlan(\n entityStorage,\n identifierService,\n sessionService,\n workOrderEntity,\n plan,\n {\n autoGeneratedWorkOrder: true,\n referenceDate,\n sourceType: AXMWorkOrderSourceType.CreateAsset,\n backend,\n },\n );\n }\n\n const successTitle = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.success.both-title',\n );\n const successContent = await translateService.translateAsync(\n '@asset-management:assets.entities.asset.dialogs.create-maintenance-offer.success.both-content',\n { params: { planCount: createdPlans.length, workOrderCount } },\n );\n toastService.show({ color: 'success', title: successTitle, content: successContent });\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXP_IDENTIFIER_SERVICE, type AXPIdentifierService } from '@acorex-platform/module-identifier-management-client';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXPEntityDataSelectorService,\n AXPEntityDefinitionRegistryService,\n AXPEntityStorageMiddleware,\n AXPEntityStorageService,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n allocateIdentifierCode,\n buildWorkOrderPayloadFromFailureRegister,\n canCreateWorkOrderFromFailureRegister,\n resolveMaintenanceTemplate,\n WORK_ORDER_NO_RULE_ID,\n type EntityStorageBackend,\n type FailureRegisterLike,\n type MaintenanceTemplateLike,\n} from './maintenance-generation.utils';\n\n/** Asset detail route entity keys (must match AssetManagement registration). */\nconst ASSET_ENTITY = 'AssetManagement.Asset';\nconst ASSET_TYPE_ENTITY = 'AssetManagement.AssetType';\n\n//#endregion\n\n//#region ---- Types ----\n\ninterface AssetLike {\n assetTypeId?: string;\n assetType?: {\n maintenanceTypeIds?: string[];\n };\n}\n\ninterface AssetTypeLike {\n maintenanceTypeIds?: string[];\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction normalizeMaintenanceTypeIds(value: unknown): string[] {\n if (!Array.isArray(value)) {\n return [];\n }\n\n return value.filter((id): id is string => typeof id === 'string' && id.trim().length > 0);\n}\n\n/**\n * Resolves maintenance type ids allowed for the asset (from asset type), matching work-order / maintenance-plan lookups.\n */\nasync function resolveAssetMaintenanceTypeIds(backend: EntityStorageBackend, assetId: string): Promise<string[]> {\n const asset = (await backend.getOne(ASSET_ENTITY, assetId).catch(() => null)) as AssetLike | null;\n if (!asset) {\n return [];\n }\n\n const fromAssetType = normalizeMaintenanceTypeIds(asset.assetType?.maintenanceTypeIds);\n if (fromAssetType.length > 0) {\n return fromAssetType;\n }\n\n if (!asset.assetTypeId) {\n return [];\n }\n\n const assetType = (await backend\n .getOne(ASSET_TYPE_ENTITY, asset.assetTypeId)\n .catch(() => null)) as AssetTypeLike | null;\n return normalizeMaintenanceTypeIds(assetType?.maintenanceTypeIds);\n}\n\n//#endregion\n\n//#region ---- Middleware ----\n\n/**\n * After creating a Failure Register, asks user to optionally create a Work Order.\n * If user confirms, opens the standard entity data selector for maintenance templates.\n */\nexport const failureRegisterCreateWorkOrderMiddleware: AXPEntityStorageMiddleware = {\n target: {\n ops: ['create'],\n order: 90,\n },\n execute: async (ctx, next) => {\n // IMPORTANT: resolve injected deps before any await to keep Angular injection context valid.\n const dialogService = inject(AXDialogService, { optional: true });\n const toastService = inject(AXToastService, { optional: true });\n const entityRegistry = inject(AXPEntityDefinitionRegistryService, { optional: true });\n const entityDataSelector = inject(AXPEntityDataSelectorService, { optional: true });\n const backend = ctx.entities as EntityStorageBackend;\n const entityStorage = inject(AXPEntityStorageService, { optional: true });\n const identifierService = inject(AXP_IDENTIFIER_SERVICE, { optional: true }) as AXPIdentifierService | null;\n const sessionService = inject(AXPSessionService, { optional: true });\n\n const failureRegisterEntity = `${RootConfig.module.name}.${RootConfig.entities.failureRegister.name}`;\n if (ctx.entityName !== failureRegisterEntity) {\n await next();\n return;\n }\n\n await next();\n\n const createdId = typeof ctx.result === 'string' ? ctx.result : undefined;\n if (!createdId) {\n return;\n }\n\n // The middleware can run in non-UI execution contexts; keep it safe.\n if (\n !dialogService ||\n !toastService ||\n !entityRegistry ||\n !entityDataSelector ||\n !entityStorage ||\n !identifierService ||\n !sessionService\n ) {\n return;\n }\n\n const fr = (await backend.getOne(ctx.entityName, createdId).catch(() => null)) as FailureRegisterLike | null;\n if (!fr?.assetId) {\n return;\n }\n\n const confirm = await dialogService.confirm(\n 'Create work order',\n 'Do you want to create work order now?',\n 'warning',\n 'horizontal',\n false,\n 'cancel',\n );\n if (confirm.result !== true) {\n return;\n }\n\n const templateEntity = await entityRegistry.resolve(\n RootConfig.module.name,\n RootConfig.entities.maintenanceTemplate.name,\n );\n if (!templateEntity) {\n toastService.show({\n color: 'danger',\n title: 'Template error',\n content: 'Maintenance template entity is not available.',\n });\n return;\n }\n\n const maintenanceTypeIds = await resolveAssetMaintenanceTypeIds(backend, fr.assetId);\n if (!maintenanceTypeIds.length) {\n toastService.show({\n color: 'warning',\n title: 'No maintenance types',\n content: 'The selected asset has no maintenance types configured on its asset type.',\n });\n return;\n }\n\n const selectorTitle =\n typeof templateEntity.title === 'string' ? templateEntity.title : RootConfig.entities.maintenanceTemplate.title;\n\n const templateFilters: AXDataSourceFilterOption = {\n field: 'maintenanceTypeId',\n operator: { type: 'in' },\n value: maintenanceTypeIds,\n };\n\n const templateEntityName = `${RootConfig.module.name}.${RootConfig.entities.maintenanceTemplate.name}`;\n const workOrderEntityName = `${RootConfig.module.name}.${RootConfig.entities.workOrder.name}`;\n\n const selectorResult = await entityDataSelector.open({\n entity: templateEntity,\n title: selectorTitle,\n allowMultiple: false,\n allowCreate: 'none',\n columns: [\n 'code',\n 'title',\n 'maintenanceTypeId',\n 'needPermission',\n 'needShutdown',\n 'estimatedHours',\n 'hasSchedule',\n 'schedule',\n 'autoGeneratePlan',\n ],\n filters: templateFilters,\n });\n\n if (!selectorResult?.items?.length) {\n return;\n }\n\n const selectedTemplate = selectorResult.items[0] as MaintenanceTemplateLike;\n const template = await resolveMaintenanceTemplate(backend, templateEntityName, selectedTemplate);\n if (!template) {\n toastService.show({\n color: 'danger',\n title: 'Template error',\n content: 'Selected template does not have maintenance type.',\n });\n return;\n }\n\n if (!canCreateWorkOrderFromFailureRegister(fr, template)) {\n toastService.show({\n color: 'warning',\n title: 'Missing data',\n content: 'Asset, maintenance type, and maintenance template are required to create a work order.',\n });\n return;\n }\n\n const workOrderNo = await allocateIdentifierCode(identifierService, sessionService, WORK_ORDER_NO_RULE_ID);\n\n const result = await entityStorage.insertOne(\n workOrderEntityName,\n buildWorkOrderPayloadFromFailureRegister(fr, template, workOrderNo),\n );\n const workOrderId = typeof result === 'string' ? result : undefined;\n\n if (!workOrderId) {\n toastService.show({\n color: 'danger',\n title: 'Work order error',\n content: 'Work order creation failed.',\n });\n return;\n }\n\n toastService.show({\n color: 'success',\n title: 'Work order created',\n content: 'Work order was created successfully.',\n });\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXP_IDENTIFIER_SERVICE, type AXPIdentifierService } from '@acorex-platform/module-identifier-management-client';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXPEntityStorageMiddleware,\n AXPEntityStorageService,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n canCreateWorkOrderFromPlan,\n countWorkOrdersToCreateFromSchedule,\n hasWorkOrderForPlan,\n insertWorkOrdersFromPlan,\n mergeMaintenancePlanForWorkOrder,\n SUPPRESS_WORK_ORDER_PROMPT_FIELD,\n type EntityStorageBackend,\n type MaintenancePlanLike,\n} from './maintenance-generation.utils';\n\n//#endregion\n\n//#region ---- Constants ----\n\n/** Per-create ctx.locals flag so duplicate middleware entries schedule only one prompt. */\nconst WORK_ORDER_PROMPT_SCHEDULED_KEY = 'maintenancePlan.workOrderPromptScheduled';\n\n//#endregion\n\n//#region ---- Types ----\n\ninterface MaintenancePlanWorkOrderPromptDeps {\n createdId: string;\n planEntity: string;\n createPayload?: MaintenancePlanLike;\n dialogService: AXDialogService;\n backend: EntityStorageBackend;\n entityStorage: {\n insertOne(entityName: string, entity: Record<string, unknown>): Promise<unknown>;\n };\n identifierService: AXPIdentifierService;\n sessionService: AXPSessionService;\n toastService: AXToastService;\n}\n\n//#endregion\n\n//#region ---- Prompt runner ----\n\n/**\n * Asks whether to create work order(s) immediately after plan create completes.\n * Runs inline after `next()` so the dialog appears before navigation away from the create form.\n */\nasync function runMaintenancePlanWorkOrderPrompt(deps: MaintenancePlanWorkOrderPromptDeps): Promise<void> {\n const {\n createdId,\n planEntity,\n createPayload,\n dialogService,\n backend,\n entityStorage,\n identifierService,\n sessionService,\n toastService,\n } = deps;\n\n const storedPlan = (await backend.getOne(planEntity, createdId).catch(() => null)) as MaintenancePlanLike | null;\n const plan = mergeMaintenancePlanForWorkOrder(createPayload, storedPlan, createdId);\n if (!plan) {\n return;\n }\n\n const plannedWorkOrderCount = countWorkOrdersToCreateFromSchedule(plan.schedule);\n const confirmMessage =\n plannedWorkOrderCount === 1\n ? 'Do you want to create 1 work order now based on the plan schedule?'\n : `Do you want to create ${plannedWorkOrderCount} work orders now based on the plan schedule?`;\n\n const confirm = await dialogService.confirm(\n 'Create work order',\n confirmMessage,\n 'warning',\n 'horizontal',\n false,\n 'cancel',\n );\n if (confirm.result !== true) {\n return;\n }\n\n if (!canCreateWorkOrderFromPlan(plan)) {\n await dialogService.alert(\n 'Missing plan data',\n 'Asset, maintenance type, and maintenance template are required to create a work order.',\n 'warning',\n );\n return;\n }\n\n const workOrderEntity = `${RootConfig.module.name}.${RootConfig.entities.workOrder.name}`;\n if (await hasWorkOrderForPlan(backend, workOrderEntity, plan.id)) {\n await dialogService.alert(\n 'Work order exists',\n 'A work order already exists for this maintenance plan.',\n 'warning',\n );\n return;\n }\n\n try {\n const workOrderCount = await insertWorkOrdersFromPlan(\n entityStorage,\n identifierService,\n sessionService,\n workOrderEntity,\n plan,\n { backend },\n );\n\n if (workOrderCount === 0) {\n await dialogService.alert('Work order error', 'Work order creation failed.', 'danger');\n return;\n }\n\n const successMessage =\n workOrderCount === 1\n ? 'Work order was created successfully.'\n : `${workOrderCount} work orders were created successfully.`;\n toastService.show({\n color: 'success',\n title: 'Work order created',\n content: successMessage,\n });\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Work order creation failed.';\n await dialogService.alert('Work order error', message, 'danger');\n }\n}\n\n//#endregion\n\n//#region ---- Middleware ----\n\n/**\n * After creating a Maintenance Plan, asks whether to create a Work Order immediately.\n * If confirmed, creates Work Order using the plan's already selected template.\n */\nexport const maintenancePlanCreateWorkOrderMiddleware: AXPEntityStorageMiddleware = {\n target: {\n ops: ['create'],\n order: 91,\n },\n execute: async (ctx, next) => {\n const dialogService = inject(AXDialogService, { optional: true });\n const toastService = inject(AXToastService, { optional: true });\n const backend = ctx.entities as EntityStorageBackend;\n const entityStorage = inject(AXPEntityStorageService, { optional: true });\n const identifierService = inject(AXP_IDENTIFIER_SERVICE, { optional: true }) as AXPIdentifierService | null;\n const sessionService = inject(AXPSessionService, { optional: true });\n\n const maintenancePlanEntity = `${RootConfig.module.name}.${RootConfig.entities.maintenancePlan.name}`;\n if (ctx.entityName !== maintenancePlanEntity) {\n await next();\n return;\n }\n\n const suppressPrompt =\n ctx.data &&\n typeof ctx.data === 'object' &&\n (ctx.data as Record<string, unknown>)[SUPPRESS_WORK_ORDER_PROMPT_FIELD] === true;\n\n const createPayload =\n ctx.data && typeof ctx.data === 'object' ? (ctx.data as unknown as MaintenancePlanLike) : undefined;\n\n await next();\n\n const createdId = typeof ctx.result === 'string' ? ctx.result : undefined;\n if (\n !createdId ||\n !dialogService ||\n !toastService ||\n !entityStorage ||\n !identifierService ||\n !sessionService ||\n suppressPrompt\n ) {\n return;\n }\n\n if (ctx.locals.get(WORK_ORDER_PROMPT_SCHEDULED_KEY)) {\n return;\n }\n ctx.locals.set(WORK_ORDER_PROMPT_SCHEDULED_KEY, true);\n\n await runMaintenancePlanWorkOrderPrompt({\n createdId,\n planEntity: ctx.entityName,\n createPayload,\n dialogService,\n backend,\n entityStorage,\n identifierService,\n sessionService,\n toastService,\n });\n },\n};\n\n//#endregion\n","//#region ---- Constants ----\n\n/** Answer keys pre-filled from asset.code (readonly in viewer). */\nexport const WORK_ORDER_CHECKLIST_ASSET_CODE_KEYS = [\n 'mm_f920_asset_no',\n 'mm_prestart_plant_item',\n] as const;\n\n/** Answer keys pre-filled from asset.serialNumber (readonly in viewer). */\nexport const WORK_ORDER_CHECKLIST_ASSET_SERIAL_KEYS = [\n 'mm_f920_registration_number',\n 'mm_prestart_serial_number',\n] as const;\n\n/** All asset-driven prefill keys across maintenance checklists. */\nexport const WORK_ORDER_CHECKLIST_ASSET_PREFILL_KEYS = [\n ...WORK_ORDER_CHECKLIST_ASSET_CODE_KEYS,\n ...WORK_ORDER_CHECKLIST_ASSET_SERIAL_KEYS,\n] as const;\n\nexport type WorkOrderChecklistAssetPrefillKey = (typeof WORK_ORDER_CHECKLIST_ASSET_PREFILL_KEYS)[number];\n\n//#endregion\n\n//#region ---- Helpers ----\n\n/**\n * Builds checklist answer prefill from asset identifiers for maintenance questionnaires.\n */\nexport function buildWorkOrderChecklistAssetPrefillAnswers(asset: {\n code?: string | null;\n serialNumber?: string | null;\n}): Partial<Record<WorkOrderChecklistAssetPrefillKey, string>> {\n const code = typeof asset.code === 'string' ? asset.code.trim() : '';\n const serialNumber = typeof asset.serialNumber === 'string' ? asset.serialNumber.trim() : '';\n\n const answers: Partial<Record<WorkOrderChecklistAssetPrefillKey, string>> = {};\n if (code) {\n for (const key of WORK_ORDER_CHECKLIST_ASSET_CODE_KEYS) {\n answers[key] = code;\n }\n }\n if (serialNumber) {\n for (const key of WORK_ORDER_CHECKLIST_ASSET_SERIAL_KEYS) {\n answers[key] = serialNumber;\n }\n }\n return answers;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommandMiddleware } from '@acorex-platform/framework-client/runtime';\nimport { inject } from '@angular/core';\nimport { defaultTo, get, isEmpty, isString } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n buildWorkOrderChecklistAssetPrefillAnswers,\n WORK_ORDER_CHECKLIST_ASSET_PREFILL_KEYS,\n} from './work-order-checklist-prefill.constants';\n\n//#endregion\n\n//#region ---- Types ----\n\nconst WORK_ORDER_SUBJECT_TYPE = `${RootConfig.module.name}.${RootConfig.entities.workOrder.name}`;\n\ninterface FillAssessmentCaseCommandInput {\n caseId?: string;\n sessionId?: string;\n prefillAnswers?: Record<string, unknown>;\n readonlyAnswerKeys?: string[];\n}\n\n//#endregion\n\n//#region ---- Middleware ----\n\n/**\n * Pre-fills PD-F920 asset header answers when a work-order checklist is opened from the task board.\n */\nexport const workOrderChecklistFillMiddleware: AXPCommandMiddleware<FillAssessmentCaseCommandInput, void> = async (\n context,\n next,\n) => {\n const entityService = inject(AXPEntityService);\n const input = context.input;\n const caseId = resolveText(get(input, 'caseId'));\n if (!caseId) {\n return next(context);\n }\n const assessmentCase = await entityService\n .withEntity('AssessmentManagement', 'AssessmentCase')\n .data()\n .byKey(caseId);\n\n const subjectType = resolveText(get(assessmentCase, 'subjectRef.type'));\n const workOrderId = resolveText(get(assessmentCase, 'subjectRef.id'));\n if (subjectType !== WORK_ORDER_SUBJECT_TYPE || !workOrderId) {\n return next(context);\n }\n\n const workOrder = await entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId);\n\n const assetId = resolveText(get(workOrder, 'assetId'));\n if (!assetId) {\n return next(context);\n }\n\n const asset = (await entityService.withEntity('AssetManagement', 'Asset').data().byKey(assetId)) as {\n code?: string;\n serialNumber?: string;\n } | null;\n\n const prefillAnswers = buildWorkOrderChecklistAssetPrefillAnswers({\n code: asset?.code ?? null,\n serialNumber: asset?.serialNumber ?? null,\n });\n\n if (isEmpty(prefillAnswers)) {\n return next(context);\n }\n\n const sessionId = resolveText(get(input, 'sessionId'));\n if (sessionId) {\n const session = await entityService.withEntity('AssessmentManagement', 'AssessmentSession').data().byKey(sessionId);\n const existingAnswers = defaultTo(get(session, 'answers'), {}) as Record<string, unknown>;\n const { merged, changed } = mergeMissingAnswers(existingAnswers, prefillAnswers);\n if (changed) {\n await entityService\n .withEntity('AssessmentManagement', 'AssessmentSession')\n .data()\n .update(sessionId, { answers: merged } as never);\n }\n }\n\n return next({\n ...context,\n input: {\n ...input,\n prefillAnswers: {\n ...prefillAnswers,\n ...defaultTo(get(input, 'prefillAnswers'), {}),\n },\n readonlyAnswerKeys: [\n ...WORK_ORDER_CHECKLIST_ASSET_PREFILL_KEYS,\n ...defaultTo(get(input, 'readonlyAnswerKeys'), []),\n ],\n },\n });\n};\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n}\n\nfunction mergeMissingAnswers(\n existing: Record<string, unknown>,\n prefill: Record<string, unknown>,\n): { merged: Record<string, unknown>; changed: boolean } {\n const merged = { ...existing };\n let changed = false;\n\n for (const [key, value] of Object.entries(prefill)) {\n if (isEmpty(merged[key]) && !isEmpty(value)) {\n merged[key] = value;\n changed = true;\n }\n }\n\n return { merged, changed };\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPDebugService } from '@acorex-platform/framework-client/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommandMiddleware, AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { inject } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { AXMWorkOrderStatus, AXMMaintenanceManagementCommandKeys, RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\n\n//#endregion\n\n//#region ---- Types ----\n\nconst WORK_ORDER_SUBJECT_TYPE = `${RootConfig.module.name}.${RootConfig.entities.workOrder.name}`;\n\ninterface FillAssessmentCaseCommandInput {\n caseId?: string;\n sessionId?: string;\n}\n\n//#endregion\n\n//#region ---- Middleware ----\n\n/**\n * After a work-order checklist is submitted, ensures WorkReport draft, assessment reference,\n * and work-order in-progress status are persisted even when the workflow backend chain does not run.\n */\nexport const workOrderChecklistPostSubmitMiddleware: AXPCommandMiddleware<\n FillAssessmentCaseCommandInput,\n void\n> = async (context, next) => {\n const entityService = inject(AXPEntityService);\n const commandService = inject(AXPCommandService);\n const sessionService = inject(AXPSessionService);\n\n const result = await next(context);\n try {\n await applyWorkOrderChecklistPostSubmitEffects(context.input, result, {\n entityService,\n commandService,\n sessionService,\n });\n } catch (error: unknown) {\n AXPDebugService.instance?.error(\n 'maintenance-management',\n 'work-order-checklist-post-submit',\n 'Post-submit middleware failed; assessment fill result preserved',\n () => ({\n caseId: get(context.input, 'caseId'),\n sessionId: get(context.input, 'sessionId'),\n success: result?.success,\n outcome: get(result, 'metadata.outcome'),\n error: error instanceof Error ? error.message : String(error),\n }),\n );\n }\n return result;\n};\n\ninterface WorkOrderChecklistPostSubmitServices {\n entityService: AXPEntityService;\n commandService: AXPCommandService;\n sessionService: AXPSessionService;\n}\n\n//#endregion\n\n//#region ---- Post-submit effects ----\n\nasync function applyWorkOrderChecklistPostSubmitEffects(\n input: FillAssessmentCaseCommandInput,\n result: AXPRuntimeCommandResult<void> | null | undefined,\n services: WorkOrderChecklistPostSubmitServices,\n): Promise<void> {\n if (!result?.success) {\n return;\n }\n\n const caseId = resolveText(get(input, 'caseId'));\n if (!caseId) {\n return;\n }\n\n const submitted = await isWorkOrderChecklistSubmitted(input, result, caseId, services.entityService);\n if (!submitted) {\n return;\n }\n\n const { entityService, commandService, sessionService } = services;\n\n const assessmentCase = await entityService\n .withEntity('AssessmentManagement', 'AssessmentCase')\n .data()\n .byKey(caseId);\n\n const subjectType = resolveText(get(assessmentCase, 'subjectRef.type'));\n const workOrderId = resolveText(get(assessmentCase, 'subjectRef.id'));\n if (subjectType !== WORK_ORDER_SUBJECT_TYPE || !workOrderId) {\n return;\n }\n\n const workOrder = (await entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId)) as AXMMaintenanceManagementWorkOrderEntityModel | null;\n\n if (!workOrder?.id) {\n return;\n }\n\n const performedById = await resolveEmployeeIdByPersonId(\n entityService,\n resolveText(workOrder.assignedToId),\n );\n const completedById = resolveText(sessionService.user?.id);\n const activityKeys = AXMMaintenanceManagementCommandKeys.WorkflowActivity;\n\n const draftResult = await commandService.execute(activityKeys.CreateOrGetWorkReportDraft, {\n workOrderId,\n performedById: performedById || null,\n });\n\n const workReportId = resolveText(get(draftResult, 'data.workReportId'));\n\n await commandService.execute(activityKeys.RecordWorkReportAssessment, {\n workOrderId,\n workReportId: workReportId || null,\n performedById: performedById || null,\n assessmentCaseId: caseId,\n completedById: completedById || null,\n });\n\n const shouldSetInProgress =\n workOrder.statusId === AXMWorkOrderStatus.Planned ||\n workOrder.statusId === AXMWorkOrderStatus.Scheduled ||\n workOrder.statusId === AXMWorkOrderStatus.Assigned;\n\n if (shouldSetInProgress) {\n await commandService.execute(activityKeys.UpdateWorkOrderInProgress, { workOrderId });\n }\n}\n\nasync function isWorkOrderChecklistSubmitted(\n input: FillAssessmentCaseCommandInput,\n result: AXPRuntimeCommandResult<void> | null | undefined,\n caseId: string,\n entityService: AXPEntityService,\n): Promise<boolean> {\n const outcome = resolveText(get(result, 'metadata.outcome')).toLowerCase();\n if (outcome === 'submitted') {\n return true;\n }\n const sessionId = resolveText(get(input, 'sessionId'));\n if (sessionId) {\n const session = await entityService\n .withEntity('AssessmentManagement', 'AssessmentSession')\n .data()\n .byKey(sessionId);\n if (resolveText(get(session, 'statusId')).toLowerCase() === 'submitted') {\n return true;\n }\n }\n\n const page = await entityService\n .withEntity('AssessmentManagement', 'AssessmentSession')\n .data()\n .query({\n skip: 0,\n take: 1,\n sort: [{ field: 'lastSavedAt', direction: 'desc' }],\n filter: {\n logic: 'and',\n filters: [{ field: 'caseId', operator: { type: 'equal' }, value: caseId }],\n },\n } as never);\n\n const latest = defaultTo(get(page, 'items[0]'), null) as { statusId?: string } | null;\n return resolveText(latest?.statusId).toLowerCase() === 'submitted';\n}\n\nasync function resolveEmployeeIdByPersonId(\n entityService: AXPEntityService,\n personId: string,\n): Promise<string> {\n if (!personId) {\n return '';\n }\n\n const page = await 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 resolveText(employee?.id);\n}\n\nfunction resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { isEmpty, isNil } from 'lodash';\nimport { inject } from '@angular/core';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPEntityStorageMiddleware } from '@acorex-platform/framework-client/layout/entity';\nimport { AXMWorkOrderSourceType, RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\n\n//#endregion\n\n//#region ---- Middleware ----\n\nconst workOrderEntityName = `${RootConfig.module.name}.${RootConfig.entities.workOrder.name}`;\n\n/**\n * Applies create defaults for work orders: `sourceType` (manual when unset) and `requestedById` (current user).\n */\nexport const workOrderSourceTypeMiddleware: AXPEntityStorageMiddleware = {\n target: {\n ops: ['create'],\n order: 10,\n },\n execute: async (ctx, next) => {\n if (ctx.entityName !== workOrderEntityName || !ctx.data || typeof ctx.data !== 'object') {\n await next();\n return;\n }\n\n const data = ctx.data as Record<string, unknown>;\n if (isNil(data['sourceType']) || data['sourceType'] === '') {\n data['sourceType'] = AXMWorkOrderSourceType.Manual;\n }\n\n const sessionService = inject(AXPSessionService, { optional: true });\n const currentUserId = sessionService?.user?.id;\n if (!isEmpty(currentUserId)) {\n data['requestedById'] = currentUserId;\n }\n\n await next();\n },\n};\n\n//#endregion\n","//#region ---- Middleware Exports ----\n\nexport { assetCreateMaintenanceOfferMiddleware } from './asset-create-maintenance-offer.middleware';\nexport { failureRegisterCreateWorkOrderMiddleware } from './failure-register-create-work-order.middleware';\nexport { maintenancePlanCreateWorkOrderMiddleware } from './maintenance-plan-create-work-order.middleware';\nexport { workOrderChecklistFillMiddleware } from './work-order-checklist-fill.middleware';\nexport { workOrderChecklistPostSubmitMiddleware } from './work-order-checklist-post-submit.middleware';\nexport { workOrderSourceTypeMiddleware } from './work-order-source-type.middleware';\n\n//#endregion\n","//#region ---- Imports ----\n\nimport type { AXPCatalogScopeDefinition, AXPCatalogScopeDefinitionProvider } from '@acorex-platform/framework-client/core';\nimport { Injectable } from '@angular/core';\nimport { MM_CATALOG_SCOPE_MN } from '@acorex-platform/module-maintenance-management-client/contracts';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst QUESTIONNAIRE = 'AssessmentManagement.Questionnaire';\nconst QUESTION_BANK_ITEM = 'AssessmentManagement.QuestionBankItem';\nconst WORKFLOW_DEFINITION = 'WorkflowManagement.WorkflowDefinition';\n\nconst MM_CATALOG_TARGETS = [QUESTIONNAIRE, QUESTION_BANK_ITEM, WORKFLOW_DEFINITION] as const;\n\n//#endregion\n\n//#region ---- Provider ----\n\n@Injectable()\nexport class AXMMaintenanceManagementCatalogScopeDefinitionProvider implements AXPCatalogScopeDefinitionProvider {\n async items(): Promise<AXPCatalogScopeDefinition[]> {\n return [\n {\n name: MM_CATALOG_SCOPE_MN,\n title: '@maintenance-management:catalog-scopes.mn.title',\n description: '@maintenance-management:catalog-scopes.mn.description',\n targets: [...MM_CATALOG_TARGETS],\n icon: 'fa-light fa-screwdriver-wrench',\n cssClass: 'warning-surface',\n order: 20,\n },\n ];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPEntityAction, AXPEntityCommandScope } from '@acorex-platform/framework-shared/entity';\nimport { AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { isString } from 'lodash';\n\nimport { AXMWorkOrderSourceType, RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport {\n type EntityStorageBackend,\n queryWorkflowTemplatesForAsset,\n resolveDisplayLabel,\n} from '../../middlewares/maintenance-generation.utils';\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveAssetId(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n}\n\n//#endregion\n\n/**\n * Expression-evaluator scope for work-order \"Create\" dropdown items (workflow-enabled maintenance templates).\n */\nexport class AXMMaintenanceManagementWorkOrderExpressionEvaluatorScopeProvider\n implements AXPExpressionEvaluatorScopeProvider\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- AXPExpressionEvaluatorScopeProvider ----\n\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope(RootConfig.module.name, {\n /**\n * Loads maintenance templates with workflows for the asset behind the current list context.\n * Resolves asset → assetType.maintenanceTypeIds → templates (assetType + maintenanceType + workflow).\n */\n WorkOrderCreateActions: async (assetIdRaw?: unknown): Promise<AXPEntityAction[]> => {\n const assetId = resolveAssetId(assetIdRaw);\n if (!assetId) {\n return [];\n }\n\n try {\n const locale = this.translation.getActiveLang() as 'en-US' | 'fa-IR';\n const backend = this.createStorageBackend();\n const assetContext = await this.loadAssetMaintenanceContext(backend, assetId);\n if (!assetContext) {\n return [];\n }\n\n const templateEntityName = `${RootConfig.module.name}.${RootConfig.entities.maintenanceTemplate.name}`;\n const templates = await queryWorkflowTemplatesForAsset(backend, templateEntityName, assetId);\n\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 { asset, assetTypeId, maintenanceTypeIds } = assetContext;\n\n return sorted.map((template) => ({\n name: `create-work-order-${template.id}`,\n title: resolveDisplayLabel(template.title, template.code ?? template.id, locale),\n icon: 'fa-light fa-clipboard-list',\n color: 'default',\n command: {\n name: 'Entity:Create',\n options: {\n process: {\n redirect: false,\n canCreateNewOne: true,\n data: {\n assetId: asset.id,\n asset: {\n id: asset.id,\n title: asset.title,\n assetTypeId,\n assetType: { maintenanceTypeIds },\n },\n maintenanceTypeId: template.maintenanceTypeId,\n maintenanceTemplateId: template.id,\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:\n typeof template.estimatedMinutes === 'number' && template.estimatedMinutes > 0\n ? Math.round((template.estimatedMinutes / 60) * 100) / 100\n : undefined,\n sourceType: AXMWorkOrderSourceType.Manual,\n autoGeneratedWorkOrder: false,\n },\n },\n },\n },\n priority: 'primary',\n type: 'info',\n scope: AXPEntityCommandScope.TypeLevel,\n })) satisfies AXPEntityAction[];\n } catch (error: unknown) {\n console.error(\n `${RootConfig.module.name}.WorkOrderCreateActions failed:`,\n error instanceof Error ? error.message : error,\n );\n return [];\n }\n },\n });\n }\n\n //#endregion\n\n //#region ---- Helpers ----\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 private async loadAssetMaintenanceContext(backend: EntityStorageBackend, assetId: string) {\n const asset = (await backend.getOne('AssetManagement.Asset', assetId)) as {\n id?: string;\n title?: unknown;\n assetTypeId?: string;\n } | null;\n\n const assetTypeId = asset?.assetTypeId?.trim();\n if (!asset?.id || !assetTypeId) {\n return null;\n }\n\n const assetType = (await backend.getOne('AssetManagement.AssetType', assetTypeId)) as {\n maintenanceTypeIds?: string[];\n } | null;\n const maintenanceTypeIds = (assetType?.maintenanceTypeIds ?? []).filter((id) => isString(id) && id.trim());\n if (maintenanceTypeIds.length === 0) {\n return null;\n }\n\n return {\n asset: { id: asset.id, title: asset.title, assetTypeId },\n assetTypeId,\n maintenanceTypeIds,\n };\n }\n\n //#endregion\n}\n","//#region ---- Imports ----\n\nimport { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';\n\n//#endregion\n\n//#region ---- Widget config ----\n\nexport const AXMWorkOrderWorkflowColumnWidget: AXPWidgetConfig = {\n name: 'work-order-workflow-column',\n title: 'Work Order Workflow Column',\n description: 'List column for selecting a maintenance template workflow and starting the flow per row.',\n type: 'view',\n categories: [],\n groups: [AXPWidgetGroupEnum.EntityWidget],\n icon: 'fa-light fa-diagram-project',\n properties: [],\n components: {\n column: {\n component: () =>\n import('./work-order-workflow-column.component').then((c) => c.AXMWorkOrderWorkflowColumnComponent),\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';\n\n//#endregion\n\n//#region ---- Widget config ----\n\nexport const AXMWorkOrderWorkReportColumnWidget: AXPWidgetConfig = {\n name: 'work-order-work-report-column',\n title: 'Work Order Work Report Column',\n description: 'List column for viewing the work report linked to a work order.',\n type: 'view',\n categories: [],\n groups: [AXPWidgetGroupEnum.EntityWidget],\n icon: 'fa-light fa-file-lines',\n properties: [],\n components: {\n column: {\n component: () =>\n import('./work-order-work-report-column.component').then((c) => c.AXMWorkOrderWorkReportColumnComponent),\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\n\nimport { AXMWorkOrderWorkflowColumnWidget } from './work-order-workflow-column.widget.config';\nimport { AXMWorkOrderWorkReportColumnWidget } from './work-order-work-report-column.widget.config';\n\n//#endregion\n\n//#region ---- Provider ----\n\n@Injectable()\nexport class AXMWorkOrderWorkflowColumnWidgetProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXMWorkOrderWorkflowColumnWidget, AXMWorkOrderWorkReportColumnWidget];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';\n\n//#endregion\n\n//#region ---- Widget config ----\n\nexport const AXMWorkReportChecklistResultsWidget: AXPWidgetConfig = {\n name: 'work-report-checklist-results',\n title: 'Work Report Checklist Results',\n description: 'Read-only checklist assessment references with view-response actions.',\n type: 'view',\n categories: [],\n groups: [AXPWidgetGroupEnum.EntityWidget],\n icon: 'fa-light fa-list-check',\n properties: [],\n components: {\n view: {\n component: () =>\n import('./work-report-checklist-results-view.component').then(\n (c) => c.AXMWorkReportChecklistResultsViewComponent,\n ),\n },\n edit: {\n component: () =>\n import('./work-report-checklist-results-view.component').then(\n (c) => c.AXMWorkReportChecklistResultsViewComponent,\n ),\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\n\nimport { AXMWorkReportChecklistResultsWidget } from './work-report-checklist-results.widget.config';\n\n//#endregion\n\n//#region ---- Provider ----\n\n@Injectable()\nexport class AXMWorkReportWidgetProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXMWorkReportChecklistResultsWidget];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex-platform/framework-client/common';\nimport {\n AXP_CATALOG_SCOPE_DEFINITION_PROVIDER,\n AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n AXP_MODULE_MANIFEST_PROVIDER,\n provideLazyProvider,\n} from '@acorex-platform/framework-client/core';\nimport { AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex-platform/framework-client/layout/entity';\nimport { AXP_WIDGET_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/layout/widget-core';\nimport { provideCommandSetups, provideCommandMiddleware } from '@acorex-platform/framework-client/runtime';\nimport { NgModule } from '@angular/core';\n\nimport { AXMMaintenanceManagementCommandKeys } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { MaintenanceManagementManifest } from './manifest';\nimport {\n assetCreateMaintenanceOfferMiddleware,\n failureRegisterCreateWorkOrderMiddleware,\n maintenancePlanCreateWorkOrderMiddleware,\n workOrderChecklistFillMiddleware,\n workOrderChecklistPostSubmitMiddleware,\n workOrderSourceTypeMiddleware,\n} from './middlewares';\nimport { AXMMaintenanceManagementCatalogScopeDefinitionProvider } from './catalog-scope-definition.provider';\nimport { AXMMaintenanceManagementWorkOrderExpressionEvaluatorScopeProvider } from './features/shared/work-order-expression-evaluator-scope.provider';\nimport { AXMWorkOrderWorkflowColumnWidgetProvider } from './features/work-order/widgets/work-order-workflow-column-widget.provider';\nimport { AXMWorkReportWidgetProvider } from './features/work-report/widgets/work-report-widget.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [\n ],\n providers: [\n\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: MaintenanceManagementManifest,\n multi: true,\n },\n {\n provide: AXP_CATALOG_SCOPE_DEFINITION_PROVIDER,\n useClass: AXMMaintenanceManagementCatalogScopeDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMMaintenanceManagementWorkOrderExpressionEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMWorkReportWidgetProvider,\n multi: true,\n },\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMWorkOrderWorkflowColumnWidgetProvider,\n multi: true,\n },\n // Provider references (now using tokens)\n provideLazyProvider(AXP_PERMISSION_DEFINITION_PROVIDER, () =>\n import('./permission-definition.provider').then((m) => m.AXMMaintenanceManagementPermissionDefinitionProvider),\n ),\n provideLazyProvider(AXP_MENU_PROVIDER, () =>\n import('./menu.provider').then((m) => m.AXMMaintenanceManagementMenuProvider),\n ),\n provideLazyProvider(AXP_SEARCH_PROVIDER, () =>\n import('./search-command.provider').then((m) => m.AXMMaintenanceManagementSearchCommandProvider),\n ),\n provideLazyProvider(AXP_STATUS_PROVIDERS, () =>\n import('./features/failure-register-status.provider').then(\n (m) => m.AXMMaintenanceManagementFailureRegisterStatusProvider,\n ),\n ),\n provideLazyProvider(AXP_STATUS_PROVIDERS, () =>\n import('./features/work-order-status.provider').then(\n (m) => m.AXMMaintenanceManagementWorkOrderStatusProvider,\n ),\n ),\n provideCommandMiddleware([\n {\n target: 'AssessmentManagement.AssessmentCase:Fill',\n middleware: workOrderChecklistPostSubmitMiddleware,\n },\n {\n target: 'AssessmentManagement.AssessmentCase:Fill',\n middleware: workOrderChecklistFillMiddleware,\n },\n ]),\n provideCommandSetups([\n {\n key: 'Entity:List',\n command: () => import('./features/commands/work-order-list-command').then((c) => c.WorkOrderListCommand),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkOrder.StartFlow,\n command: () =>\n import('./features/work-order/commands/start-work-order-flow.command').then(\n (c) => c.StartWorkOrderFlowCommand,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ResolveWorkOrder,\n command: () =>\n import('./features/work-order/workflows/activities/resolve-work-order.activity').then(\n (c) => c.ResolveWorkOrderActivity,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ResolvePersonUserId,\n command: () =>\n import('./features/work-order/workflows/activities/resolve-person-user-id.activity').then(\n (c) => c.ResolvePersonUserIdActivity,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.CreateOrGetWorkReportDraft,\n command: () =>\n import('./features/work-order/workflows/activities/create-or-get-work-report-draft.activity').then(\n (c) => c.CreateOrGetWorkReportDraftActivity,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderInProgress,\n command: () =>\n import('./features/work-order/workflows/activities/update-work-order-in-progress.activity').then(\n (c) => c.UpdateWorkOrderInProgressActivity,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ValidateWorkOrderCompletion,\n command: () =>\n import('./features/work-order/workflows/activities/validate-work-order-completion.activity').then(\n (c) => c.ValidateWorkOrderCompletionActivity,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkReportOnCompletion,\n command: () =>\n import('./features/work-order/workflows/activities/update-work-report-on-completion.activity').then(\n (c) => c.UpdateWorkReportOnCompletionActivity,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.RecordWorkReportAssessment,\n command: () =>\n import('./features/work-order/workflows/activities/record-work-report-assessment.activity').then(\n (c) => c.RecordWorkReportAssessmentActivity,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderCompleted,\n command: () =>\n import('./features/work-order/workflows/activities/update-work-order-completed.activity').then(\n (c) => c.UpdateWorkOrderCompletedActivity,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkReport.FillCompletion,\n command: () =>\n import('./features/work-report/commands/fill-work-report-completion.command').then(\n (c) => c.FillWorkReportCompletionCommand,\n ),\n },\n {\n key: AXMMaintenanceManagementCommandKeys.WorkReport.OpenFromWorkOrder,\n command: () =>\n import('./features/work-report/commands/open-work-report-from-work-order.command').then(\n (c) => c.OpenWorkReportFromWorkOrderCommand,\n ),\n },\n ]),\n {\n provide: AXP_ENTITY_STORAGE_MIDDLEWARE,\n useValue: assetCreateMaintenanceOfferMiddleware,\n multi: true,\n },\n {\n provide: AXP_ENTITY_STORAGE_MIDDLEWARE,\n useValue: failureRegisterCreateWorkOrderMiddleware,\n multi: true,\n },\n {\n provide: AXP_ENTITY_STORAGE_MIDDLEWARE,\n useValue: maintenancePlanCreateWorkOrderMiddleware,\n multi: true,\n },\n {\n provide: AXP_ENTITY_STORAGE_MIDDLEWARE,\n useValue: workOrderSourceTypeMiddleware,\n multi: true,\n },\n ],\n})\nexport class AXMMaintenanceManagementModule {}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport {\n AXPCommonMenuKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport {\n RootConfig,\n AXPAssetsMaintenancePermissionKeys\n} from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { AXMMaintenanceManagementMenuKeys } from '@acorex-platform/module-maintenance-management-client/contracts';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\nconst PLAN_EQUIPMENT_MENU_KEY = 'Configuration:Menu:PlantEquipment';\n// const PLAN_EQUIPMENT_ASSET_MAINTENANCE_DIVIDER_KEY = `${PLAN_EQUIPMENT_MENU_KEY}:divider-assets-maintenance`;\n\n/**\n * Maintenance Management Menu Provider.\n * Provides menu items for the Maintenance Management module with permission and feature checks.\n */\nexport class AXMMaintenanceManagementMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n const keys = AXPAssetsMaintenancePermissionKeys;\n\n // const mainMaintenanceSectionGroup = context.find(\n // AXMMaintenanceManagementMenuKeys.MainPlanEquipmentMaintenanceSectionGroup,\n // );\n\n // if (!mainMaintenanceSectionGroup.exists) {\n // context.find(AXPCommonMenuKeys.PlantEquipment).addItems([\n // {\n // name: AXMMaintenanceManagementMenuKeys.MainPlanEquipmentMaintenanceSectionGroup,\n // priority: 11,\n // text: '@general:menus.maintenance.title',\n // type: 'group',\n // },\n // ]);\n // }\n\n context.find(AXPCommonMenuKeys.PlantEquipment).addItems([\n {\n name: AXMMaintenanceManagementMenuKeys.FailureRegisters,\n text: RootConfig.entities.failureRegister.titlePlural,\n icon: RootConfig.entities.failureRegister.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.failureRegister.name),\n priority: 12,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n ]);\n\n const planEquipmentMenu = context.find(PLAN_EQUIPMENT_MENU_KEY);\n if (!planEquipmentMenu.exists) {\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: PLAN_EQUIPMENT_MENU_KEY,\n priority: 9000,\n text: '@general:menus.plan-equipment.title',\n icon: module.icon,\n },\n ]);\n }\n\n // const maintenanceSectionGroup = context.find(AXMMaintenanceManagementMenuKeys.PlanEquipmentMaintenanceSectionGroup);\n // if (!maintenanceSectionGroup.exists) {\n // context.find(PLAN_EQUIPMENT_MENU_KEY).addItems([\n // {\n // name: AXMMaintenanceManagementMenuKeys.PlanEquipmentMaintenanceSectionGroup,\n // priority: 11,\n // text: '@general:menus.maintenance.title',\n // type: 'group',\n // },\n // ]);\n // }\n\n context.find(PLAN_EQUIPMENT_MENU_KEY).addItems([\n {\n name: AXMMaintenanceManagementMenuKeys.MaintenanceTypes,\n text: RootConfig.entities.maintenanceType.titlePlural,\n icon: RootConfig.entities.maintenanceType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.maintenanceType.name),\n priority: 12,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.ActivityTypes,\n text: RootConfig.entities.activityType.titlePlural,\n icon: RootConfig.entities.activityType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.activityType.name),\n priority: 13,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.Failures,\n text: '@maintenance-management:module.menus.failures.title',\n type: 'group',\n priority: 14,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.FailureCauses,\n text: RootConfig.entities.failureCause.titlePlural,\n icon: RootConfig.entities.failureCause.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.failureCause.name),\n priority: 15,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.FailureMechanisms,\n text: RootConfig.entities.failureMechanism.titlePlural,\n icon: RootConfig.entities.failureMechanism.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.failureMechanism.name),\n priority: 16,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.FailureDetections,\n text: RootConfig.entities.failureDetection.titlePlural,\n icon: RootConfig.entities.failureDetection.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.failureDetection.name),\n priority: 17,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.FailureEffects,\n text: RootConfig.entities.failureEffect.titlePlural,\n icon: RootConfig.entities.failureEffect.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.failureEffect.name),\n priority: 18,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.FailureSeverities,\n text: RootConfig.entities.failureSeverity.titlePlural,\n icon: RootConfig.entities.failureSeverity.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.failureSeverity.name),\n priority: 19,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.FailureTypes,\n text: RootConfig.entities.failureType.titlePlural,\n icon: RootConfig.entities.failureType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.failureType.name),\n priority: 20,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n {\n name: AXMMaintenanceManagementMenuKeys.FailureModes,\n text: RootConfig.entities.failureMode.titlePlural,\n icon: RootConfig.entities.failureMode.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.failureMode.name),\n priority: 21,\n policy: {\n features: [module.name],\n permissions: [keys.MaintainMaintenance],\n },\n },\n // {\n // name: AXMMaintenanceManagementMenuKeys.MaintenanceTemplateActivityTypes,\n // text: RootConfig.entities.maintenanceTemplateActivityType.titlePlural,\n // icon: RootConfig.entities.maintenanceTemplateActivityType.icon,\n // path: this.entityService.createPath(module.name, RootConfig.entities.maintenanceTemplateActivityType.name),\n // priority: 4,\n // policy: {\n // features: [module.name],\n // permissions: [keys.MaintenanceTemplateActivityType.View],\n // },\n // },\n // {\n // name: AXMMaintenanceManagementMenuKeys.MaintenanceTemplateResources,\n // text: RootConfig.entities.maintenanceTemplateResource.titlePlural,\n // icon: RootConfig.entities.maintenanceTemplateResource.icon,\n // path: this.entityService.createPath(module.name, RootConfig.entities.maintenanceTemplateResource.name),\n // priority: 5,\n // policy: {\n // features: [module.name],\n // permissions: [keys.MaintenanceTemplateResource.View],\n // },\n // },\n // {\n // name: AXMMaintenanceManagementMenuKeys.MaintenanceTemplateFailureModes,\n // text: RootConfig.entities.maintenanceTemplateFailureMode.titlePlural,\n // icon: RootConfig.entities.maintenanceTemplateFailureMode.icon,\n // path: this.entityService.createPath(module.name, RootConfig.entities.maintenanceTemplateFailureMode.name),\n // priority: 6,\n // policy: {\n // features: [module.name],\n // permissions: [keys.MaintenanceTemplateFailureMode.View],\n // },\n // },\n ]);\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXPPermissionDefinitionProvider,\n AXPPermissionDefinitionProviderContext,\n} from '@acorex-platform/framework-client/auth';\nimport {\n AXPCommonPermissionGroupKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport {\n AXPAssetsMaintenancePermissionKeys\n} from '@acorex-platform/module-maintenance-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ----- Permission Definition Provider -----\n\n/**\n * Registers maintenance capabilities into the shared Assets & Maintenance group.\n */\n@Injectable()\nexport class AXMMaintenanceManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPAssetsMaintenancePermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:assets-maintenance.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.AssetsMaintenance.Root, `${G}.assets-maintenance.title`, `${G}.assets-maintenance.description`, { order: 70 });\n\n context\n .addGroup(\n groups.AssetsMaintenance.Maintenance,\n `${G}.assets-maintenance-maintenance.title`,\n `${G}.assets-maintenance-maintenance.description`,\n { parent: groups.AssetsMaintenance.Root, order: 20 },\n )\n .addPermission(\n keys.MaintainMaintenance,\n `${P}.maintain-maintenance.title`,\n `${P}.maintain-maintenance.description`,\n )\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex-platform/framework-client/common';\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\n\n//#endregion\n\n//#region ---- Search Command Provider ----\n\nexport class AXMMaintenanceManagementSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n {\n id: 'create-maintenance-type',\n group: 'command',\n title: RootConfig.entities.maintenanceType.title,\n icon: RootConfig.entities.maintenanceType.icon,\n description: RootConfig.entities.maintenanceType.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.maintenanceType.name}`,\n {\n name: RootConfig.entities.maintenanceType.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.maintenanceType.title,\n },\n ),\n },\n },\n {\n id: 'create-maintenance-template',\n group: 'command',\n title: RootConfig.entities.maintenanceTemplate.title,\n icon: RootConfig.entities.maintenanceTemplate.icon,\n description: RootConfig.entities.maintenanceTemplate.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.maintenanceTemplate.name}`,\n {\n name: RootConfig.entities.maintenanceTemplate.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.maintenanceTemplate.title,\n },\n ),\n },\n },\n {\n id: 'create-maintenance-plan',\n group: 'command',\n title: RootConfig.entities.maintenancePlan.title,\n icon: RootConfig.entities.maintenancePlan.icon,\n description: RootConfig.entities.maintenancePlan.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.maintenancePlan.name}`,\n {\n name: RootConfig.entities.maintenancePlan.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.maintenancePlan.title,\n },\n ),\n },\n },\n {\n id: 'create-work-report',\n group: 'command',\n title: RootConfig.entities.workReport.title,\n icon: RootConfig.entities.workReport.icon,\n description: RootConfig.entities.workReport.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.workReport.name}`,\n {\n name: RootConfig.entities.workReport.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.workReport.title,\n },\n ),\n },\n },\n {\n id: 'create-activity-type-resource',\n group: 'command',\n title: RootConfig.entities.activityTypeResource.title,\n icon: RootConfig.entities.activityTypeResource.icon,\n description: RootConfig.entities.activityTypeResource.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.activityTypeResource.name}`,\n {\n name: RootConfig.entities.activityTypeResource.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.activityTypeResource.title,\n }\n ),\n },\n },\n {\n id: 'create-failure-mode',\n group: 'command',\n title: RootConfig.entities.failureMode.title,\n icon: RootConfig.entities.failureMode.icon,\n description: RootConfig.entities.failureMode.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.failureMode.name}`,\n {\n name: RootConfig.entities.failureMode.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.failureMode.title,\n }\n ),\n },\n },\n {\n id: 'create-failure-cause',\n group: 'command',\n title: RootConfig.entities.failureCause.title,\n icon: RootConfig.entities.failureCause.icon,\n description: RootConfig.entities.failureCause.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.failureCause.name}`,\n { name: RootConfig.entities.failureCause.name, module: RootConfig.module.name, title: RootConfig.entities.failureCause.title }\n ),\n },\n },\n {\n id: 'create-failure-mechanism',\n group: 'command',\n title: RootConfig.entities.failureMechanism.title,\n icon: RootConfig.entities.failureMechanism.icon,\n description: RootConfig.entities.failureMechanism.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.failureMechanism.name}`,\n {\n name: RootConfig.entities.failureMechanism.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.failureMechanism.title,\n }\n ),\n },\n },\n {\n id: 'create-failure-detection',\n group: 'command',\n title: RootConfig.entities.failureDetection.title,\n icon: RootConfig.entities.failureDetection.icon,\n description: RootConfig.entities.failureDetection.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.failureDetection.name}`,\n {\n name: RootConfig.entities.failureDetection.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.failureDetection.title,\n }\n ),\n },\n },\n {\n id: 'create-failure-type',\n group: 'command',\n title: RootConfig.entities.failureType.title,\n icon: RootConfig.entities.failureType.icon,\n description: RootConfig.entities.failureType.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.failureType.name}`,\n {\n name: RootConfig.entities.failureType.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.failureType.title,\n }\n ),\n },\n },\n ];\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXMAssetManagementCommandKeys } from '@acorex-platform/module-asset-management-client/contracts';\nimport type { AXPMultiLanguageString, AXPWorkflowDefinition } from '@acorex-platform/framework-shared/core';\n\nimport { AXMMaintenanceManagementCommandKeys } from '@acorex-platform/module-maintenance-management-client/contracts';\n\n//#endregion\n\n//#region ---- Factory config ----\n\nexport interface WorkOrderExecutionWorkflowConfig {\n name: string;\n title: AXPMultiLanguageString;\n description: AXPMultiLanguageString;\n startTaskTitle: string;\n inProgressTaskTitle: string;\n}\n\n//#endregion\n\n//#region ---- Expression helpers ----\n\nconst WFM_EXPR_ASSIGNED_USER = 'context.eval(\"variables.assignedUserId\")';\nconst WFM_EXPR_WORK_ORDER_ID = 'context.eval(\"inputs.workOrderId\")';\nconst WFM_EXPR_ASSET_ID = 'context.eval(\"inputs.assetId\")';\nconst WFM_EXPR_MAINTENANCE_TYPE_ID = 'context.eval(\"inputs.maintenanceTypeId\")';\n\nconst wfmExpr = (expression: string): string => `{{ ${expression} }}`;\n\nconst workOrderTaskContext = {\n workOrderId: wfmExpr(WFM_EXPR_WORK_ORDER_ID),\n workOrderNo: '{{ inputs.workOrderNo }}',\n assetId: wfmExpr(WFM_EXPR_ASSET_ID),\n assetDisplayName: '{{ inputs.assetDisplayName }}',\n maintenanceTypeId: '{{ inputs.maintenanceTypeId }}',\n maintenanceTypeName: '{{ inputs.maintenanceTypeName }}',\n maintenancePlanId: '{{ inputs.maintenancePlanId }}',\n failureRegisterId: '{{ inputs.failureRegisterId }}',\n sourceType: '{{ inputs.sourceType }}',\n dueDate: '{{ inputs.dueDate }}',\n entityType: 'MaintenanceManagement.WorkOrder',\n};\n\nconst startWorkAction = {\n name: 'start-work',\n title: 'Start work',\n icon: 'fa-light fa-play',\n color: 'primary',\n command: { name: 'start-work' },\n};\n\nconst completeWorkAction = {\n name: 'complete-work',\n title: 'Complete work',\n icon: 'fa-light fa-check',\n color: 'success',\n command: { name: 'complete-work' },\n};\n\n//#endregion\n\n/**\n * Executes an existing work order: assignee task board → start work → in progress → complete work → completed.\n * Approval/sign-off is intentionally excluded (separate workflow).\n */\nexport function createWorkOrderExecutionWorkflowDefinition(\n config: WorkOrderExecutionWorkflowConfig,\n): AXPWorkflowDefinition {\n const { name, title, description, startTaskTitle, inProgressTaskTitle } = config;\n const activityKeys = AXMMaintenanceManagementCommandKeys.WorkflowActivity;\n const assetActivityKey = AXMAssetManagementCommandKeys.WorkflowActivity.RecalculateOperationalStatus;\n\n return {\n schemaVersion: 'acorex-platform-workflow/v1',\n name,\n title,\n description,\n variables: [\n {\n name: 'assignedUserId',\n title: 'Assigned user',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'assignedPersonId',\n title: 'Assigned person',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'assetStatusTarget',\n title: 'Asset status target',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'workStartedAt',\n title: 'Work started at',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'workCompletedAt',\n title: 'Work completed at',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n ],\n inputs: [\n {\n name: 'workOrderId',\n title: 'Work order ID',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'workOrderNo',\n title: 'Work order number',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'assetId',\n title: 'Asset ID',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'assetDisplayName',\n title: 'Asset display name',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'assignedToId',\n title: 'Assigned person ID',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'assignedToDisplayName',\n title: 'Assigned person display name',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'maintenanceTypeId',\n title: 'Maintenance type ID',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'maintenanceTypeName',\n title: 'Maintenance type name',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'maintenancePlanId',\n title: 'Maintenance plan ID',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'failureRegisterId',\n title: 'Failure register ID',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'sourceType',\n title: 'Source type',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n {\n name: 'dueDate',\n title: 'Due date',\n dataType: 'string',\n interface: { type: 'text-editor', options: {} },\n },\n ],\n outputs: [],\n extensions: {},\n graph: {\n startActivityId: 'resolveWorkOrder',\n activities: [\n {\n id: 'resolveWorkOrder',\n name: activityKeys.ResolveWorkOrder,\n title: 'Resolve work order',\n inputs: {\n workOrderId: '{{ inputs.workOrderId }}',\n assignedToId: '{{ inputs.assignedToId }}',\n },\n outputToVariables: {\n assignedPersonId: 'assignedToId',\n },\n },\n {\n id: 'resolveAssignedUser',\n name: activityKeys.ResolvePersonUserId,\n title: 'Resolve assigned user',\n inputs: {\n personId: '{{ variables.assignedPersonId || inputs.assignedToId }}',\n },\n outputToVariables: { assignedUserId: 'userId' },\n },\n {\n id: 'showAssignedUserRequiredToast',\n name: 'workflow-activity:show-toast',\n title: 'Assigned user required',\n inputs: {\n message: 'Assigned user is required before starting work order execution.',\n type: 'warning',\n },\n },\n {\n id: 'createWorkOrderTask',\n name: 'workflow-activity:human-task',\n title: startTaskTitle,\n inputs: {\n title: 'Work order: {{ inputs.workOrderNo }}',\n description: 'Start the assigned maintenance work when you are ready.',\n assignedUserIds: wfmExpr(WFM_EXPR_ASSIGNED_USER),\n dueDate: '{{ inputs.dueDate }}',\n context: workOrderTaskContext,\n actions: { suffix: [startWorkAction] },\n },\n },\n {\n id: 'updateWorkOrderInProgress',\n name: activityKeys.UpdateWorkOrderInProgress,\n title: 'Work order — in progress',\n inputs: {\n workOrderId: wfmExpr(WFM_EXPR_WORK_ORDER_ID),\n },\n outputToVariables: { workStartedAt: 'startedAt' },\n },\n {\n id: 'recalculateAssetStatusOnStart',\n name: assetActivityKey,\n title: 'Recalculate asset status (work started)',\n inputs: {\n assetId: wfmExpr(WFM_EXPR_ASSET_ID),\n trigger: 'work-started',\n workOrderId: wfmExpr(WFM_EXPR_WORK_ORDER_ID),\n maintenanceTypeId: wfmExpr(WFM_EXPR_MAINTENANCE_TYPE_ID),\n },\n outputToVariables: { assetStatusTarget: 'statusId' },\n },\n {\n id: 'workInProgressTask',\n name: 'workflow-activity:human-task',\n title: inProgressTaskTitle,\n inputs: {\n title: 'Work order: {{ inputs.workOrderNo }}',\n description: 'Perform the maintenance work, then mark it complete.',\n assignedUserIds: wfmExpr(WFM_EXPR_ASSIGNED_USER),\n dueDate: '{{ inputs.dueDate }}',\n context: workOrderTaskContext,\n actions: { suffix: [completeWorkAction] },\n },\n },\n {\n id: 'showWorkCompletionValidationFailedToast',\n name: 'workflow-activity:show-toast',\n title: 'Work completion validation failed',\n inputs: {\n message: 'Work order cannot be completed yet. Ensure work is in progress and requirements are met.',\n type: 'warning',\n },\n },\n {\n id: 'validateWorkCompletion',\n name: activityKeys.ValidateWorkOrderCompletion,\n title: 'Validate work completion',\n inputs: {\n workOrderId: wfmExpr(WFM_EXPR_WORK_ORDER_ID),\n },\n },\n {\n id: 'updateWorkOrderCompleted',\n name: activityKeys.UpdateWorkOrderCompleted,\n title: 'Work order — completed',\n inputs: {\n workOrderId: wfmExpr(WFM_EXPR_WORK_ORDER_ID),\n },\n outputToVariables: { workCompletedAt: 'completedAt' },\n },\n {\n id: 'recalculateAssetStatusOnComplete',\n name: assetActivityKey,\n title: 'Recalculate asset status (work completed)',\n inputs: {\n assetId: wfmExpr(WFM_EXPR_ASSET_ID),\n trigger: 'work-completed',\n workOrderId: wfmExpr(WFM_EXPR_WORK_ORDER_ID),\n maintenanceTypeId: wfmExpr(WFM_EXPR_MAINTENANCE_TYPE_ID),\n },\n },\n ],\n connections: [\n { source: { activtyName: 'resolveWorkOrder', port: 'Done' }, target: { activtyName: 'resolveAssignedUser' } },\n {\n source: { activtyName: 'resolveWorkOrder', port: 'Blocked' },\n target: { activtyName: 'showAssignedUserRequiredToast' },\n },\n {\n source: { activtyName: 'resolveWorkOrder', port: 'NotFound' },\n target: { activtyName: 'showAssignedUserRequiredToast' },\n },\n {\n source: { activtyName: 'resolveAssignedUser', port: 'Done' },\n target: { activtyName: 'createWorkOrderTask' },\n },\n {\n source: { activtyName: 'createWorkOrderTask', port: 'start-work' },\n target: { activtyName: 'updateWorkOrderInProgress' },\n },\n {\n source: { activtyName: 'updateWorkOrderInProgress', port: 'Done' },\n target: { activtyName: 'recalculateAssetStatusOnStart' },\n },\n {\n source: { activtyName: 'recalculateAssetStatusOnStart', port: 'Done' },\n target: { activtyName: 'workInProgressTask' },\n },\n {\n source: { activtyName: 'workInProgressTask', port: 'complete-work' },\n target: { activtyName: 'validateWorkCompletion' },\n },\n {\n source: { activtyName: 'validateWorkCompletion', port: 'Done' },\n target: { activtyName: 'updateWorkOrderCompleted' },\n },\n {\n source: { activtyName: 'validateWorkCompletion', port: 'Failed' },\n target: { activtyName: 'showWorkCompletionValidationFailedToast' },\n },\n {\n source: { activtyName: 'showWorkCompletionValidationFailedToast', port: 'Done' },\n target: { activtyName: 'workInProgressTask' },\n },\n {\n source: { activtyName: 'updateWorkOrderCompleted', port: 'Done' },\n target: { activtyName: 'recalculateAssetStatusOnComplete' },\n },\n ],\n },\n };\n}\n\nexport const workOrderExecutionWorkflowName = 'work-order-execution';\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { createMultiLanguageString } from '@acorex/core/translation';\nimport type { AXPWorkflowDefinition } from '@acorex-platform/framework-shared/core';\n\nimport {\n createWorkOrderExecutionWorkflowDefinition,\n workOrderExecutionWorkflowName,\n} from './work-order-execution-workflow.shared';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst M = createMultiLanguageString;\n\n//#endregion\n\n//#region ---- Definition export ----\n\n/** Published workflow graph for seeding `WorkflowManagement.WorkflowDefinition`. */\nexport const workOrderExecutionWorkflowDefinition: AXPWorkflowDefinition = createWorkOrderExecutionWorkflowDefinition({\n name: workOrderExecutionWorkflowName,\n title: M('Work order execution', 'اجرای دستور کار'),\n description: M(\n 'Assignee task board, start work, asset status recalculation, complete work. Approval is a separate workflow.',\n 'کارتابل مسئول، شروع کار، محاسبه وضعیت دارایی، تکمیل کار. تأیید در گردش کار جداگانه انجام می‌شود.',\n ),\n startTaskTitle: 'Start work — work order',\n inProgressTaskTitle: 'Complete work — work order',\n});\n\nexport { workOrderExecutionWorkflowName };\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ASSET_ENTITY","ASSET_TYPE_ENTITY","WORK_ORDER_SUBJECT_TYPE","resolveText"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity--Kz4Kqqe.mjs","sources":["../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-asset-type/activity-type-asset-type.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function factoryActivityTypeAssetType(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.activityTypeAssetType.name,\n title: RootConfig.entities.activityTypeAssetType.title,\n icon: RootConfig.entities.activityTypeAssetType.icon,\n formats: {\n individual: RootConfig.entities.activityTypeAssetType.title,\n plural: RootConfig.entities.activityTypeAssetType.titlePlural,\n searchResult: {\n title: '{{ activityType.title }}',\n description: '{{ activityType.title }}',\n },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'activityTypeId',\n title:\n '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.fields.activity-type-id.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: `${RootConfig.module.name}.${RootConfig.entities.activityType.name}`,\n textField: 'title',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'activityType.id' },\n { source: 'title', target: 'activityType.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'assetTypeId',\n title:\n '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.fields.asset-type-id.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: 'AssetManagement.AssetType',\n textField: 'title',\n valueField: 'id',\n disabled: true,\n expose: [\n { source: 'id', target: 'assetType.id' },\n { source: 'title', target: 'assetType.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'workTeamId',\n title:\n '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.fields.work-team-id.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: 'OrganizationManagement.Team',\n textField: 'title',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'workTeam.id' },\n { source: 'title', target: 'workTeam.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [\n { name: 'activityTypeId', options: { dataPath: 'activityType.title' } },\n { name: 'workTeamId', options: { dataPath: 'workTeam.title' } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'activityTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'assetTypeId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'workTeamId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'activityTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'assetTypeId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'workTeamId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n ],\n },\n single: {\n title: '{{ assetType.title }}',\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'activityTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'assetTypeId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'workTeamId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'assetTypeId', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-C2OP2EN0.mjs","sources":["../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-resource/activity-type-resource.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nconst RESOURCE_TYPE_OPTIONS = [\n {\n id: 'assettype',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.resource-type.options.assettype',\n },\n {\n id: 'jobdefinition',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.resource-type.options.jobdefinition',\n },\n {\n id: 'inventoryitem',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.resource-type.options.inventoryitem',\n },\n];\n\nexport async function factoryActivityTypeResource(): Promise<AXPEntity | null> {\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.activityTypeResource.name,\n title: RootConfig.entities.activityTypeResource.title,\n icon: RootConfig.entities.activityTypeResource.icon,\n formats: {\n individual: RootConfig.entities.activityTypeResource.title,\n plural: RootConfig.entities.activityTypeResource.titlePlural,\n searchResult: {\n title: '{{ resourceId }}',\n description: '{{ activityType.title }}',\n },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'activityTypeId',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.activity-type-id.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: `${RootConfig.module.name}.${RootConfig.entities.activityType.name}`,\n textField: 'title',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'activityType.id' },\n { source: 'title', target: 'activityType.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'resourceType',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.resource-type.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n allowSearch: true,\n dataSource: RESOURCE_TYPE_OPTIONS,\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'count',\n title: '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.count.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsCatalog.number,\n options: {\n min: 0,\n placeholder:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.count.placeholder',\n },\n },\n },\n },\n {\n name: 'resourceId',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.resource-id.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n visible:\n '{{ ((context.eval(\"resourceType\") && context.eval(\"resourceType\").id) || context.eval(\"resourceType\")) === \"inventoryitem\" }}',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.resource-id.placeholder',\n },\n },\n },\n },\n {\n name: 'resourceSelectionIds',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.resource-id.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'array',\n visible:\n '{{ [\"assettype\",\"jobdefinition\"].includes((context.eval(\"resourceType\") && context.eval(\"resourceType\").id) || context.eval(\"resourceType\")) }}',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'drop-down',\n multiple: true,\n entity:\n '{{ (((context.eval(\"resourceType\") && context.eval(\"resourceType\").id) || context.eval(\"resourceType\")) === \"assettype\") ? \"AssetManagement.AssetType\" : \"OrganizationManagement.JobDefinition\" }}',\n textField: 'title',\n valueField: 'id',\n },\n },\n },\n },\n {\n name: 'initialEstimatedTime',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.initial-estimated-time.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsCatalog.number,\n options: {\n min: 0,\n placeholder:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.initial-estimated-time.placeholder',\n },\n },\n },\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n options: {\n placeholder:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.description.placeholder',\n },\n },\n },\n },\n {\n name: 'resourceSummary',\n title:\n '@maintenance-management:activity-type-resources.entities.activity-type-resource.fields.resource-summary.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n readonly: true,\n },\n },\n },\n },\n ],\n columns: [\n { name: 'activityTypeId', options: { dataPath: 'activityType.title' } },\n { name: 'resourceType' },\n { name: 'resourceSummary' },\n { name: 'count' },\n { name: 'initialEstimatedTime' },\n { name: 'description' },\n ],\n\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'resourceType', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'count', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'resourceSelectionIds', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'resourceId', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'initialEstimatedTime', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'resourceType', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'count', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'resourceSelectionIds', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'resourceId', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'initialEstimatedTime', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n },\n single: {\n title: '{{ resourceId }}',\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'resourceType', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'count', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'resourceSelectionIds', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'resourceId', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'initialEstimatedTime', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'resourceType', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}