@rytass/bpm-core-nestjs-module 0.18.0 → 0.19.0
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/CHANGELOG.md +31 -0
- package/package.json +2 -2
- package/src/lib/attachment/attachment.service.d.ts +23 -1
- package/src/lib/attachment/attachment.service.js +111 -24
- package/src/lib/attachment/attachment.service.js.map +1 -1
- package/src/lib/form/form-org-unit-value.validator.d.ts +21 -0
- package/src/lib/form/form-org-unit-value.validator.js +43 -0
- package/src/lib/form/form-org-unit-value.validator.js.map +1 -0
- package/src/lib/form/form-schema.validator.js +17 -0
- package/src/lib/form/form-schema.validator.js.map +1 -1
- package/src/lib/notification/notification.service.js +3 -1
- package/src/lib/notification/notification.service.js.map +1 -1
- package/src/lib/organization/dto/org-unit-option.object.d.ts +13 -0
- package/src/lib/organization/dto/org-unit-option.object.js +35 -0
- package/src/lib/organization/dto/org-unit-option.object.js.map +1 -0
- package/src/lib/organization/index.d.ts +2 -0
- package/src/lib/organization/index.js +2 -0
- package/src/lib/organization/index.js.map +1 -1
- package/src/lib/organization/organization-picker.queries.d.ts +17 -0
- package/src/lib/organization/organization-picker.queries.js +50 -0
- package/src/lib/organization/organization-picker.queries.js.map +1 -0
- package/src/lib/organization/organization.module.js +2 -0
- package/src/lib/organization/organization.module.js.map +1 -1
- package/src/lib/organization/organization.service.d.ts +17 -0
- package/src/lib/organization/organization.service.js +61 -0
- package/src/lib/organization/organization.service.js.map +1 -1
- package/src/lib/template/template.service.js +73 -4
- package/src/lib/template/template.service.js.map +1 -1
- package/src/lib/template/workflow-definition.validator.js +58 -8
- package/src/lib/template/workflow-definition.validator.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.service.d.ts +59 -0
- package/src/lib/workflow-engine/workflow-engine.service.js +250 -15
- package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-definition.validator.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/workflow-definition.validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-definition.validator.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/workflow-definition.validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,6 +127,13 @@ export interface ExpireApprovalInstanceCommand {
|
|
|
127
127
|
readonly taskId?: string | null;
|
|
128
128
|
}
|
|
129
129
|
export interface DecideTaskOptions {
|
|
130
|
+
/**
|
|
131
|
+
* Set when the engine itself, not a person, made this decision. An approval
|
|
132
|
+
* marked `'SLA_AUTO_APPROVE'` is written to the TASK_DECIDED activity
|
|
133
|
+
* payload as `automatic`, so a later `NODE_ACTOR` / `NODE_ACTOR_MANAGER`
|
|
134
|
+
* node can tell a timeout from someone who actually signed.
|
|
135
|
+
*/
|
|
136
|
+
readonly automatic?: 'SLA_AUTO_APPROVE';
|
|
130
137
|
/**
|
|
131
138
|
* Reason stamped on the delegation-chain step when the decision is a
|
|
132
139
|
* transfer. Defaults to {@link MANUAL_TRANSFER_DELEGATION_REASON}.
|
|
@@ -495,6 +502,49 @@ export declare class WorkflowEngineService {
|
|
|
495
502
|
*/
|
|
496
503
|
private readTransferTargetRequiredGrade;
|
|
497
504
|
private resolveApproverResolver;
|
|
505
|
+
/** The member ids `resolver` routes to; every source type, one branch each. */
|
|
506
|
+
private resolveApproverMemberIds;
|
|
507
|
+
/**
|
|
508
|
+
* FORM_MEMBER_MANAGER: the manager of the one person picked on the form.
|
|
509
|
+
* The picked person is the starting point and is kept out of every level's
|
|
510
|
+
* result, so a unit head who is picked is handed to the tier above instead
|
|
511
|
+
* of coming back as his own manager.
|
|
512
|
+
*/
|
|
513
|
+
private resolveFormMemberManagerCandidates;
|
|
514
|
+
/**
|
|
515
|
+
* FORM_ORG_UNIT_MANAGER: the manager of the organisation unit picked on the
|
|
516
|
+
* form, through the same rules as a fixed ORG_UNIT_MANAGER. A deleted unit
|
|
517
|
+
* resolves to nobody and takes the "no manager" path.
|
|
518
|
+
*/
|
|
519
|
+
private resolveFormOrgUnitManagerCandidates;
|
|
520
|
+
/**
|
|
521
|
+
* NODE_ACTOR: the people who actually approved the listed earlier nodes.
|
|
522
|
+
* A node nobody approved (never ran, cancelled, or approved only by the SLA
|
|
523
|
+
* timeout) is an error rather than an empty list: handing the task to
|
|
524
|
+
* nobody would stall the instance without saying why.
|
|
525
|
+
*/
|
|
526
|
+
private resolveNodeActorCandidates;
|
|
527
|
+
/**
|
|
528
|
+
* NODE_ACTOR_MANAGER: the managers `levelsUp` tiers above each person who
|
|
529
|
+
* actually approved the listed nodes, as one set. An approver without a
|
|
530
|
+
* manager is skipped; the fallback runs only when nobody is left.
|
|
531
|
+
*/
|
|
532
|
+
private resolveNodeActorManagerCandidates;
|
|
533
|
+
/**
|
|
534
|
+
* The people who approved the most recent batch of tasks among `nodeIds`,
|
|
535
|
+
* earliest decision first, each once. Read through `manager` so an approval
|
|
536
|
+
* written earlier in the same transaction (the one that is advancing the
|
|
537
|
+
* instance right now) is visible.
|
|
538
|
+
*
|
|
539
|
+
* A batch is the non-ad-hoc tasks of one node on one token: a token never
|
|
540
|
+
* passes a node twice (a return opens a new token, a transfer's replacement
|
|
541
|
+
* task keeps the token), so a later round is a later batch. Tasks created in
|
|
542
|
+
* the same transaction share a `created_at`, so every (node, token) tied for
|
|
543
|
+
* newest counts as one batch. An older batch is never used in place of a
|
|
544
|
+
* newest one nobody approved. Ad-hoc approvals, approvals on cancelled
|
|
545
|
+
* tasks and approvals the SLA timeout made do not count.
|
|
546
|
+
*/
|
|
547
|
+
private readNodeActorMemberIds;
|
|
498
548
|
private resolvePositionCandidates;
|
|
499
549
|
/**
|
|
500
550
|
* The members who hold the position today (organisation time zone) within
|
|
@@ -527,6 +577,15 @@ export declare class WorkflowEngineService {
|
|
|
527
577
|
private resolveFallbackAssignee;
|
|
528
578
|
private resolveManagerMemberIdsFromOrganization;
|
|
529
579
|
private resolveManagerMemberIdsAtLevel;
|
|
580
|
+
/**
|
|
581
|
+
* The managers `levelsUp` tiers above `startMemberId`. Every tier is looked
|
|
582
|
+
* up with the person it starts from excluded (as the manager chain does), so
|
|
583
|
+
* a unit head falls through to the tier above, and anyone already walked
|
|
584
|
+
* past — the starting person included — counts as nobody, so a pair of
|
|
585
|
+
* mutual managers cannot loop back. Nobody at any tier returns `[]`; the
|
|
586
|
+
* caller applies its own fallback.
|
|
587
|
+
*/
|
|
588
|
+
private resolveManagerMemberIdsExcludingSubject;
|
|
530
589
|
private resolveDirectManagerMemberIds;
|
|
531
590
|
private resolveOrgUnitManagerCandidates;
|
|
532
591
|
private readOrgUnitAndAncestors;
|
|
@@ -18,6 +18,7 @@ const form_definition_version_entity_1 = require("../form/form-definition-versio
|
|
|
18
18
|
const form_enums_1 = require("../form/form.enums");
|
|
19
19
|
const form_data_source_errors_1 = require("../form-data-source/form-data-source.errors");
|
|
20
20
|
const form_member_value_validator_1 = require("../form/form-member-value.validator");
|
|
21
|
+
const form_org_unit_value_validator_1 = require("../form/form-org-unit-value.validator");
|
|
21
22
|
const form_data_source_types_1 = require("../form-data-source/form-data-source.types");
|
|
22
23
|
const sla_schedule_service_1 = require("../calendar/sla-schedule.service");
|
|
23
24
|
const notification_service_1 = require("../notification/notification.service");
|
|
@@ -260,6 +261,7 @@ let WorkflowEngineService = WorkflowEngineService_1 = class WorkflowEngineServic
|
|
|
260
261
|
await this.attachmentService.bindFormDataAttachmentsToInstance(manager, {
|
|
261
262
|
formData,
|
|
262
263
|
instanceId: instance.id,
|
|
264
|
+
schema: formDefinitionVersion.schema,
|
|
263
265
|
});
|
|
264
266
|
const token = await tokenRepository.save(tokenRepository.create({
|
|
265
267
|
consumedAt: null,
|
|
@@ -682,6 +684,9 @@ let WorkflowEngineService = WorkflowEngineService_1 = class WorkflowEngineServic
|
|
|
682
684
|
decisionId: decision.id,
|
|
683
685
|
signatureId: signature.id,
|
|
684
686
|
signedPayloadHash: signature.signedPayloadHash,
|
|
687
|
+
// Absent for a person's decision, so "who actually signed" can
|
|
688
|
+
// tell the engine's own timeout approvals apart.
|
|
689
|
+
...(options.automatic ? { automatic: options.automatic } : {}),
|
|
685
690
|
// Keys only: this payload is forwarded to hosts, and the values
|
|
686
691
|
// can be tax IDs or amounts.
|
|
687
692
|
...(changedFieldKeys.length > 0 ? { changedFieldKeys } : {}),
|
|
@@ -907,6 +912,14 @@ let WorkflowEngineService = WorkflowEngineService_1 = class WorkflowEngineServic
|
|
|
907
912
|
await this.attachmentService.bindFormDataAttachmentsToInstance(manager, {
|
|
908
913
|
formData,
|
|
909
914
|
instanceId: instance.id,
|
|
915
|
+
schema: resubmitSchema,
|
|
916
|
+
});
|
|
917
|
+
// A file the applicant removed from a field leaves the instance too,
|
|
918
|
+
// so its attachment list matches the form it was resubmitted with.
|
|
919
|
+
await this.attachmentService.releaseUnreferencedFormAttachments(manager, {
|
|
920
|
+
formData,
|
|
921
|
+
instanceId: instance.id,
|
|
922
|
+
schema: resubmitSchema,
|
|
910
923
|
});
|
|
911
924
|
const returnedContext = await this.readLatestReturnedInstanceContext(manager, instance.id);
|
|
912
925
|
const runtimeInstance = returnedContext?.resubmitStrategy === 'FROM_RETURN_POINT'
|
|
@@ -1826,6 +1839,16 @@ let WorkflowEngineService = WorkflowEngineService_1 = class WorkflowEngineServic
|
|
|
1826
1839
|
resolveDryRunAssignment(input, node) {
|
|
1827
1840
|
const resolver = node.data.approverResolver;
|
|
1828
1841
|
const excludeInitiator = node.data.excludeInitiator;
|
|
1842
|
+
const unsupportedType = (0, workflow_1.readUnsupportedApproverResolverType)(resolver);
|
|
1843
|
+
// A source from a newer engine cannot be simulated. Say so and end the
|
|
1844
|
+
// branch instead of showing its type name as if it were a person.
|
|
1845
|
+
if (unsupportedType !== null) {
|
|
1846
|
+
return {
|
|
1847
|
+
assigneeMemberId: null,
|
|
1848
|
+
message: `簽核節點「${readDryRunNodeName(node)}」此引擎版本不支援簽核人來源「${unsupportedType}」,請升級 BPMCore 後再試`,
|
|
1849
|
+
outcome: 'STOPPED',
|
|
1850
|
+
};
|
|
1851
|
+
}
|
|
1829
1852
|
const memberIds = this.readDryRunMemberIds(input, resolver, `workflow.nodes.${node.id}.data.approverResolver`);
|
|
1830
1853
|
if (memberIds === null) {
|
|
1831
1854
|
return {
|
|
@@ -1911,6 +1934,8 @@ let WorkflowEngineService = WorkflowEngineService_1 = class WorkflowEngineServic
|
|
|
1911
1934
|
? managerMemberIds
|
|
1912
1935
|
: readDryRunFallbackMemberIds(input, resolver.fallback);
|
|
1913
1936
|
}
|
|
1937
|
+
// The form pick, the unit's rules and an earlier node's outcome are not
|
|
1938
|
+
// known before the instance runs: these stand in as placeholders.
|
|
1914
1939
|
return null;
|
|
1915
1940
|
}
|
|
1916
1941
|
async getApprovalInstance(id, scope) {
|
|
@@ -3906,31 +3931,175 @@ let WorkflowEngineService = WorkflowEngineService_1 = class WorkflowEngineServic
|
|
|
3906
3931
|
: null;
|
|
3907
3932
|
}
|
|
3908
3933
|
async resolveApproverResolver(manager, instance, resolver, label, subject = '簽核人', skippedChainMemberIds = []) {
|
|
3934
|
+
const memberIds = await this.resolveApproverMemberIds(manager, instance, resolver, label, subject, skippedChainMemberIds);
|
|
3935
|
+
return memberIds.map((memberId) => ({
|
|
3936
|
+
memberId,
|
|
3937
|
+
sourceType: resolver.type,
|
|
3938
|
+
}));
|
|
3939
|
+
}
|
|
3940
|
+
/** The member ids `resolver` routes to; every source type, one branch each. */
|
|
3941
|
+
async resolveApproverMemberIds(manager, instance, resolver, label, subject, skippedChainMemberIds) {
|
|
3909
3942
|
if (resolver.type === 'DIRECT') {
|
|
3910
|
-
return readMemberIdsFromValue(resolver.memberIds, label, subject)
|
|
3943
|
+
return readMemberIdsFromValue(resolver.memberIds, label, subject);
|
|
3911
3944
|
}
|
|
3912
3945
|
if (resolver.type === 'DYNAMIC_FORM') {
|
|
3913
|
-
return readMemberIdsFromValue(readValueAtPath(instance.formData, resolver.formPath), label, subject, `依表單欄位「${resolver.formPath}」`)
|
|
3946
|
+
return readMemberIdsFromValue(readValueAtPath(instance.formData, resolver.formPath), label, subject, `依表單欄位「${resolver.formPath}」`);
|
|
3914
3947
|
}
|
|
3915
3948
|
if (resolver.type === 'EXPRESSION') {
|
|
3916
|
-
return readMemberIdsFromValue(this.conditionService.evaluateValue(resolver.expression, buildWorkflowExpressionContext(instance), `${label}.expression`), label, subject, '依運算式')
|
|
3949
|
+
return readMemberIdsFromValue(this.conditionService.evaluateValue(resolver.expression, buildWorkflowExpressionContext(instance), `${label}.expression`), label, subject, '依運算式');
|
|
3917
3950
|
}
|
|
3918
3951
|
if (resolver.type === 'POSITION') {
|
|
3919
|
-
return this.resolvePositionCandidates(manager, resolver.positionId, label, subject)
|
|
3952
|
+
return this.resolvePositionCandidates(manager, resolver.positionId, label, subject);
|
|
3920
3953
|
}
|
|
3921
3954
|
if (resolver.type === 'ORG_UNIT_MEMBER') {
|
|
3922
|
-
return this.resolveOrgUnitMemberCandidates(manager, resolver.orgUnitId, Boolean(resolver.includeDescendants), label, subject)
|
|
3955
|
+
return this.resolveOrgUnitMemberCandidates(manager, resolver.orgUnitId, Boolean(resolver.includeDescendants), label, subject);
|
|
3923
3956
|
}
|
|
3924
3957
|
if (resolver.type === 'ORG_UNIT_POSITION') {
|
|
3925
|
-
return this.resolveOrgUnitPositionCandidates(manager, resolver.orgUnitId, resolver.positionId, Boolean(resolver.includeDescendants), label, subject)
|
|
3958
|
+
return this.resolveOrgUnitPositionCandidates(manager, resolver.orgUnitId, resolver.positionId, Boolean(resolver.includeDescendants), label, subject);
|
|
3926
3959
|
}
|
|
3927
3960
|
if (resolver.type === 'ORG_UNIT_MANAGER') {
|
|
3928
|
-
return this.resolveOrgUnitManagerCandidates(manager, instance, resolver.orgUnitId, resolver.fallback, label, resolver.preferClosestOrgUnit === true, subject)
|
|
3961
|
+
return this.resolveOrgUnitManagerCandidates(manager, instance, resolver.orgUnitId, resolver.fallback, label, resolver.preferClosestOrgUnit === true, subject);
|
|
3929
3962
|
}
|
|
3930
3963
|
if (resolver.type === 'ORG_MANAGER_CHAIN') {
|
|
3931
|
-
return this.resolveOrgManagerChainCandidates(manager, instance, resolver.minPositionLevel, resolver.fallback, label, subject, skippedChainMemberIds)
|
|
3964
|
+
return this.resolveOrgManagerChainCandidates(manager, instance, resolver.minPositionLevel, resolver.fallback, label, subject, skippedChainMemberIds);
|
|
3965
|
+
}
|
|
3966
|
+
if (resolver.type === 'ORG_MANAGER') {
|
|
3967
|
+
return this.resolveInitiatorManagerCandidates(manager, instance, resolver.levelsUp, resolver.fallback, label, resolver.preferClosestOrgUnit === true, subject);
|
|
3968
|
+
}
|
|
3969
|
+
if (resolver.type === 'FORM_MEMBER_MANAGER') {
|
|
3970
|
+
return this.resolveFormMemberManagerCandidates(manager, instance, resolver, label, subject);
|
|
3971
|
+
}
|
|
3972
|
+
if (resolver.type === 'FORM_ORG_UNIT_MANAGER') {
|
|
3973
|
+
return this.resolveFormOrgUnitManagerCandidates(manager, instance, resolver, label, subject);
|
|
3974
|
+
}
|
|
3975
|
+
if (resolver.type === 'NODE_ACTOR') {
|
|
3976
|
+
return this.resolveNodeActorCandidates(manager, instance, resolver, label, subject);
|
|
3932
3977
|
}
|
|
3933
|
-
|
|
3978
|
+
if (resolver.type === 'NODE_ACTOR_MANAGER') {
|
|
3979
|
+
return this.resolveNodeActorManagerCandidates(manager, instance, resolver, label, subject);
|
|
3980
|
+
}
|
|
3981
|
+
// A template saved by a newer engine can carry an approver source this
|
|
3982
|
+
// engine does not know. Refuse it by name instead of quietly resolving it
|
|
3983
|
+
// as the initiator's manager, which would route the task to the wrong
|
|
3984
|
+
// person. That holds as well for a source a newer shared package knows
|
|
3985
|
+
// and this engine does not route yet, so the type is named either way.
|
|
3986
|
+
const unresolvedType = resolver.type;
|
|
3987
|
+
throw new common_1.ConflictException(`${label} 無法建立${subject === '通知對象' ? '通知' : '待簽任務'}:此引擎版本不支援簽核人來源「${unresolvedType}」。請升級 BPMCore 後再發佈或執行此流程。`);
|
|
3988
|
+
}
|
|
3989
|
+
/**
|
|
3990
|
+
* FORM_MEMBER_MANAGER: the manager of the one person picked on the form.
|
|
3991
|
+
* The picked person is the starting point and is kept out of every level's
|
|
3992
|
+
* result, so a unit head who is picked is handed to the tier above instead
|
|
3993
|
+
* of coming back as his own manager.
|
|
3994
|
+
*/
|
|
3995
|
+
async resolveFormMemberManagerCandidates(manager, instance, resolver, label, subject) {
|
|
3996
|
+
const source = `依表單欄位「${resolver.formPath}」`;
|
|
3997
|
+
const pickedMemberIds = readMemberIdsFromValue(readValueAtPath(instance.formData, resolver.formPath), label, subject, source);
|
|
3998
|
+
// Picking one silently would route the document by accident.
|
|
3999
|
+
if (pickedMemberIds.length > 1) {
|
|
4000
|
+
throw new common_1.ConflictException(`${label} ${source}只能選一位人員`);
|
|
4001
|
+
}
|
|
4002
|
+
const levelsUp = readManagerLevelsUp(resolver.levelsUp);
|
|
4003
|
+
const managerMemberIds = await this.resolveManagerMemberIdsExcludingSubject(manager, pickedMemberIds[0], levelsUp, resolver.preferClosestOrgUnit === true);
|
|
4004
|
+
if (managerMemberIds.length > 0) {
|
|
4005
|
+
return managerMemberIds;
|
|
4006
|
+
}
|
|
4007
|
+
return this.resolveFallbackAssignees(manager, instance, resolver.fallback, label, subject, `找不到表單欄位「${resolver.formPath}」所選人員的第 ${levelsUp} 層主管`);
|
|
4008
|
+
}
|
|
4009
|
+
/**
|
|
4010
|
+
* FORM_ORG_UNIT_MANAGER: the manager of the organisation unit picked on the
|
|
4011
|
+
* form, through the same rules as a fixed ORG_UNIT_MANAGER. A deleted unit
|
|
4012
|
+
* resolves to nobody and takes the "no manager" path.
|
|
4013
|
+
*/
|
|
4014
|
+
async resolveFormOrgUnitManagerCandidates(manager, instance, resolver, label, subject) {
|
|
4015
|
+
const orgUnitValue = readValueAtPath(instance.formData, resolver.formPath);
|
|
4016
|
+
// A value that is not a uuid would reach the uuid column of the org unit
|
|
4017
|
+
// lookup and surface as a database error instead of this refusal.
|
|
4018
|
+
if (typeof orgUnitValue !== 'string' ||
|
|
4019
|
+
!(0, form_org_unit_value_validator_1.isSubmittableOrgUnitValue)(orgUnitValue)) {
|
|
4020
|
+
throw new common_1.ConflictException(`${label} 依表單欄位「${resolver.formPath}」找不到所選組織`);
|
|
4021
|
+
}
|
|
4022
|
+
return this.resolveOrgUnitManagerCandidates(manager, instance, orgUnitValue.trim(), resolver.fallback, label, resolver.preferClosestOrgUnit === true, subject);
|
|
4023
|
+
}
|
|
4024
|
+
/**
|
|
4025
|
+
* NODE_ACTOR: the people who actually approved the listed earlier nodes.
|
|
4026
|
+
* A node nobody approved (never ran, cancelled, or approved only by the SLA
|
|
4027
|
+
* timeout) is an error rather than an empty list: handing the task to
|
|
4028
|
+
* nobody would stall the instance without saying why.
|
|
4029
|
+
*/
|
|
4030
|
+
async resolveNodeActorCandidates(manager, instance, resolver, label, subject) {
|
|
4031
|
+
const actorMemberIds = await this.readNodeActorMemberIds(manager, instance, resolver.nodeIds);
|
|
4032
|
+
if (actorMemberIds.length === 0) {
|
|
4033
|
+
throw new common_1.ConflictException(`${label} 找不到${subject}:${readNodeActorNodeNames(instance, resolver.nodeIds)}沒有實際同意的簽核紀錄`);
|
|
4034
|
+
}
|
|
4035
|
+
return actorMemberIds;
|
|
4036
|
+
}
|
|
4037
|
+
/**
|
|
4038
|
+
* NODE_ACTOR_MANAGER: the managers `levelsUp` tiers above each person who
|
|
4039
|
+
* actually approved the listed nodes, as one set. An approver without a
|
|
4040
|
+
* manager is skipped; the fallback runs only when nobody is left.
|
|
4041
|
+
*/
|
|
4042
|
+
async resolveNodeActorManagerCandidates(manager, instance, resolver, label, subject) {
|
|
4043
|
+
const levelsUp = readManagerLevelsUp(resolver.levelsUp);
|
|
4044
|
+
const actorMemberIds = await this.readNodeActorMemberIds(manager, instance, resolver.nodeIds);
|
|
4045
|
+
const managerGroups = await Promise.all(actorMemberIds.map((actorMemberId) => this.resolveManagerMemberIdsExcludingSubject(manager, actorMemberId, levelsUp, resolver.preferClosestOrgUnit === true)));
|
|
4046
|
+
const managerMemberIds = uniqueTexts(managerGroups.flat());
|
|
4047
|
+
if (managerMemberIds.length > 0) {
|
|
4048
|
+
return managerMemberIds;
|
|
4049
|
+
}
|
|
4050
|
+
return this.resolveFallbackAssignees(manager, instance, resolver.fallback, label, subject, actorMemberIds.length === 0
|
|
4051
|
+
? `${readNodeActorNodeNames(instance, resolver.nodeIds)}沒有實際同意的簽核紀錄`
|
|
4052
|
+
: `找不到前面關卡實際簽核人的第 ${levelsUp} 層主管`);
|
|
4053
|
+
}
|
|
4054
|
+
/**
|
|
4055
|
+
* The people who approved the most recent batch of tasks among `nodeIds`,
|
|
4056
|
+
* earliest decision first, each once. Read through `manager` so an approval
|
|
4057
|
+
* written earlier in the same transaction (the one that is advancing the
|
|
4058
|
+
* instance right now) is visible.
|
|
4059
|
+
*
|
|
4060
|
+
* A batch is the non-ad-hoc tasks of one node on one token: a token never
|
|
4061
|
+
* passes a node twice (a return opens a new token, a transfer's replacement
|
|
4062
|
+
* task keeps the token), so a later round is a later batch. Tasks created in
|
|
4063
|
+
* the same transaction share a `created_at`, so every (node, token) tied for
|
|
4064
|
+
* newest counts as one batch. An older batch is never used in place of a
|
|
4065
|
+
* newest one nobody approved. Ad-hoc approvals, approvals on cancelled
|
|
4066
|
+
* tasks and approvals the SLA timeout made do not count.
|
|
4067
|
+
*/
|
|
4068
|
+
async readNodeActorMemberIds(manager, instance, nodeIds) {
|
|
4069
|
+
const tasks = await manager.getRepository(task_entity_1.TaskEntity).find({
|
|
4070
|
+
where: { instanceId: instance.id, isAdhoc: false, nodeId: (0, typeorm_2.In)([...nodeIds]) },
|
|
4071
|
+
});
|
|
4072
|
+
if (tasks.length === 0) {
|
|
4073
|
+
return [];
|
|
4074
|
+
}
|
|
4075
|
+
const newestCreatedAt = Math.max(...tasks.map((task) => task.createdAt.getTime()));
|
|
4076
|
+
const newestTasks = tasks.filter((task) => task.createdAt.getTime() === newestCreatedAt);
|
|
4077
|
+
const batchTaskIds = tasks
|
|
4078
|
+
.filter((task) => task.status !== workflow_engine_enums_1.TaskStatusEnum.CANCELLED &&
|
|
4079
|
+
newestTasks.some((newest) => newest.nodeId === task.nodeId && newest.tokenId === task.tokenId))
|
|
4080
|
+
.map((task) => task.id);
|
|
4081
|
+
if (batchTaskIds.length === 0) {
|
|
4082
|
+
return [];
|
|
4083
|
+
}
|
|
4084
|
+
const [decisions, decidedLogs] = await Promise.all([
|
|
4085
|
+
manager.getRepository(task_decision_entity_1.TaskDecisionEntity).find({
|
|
4086
|
+
where: { action: workflow_engine_enums_1.TaskDecisionActionEnum.APPROVED, taskId: (0, typeorm_2.In)(batchTaskIds) },
|
|
4087
|
+
}),
|
|
4088
|
+
manager.getRepository(activity_log_entity_1.ActivityLogEntity).find({
|
|
4089
|
+
where: {
|
|
4090
|
+
eventType: workflow_engine_enums_1.ActivityLogEventTypeEnum.TASK_DECIDED,
|
|
4091
|
+
instanceId: instance.id,
|
|
4092
|
+
taskId: (0, typeorm_2.In)(batchTaskIds),
|
|
4093
|
+
},
|
|
4094
|
+
}),
|
|
4095
|
+
]);
|
|
4096
|
+
const automaticDecisionIds = new Set(decidedLogs
|
|
4097
|
+
.filter((log) => log.payload['automatic'] === SLA_AUTO_APPROVE_MARK)
|
|
4098
|
+
.map((log) => log.payload['decisionId']));
|
|
4099
|
+
return uniqueTexts([...decisions]
|
|
4100
|
+
.filter((decision) => !automaticDecisionIds.has(decision.id))
|
|
4101
|
+
.sort((first, second) => first.decidedAt.getTime() - second.decidedAt.getTime())
|
|
4102
|
+
.map((decision) => decision.decidedByMemberId));
|
|
3934
4103
|
}
|
|
3935
4104
|
async resolvePositionCandidates(manager, positionId, label, subject) {
|
|
3936
4105
|
const memberIds = await this.readActivePositionMemberIds(manager, positionId);
|
|
@@ -4115,6 +4284,29 @@ let WorkflowEngineService = WorkflowEngineService_1 = class WorkflowEngineServic
|
|
|
4115
4284
|
const nextLevelGroups = await Promise.all(directManagerMemberIds.map((managerMemberId) => this.resolveManagerMemberIdsAtLevel(manager, managerMemberId, date, remainingLevels - 1, preferClosestOrgUnit)));
|
|
4116
4285
|
return uniqueTexts(nextLevelGroups.flat());
|
|
4117
4286
|
}
|
|
4287
|
+
/**
|
|
4288
|
+
* The managers `levelsUp` tiers above `startMemberId`. Every tier is looked
|
|
4289
|
+
* up with the person it starts from excluded (as the manager chain does), so
|
|
4290
|
+
* a unit head falls through to the tier above, and anyone already walked
|
|
4291
|
+
* past — the starting person included — counts as nobody, so a pair of
|
|
4292
|
+
* mutual managers cannot loop back. Nobody at any tier returns `[]`; the
|
|
4293
|
+
* caller applies its own fallback.
|
|
4294
|
+
*/
|
|
4295
|
+
async resolveManagerMemberIdsExcludingSubject(manager, startMemberId, levelsUp, preferClosestOrgUnit) {
|
|
4296
|
+
const date = this.readOrganizationToday();
|
|
4297
|
+
let walkedMemberIds = [startMemberId];
|
|
4298
|
+
let currentMemberIds = [startMemberId];
|
|
4299
|
+
for (let level = 0; level < levelsUp; level += 1) {
|
|
4300
|
+
const managerGroups = await Promise.all(currentMemberIds.map((memberId) => this.resolveDirectManagerMemberIds(manager, memberId, date, preferClosestOrgUnit, [memberId])));
|
|
4301
|
+
const nextMemberIds = uniqueTexts(managerGroups.flat()).filter((memberId) => !walkedMemberIds.includes(memberId));
|
|
4302
|
+
if (nextMemberIds.length === 0) {
|
|
4303
|
+
return [];
|
|
4304
|
+
}
|
|
4305
|
+
walkedMemberIds = [...walkedMemberIds, ...nextMemberIds];
|
|
4306
|
+
currentMemberIds = nextMemberIds;
|
|
4307
|
+
}
|
|
4308
|
+
return currentMemberIds;
|
|
4309
|
+
}
|
|
4118
4310
|
async resolveDirectManagerMemberIds(manager, memberId, date, preferClosestOrgUnit, excludedManagerMemberIds = []) {
|
|
4119
4311
|
const memberships = await manager.getRepository(membership_entity_1.MembershipEntity).find({
|
|
4120
4312
|
where: { memberId },
|
|
@@ -4338,6 +4530,14 @@ let WorkflowEngineService = WorkflowEngineService_1 = class WorkflowEngineServic
|
|
|
4338
4530
|
await this.advanceTokenToOutgoingNodes(manager, updatedInstance, token, node);
|
|
4339
4531
|
return;
|
|
4340
4532
|
}
|
|
4533
|
+
// The sources that read the form or an earlier node's outcome are not
|
|
4534
|
+
// offered to a notify node (the publish lint refuses them); a definition
|
|
4535
|
+
// that reaches here with one anyway is refused by name. A type this
|
|
4536
|
+
// engine does not know is left to the resolver's own refusal below.
|
|
4537
|
+
if ((0, workflow_1.readUnsupportedApproverResolverType)(action.recipients) === null &&
|
|
4538
|
+
!(0, workflow_1.isNotifyRecipientResolverType)(action.recipients.type)) {
|
|
4539
|
+
throw new common_1.ConflictException(`知會節點「${node.data.label}」不能使用簽核人來源「${action.recipients.type}」當收件人,請改用指定人員、職位、組織或主管`);
|
|
4540
|
+
}
|
|
4341
4541
|
// A webhook-only NOTIFY node names nobody. Resolving its empty DIRECT
|
|
4342
4542
|
// resolver would throw and roll back the submit or decision that reached
|
|
4343
4543
|
// it, so skip member resolution; webhooks are delivered separately.
|
|
@@ -4983,6 +5183,17 @@ function readWorkflowNodeLabel(workflow, nodeId) {
|
|
|
4983
5183
|
?.data.label;
|
|
4984
5184
|
return typeof label === 'string' && label.trim() ? label : null;
|
|
4985
5185
|
}
|
|
5186
|
+
/** A stored `levelsUp` as a whole number of tiers, at least one. */
|
|
5187
|
+
function readManagerLevelsUp(levelsUp) {
|
|
5188
|
+
return Number.isFinite(levelsUp) ? Math.max(Math.trunc(levelsUp), 1) : 1;
|
|
5189
|
+
}
|
|
5190
|
+
const SLA_AUTO_APPROVE_MARK = 'SLA_AUTO_APPROVE';
|
|
5191
|
+
/** 關卡「名稱」(、關卡「名稱」…) for an error line; a missing node shows its id. */
|
|
5192
|
+
function readNodeActorNodeNames(instance, nodeIds) {
|
|
5193
|
+
return nodeIds
|
|
5194
|
+
.map((nodeId) => `關卡「${readWorkflowNodeLabel(instance.workflowSnapshot, nodeId) ?? nodeId}」`)
|
|
5195
|
+
.join('、');
|
|
5196
|
+
}
|
|
4986
5197
|
function readWorkflowNodeOrThrow(workflow, nodeId) {
|
|
4987
5198
|
const node = workflow.nodes.find((candidate) => candidate.id === nodeId);
|
|
4988
5199
|
if (!node) {
|
|
@@ -5683,8 +5894,9 @@ function readCandidateStatusForClosedTask(taskStatus) {
|
|
|
5683
5894
|
/**
|
|
5684
5895
|
* `deferredFieldKeys` are fields an approver fills in later: they are checked
|
|
5685
5896
|
* for shape (a table is an array of well-formed rows, a member value is a
|
|
5686
|
-
* member id
|
|
5687
|
-
* submission that has nobody to
|
|
5897
|
+
* member id, an org unit value is an organization unit id) but never for
|
|
5898
|
+
* being present, so an empty one cannot block a submission that has nobody to
|
|
5899
|
+
* fill it yet.
|
|
5688
5900
|
*/
|
|
5689
5901
|
function validateSubmittedFormData(schema, formData, options = {}) {
|
|
5690
5902
|
const deferredFieldKeys = options.deferredFieldKeys ?? new Set();
|
|
@@ -5724,6 +5936,10 @@ function validateSubmittedFormData(schema, formData, options = {}) {
|
|
|
5724
5936
|
// above.
|
|
5725
5937
|
readMemberErrors: () => (0, form_member_value_validator_1.readSubmittedMemberValueErrors)(schema.fields.filter((field) => visibleFields.includes(field) ||
|
|
5726
5938
|
isSubmittedFieldValuePresent(formData[field.fieldKey])), formData),
|
|
5939
|
+
// A `FORM_ORG_UNIT_MANAGER` resolver reads the unit whether or not its
|
|
5940
|
+
// field is visible, so a hidden field still holding a value is checked too.
|
|
5941
|
+
readOrgUnitErrors: () => (0, form_org_unit_value_validator_1.readSubmittedOrgUnitValueErrors)(schema.fields.filter((field) => visibleFields.includes(field) ||
|
|
5942
|
+
isSubmittedFieldValuePresent(formData[field.fieldKey])), formData),
|
|
5727
5943
|
readTableErrors: () => [
|
|
5728
5944
|
...visibleFields
|
|
5729
5945
|
.filter(form_1.isTableFieldDefinition)
|
|
@@ -5741,7 +5957,8 @@ function validateSubmittedFormData(schema, formData, options = {}) {
|
|
|
5741
5957
|
/**
|
|
5742
5958
|
* What an approval at a node has to leave behind: every field the node lets the
|
|
5743
5959
|
* approver fill in is well-formed (a table is an array of well-formed rows with
|
|
5744
|
-
* its required columns and minimum rows, a member value is a member id
|
|
5960
|
+
* its required columns and minimum rows, a member value is a member id, an
|
|
5961
|
+
* org unit value is an organization unit id) and
|
|
5745
5962
|
* every one the node marks `required` is present. The messages are the submit
|
|
5746
5963
|
* ones: a host tells the two entry points apart by which call it made.
|
|
5747
5964
|
*/
|
|
@@ -5757,6 +5974,7 @@ function validateFilledFormFields(schema, formData, fieldKeys, requiredFieldKeys
|
|
|
5757
5974
|
(0, bpm_core_shared_1.isFormDataValueEmpty)(readRowCellValue(formData, field.fieldKey))),
|
|
5758
5975
|
readTextErrors: () => fields.flatMap((field) => readSubmittedTextValueErrors(field, readRowCellValue(formData, field.fieldKey), { testPattern })),
|
|
5759
5976
|
readMemberErrors: () => (0, form_member_value_validator_1.readSubmittedMemberValueErrors)(fields, formData),
|
|
5977
|
+
readOrgUnitErrors: () => (0, form_org_unit_value_validator_1.readSubmittedOrgUnitValueErrors)(fields, formData),
|
|
5760
5978
|
readTableErrors: () => fields
|
|
5761
5979
|
.filter(form_1.isTableFieldDefinition)
|
|
5762
5980
|
.flatMap((field) => validateSubmittedTableValue(field, readRowCellValue(formData, field.fieldKey), requiredFieldKeys.has(field.fieldKey), testPattern)),
|
|
@@ -5765,10 +5983,11 @@ function validateFilledFormFields(schema, formData, fieldKeys, requiredFieldKeys
|
|
|
5765
5983
|
/**
|
|
5766
5984
|
* The shared tail of submit and approver-fill validation: a missing required
|
|
5767
5985
|
* field wins over a text value breaking its length or format rule, which wins
|
|
5768
|
-
* over a malformed member value, which wins over a
|
|
5769
|
-
*
|
|
5986
|
+
* over a malformed member value, which wins over a malformed org unit value,
|
|
5987
|
+
* which wins over a table problem, and the later checks are only evaluated
|
|
5988
|
+
* when the earlier ones pass.
|
|
5770
5989
|
*/
|
|
5771
|
-
function throwFirstFormDataFieldError({ missingFields, readMemberErrors, readTableErrors, readTextErrors, }) {
|
|
5990
|
+
function throwFirstFormDataFieldError({ missingFields, readMemberErrors, readOrgUnitErrors, readTableErrors, readTextErrors, }) {
|
|
5772
5991
|
if (missingFields.length > 0) {
|
|
5773
5992
|
throw new common_1.BadRequestException(`Form data is missing required fields: ${missingFields
|
|
5774
5993
|
.map((field) => field.label || field.fieldKey)
|
|
@@ -5782,6 +6001,10 @@ function throwFirstFormDataFieldError({ missingFields, readMemberErrors, readTab
|
|
|
5782
6001
|
if (memberErrors.length > 0) {
|
|
5783
6002
|
throw new common_1.BadRequestException(memberErrors.join('; '));
|
|
5784
6003
|
}
|
|
6004
|
+
const orgUnitErrors = readOrgUnitErrors();
|
|
6005
|
+
if (orgUnitErrors.length > 0) {
|
|
6006
|
+
throw new common_1.BadRequestException(orgUnitErrors.join('; '));
|
|
6007
|
+
}
|
|
5785
6008
|
const tableErrors = readTableErrors();
|
|
5786
6009
|
if (tableErrors.length > 0) {
|
|
5787
6010
|
throw new common_1.BadRequestException(tableErrors.join('; '));
|
|
@@ -6134,6 +6357,18 @@ function readDryRunPlaceholderAssignee(resolver) {
|
|
|
6134
6357
|
if (resolver.type === 'ORG_UNIT_MANAGER') {
|
|
6135
6358
|
return `orgUnitManager:${resolver.orgUnitId}`;
|
|
6136
6359
|
}
|
|
6360
|
+
if (resolver.type === 'FORM_MEMBER_MANAGER') {
|
|
6361
|
+
return `formMemberManager:${resolver.formPath}:${resolver.levelsUp}`;
|
|
6362
|
+
}
|
|
6363
|
+
if (resolver.type === 'FORM_ORG_UNIT_MANAGER') {
|
|
6364
|
+
return `formOrgUnitManager:${resolver.formPath}`;
|
|
6365
|
+
}
|
|
6366
|
+
if (resolver.type === 'NODE_ACTOR') {
|
|
6367
|
+
return `nodeActor:${resolver.nodeIds.join(',')}`;
|
|
6368
|
+
}
|
|
6369
|
+
if (resolver.type === 'NODE_ACTOR_MANAGER') {
|
|
6370
|
+
return `nodeActorManager:${resolver.nodeIds.join(',')}:${resolver.levelsUp}`;
|
|
6371
|
+
}
|
|
6137
6372
|
return resolver.type === 'ORG_MANAGER_CHAIN'
|
|
6138
6373
|
? `orgManagerChain:${resolver.minPositionLevel}`
|
|
6139
6374
|
: resolver.type;
|