@acorex-platform/module-maintenance-management-client 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BiQlJxPX.mjs +2698 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BiQlJxPX.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts.mjs +405 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-xxvOfIxf.mjs +141 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-xxvOfIxf.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-failure-register-status.provider-CLBaQy_e.mjs +181 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-failure-register-status.provider-CLBaQy_e.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-fill-work-report-completion.command-Capowl1e.mjs +174 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-fill-work-report-completion.command-Capowl1e.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-open-work-report-from-work-order.command-B0O4fWPt.mjs +105 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-open-work-report-from-work-order.command-B0O4fWPt.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-CxRfaf0G.mjs +152 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-CxRfaf0G.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-resolve-person-user-id.activity-nwXAJHkd.mjs +57 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-resolve-person-user-id.activity-nwXAJHkd.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-resolve-work-order.activity-q5WM7Sv5.mjs +92 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-resolve-work-order.activity-q5WM7Sv5.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-start-work-order-flow.command-B06a962Y.mjs +402 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-start-work-order-flow.command-B06a962Y.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-update-work-order-completed.activity-Di4R6LQl.mjs +89 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-update-work-order-completed.activity-Di4R6LQl.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-CzkCCl1L.mjs +96 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-CzkCCl1L.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-update-work-report-on-completion.activity-_B0SUFtQ.mjs +142 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-update-work-report-on-completion.activity-_B0SUFtQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-validate-work-order-completion.activity-RA2zaQHH.mjs +83 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-validate-work-order-completion.activity-RA2zaQHH.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-order-list-command-Bh_6PS5w.mjs +153 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-order-list-command-Bh_6PS5w.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-order-status.provider-DvBk5kAW.mjs +186 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-order-status.provider-DvBk5kAW.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-order-work-report-column.component-Bf1WZWIS.mjs +163 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-order-work-report-column.component-Bf1WZWIS.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-Dth3Z9fW.mjs +320 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-Dth3Z9fW.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-report-assessment.util-Da1HVAit.mjs +74 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-report-assessment.util-Da1HVAit.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-report-checklist-results-view.component-BSFW0Yt-.mjs +149 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-work-report-checklist-results-view.component-BSFW0Yt-.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client.mjs +2 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client.mjs.map +1 -0
- package/package.json +28 -0
- package/types/acorex-platform-module-maintenance-management-client-contracts.d.ts +1081 -0
- package/types/acorex-platform-module-maintenance-management-client.d.ts +54 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { AXPDebugService } from '@acorex-platform/framework-client/core';
|
|
2
|
+
import { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { inject, Injectable } from '@angular/core';
|
|
5
|
+
import { defaultTo, get, isString } from 'lodash';
|
|
6
|
+
import { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';
|
|
7
|
+
import { A as AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-BiQlJxPX.mjs';
|
|
8
|
+
|
|
9
|
+
//#region ---- Imports ----
|
|
10
|
+
//#endregion
|
|
11
|
+
/**
|
|
12
|
+
* Creates a draft work report for a work order or reuses an existing one to prevent duplicates.
|
|
13
|
+
*/
|
|
14
|
+
class CreateOrGetWorkReportDraftActivity {
|
|
15
|
+
constructor() {
|
|
16
|
+
//#region ---- Services & Dependencies ----
|
|
17
|
+
this.entityService = inject(AXPEntityService);
|
|
18
|
+
this.debug = inject(AXPDebugService);
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region ---- Command Implementation ----
|
|
22
|
+
async execute(input) {
|
|
23
|
+
const workOrderId = this.resolveText(input?.workOrderId);
|
|
24
|
+
if (!workOrderId) {
|
|
25
|
+
return {
|
|
26
|
+
success: false,
|
|
27
|
+
message: { text: 'workOrderId is required' },
|
|
28
|
+
metadata: { outcome: 'Failed' },
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const existing = await this.findWorkReportByWorkOrderId(workOrderId);
|
|
32
|
+
if (existing?.id) {
|
|
33
|
+
this.debug.trace(AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE, 'work-report-draft', 'Reused existing work report draft', { workOrderId, workReportId: existing.id });
|
|
34
|
+
return { success: true, kind: 'object',
|
|
35
|
+
data: {
|
|
36
|
+
workReportId: existing.id,
|
|
37
|
+
created: false,
|
|
38
|
+
reused: true,
|
|
39
|
+
},
|
|
40
|
+
metadata: { outcome: 'Done' },
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const performedById = await this.resolvePerformedById(workOrderId, input.performedById);
|
|
44
|
+
if (!performedById) {
|
|
45
|
+
this.debug.error(AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE, 'work-report-draft', 'performedById could not be resolved', { workOrderId });
|
|
46
|
+
return {
|
|
47
|
+
success: false,
|
|
48
|
+
message: { text: 'performedById is required' },
|
|
49
|
+
metadata: { outcome: 'Failed' },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const now = new Date().toISOString();
|
|
53
|
+
const createdId = await this.entityService
|
|
54
|
+
.withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)
|
|
55
|
+
.data()
|
|
56
|
+
.create({
|
|
57
|
+
workOrderId,
|
|
58
|
+
reportedAt: now,
|
|
59
|
+
performedById,
|
|
60
|
+
startedAt: now,
|
|
61
|
+
finalizedAt: null,
|
|
62
|
+
assessments: [],
|
|
63
|
+
});
|
|
64
|
+
const workReportId = this.resolveText(createdId);
|
|
65
|
+
if (!workReportId) {
|
|
66
|
+
this.debug.error(AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE, 'work-report-draft', 'Work report draft creation returned no id', { workOrderId });
|
|
67
|
+
return {
|
|
68
|
+
success: false,
|
|
69
|
+
message: { text: 'Work report draft could not be created' },
|
|
70
|
+
metadata: { outcome: 'Failed' },
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
this.debug.trace(AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE, 'work-report-draft', 'Created work report draft', { workOrderId, workReportId, performedById });
|
|
74
|
+
return { success: true, kind: 'object',
|
|
75
|
+
data: {
|
|
76
|
+
workReportId,
|
|
77
|
+
created: true,
|
|
78
|
+
reused: false,
|
|
79
|
+
},
|
|
80
|
+
metadata: { outcome: 'Done' },
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region ---- Helpers ----
|
|
85
|
+
async resolvePerformedById(workOrderId, explicit) {
|
|
86
|
+
const fromInput = this.resolveText(explicit);
|
|
87
|
+
if (fromInput) {
|
|
88
|
+
return fromInput;
|
|
89
|
+
}
|
|
90
|
+
const workOrder = (await this.entityService
|
|
91
|
+
.withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)
|
|
92
|
+
.data()
|
|
93
|
+
.byKey(workOrderId));
|
|
94
|
+
const assignedToId = this.resolveText(workOrder?.assignedToId);
|
|
95
|
+
if (!assignedToId) {
|
|
96
|
+
return '';
|
|
97
|
+
}
|
|
98
|
+
const page = await this.entityService
|
|
99
|
+
.withEntity('HumanCapitalManagement', 'Employee')
|
|
100
|
+
.data()
|
|
101
|
+
.query({
|
|
102
|
+
skip: 0,
|
|
103
|
+
take: 1,
|
|
104
|
+
filter: {
|
|
105
|
+
logic: 'and',
|
|
106
|
+
filters: [{ field: 'personId', operator: { type: 'equal' }, value: assignedToId }],
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
const employee = defaultTo(get(page, 'items[0]'), null);
|
|
110
|
+
return this.resolveText(employee?.id);
|
|
111
|
+
}
|
|
112
|
+
async findWorkReportByWorkOrderId(workOrderId) {
|
|
113
|
+
const page = await this.entityService
|
|
114
|
+
.withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)
|
|
115
|
+
.data()
|
|
116
|
+
.query({
|
|
117
|
+
skip: 0,
|
|
118
|
+
take: 1,
|
|
119
|
+
filter: {
|
|
120
|
+
logic: 'and',
|
|
121
|
+
filters: [{ field: 'workOrderId', operator: { type: 'equal' }, value: workOrderId }],
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
return defaultTo(get(page, 'items[0]'), null);
|
|
125
|
+
}
|
|
126
|
+
resolveText(value) {
|
|
127
|
+
if (!isString(value)) {
|
|
128
|
+
return '';
|
|
129
|
+
}
|
|
130
|
+
return value.trim();
|
|
131
|
+
}
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: CreateOrGetWorkReportDraftActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
133
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: CreateOrGetWorkReportDraftActivity, providedIn: 'root' }); }
|
|
134
|
+
}
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: CreateOrGetWorkReportDraftActivity, decorators: [{
|
|
136
|
+
type: Injectable,
|
|
137
|
+
args: [{ providedIn: 'root' }]
|
|
138
|
+
}] });
|
|
139
|
+
|
|
140
|
+
export { CreateOrGetWorkReportDraftActivity };
|
|
141
|
+
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-xxvOfIxf.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-xxvOfIxf.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/activities/create-or-get-work-report-draft.activity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPDebugService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from '../work-order-workflow.debug';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface CreateOrGetWorkReportDraftInput {\n workOrderId: string;\n performedById?: string | null;\n}\n\nexport interface CreateOrGetWorkReportDraftOutput {\n workReportId: string;\n created: boolean;\n reused: boolean;\n}\n\n//#endregion\n\n/**\n * Creates a draft work report for a work order or reuses an existing one to prevent duplicates.\n */\n@Injectable({ providedIn: 'root' })\nexport class CreateOrGetWorkReportDraftActivity\n implements AXPCommand<CreateOrGetWorkReportDraftInput, CreateOrGetWorkReportDraftOutput>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly debug = inject(AXPDebugService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: CreateOrGetWorkReportDraftInput,\n ): AXPCommandExecuteResultPromise<CreateOrGetWorkReportDraftOutput> {\n const workOrderId = this.resolveText(input?.workOrderId);\n\n if (!workOrderId) {\n return {\n success: false,\n message: { text: 'workOrderId is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const existing = await this.findWorkReportByWorkOrderId(workOrderId);\n if (existing?.id) {\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Reused existing work report draft',\n { workOrderId, workReportId: existing.id },\n );\n return { success: true, kind: 'object',\n data: {\n workReportId: existing.id,\n created: false,\n reused: true,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n const performedById = await this.resolvePerformedById(workOrderId, input.performedById);\n if (!performedById) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'performedById could not be resolved',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'performedById is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const now = new Date().toISOString();\n const createdId = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .create({\n workOrderId,\n reportedAt: now,\n performedById,\n startedAt: now,\n finalizedAt: null,\n assessments: [],\n } as never);\n\n const workReportId = this.resolveText(createdId);\n if (!workReportId) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Work report draft creation returned no id',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'Work report draft could not be created' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Created work report draft',\n { workOrderId, workReportId, performedById },\n );\n\n return { success: true, kind: 'object',\n data: {\n workReportId,\n created: true,\n reused: false,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async resolvePerformedById(workOrderId: string, explicit: unknown): Promise<string> {\n const fromInput = this.resolveText(explicit);\n if (fromInput) {\n return fromInput;\n }\n\n const workOrder = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId)) as AXMMaintenanceManagementWorkOrderEntityModel | null;\n\n const assignedToId = this.resolveText(workOrder?.assignedToId);\n if (!assignedToId) {\n return '';\n }\n\n const page = await this.entityService\n .withEntity('HumanCapitalManagement', 'Employee')\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'personId', operator: { type: 'equal' }, value: assignedToId }],\n },\n } as never);\n\n const employee = defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n return this.resolveText(employee?.id);\n }\n\n private async findWorkReportByWorkOrderId(workOrderId: string): Promise<{ id?: string } | null> {\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'workOrderId', operator: { type: 'equal' }, value: workOrderId }],\n },\n } as never);\n\n return defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { AXPStatusProvider } from '@acorex-platform/framework-shared/core';
|
|
2
|
+
import { AXMFailureRegisterStatus } from '@acorex-platform/module-maintenance-management-client/contracts';
|
|
3
|
+
|
|
4
|
+
//#region ---- Imports ----
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region ---- Status provider ----
|
|
7
|
+
class AXMMaintenanceManagementFailureRegisterStatusProvider extends AXPStatusProvider {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.key = 'maintenance-management.status.failure-register';
|
|
11
|
+
this.statuses = [
|
|
12
|
+
{
|
|
13
|
+
name: AXMFailureRegisterStatus.Reported,
|
|
14
|
+
title: '@maintenance-management:failure-registers.states.reported',
|
|
15
|
+
icon: 'fa-light fa-file-circle-plus',
|
|
16
|
+
color: 'secondary',
|
|
17
|
+
order: 1,
|
|
18
|
+
isInitial: true,
|
|
19
|
+
isFinal: false,
|
|
20
|
+
generateView: false,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: AXMFailureRegisterStatus.UnderReview,
|
|
24
|
+
title: '@maintenance-management:failure-registers.states.under-review',
|
|
25
|
+
icon: 'fa-light fa-magnifying-glass',
|
|
26
|
+
color: 'warning',
|
|
27
|
+
order: 2,
|
|
28
|
+
isInitial: false,
|
|
29
|
+
isFinal: false,
|
|
30
|
+
generateView: false,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: AXMFailureRegisterStatus.WorkOrderRequired,
|
|
34
|
+
title: '@maintenance-management:failure-registers.states.work-order-required',
|
|
35
|
+
icon: 'fa-light fa-clipboard-list',
|
|
36
|
+
color: 'accent1',
|
|
37
|
+
order: 3,
|
|
38
|
+
isInitial: false,
|
|
39
|
+
isFinal: false,
|
|
40
|
+
generateView: false,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: AXMFailureRegisterStatus.WorkOrderCreated,
|
|
44
|
+
title: '@maintenance-management:failure-registers.states.work-order-created',
|
|
45
|
+
icon: 'fa-light fa-file-lines',
|
|
46
|
+
color: 'info',
|
|
47
|
+
order: 4,
|
|
48
|
+
isInitial: false,
|
|
49
|
+
isFinal: false,
|
|
50
|
+
generateView: false,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: AXMFailureRegisterStatus.InProgress,
|
|
54
|
+
title: '@maintenance-management:failure-registers.states.in-progress',
|
|
55
|
+
icon: 'fa-light fa-screwdriver-wrench',
|
|
56
|
+
color: 'primary',
|
|
57
|
+
order: 5,
|
|
58
|
+
isInitial: false,
|
|
59
|
+
isFinal: false,
|
|
60
|
+
generateView: false,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: AXMFailureRegisterStatus.Resolved,
|
|
64
|
+
title: '@maintenance-management:failure-registers.states.resolved',
|
|
65
|
+
icon: 'fa-light fa-circle-check',
|
|
66
|
+
color: 'success',
|
|
67
|
+
order: 6,
|
|
68
|
+
isInitial: false,
|
|
69
|
+
isFinal: false,
|
|
70
|
+
generateView: false,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: AXMFailureRegisterStatus.FollowUpRequired,
|
|
74
|
+
title: '@maintenance-management:failure-registers.states.follow-up-required',
|
|
75
|
+
icon: 'fa-light fa-arrow-rotate-right',
|
|
76
|
+
color: 'warning',
|
|
77
|
+
order: 7,
|
|
78
|
+
isInitial: false,
|
|
79
|
+
isFinal: false,
|
|
80
|
+
generateView: false,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: AXMFailureRegisterStatus.Rejected,
|
|
84
|
+
title: '@maintenance-management:failure-registers.states.rejected',
|
|
85
|
+
icon: 'fa-light fa-ban',
|
|
86
|
+
color: 'danger',
|
|
87
|
+
order: 8,
|
|
88
|
+
isInitial: false,
|
|
89
|
+
isFinal: true,
|
|
90
|
+
generateView: false,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: AXMFailureRegisterStatus.Duplicate,
|
|
94
|
+
title: '@maintenance-management:failure-registers.states.duplicate',
|
|
95
|
+
icon: 'fa-light fa-clone',
|
|
96
|
+
color: 'neutral',
|
|
97
|
+
order: 9,
|
|
98
|
+
isInitial: false,
|
|
99
|
+
isFinal: true,
|
|
100
|
+
generateView: false,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: AXMFailureRegisterStatus.Closed,
|
|
104
|
+
title: '@maintenance-management:failure-registers.states.closed',
|
|
105
|
+
icon: 'fa-light fa-folder-closed',
|
|
106
|
+
color: 'neutral',
|
|
107
|
+
order: 10,
|
|
108
|
+
isInitial: false,
|
|
109
|
+
isFinal: true,
|
|
110
|
+
generateView: false,
|
|
111
|
+
},
|
|
112
|
+
];
|
|
113
|
+
this.transitions = [
|
|
114
|
+
{
|
|
115
|
+
from: AXMFailureRegisterStatus.Reported,
|
|
116
|
+
to: AXMFailureRegisterStatus.UnderReview,
|
|
117
|
+
title: '@maintenance-management:failure-registers.status.transitions.submit-for-review',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
from: AXMFailureRegisterStatus.UnderReview,
|
|
121
|
+
to: AXMFailureRegisterStatus.WorkOrderRequired,
|
|
122
|
+
title: '@maintenance-management:failure-registers.status.transitions.require-work-order',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
from: AXMFailureRegisterStatus.UnderReview,
|
|
126
|
+
to: AXMFailureRegisterStatus.Rejected,
|
|
127
|
+
title: '@maintenance-management:failure-registers.status.transitions.reject',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
from: AXMFailureRegisterStatus.UnderReview,
|
|
131
|
+
to: AXMFailureRegisterStatus.Duplicate,
|
|
132
|
+
title: '@maintenance-management:failure-registers.status.transitions.mark-duplicate',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
from: AXMFailureRegisterStatus.WorkOrderRequired,
|
|
136
|
+
to: AXMFailureRegisterStatus.WorkOrderCreated,
|
|
137
|
+
title: '@maintenance-management:failure-registers.status.transitions.create-work-order',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
from: AXMFailureRegisterStatus.WorkOrderCreated,
|
|
141
|
+
to: AXMFailureRegisterStatus.InProgress,
|
|
142
|
+
title: '@maintenance-management:failure-registers.status.transitions.start-work-order',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
from: AXMFailureRegisterStatus.InProgress,
|
|
146
|
+
to: AXMFailureRegisterStatus.Resolved,
|
|
147
|
+
title: '@maintenance-management:failure-registers.status.transitions.resolve',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
from: AXMFailureRegisterStatus.InProgress,
|
|
151
|
+
to: AXMFailureRegisterStatus.FollowUpRequired,
|
|
152
|
+
title: '@maintenance-management:failure-registers.status.transitions.require-follow-up',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
from: AXMFailureRegisterStatus.FollowUpRequired,
|
|
156
|
+
to: AXMFailureRegisterStatus.WorkOrderRequired,
|
|
157
|
+
title: '@maintenance-management:failure-registers.status.transitions.create-follow-up-work-order',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
from: AXMFailureRegisterStatus.Resolved,
|
|
161
|
+
to: AXMFailureRegisterStatus.Closed,
|
|
162
|
+
title: '@maintenance-management:failure-registers.status.transitions.close',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
from: AXMFailureRegisterStatus.Rejected,
|
|
166
|
+
to: AXMFailureRegisterStatus.Closed,
|
|
167
|
+
title: '@maintenance-management:failure-registers.status.transitions.close',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
from: AXMFailureRegisterStatus.Duplicate,
|
|
171
|
+
to: AXMFailureRegisterStatus.Closed,
|
|
172
|
+
title: '@maintenance-management:failure-registers.status.transitions.close',
|
|
173
|
+
},
|
|
174
|
+
];
|
|
175
|
+
this.defaultStatus = AXMFailureRegisterStatus.Reported;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//#endregion
|
|
179
|
+
|
|
180
|
+
export { AXMMaintenanceManagementFailureRegisterStatusProvider };
|
|
181
|
+
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-failure-register-status.provider-CLBaQy_e.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-maintenance-management-client-failure-register-status.provider-CLBaQy_e.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/failure-register-status.provider.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXPStatusProvider, AXPStatusTransition } from '@acorex-platform/framework-shared/core';\n\nimport { AXMFailureRegisterStatus } from '@acorex-platform/module-maintenance-management-client/contracts';\n\n//#endregion\n\n//#region ---- Status provider ----\n\nexport class AXMMaintenanceManagementFailureRegisterStatusProvider extends AXPStatusProvider {\n readonly key = 'maintenance-management.status.failure-register';\n\n readonly statuses = [\n {\n name: AXMFailureRegisterStatus.Reported,\n title: '@maintenance-management:failure-registers.states.reported',\n icon: 'fa-light fa-file-circle-plus',\n color: 'secondary' as AXStyleColorType,\n order: 1,\n isInitial: true,\n isFinal: false,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.UnderReview,\n title: '@maintenance-management:failure-registers.states.under-review',\n icon: 'fa-light fa-magnifying-glass',\n color: 'warning' as AXStyleColorType,\n order: 2,\n isInitial: false,\n isFinal: false,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.WorkOrderRequired,\n title: '@maintenance-management:failure-registers.states.work-order-required',\n icon: 'fa-light fa-clipboard-list',\n color: 'accent1' as AXStyleColorType,\n order: 3,\n isInitial: false,\n isFinal: false,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.WorkOrderCreated,\n title: '@maintenance-management:failure-registers.states.work-order-created',\n icon: 'fa-light fa-file-lines',\n color: 'info' as AXStyleColorType,\n order: 4,\n isInitial: false,\n isFinal: false,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.InProgress,\n title: '@maintenance-management:failure-registers.states.in-progress',\n icon: 'fa-light fa-screwdriver-wrench',\n color: 'primary' as AXStyleColorType,\n order: 5,\n isInitial: false,\n isFinal: false,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.Resolved,\n title: '@maintenance-management:failure-registers.states.resolved',\n icon: 'fa-light fa-circle-check',\n color: 'success' as AXStyleColorType,\n order: 6,\n isInitial: false,\n isFinal: false,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.FollowUpRequired,\n title: '@maintenance-management:failure-registers.states.follow-up-required',\n icon: 'fa-light fa-arrow-rotate-right',\n color: 'warning' as AXStyleColorType,\n order: 7,\n isInitial: false,\n isFinal: false,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.Rejected,\n title: '@maintenance-management:failure-registers.states.rejected',\n icon: 'fa-light fa-ban',\n color: 'danger' as AXStyleColorType,\n order: 8,\n isInitial: false,\n isFinal: true,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.Duplicate,\n title: '@maintenance-management:failure-registers.states.duplicate',\n icon: 'fa-light fa-clone',\n color: 'neutral' as AXStyleColorType,\n order: 9,\n isInitial: false,\n isFinal: true,\n generateView: false,\n },\n {\n name: AXMFailureRegisterStatus.Closed,\n title: '@maintenance-management:failure-registers.states.closed',\n icon: 'fa-light fa-folder-closed',\n color: 'neutral' as AXStyleColorType,\n order: 10,\n isInitial: false,\n isFinal: true,\n generateView: false,\n },\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXMFailureRegisterStatus.Reported,\n to: AXMFailureRegisterStatus.UnderReview,\n title: '@maintenance-management:failure-registers.status.transitions.submit-for-review',\n },\n {\n from: AXMFailureRegisterStatus.UnderReview,\n to: AXMFailureRegisterStatus.WorkOrderRequired,\n title: '@maintenance-management:failure-registers.status.transitions.require-work-order',\n },\n {\n from: AXMFailureRegisterStatus.UnderReview,\n to: AXMFailureRegisterStatus.Rejected,\n title: '@maintenance-management:failure-registers.status.transitions.reject',\n },\n {\n from: AXMFailureRegisterStatus.UnderReview,\n to: AXMFailureRegisterStatus.Duplicate,\n title: '@maintenance-management:failure-registers.status.transitions.mark-duplicate',\n },\n {\n from: AXMFailureRegisterStatus.WorkOrderRequired,\n to: AXMFailureRegisterStatus.WorkOrderCreated,\n title: '@maintenance-management:failure-registers.status.transitions.create-work-order',\n },\n {\n from: AXMFailureRegisterStatus.WorkOrderCreated,\n to: AXMFailureRegisterStatus.InProgress,\n title: '@maintenance-management:failure-registers.status.transitions.start-work-order',\n },\n {\n from: AXMFailureRegisterStatus.InProgress,\n to: AXMFailureRegisterStatus.Resolved,\n title: '@maintenance-management:failure-registers.status.transitions.resolve',\n },\n {\n from: AXMFailureRegisterStatus.InProgress,\n to: AXMFailureRegisterStatus.FollowUpRequired,\n title: '@maintenance-management:failure-registers.status.transitions.require-follow-up',\n },\n {\n from: AXMFailureRegisterStatus.FollowUpRequired,\n to: AXMFailureRegisterStatus.WorkOrderRequired,\n title: '@maintenance-management:failure-registers.status.transitions.create-follow-up-work-order',\n },\n {\n from: AXMFailureRegisterStatus.Resolved,\n to: AXMFailureRegisterStatus.Closed,\n title: '@maintenance-management:failure-registers.status.transitions.close',\n },\n {\n from: AXMFailureRegisterStatus.Rejected,\n to: AXMFailureRegisterStatus.Closed,\n title: '@maintenance-management:failure-registers.status.transitions.close',\n },\n {\n from: AXMFailureRegisterStatus.Duplicate,\n to: AXMFailureRegisterStatus.Closed,\n title: '@maintenance-management:failure-registers.status.transitions.close',\n },\n ];\n\n readonly defaultStatus = AXMFailureRegisterStatus.Reported;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
2
|
+
import { AXPEntityFormBuilderService, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { inject, Injectable } from '@angular/core';
|
|
5
|
+
import { merge, isString } from 'lodash';
|
|
6
|
+
import { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';
|
|
7
|
+
import { a as isWorkReportEditable } from './acorex-platform-module-maintenance-management-client-work-report-assessment.util-Da1HVAit.mjs';
|
|
8
|
+
|
|
9
|
+
//#region ---- Imports ----
|
|
10
|
+
//#endregion
|
|
11
|
+
/**
|
|
12
|
+
* Opens the work report completion form during workflow execution.
|
|
13
|
+
* Persists only through workflow follow-up activities (update-work-report-on-completion).
|
|
14
|
+
*/
|
|
15
|
+
class FillWorkReportCompletionCommand {
|
|
16
|
+
constructor() {
|
|
17
|
+
//#region ---- Services & Dependencies ----
|
|
18
|
+
this.entityForm = inject(AXPEntityFormBuilderService);
|
|
19
|
+
this.entityService = inject(AXPEntityService);
|
|
20
|
+
this.translation = inject(AXTranslationService);
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region ---- Constants ----
|
|
23
|
+
this.editableFields = [
|
|
24
|
+
'result',
|
|
25
|
+
'summary',
|
|
26
|
+
'actionTaken',
|
|
27
|
+
'recommendation',
|
|
28
|
+
'laborHours',
|
|
29
|
+
'downtimeMinutes',
|
|
30
|
+
'endedAt',
|
|
31
|
+
'needFollowUp',
|
|
32
|
+
];
|
|
33
|
+
this.systemFields = [
|
|
34
|
+
'workOrderId',
|
|
35
|
+
'reportedAt',
|
|
36
|
+
'performedById',
|
|
37
|
+
'startedAt',
|
|
38
|
+
'finalizedAt',
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region ---- Command Implementation ----
|
|
43
|
+
async execute(input) {
|
|
44
|
+
const workReportId = this.resolveText(input?.workReportId);
|
|
45
|
+
if (!workReportId) {
|
|
46
|
+
return {
|
|
47
|
+
success: false,
|
|
48
|
+
message: { text: 'workReportId is required' },
|
|
49
|
+
metadata: { outcome: 'Cancelled' },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const workReport = (await this.entityService
|
|
53
|
+
.withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)
|
|
54
|
+
.data()
|
|
55
|
+
.byKey(workReportId));
|
|
56
|
+
if (!workReport?.id) {
|
|
57
|
+
return {
|
|
58
|
+
success: false,
|
|
59
|
+
message: { text: 'Work report not found' },
|
|
60
|
+
metadata: { outcome: 'Cancelled' },
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const workOrderId = this.resolveText(input.workOrderId) || this.resolveText(workReport.workOrderId);
|
|
64
|
+
const workOrder = workOrderId
|
|
65
|
+
? (await this.entityService
|
|
66
|
+
.withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)
|
|
67
|
+
.data()
|
|
68
|
+
.byKey(workOrderId))
|
|
69
|
+
: null;
|
|
70
|
+
if (workOrderId && this.resolveText(workReport.workOrderId) !== workOrderId) {
|
|
71
|
+
return {
|
|
72
|
+
success: false,
|
|
73
|
+
message: { text: 'Work report does not belong to the work order' },
|
|
74
|
+
metadata: { outcome: 'Cancelled' },
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
const editable = isWorkReportEditable(workReport, workOrder);
|
|
78
|
+
const persistOnSubmit = input.persistOnSubmit === true;
|
|
79
|
+
const entitySource = `${RootConfig.module.name}.${RootConfig.entities.workReport.name}`;
|
|
80
|
+
const title = await this.translation.translateAsync('@maintenance-management:work-reports.commands.fill-completion.title');
|
|
81
|
+
let chain = this.entityForm
|
|
82
|
+
.entity(entitySource)
|
|
83
|
+
.update(workReportId)
|
|
84
|
+
.title(title)
|
|
85
|
+
.include(...this.systemFields, ...this.editableFields, 'assessments')
|
|
86
|
+
.readonlyProperties(...this.systemFields, 'assessments');
|
|
87
|
+
if (!editable) {
|
|
88
|
+
chain = chain.readonlyProperties(...this.editableFields).mode('view');
|
|
89
|
+
}
|
|
90
|
+
chain.actions((actions) => {
|
|
91
|
+
actions.cancel('@general:actions.cancel.title');
|
|
92
|
+
if (editable) {
|
|
93
|
+
actions.submit('@general:actions.submit.title');
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
const result = await chain
|
|
97
|
+
.onAction(async (dialogRef) => {
|
|
98
|
+
const action = dialogRef.action();
|
|
99
|
+
if (action === 'cancel') {
|
|
100
|
+
return { success: true, kind: 'object',
|
|
101
|
+
data: {},
|
|
102
|
+
metadata: { outcome: 'Cancelled' },
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
if (action !== 'submit') {
|
|
106
|
+
return { success: true, kind: 'object',
|
|
107
|
+
data: {},
|
|
108
|
+
metadata: { outcome: 'Cancelled' },
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const context = merge({}, dialogRef.context());
|
|
112
|
+
if (persistOnSubmit) {
|
|
113
|
+
dialogRef.setLoading(true);
|
|
114
|
+
try {
|
|
115
|
+
await this.entityService
|
|
116
|
+
.withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)
|
|
117
|
+
.data()
|
|
118
|
+
.update(workReportId, this.pickEditableFields(context));
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
dialogRef.setLoading(false);
|
|
122
|
+
}
|
|
123
|
+
return { success: true, kind: 'object',
|
|
124
|
+
data: { result: context },
|
|
125
|
+
metadata: { outcome: 'Submitted' },
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
return { success: true, kind: 'object',
|
|
129
|
+
data: { result: context },
|
|
130
|
+
metadata: { outcome: 'Submitted' },
|
|
131
|
+
};
|
|
132
|
+
})
|
|
133
|
+
.show();
|
|
134
|
+
return this.normalizeDialogShowResult(result);
|
|
135
|
+
}
|
|
136
|
+
//#endregion
|
|
137
|
+
//#region ---- Helpers ----
|
|
138
|
+
pickEditableFields(context) {
|
|
139
|
+
const picked = {};
|
|
140
|
+
for (const field of this.editableFields) {
|
|
141
|
+
if (field in context) {
|
|
142
|
+
picked[field] = context[field];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return picked;
|
|
146
|
+
}
|
|
147
|
+
normalizeDialogShowResult(result) {
|
|
148
|
+
if (result &&
|
|
149
|
+
typeof result === 'object' &&
|
|
150
|
+
'metadata' in result &&
|
|
151
|
+
result.metadata?.['outcome']) {
|
|
152
|
+
return result;
|
|
153
|
+
}
|
|
154
|
+
return { success: true, kind: 'object',
|
|
155
|
+
data: {},
|
|
156
|
+
metadata: { outcome: 'Cancelled' },
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
resolveText(value) {
|
|
160
|
+
if (!isString(value)) {
|
|
161
|
+
return '';
|
|
162
|
+
}
|
|
163
|
+
return value.trim();
|
|
164
|
+
}
|
|
165
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FillWorkReportCompletionCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
166
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FillWorkReportCompletionCommand, providedIn: 'root' }); }
|
|
167
|
+
}
|
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FillWorkReportCompletionCommand, decorators: [{
|
|
169
|
+
type: Injectable,
|
|
170
|
+
args: [{ providedIn: 'root' }]
|
|
171
|
+
}] });
|
|
172
|
+
|
|
173
|
+
export { FillWorkReportCompletionCommand };
|
|
174
|
+
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-fill-work-report-completion.command-Capowl1e.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-maintenance-management-client-fill-work-report-completion.command-Capowl1e.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-report/commands/fill-work-report-completion.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityFormBuilderService, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString, merge } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkReportEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { isWorkReportEditable } from '../work-report-assessment.util';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface FillWorkReportCompletionInput {\n workReportId: string;\n workOrderId?: string;\n /** When false, returns form data for workflow persistence (default). When true, saves immediately. */\n persistOnSubmit?: boolean;\n}\n\nexport interface FillWorkReportCompletionOutput {\n result?: Record<string, unknown>;\n}\n\nexport type FillWorkReportCompletionOutcome = 'Submitted' | 'Cancelled';\n\n//#endregion\n\n/**\n * Opens the work report completion form during workflow execution.\n * Persists only through workflow follow-up activities (update-work-report-on-completion).\n */\n@Injectable({ providedIn: 'root' })\nexport class FillWorkReportCompletionCommand\n implements AXPCommand<FillWorkReportCompletionInput, FillWorkReportCompletionOutput>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityForm = inject(AXPEntityFormBuilderService);\n private readonly entityService = inject(AXPEntityService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Constants ----\n\n private readonly editableFields = [\n 'result',\n 'summary',\n 'actionTaken',\n 'recommendation',\n 'laborHours',\n 'downtimeMinutes',\n 'endedAt',\n 'needFollowUp',\n ] as const;\n\n private readonly systemFields = [\n 'workOrderId',\n 'reportedAt',\n 'performedById',\n 'startedAt',\n 'finalizedAt',\n ] as const;\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: FillWorkReportCompletionInput,\n ): AXPCommandExecuteResultPromise<FillWorkReportCompletionOutput> {\n const workReportId = this.resolveText(input?.workReportId);\n if (!workReportId) {\n return {\n success: false,\n message: { text: 'workReportId is required' },\n metadata: { outcome: 'Cancelled' },\n };\n }\n\n const workReport = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .byKey(workReportId)) as AXMMaintenanceManagementWorkReportEntityModel | null;\n\n if (!workReport?.id) {\n return {\n success: false,\n message: { text: 'Work report not found' },\n metadata: { outcome: 'Cancelled' },\n };\n }\n\n const workOrderId = this.resolveText(input.workOrderId) || this.resolveText(workReport.workOrderId);\n const workOrder = workOrderId\n ? ((await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId)) as AXMMaintenanceManagementWorkOrderEntityModel | null)\n : null;\n\n if (workOrderId && this.resolveText(workReport.workOrderId) !== workOrderId) {\n return {\n success: false,\n message: { text: 'Work report does not belong to the work order' },\n metadata: { outcome: 'Cancelled' },\n };\n }\n\n const editable = isWorkReportEditable(workReport, workOrder);\n const persistOnSubmit = input.persistOnSubmit === true;\n const entitySource = `${RootConfig.module.name}.${RootConfig.entities.workReport.name}`;\n const title = await this.translation.translateAsync(\n '@maintenance-management:work-reports.commands.fill-completion.title',\n );\n\n let chain = this.entityForm\n .entity(entitySource)\n .update(workReportId)\n .title(title)\n .include(...this.systemFields, ...this.editableFields, 'assessments')\n .readonlyProperties(...this.systemFields, 'assessments');\n\n if (!editable) {\n chain = chain.readonlyProperties(...this.editableFields).mode('view');\n }\n\n chain.actions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n if (editable) {\n actions.submit('@general:actions.submit.title');\n }\n });\n\n const result = await chain\n .onAction<AXPRuntimeCommandResult<FillWorkReportCompletionOutput>>(async (dialogRef) => {\n const action = dialogRef.action();\n\n if (action === 'cancel') {\n return { success: true, kind: 'object',\n data: {},\n metadata: { outcome: 'Cancelled' },\n };\n }\n\n if (action !== 'submit') {\n return { success: true, kind: 'object',\n data: {},\n metadata: { outcome: 'Cancelled' },\n };\n }\n\n const context = merge({}, dialogRef.context());\n\n if (persistOnSubmit) {\n dialogRef.setLoading(true);\n try {\n await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .update(workReportId, this.pickEditableFields(context) as never);\n } finally {\n dialogRef.setLoading(false);\n }\n\n return { success: true, kind: 'object',\n data: { result: context },\n metadata: { outcome: 'Submitted' },\n };\n }\n\n return { success: true, kind: 'object',\n data: { result: context },\n metadata: { outcome: 'Submitted' },\n };\n })\n .show();\n\n return this.normalizeDialogShowResult(result);\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private pickEditableFields(context: Record<string, unknown>): Record<string, unknown> {\n const picked: Record<string, unknown> = {};\n for (const field of this.editableFields) {\n if (field in context) {\n picked[field] = context[field];\n }\n }\n return picked;\n }\n\n private normalizeDialogShowResult(\n result: unknown,\n ): AXPRuntimeCommandResult<FillWorkReportCompletionOutput> {\n if (\n result &&\n typeof result === 'object' &&\n 'metadata' in result &&\n (result as AXPRuntimeCommandResult<FillWorkReportCompletionOutput>).metadata?.['outcome']\n ) {\n return result as AXPRuntimeCommandResult<FillWorkReportCompletionOutput>;\n }\n\n return { success: true, kind: 'object',\n data: {},\n metadata: { outcome: 'Cancelled' },\n };\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
|