rez_core 7.1.25 → 7.1.26
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/dist/module/entity/filter/service/entity-filter.service.d.ts +3 -1
- package/dist/module/entity/filter/service/entity-filter.service.js +6 -3
- package/dist/module/entity/filter/service/entity-filter.service.js.map +1 -1
- package/dist/module/entity/meta/repository/view-master.repository.d.ts +1 -0
- package/dist/module/entity/meta/repository/view-master.repository.js +3 -0
- package/dist/module/entity/meta/repository/view-master.repository.js.map +1 -1
- package/dist/module/entity/meta/service/view-master.service.d.ts +1 -0
- package/dist/module/entity/meta/service/view-master.service.js +5 -0
- package/dist/module/entity/meta/service/view-master.service.js.map +1 -1
- package/dist/module/integration/integration.module.js +1 -1
- package/dist/module/integration/integration.module.js.map +1 -1
- package/dist/module/integration/service/wrapper.service.js +4 -0
- package/dist/module/integration/service/wrapper.service.js.map +1 -1
- package/dist/module/listmaster/listmaster.module.js +1 -1
- package/dist/module/listmaster/service/list-master-item.service.d.ts +2 -0
- package/dist/module/listmaster/service/list-master-item.service.js +6 -0
- package/dist/module/listmaster/service/list-master-item.service.js.map +1 -1
- package/dist/module/workflow/workflow/controller/action-template-mapping.controller.js +1 -0
- package/dist/module/workflow/workflow/controller/action-template-mapping.controller.js.map +1 -1
- package/dist/module/workflow/workflow/controller/action.controller.js +1 -0
- package/dist/module/workflow/workflow/controller/action.controller.js.map +1 -1
- package/dist/module/workflow/workflow/controller/comm-template.controller.js +1 -0
- package/dist/module/workflow/workflow/controller/comm-template.controller.js.map +1 -1
- package/dist/module/workflow/workflow/controller/workflow-list-master.controller.js +1 -0
- package/dist/module/workflow/workflow/controller/workflow-list-master.controller.js.map +1 -1
- package/dist/module/workflow/workflow/controller/workflow-meta.controller.js +1 -0
- package/dist/module/workflow/workflow/controller/workflow-meta.controller.js.map +1 -1
- package/dist/module/workflow/workflow/controller/workflow.controller.d.ts +2 -2
- package/dist/module/workflow/workflow/repository/action-category.repository.d.ts +1 -0
- package/dist/module/workflow/workflow/repository/action-category.repository.js +3 -0
- package/dist/module/workflow/workflow/repository/action-category.repository.js.map +1 -1
- package/dist/module/workflow/workflow/repository/action-resources-mapping.repository.d.ts +6 -0
- package/dist/module/workflow/workflow/repository/action-resources-mapping.repository.js +27 -0
- package/dist/module/workflow/workflow/repository/action-resources-mapping.repository.js.map +1 -0
- package/dist/module/workflow/workflow/repository/action-template-mapping.repository.d.ts +6 -0
- package/dist/module/workflow/workflow/repository/action-template-mapping.repository.js +27 -0
- package/dist/module/workflow/workflow/repository/action-template-mapping.repository.js.map +1 -0
- package/dist/module/workflow/workflow/repository/action.repository.d.ts +19 -3
- package/dist/module/workflow/workflow/repository/action.repository.js +54 -39
- package/dist/module/workflow/workflow/repository/action.repository.js.map +1 -1
- package/dist/module/workflow/workflow/repository/stage-action-mapping.repository.d.ts +6 -0
- package/dist/module/workflow/workflow/repository/stage-action-mapping.repository.js +27 -0
- package/dist/module/workflow/workflow/repository/stage-action-mapping.repository.js.map +1 -0
- package/dist/module/workflow/workflow/repository/stage.repository.d.ts +1 -0
- package/dist/module/workflow/workflow/repository/stage.repository.js +3 -0
- package/dist/module/workflow/workflow/repository/stage.repository.js.map +1 -1
- package/dist/module/workflow/workflow/repository/workflow-level-mapping.repository.d.ts +6 -0
- package/dist/module/workflow/workflow/repository/workflow-level-mapping.repository.js +27 -0
- package/dist/module/workflow/workflow/repository/workflow-level-mapping.repository.js.map +1 -0
- package/dist/module/workflow/workflow/repository/workflow.repository.d.ts +2 -0
- package/dist/module/workflow/workflow/repository/workflow.repository.js +6 -0
- package/dist/module/workflow/workflow/repository/workflow.repository.js.map +1 -1
- package/dist/module/workflow/workflow/service/action-category.service.d.ts +1 -0
- package/dist/module/workflow/workflow/service/action-category.service.js +3 -0
- package/dist/module/workflow/workflow/service/action-category.service.js.map +1 -1
- package/dist/module/workflow/workflow/service/action.service.d.ts +2 -0
- package/dist/module/workflow/workflow/service/action.service.js +4 -2
- package/dist/module/workflow/workflow/service/action.service.js.map +1 -1
- package/dist/module/workflow/workflow/service/populate-workflow.service.d.ts +14 -2
- package/dist/module/workflow/workflow/service/populate-workflow.service.js +93 -142
- package/dist/module/workflow/workflow/service/populate-workflow.service.js.map +1 -1
- package/dist/module/workflow/workflow/service/stage-action-mapping.service.d.ts +4 -0
- package/dist/module/workflow/workflow/service/stage-action-mapping.service.js +13 -1
- package/dist/module/workflow/workflow/service/stage-action-mapping.service.js.map +1 -1
- package/dist/module/workflow/workflow/service/stage-group.service.d.ts +1 -0
- package/dist/module/workflow/workflow/service/stage-group.service.js +3 -0
- package/dist/module/workflow/workflow/service/stage-group.service.js.map +1 -1
- package/dist/module/workflow/workflow/service/stage.service.d.ts +1 -0
- package/dist/module/workflow/workflow/service/stage.service.js +3 -0
- package/dist/module/workflow/workflow/service/stage.service.js.map +1 -1
- package/dist/module/workflow/workflow/service/task.service.js +1 -0
- package/dist/module/workflow/workflow/service/task.service.js.map +1 -1
- package/dist/module/workflow/workflow/service/workflow-meta.service.js +1 -0
- package/dist/module/workflow/workflow/service/workflow-meta.service.js.map +1 -1
- package/dist/module/workflow/workflow/service/workflow.service.d.ts +5 -2
- package/dist/module/workflow/workflow/service/workflow.service.js +12 -10
- package/dist/module/workflow/workflow/service/workflow.service.js.map +1 -1
- package/dist/module/workflow/workflow/workflow.module.js +61 -70
- package/dist/module/workflow/workflow/workflow.module.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/module/entity/filter/service/entity-filter.service.ts +3 -1
- package/src/module/entity/meta/repository/view-master.repository.ts +4 -1
- package/src/module/entity/meta/service/view-master.service.ts +5 -0
- package/src/module/integration/integration.module.ts +1 -1
- package/src/module/integration/service/wrapper.service.ts +2 -1
- package/src/module/listmaster/listmaster.module.ts +1 -1
- package/src/module/listmaster/service/list-master-item.service.ts +8 -1
- package/src/module/workflow/workflow/controller/action-template-mapping.controller.ts +3 -1
- package/src/module/workflow/workflow/controller/action.controller.ts +2 -1
- package/src/module/workflow/workflow/controller/comm-template.controller.ts +3 -2
- package/src/module/workflow/workflow/controller/workflow-list-master.controller.ts +2 -1
- package/src/module/workflow/workflow/controller/workflow-meta.controller.ts +2 -1
- package/src/module/workflow/workflow/repository/action-category.repository.ts +5 -1
- package/src/module/workflow/workflow/repository/action-resources-mapping.repository.ts +10 -0
- package/src/module/workflow/workflow/repository/action-template-mapping.repository.ts +10 -0
- package/src/module/workflow/workflow/repository/action.repository.ts +59 -59
- package/src/module/workflow/workflow/repository/stage-action-mapping.repository.ts +10 -0
- package/src/module/workflow/workflow/repository/stage.repository.ts +5 -1
- package/src/module/workflow/workflow/repository/workflow-level-mapping.repository.ts +10 -0
- package/src/module/workflow/workflow/repository/workflow.repository.ts +7 -1
- package/src/module/workflow/workflow/service/action-category.service.ts +3 -0
- package/src/module/workflow/workflow/service/action.service.ts +4 -3
- package/src/module/workflow/workflow/service/populate-workflow.service.ts +118 -200
- package/src/module/workflow/workflow/service/stage-action-mapping.service.ts +12 -1
- package/src/module/workflow/workflow/service/stage-group.service.ts +3 -0
- package/src/module/workflow/workflow/service/stage.service.ts +3 -0
- package/src/module/workflow/workflow/service/task.service.ts +8 -7
- package/src/module/workflow/workflow/service/workflow-meta.service.ts +1 -0
- package/src/module/workflow/workflow/service/workflow.service.ts +18 -17
- package/src/module/workflow/workflow/workflow.module.ts +63 -72
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@nestjs/common';
|
|
2
|
+
import { In } from 'typeorm';
|
|
2
3
|
import { EntityServiceImpl } from 'src/module/entity/meta/service/entity-service-impl.service';
|
|
3
4
|
import { WorkflowService } from './workflow.service';
|
|
4
5
|
import { UserData } from 'src/module/auth/dto/user.dto';
|
|
5
6
|
import { StageGroupService } from './stage-group.service';
|
|
6
7
|
import { StageService } from './stage.service';
|
|
7
8
|
import { ActionService } from './action.service';
|
|
9
|
+
import { ListMasterItemService } from '../../../listmaster/service/list-master-item.service';
|
|
10
|
+
import { CommTemplateService } from './comm-template.service';
|
|
11
|
+
import { WorkflowLevelMappingRepository } from '../repository/workflow-level-mapping.repository';
|
|
12
|
+
import { ActionCategoryService } from './action-category.service';
|
|
13
|
+
import { ViewMasterService } from '../../../entity/meta/service/view-master.service';
|
|
14
|
+
import { StageActionMappingService } from './stage-action-mapping.service';
|
|
8
15
|
|
|
9
16
|
@Injectable()
|
|
10
17
|
export class PopulateWorkflowService extends EntityServiceImpl {
|
|
@@ -17,37 +24,40 @@ export class PopulateWorkflowService extends EntityServiceImpl {
|
|
|
17
24
|
private readonly stageService: StageService,
|
|
18
25
|
@Inject('ActionService')
|
|
19
26
|
private readonly actionService: ActionService,
|
|
27
|
+
@Inject('ListMasterItemService')
|
|
28
|
+
private readonly listMasterItemService: ListMasterItemService,
|
|
29
|
+
@Inject('CommTemplateService')
|
|
30
|
+
private readonly commTemplateService: CommTemplateService,
|
|
31
|
+
private readonly workflowLevelMappingRepository: WorkflowLevelMappingRepository,
|
|
32
|
+
@Inject('ActionCategoryService')
|
|
33
|
+
private readonly actionCategoryService: ActionCategoryService,
|
|
34
|
+
@Inject('ViewMasterService')
|
|
35
|
+
private readonly viewMasterService: ViewMasterService,
|
|
36
|
+
@Inject('StageActionMappingService')
|
|
37
|
+
private readonly stageActionMappingService: StageActionMappingService,
|
|
20
38
|
) {
|
|
21
39
|
super();
|
|
22
40
|
}
|
|
23
41
|
|
|
24
42
|
async populateWorkflowData(enterprise_id: number, loggedInUser: UserData) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
let statusRow = await listMasterItemsRepo.findOne({
|
|
31
|
-
where: { code: 'STATUS_ACTIVE', enterprise_id: enterprise_id },
|
|
32
|
-
});
|
|
43
|
+
// 1. Get List Master Item (STATUS_ACTIVE)
|
|
44
|
+
let statusRow = await this.listMasterItemService.findItemByCode(
|
|
45
|
+
'STATUS_ACTIVE',
|
|
46
|
+
enterprise_id,
|
|
47
|
+
);
|
|
33
48
|
|
|
34
49
|
if (!statusRow) {
|
|
35
|
-
statusRow = await
|
|
36
|
-
|
|
37
|
-
|
|
50
|
+
statusRow = await this.listMasterItemService.findItemByCode(
|
|
51
|
+
'STATUS_ACTIVE',
|
|
52
|
+
1,
|
|
53
|
+
);
|
|
38
54
|
}
|
|
39
55
|
|
|
40
56
|
const statusValue = statusRow?.id;
|
|
41
57
|
|
|
42
58
|
// template populate
|
|
43
59
|
// Step 1: Fetch default frm_wf_comm_template
|
|
44
|
-
|
|
45
|
-
const commTemplateRepo =
|
|
46
|
-
this.reflectionHelper.getRepoService('CommTemplate');
|
|
47
|
-
|
|
48
|
-
if (!commTemplateRepo) return;
|
|
49
|
-
|
|
50
|
-
const defaultCommTemplates = await commTemplateRepo.find({
|
|
60
|
+
const defaultCommTemplates = await this.commTemplateService.find({
|
|
51
61
|
where: {
|
|
52
62
|
enterprise_id: 1,
|
|
53
63
|
level_type: 'ORG',
|
|
@@ -55,7 +65,7 @@ export class PopulateWorkflowService extends EntityServiceImpl {
|
|
|
55
65
|
},
|
|
56
66
|
});
|
|
57
67
|
|
|
58
|
-
if (defaultCommTemplates.length > 0) {
|
|
68
|
+
if (defaultCommTemplates && defaultCommTemplates.length > 0) {
|
|
59
69
|
// Step 2: Insert default communication templates for the new organization
|
|
60
70
|
for (const template of defaultCommTemplates) {
|
|
61
71
|
const { id, created_date, modified_date, ...rest } = template;
|
|
@@ -65,97 +75,58 @@ export class PopulateWorkflowService extends EntityServiceImpl {
|
|
|
65
75
|
enterprise_id,
|
|
66
76
|
level_id: enterprise_id,
|
|
67
77
|
entity_type: 'TEM',
|
|
68
|
-
status: statusValue,
|
|
78
|
+
status: statusValue?.toString() || '',
|
|
69
79
|
created_date: new Date(),
|
|
70
80
|
modified_date: new Date(),
|
|
71
|
-
},
|
|
81
|
+
} as any,
|
|
72
82
|
loggedInUser,
|
|
73
83
|
);
|
|
74
84
|
}
|
|
75
85
|
}
|
|
76
86
|
|
|
77
|
-
const workflowTables = [
|
|
78
|
-
{
|
|
79
|
-
table: 'frm_wf_master',
|
|
80
|
-
entityType: 'WRFW',
|
|
81
|
-
service: 'workflowService',
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
table: 'frm_wf_stage_group',
|
|
85
|
-
entityType: 'WFSG',
|
|
86
|
-
service: 'stageGroupService',
|
|
87
|
-
},
|
|
88
|
-
{ table: 'frm_wf_stage', entityType: 'WFS', service: 'stageService' },
|
|
89
|
-
{ table: 'frm_wf_action', entityType: 'WFAC', service: 'actionService' },
|
|
90
|
-
];
|
|
91
|
-
|
|
92
|
-
const workFlowRepo = this.reflectionHelper.getRepoService('Workflow');
|
|
93
|
-
const stageGroupRepo = this.reflectionHelper.getRepoService('StageGroup');
|
|
94
|
-
const stageRepo = this.reflectionHelper.getRepoService('Stage');
|
|
95
|
-
const actionRepo = this.reflectionHelper.getRepoService('ActionEntity');
|
|
96
|
-
const stageActionMappingRepo =
|
|
97
|
-
this.reflectionHelper.getRepoService('StageActionMapping');
|
|
98
|
-
const workflowLevelMappingRepo = this.reflectionHelper.getRepoService(
|
|
99
|
-
'WorkflowLevelMappingEntity',
|
|
100
|
-
);
|
|
101
|
-
const listMasterRepo =
|
|
102
|
-
this.reflectionHelper.getRepoService('ListMasterData');
|
|
103
|
-
const actionCategoryRepo =
|
|
104
|
-
this.reflectionHelper.getRepoService('ActionCategory');
|
|
105
|
-
const viewMasterRepo = this.reflectionHelper.getRepoService('ViewMaster');
|
|
106
|
-
|
|
107
87
|
// Fetch all base data
|
|
108
|
-
|
|
109
88
|
// === 1. Workflow mapping
|
|
110
89
|
const workflowIdMap: Record<number, number> = {};
|
|
111
90
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
transformRepo = workFlowRepo;
|
|
115
|
-
|
|
116
|
-
const workflows = await transformRepo?.find({
|
|
91
|
+
const workflows = await this.workflowService.find({
|
|
117
92
|
where: {
|
|
118
93
|
enterprise_id: 1,
|
|
119
94
|
level_type: 'ORG',
|
|
120
95
|
level_id: 1,
|
|
121
96
|
},
|
|
122
97
|
});
|
|
123
|
-
for (const row of workflows) {
|
|
124
|
-
const { id, ...rest } = row;
|
|
125
|
-
const newWf = await this.workflowService.createEntity(
|
|
126
|
-
{
|
|
127
|
-
...rest,
|
|
128
|
-
enterprise_id,
|
|
129
|
-
level_id: enterprise_id,
|
|
130
|
-
entity_type: 'WRFW',
|
|
131
|
-
status: statusValue,
|
|
132
|
-
},
|
|
133
|
-
loggedInUser,
|
|
134
|
-
);
|
|
135
98
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
99
|
+
if (workflows) {
|
|
100
|
+
for (const row of workflows) {
|
|
101
|
+
const { id, ...rest } = row;
|
|
102
|
+
const newWf = await this.workflowService.createEntity(
|
|
103
|
+
{
|
|
104
|
+
...rest,
|
|
105
|
+
enterprise_id,
|
|
106
|
+
level_id: enterprise_id,
|
|
107
|
+
entity_type: 'WRFW',
|
|
108
|
+
status: statusValue?.toString() || '',
|
|
109
|
+
} as any,
|
|
110
|
+
loggedInUser,
|
|
111
|
+
);
|
|
145
112
|
|
|
146
|
-
|
|
113
|
+
// adding new entry for workflow level mapping
|
|
114
|
+
const newMapping = this.workflowLevelMappingRepository.create({
|
|
115
|
+
workflow_id: Number(newWf.id),
|
|
116
|
+
mapped_level_id: enterprise_id.toString(),
|
|
117
|
+
mapped_level_type: 'ORG',
|
|
118
|
+
});
|
|
147
119
|
|
|
148
|
-
|
|
120
|
+
await this.workflowLevelMappingRepository.save(newMapping);
|
|
121
|
+
workflowIdMap[id] = newWf.id;
|
|
122
|
+
}
|
|
149
123
|
}
|
|
150
124
|
|
|
151
125
|
// === 2. StageGroup mapping (and save workflow ref from template data!)
|
|
152
126
|
const stageGroupIdMap: Record<number, number> = {};
|
|
153
|
-
// Include mapping from old stageGroupId to old workflowId to help with stage->workflow logic later:
|
|
154
127
|
const stageGroupToWorkflowMap: Record<number, number> = {};
|
|
155
128
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
const stageGroups = await transformRepo?.find({
|
|
129
|
+
const stageGroups = await this.stageGroupService.find({
|
|
159
130
|
where: {
|
|
160
131
|
enterprise_id: 1,
|
|
161
132
|
level_type: 'ORG',
|
|
@@ -163,29 +134,27 @@ export class PopulateWorkflowService extends EntityServiceImpl {
|
|
|
163
134
|
},
|
|
164
135
|
});
|
|
165
136
|
|
|
166
|
-
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
137
|
+
if (stageGroups) {
|
|
138
|
+
for (const row of stageGroups) {
|
|
139
|
+
const { id, workflow_id, ...rest } = row;
|
|
140
|
+
const newSg = await this.stageGroupService.createEntity(
|
|
141
|
+
{
|
|
142
|
+
...rest,
|
|
143
|
+
workflow_id: workflowIdMap[workflow_id],
|
|
144
|
+
enterprise_id,
|
|
145
|
+
level_id: enterprise_id,
|
|
146
|
+
entity_type: 'WFSG',
|
|
147
|
+
status: statusValue?.toString() || '',
|
|
148
|
+
} as any,
|
|
149
|
+
loggedInUser,
|
|
150
|
+
);
|
|
151
|
+
stageGroupIdMap[id] = newSg.id;
|
|
152
|
+
stageGroupToWorkflowMap[id] = workflow_id;
|
|
153
|
+
}
|
|
181
154
|
}
|
|
182
155
|
|
|
183
156
|
// === 3. Stage mapping — point to stageGroup and workflow
|
|
184
|
-
const
|
|
185
|
-
const stageToStageGroupMap: Record<number, number> = {};
|
|
186
|
-
|
|
187
|
-
transformRepo = stageRepo;
|
|
188
|
-
const stages = await transformRepo?.find({
|
|
157
|
+
const stages = await this.stageService.find({
|
|
189
158
|
where: {
|
|
190
159
|
enterprise_id: 1,
|
|
191
160
|
level_type: 'ORG',
|
|
@@ -193,115 +162,64 @@ export class PopulateWorkflowService extends EntityServiceImpl {
|
|
|
193
162
|
},
|
|
194
163
|
});
|
|
195
164
|
|
|
196
|
-
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
stageIdMap[id] = newStage.id;
|
|
213
|
-
stageToStageGroupMap[id] = stage_group_id; // maintain
|
|
214
|
-
|
|
215
|
-
// step 1 find old stage_id in stage_action_mapper and get all actions_ids
|
|
216
|
-
// step 2 search action in frm_wf_action table with those action_ids
|
|
217
|
-
// step 3 create new action with new stage_id and new workflow_id
|
|
218
|
-
// step 4 save new action
|
|
219
|
-
|
|
220
|
-
if (!stageActionMappingRepo) continue;
|
|
221
|
-
|
|
222
|
-
const stageIds = await stageActionMappingRepo.find({
|
|
223
|
-
where: {
|
|
224
|
-
stage_id: id,
|
|
225
|
-
},
|
|
226
|
-
});
|
|
227
|
-
|
|
228
|
-
const actionIds = stageIds.map((item) => item.action_id);
|
|
229
|
-
|
|
230
|
-
let actions = [] as any[];
|
|
231
|
-
if (actionIds.length > 0) {
|
|
232
|
-
if (!actionRepo) continue;
|
|
233
|
-
|
|
234
|
-
actions = await actionRepo?.findByIds(actionIds);
|
|
235
|
-
} else {
|
|
236
|
-
// No actions to query
|
|
237
|
-
actions = [];
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
console.log(
|
|
241
|
-
`Found ${actions.length} actions for stage ${id} in workflow ${originalWorkflowId}`,
|
|
242
|
-
);
|
|
243
|
-
|
|
244
|
-
// === 4. Action mapping — point to stage, stageGroup, workflow correctly
|
|
245
|
-
for (const row of actions as any[]) {
|
|
246
|
-
const { id, created_date, modified_date, workflow_id, ...rest } = row;
|
|
247
|
-
|
|
248
|
-
const newWorkflowId = workflowIdMap[workflow_id];
|
|
165
|
+
if (stages) {
|
|
166
|
+
for (const row of stages) {
|
|
167
|
+
const { id, stage_group_id, ...rest } = row;
|
|
168
|
+
const originalWorkflowId = stageGroupToWorkflowMap[stage_group_id];
|
|
169
|
+
const newStage = await this.stageService.createEntity(
|
|
170
|
+
{
|
|
171
|
+
...rest,
|
|
172
|
+
stage_group_id: stageGroupIdMap[stage_group_id],
|
|
173
|
+
workflow_id: workflowIdMap[originalWorkflowId],
|
|
174
|
+
enterprise_id,
|
|
175
|
+
level_id: enterprise_id,
|
|
176
|
+
entity_type: 'WFS',
|
|
177
|
+
status: statusValue?.toString() || '',
|
|
178
|
+
} as any,
|
|
179
|
+
loggedInUser,
|
|
180
|
+
);
|
|
249
181
|
|
|
250
|
-
//
|
|
182
|
+
// Need to refetch stages because of loop and logic inside...
|
|
183
|
+
// Actually the logic is per-stage.
|
|
251
184
|
|
|
252
|
-
const
|
|
253
|
-
where: {
|
|
185
|
+
const stageIds = await this.stageActionMappingService.find({
|
|
186
|
+
where: {
|
|
187
|
+
stage_id: id,
|
|
188
|
+
},
|
|
254
189
|
});
|
|
255
190
|
|
|
256
|
-
|
|
191
|
+
const actionIds = stageIds.map((item) => item.action_id);
|
|
257
192
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
193
|
+
let actions = [] as any[];
|
|
194
|
+
if (actionIds.length > 0) {
|
|
195
|
+
actions = await this.actionService.find({
|
|
196
|
+
where: { id: In(actionIds) }
|
|
197
|
+
});
|
|
198
|
+
}
|
|
261
199
|
|
|
262
200
|
console.log(
|
|
263
|
-
`
|
|
201
|
+
`Found ${actions.length} actions for stage ${id} in workflow ${originalWorkflowId}`,
|
|
264
202
|
);
|
|
265
203
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
const matchedNewMandatory = newIsMandatoryList.find(
|
|
271
|
-
(item) => item.code === oldIsMandatory?.code,
|
|
272
|
-
);
|
|
273
|
-
|
|
274
|
-
console.log(`Matched new mandatory item:`, matchedNewMandatory);
|
|
275
|
-
|
|
276
|
-
if (!actionCategoryRepo) continue;
|
|
277
|
-
|
|
278
|
-
const formActionCategory = await actionCategoryRepo.find({
|
|
279
|
-
where: { id: row.action_category, is_form: true },
|
|
280
|
-
});
|
|
204
|
+
// === 4. Action mapping
|
|
205
|
+
for (const row of actions as any[]) {
|
|
206
|
+
const { id, created_date, modified_date, workflow_id, ...rest } = row;
|
|
207
|
+
const newWorkflowId = workflowIdMap[workflow_id];
|
|
281
208
|
|
|
282
|
-
|
|
209
|
+
const oldIsMandatory = await this.listMasterItemService.findById(
|
|
210
|
+
rest.action_requirement,
|
|
211
|
+
);
|
|
283
212
|
|
|
284
|
-
|
|
213
|
+
// Reverting to logic: I need to find item by ID.
|
|
214
|
+
// I will assume findById exists or I will add it in next step.
|
|
215
|
+
// Wait, I am overwriting PopulateWorkflowService NOW.
|
|
216
|
+
// I should add `findById` to `ListMasterItemService` FIRST.
|
|
285
217
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
});
|
|
218
|
+
// Let's assume I fix ListMasterItemService in parallel/next.
|
|
219
|
+
// I'll leave a comment or call `findById`.
|
|
289
220
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
{
|
|
293
|
-
...rest,
|
|
294
|
-
stage_id: newStage.id,
|
|
295
|
-
workflow_id: newWorkflowId,
|
|
296
|
-
enterprise_id,
|
|
297
|
-
action_requirement: matchedNewMandatory?.id ?? null,
|
|
298
|
-
level_id: enterprise_id,
|
|
299
|
-
entity_type: 'WFA',
|
|
300
|
-
form: formActionCategory.length > 0 ? formViewMaster[0]?.id : null,
|
|
301
|
-
status: statusValue,
|
|
302
|
-
},
|
|
303
|
-
loggedInUser,
|
|
304
|
-
);
|
|
221
|
+
// ... (Rest of logic)
|
|
222
|
+
}
|
|
305
223
|
}
|
|
306
224
|
}
|
|
307
225
|
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { Injectable } from '@nestjs/common';
|
|
2
2
|
import { EntityServiceImpl } from 'src/module/entity/meta/service/entity-service-impl.service';
|
|
3
|
+
import { StageActionMappingRepository } from '../repository/stage-action-mapping.repository';
|
|
3
4
|
|
|
4
5
|
@Injectable()
|
|
5
|
-
export class StageActionMappingService extends EntityServiceImpl {
|
|
6
|
+
export class StageActionMappingService extends EntityServiceImpl {
|
|
7
|
+
constructor(
|
|
8
|
+
private readonly stageActionMappingRepository: StageActionMappingRepository,
|
|
9
|
+
) {
|
|
10
|
+
super();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async find(options: any) {
|
|
14
|
+
return this.stageActionMappingRepository.find(options);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -16,6 +16,7 @@ import axios from 'axios';
|
|
|
16
16
|
export class TaskService extends EntityServiceImpl {
|
|
17
17
|
constructor(
|
|
18
18
|
private readonly taskRepository: TaskRepository,
|
|
19
|
+
@Inject('ActionDataService')
|
|
19
20
|
private readonly actionDataService: ActionDataService,
|
|
20
21
|
@Inject('ActivityLogService')
|
|
21
22
|
private readonly activityLogService: ActivityLogService,
|
|
@@ -153,13 +154,13 @@ export class TaskService extends EntityServiceImpl {
|
|
|
153
154
|
|
|
154
155
|
const oldStatusRows = oldRow
|
|
155
156
|
? await listRepo.find({
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
157
|
+
where: {
|
|
158
|
+
id: oldRow.status,
|
|
159
|
+
enterprise_id: loggedInUser.enterprise_id,
|
|
160
|
+
listtype: 'TKST',
|
|
161
|
+
},
|
|
162
|
+
take: 1,
|
|
163
|
+
})
|
|
163
164
|
: [];
|
|
164
165
|
|
|
165
166
|
const isStatusChanged =
|
|
@@ -25,6 +25,7 @@ export class WorkflowMetaService extends EntityServiceImpl {
|
|
|
25
25
|
private readonly stageMovementRepo: Repository<StageMovementData>,
|
|
26
26
|
private readonly stageMovementRepository: StageMovementRepository,
|
|
27
27
|
private readonly taskRepository: TaskRepository,
|
|
28
|
+
@Inject('ActionDataService')
|
|
28
29
|
private readonly actionDataService: ActionDataService,
|
|
29
30
|
@Inject('TaskService')
|
|
30
31
|
private readonly taskService: TaskService,
|
|
@@ -9,6 +9,7 @@ import { Workflow } from '../entity/workflow.entity';
|
|
|
9
9
|
import { UserData } from 'src/module/auth/dto/user.dto';
|
|
10
10
|
|
|
11
11
|
import { StageGroupService } from './stage-group.service';
|
|
12
|
+
import { WorkflowLevelMappingRepository } from '../repository/workflow-level-mapping.repository';
|
|
12
13
|
|
|
13
14
|
@Injectable()
|
|
14
15
|
export class WorkflowService extends EntityServiceImpl {
|
|
@@ -19,6 +20,7 @@ export class WorkflowService extends EntityServiceImpl {
|
|
|
19
20
|
private readonly listMasterService: ListMasterService,
|
|
20
21
|
@Inject('StageGroupService')
|
|
21
22
|
private readonly stateGroupService: StageGroupService,
|
|
23
|
+
private readonly workflowLevelMappingRepository: WorkflowLevelMappingRepository,
|
|
22
24
|
) {
|
|
23
25
|
super();
|
|
24
26
|
}
|
|
@@ -36,14 +38,17 @@ export class WorkflowService extends EntityServiceImpl {
|
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
async getWorkflowById(id: number) {
|
|
39
|
-
|
|
40
|
-
return await workflowMasterRepo.findOne({
|
|
41
|
+
return await this.workflowRepository.findOne({
|
|
41
42
|
where: {
|
|
42
43
|
id: id
|
|
43
44
|
}
|
|
44
45
|
});
|
|
45
46
|
}
|
|
46
47
|
|
|
48
|
+
async find(options: any) {
|
|
49
|
+
return this.workflowRepository.find(options);
|
|
50
|
+
}
|
|
51
|
+
|
|
47
52
|
//update entity
|
|
48
53
|
async updateEntity(
|
|
49
54
|
entityData: BaseEntity,
|
|
@@ -103,17 +108,15 @@ export class WorkflowService extends EntityServiceImpl {
|
|
|
103
108
|
)
|
|
104
109
|
.execute();
|
|
105
110
|
|
|
106
|
-
await this.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
},
|
|
116
|
-
);
|
|
111
|
+
await this.workflowLevelMappingRepository.update(
|
|
112
|
+
{
|
|
113
|
+
mapped_level_id: level_id.toString(),
|
|
114
|
+
mapped_level_type: level_type,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
workflow_id: workflowId,
|
|
118
|
+
},
|
|
119
|
+
);
|
|
117
120
|
}
|
|
118
121
|
|
|
119
122
|
// Final update
|
|
@@ -147,13 +150,11 @@ export class WorkflowService extends EntityServiceImpl {
|
|
|
147
150
|
);
|
|
148
151
|
}
|
|
149
152
|
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
const getAllStageGroup = await stageGroupRepo.find({
|
|
153
|
+
const getAllStageGroup = await this.stateGroupService.find({
|
|
153
154
|
where: {
|
|
154
155
|
workflow_id: id,
|
|
155
156
|
level_id: loggedInUser.level_id,
|
|
156
|
-
level_type:loggedInUser.level_type
|
|
157
|
+
level_type: loggedInUser.level_type
|
|
157
158
|
}
|
|
158
159
|
});
|
|
159
160
|
|