@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.
Files changed (33) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/package.json +2 -2
  3. package/src/lib/attachment/attachment.service.d.ts +23 -1
  4. package/src/lib/attachment/attachment.service.js +111 -24
  5. package/src/lib/attachment/attachment.service.js.map +1 -1
  6. package/src/lib/form/form-org-unit-value.validator.d.ts +21 -0
  7. package/src/lib/form/form-org-unit-value.validator.js +43 -0
  8. package/src/lib/form/form-org-unit-value.validator.js.map +1 -0
  9. package/src/lib/form/form-schema.validator.js +17 -0
  10. package/src/lib/form/form-schema.validator.js.map +1 -1
  11. package/src/lib/notification/notification.service.js +3 -1
  12. package/src/lib/notification/notification.service.js.map +1 -1
  13. package/src/lib/organization/dto/org-unit-option.object.d.ts +13 -0
  14. package/src/lib/organization/dto/org-unit-option.object.js +35 -0
  15. package/src/lib/organization/dto/org-unit-option.object.js.map +1 -0
  16. package/src/lib/organization/index.d.ts +2 -0
  17. package/src/lib/organization/index.js +2 -0
  18. package/src/lib/organization/index.js.map +1 -1
  19. package/src/lib/organization/organization-picker.queries.d.ts +17 -0
  20. package/src/lib/organization/organization-picker.queries.js +50 -0
  21. package/src/lib/organization/organization-picker.queries.js.map +1 -0
  22. package/src/lib/organization/organization.module.js +2 -0
  23. package/src/lib/organization/organization.module.js.map +1 -1
  24. package/src/lib/organization/organization.service.d.ts +17 -0
  25. package/src/lib/organization/organization.service.js +61 -0
  26. package/src/lib/organization/organization.service.js.map +1 -1
  27. package/src/lib/template/template.service.js +73 -4
  28. package/src/lib/template/template.service.js.map +1 -1
  29. package/src/lib/template/workflow-definition.validator.js +58 -8
  30. package/src/lib/template/workflow-definition.validator.js.map +1 -1
  31. package/src/lib/workflow-engine/workflow-engine.service.d.ts +59 -0
  32. package/src/lib/workflow-engine/workflow-engine.service.js +250 -15
  33. 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).map((memberId) => ({ memberId, sourceType: resolver.type }));
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}」`).map((memberId) => ({ memberId, sourceType: resolver.type }));
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, '依運算式').map((memberId) => ({ memberId, sourceType: resolver.type }));
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).then((memberIds) => memberIds.map((memberId) => ({ memberId, sourceType: resolver.type })));
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).then((memberIds) => memberIds.map((memberId) => ({ memberId, sourceType: resolver.type })));
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).then((memberIds) => memberIds.map((memberId) => ({ memberId, sourceType: resolver.type })));
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).then((memberIds) => memberIds.map((memberId) => ({ memberId, sourceType: resolver.type })));
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).then((memberIds) => memberIds.map((memberId) => ({ memberId, sourceType: resolver.type })));
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
- return this.resolveInitiatorManagerCandidates(manager, instance, resolver.levelsUp, resolver.fallback, label, resolver.preferClosestOrgUnit === true, subject).then((memberIds) => memberIds.map((memberId) => ({ memberId, sourceType: resolver.type })));
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) but never for being present, so an empty one cannot block a
5687
- * submission that has nobody to fill it yet.
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) and
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 table problem, and the
5769
- * later checks are only evaluated when the earlier ones pass.
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;