Package com.codingapi.flow.session
Class FlowSession
java.lang.Object
com.codingapi.flow.session.FlowSession
流程会话对象
-
Constructor Summary
ConstructorsConstructorDescriptionFlowSession(IRepositoryHolder repositoryHolder, IFlowOperator currentOperator, IFlowOperator createdOperator, IFlowOperator submitOperator, Workflow workflow, IFlowNode currentNode, IFlowAction currentAction, FormData formData, FlowRecord currentRecord, List<FlowRecord> currentNodeRecords, long workflowRuntimeId, FlowAdvice advice) -
Method Summary
Modifier and TypeMethodDescriptionfindSubProcessRecords(String subProcessNodeId) 查询当前主流程中指定子流程节点已经结束的最终记录。获取本次刚结束的子流程最终记录。getFormData(String fieldCode) 获取表单数据获取节点获取流程开始节点long获取流程的提交者Id获取流程的提交者名称int获取本次子流程节点创建的实例总数。获取流程设计编号booleanisMock()是否是mockloadFinalForwardOperator(IFlowOperator currentOperator) 获取转交之后的审批人获取上一节点的审批人员Id列表。获取下一节点列表static FlowSessionstartSession(IRepositoryHolder repositoryHolder, IFlowOperator currentOperator, Workflow workflow, IFlowNode currentNode, IFlowAction currentAction, FormData formData, long backupId) 构建开始会话创建流程动作请求,用于自定义脚本的执行创建流程请求,用于自流程的创建toCreateRequest(String workCode, long operatorId, String actionId, String formData) 创建流程请求,用于自流程的创建toCreateRequest(String workCode, long operatorId, String actionId, String formData, String workTitle) 创建流程请求,用于自流程的创建(支持手动传入流程标题)创建流程请求,用于自流程的创建toCreateRequest(String workCode, long operatorId, String actionId, Map<String, Object> formData, String workTitle) 创建流程请求,用于自流程的创建(支持手动传入流程标题)updateSession(IFlowAction currentAction) 更新会话updateSession(IFlowNode currentNode) 更新会话updateSession(IFlowOperator currentOperator) 更新会话void校验表单字段
-
Constructor Details
-
FlowSession
public FlowSession(IRepositoryHolder repositoryHolder, IFlowOperator currentOperator, IFlowOperator createdOperator, IFlowOperator submitOperator, Workflow workflow, IFlowNode currentNode, IFlowAction currentAction, FormData formData, FlowRecord currentRecord, List<FlowRecord> currentNodeRecords, long workflowRuntimeId, FlowAdvice advice)
-
-
Method Details
-
isMock
public boolean isMock()是否是mock -
loadPreviousNodeOperatorIds
获取上一节点的审批人员Id列表。以当前流程记录所在节点作为上一节点,按 fromId 查询该节点的流程记录, 提取实际审批过的人员Id并去重、排序后返回。
多人审批(或签/并签)场景下,节点完成后其他候选人的待办会被自动置为已办 (自动跳过,
FlowRecord.isAutoDone()),但他们并未实际审批,取数时排除, 确保下游节点取到的是真实审批人(issue #188)。仅当该节点为当前节点的直接前驱节点时才返回数据;流程预览等场景下 当前记录可能尚未流转到当前节点(如停留在更早的节点),此时返回空列表,避免误读。
- Returns:
- 上一节点的审批人员Id列表,无法确定时返回空列表
-
loadFinalForwardOperator
获取转交之后的审批人- Parameters:
currentOperator- 当前操作者- Returns:
- 转交之后的审批人
-
startSession
public static FlowSession startSession(IRepositoryHolder repositoryHolder, IFlowOperator currentOperator, Workflow workflow, IFlowNode currentNode, IFlowAction currentAction, FormData formData, long backupId) 构建开始会话- Parameters:
currentOperator- 当前操作者workflow- 流程设计currentNode- 当前节点currentAction- 当前动作formData- 表单数据backupId- 流程备份id- Returns:
- 新的会话
-
toCreateRequest
创建流程请求,用于自流程的创建 -
toCreateRequest
public FlowCreateRequest toCreateRequest(String workCode, long operatorId, String actionId, String formData) 创建流程请求,用于自流程的创建- Parameters:
workCode- 流程CodeactionId- 动作类型formData- 流程数据
-
toCreateRequest
public FlowCreateRequest toCreateRequest(String workCode, long operatorId, String actionId, String formData, String workTitle) 创建流程请求,用于自流程的创建(支持手动传入流程标题)- Parameters:
workCode- 流程CodeactionId- 动作类型formData- 流程数据workTitle- 手动传入的流程标题;为空时回落流程定义标题
-
toCreateRequest
public FlowCreateRequest toCreateRequest(String workCode, long operatorId, String actionId, Map<String, Object> formData) 创建流程请求,用于自流程的创建- Parameters:
workCode- 流程CodeactionId- 动作类型formData- 流程数据
-
toCreateRequest
public FlowCreateRequest toCreateRequest(String workCode, long operatorId, String actionId, Map<String, Object> formData, String workTitle) 创建流程请求,用于自流程的创建(支持手动传入流程标题)- Parameters:
workCode- 流程CodeactionId- 动作类型formData- 流程数据workTitle- 手动传入的流程标题;为空时回落流程定义标题
-
toActionRequest
创建流程动作请求,用于自定义脚本的执行 -
getStartNode
获取流程开始节点 -
getSubmitOperatorId
public long getSubmitOperatorId()获取流程的提交者Id -
getSubmitOperatorName
获取流程的提交者名称 -
getWorkCode
获取流程设计编号 -
getCurrentNodeId
-
getCurrentNodeType
-
getCurrentNodeName
-
matchNextNodes
获取下一节点列表- Returns:
- 下一节点列表
-
getFormData
获取表单数据- Parameters:
fieldCode- 字段名称- Returns:
- 表单数据
-
updateSession
更新会话- Parameters:
currentNode- 当前节点- Returns:
- 新的会话
-
updateSession
更新会话- Parameters:
currentAction- 当前动作- Returns:
- 新的会话
-
updateSession
更新会话- Parameters:
currentOperator- 当前操作者- Returns:
- 新的会话
-
findSubProcessRecords
查询当前主流程中指定子流程节点已经结束的最终记录。- Parameters:
subProcessNodeId- 子流程节点 ID- Returns:
- 每个已结束子流程实例的最终业务记录
-
getSubProcessTotal
public int getSubProcessTotal()获取本次子流程节点创建的实例总数。 -
getCurrentSubProcessRecord
获取本次刚结束的子流程最终记录。 -
getNode
获取节点- Parameters:
nodeId- 节点id
-
verifyFormData
public void verifyFormData()校验表单字段
-