Skip to content

附录

附录A:操作实现类列表

启动流程

操作标识操作名称实现类全路径
Startflow启动流程com.horizon.wf.action.ActionSubmitFirst

提交操作

操作标识操作名称实现类全路径
Submit提交com.horizon.wf.action.ActionSubmit
SecondSubmit协办提交com.horizon.wf.action.ActionSubmitNotLeave
innerSubmit内部提交com.horizon.wf.action.ActionSubmitForProgressively
freeSubmit自由提交com.horizon.wf.action.ActionSubmitForFree
RejectSubmit退回提交com.horizon.wf.action.ActionSubmitForReject
HuiqianSubmit会签提交com.horizon.wf.action.ActionSubmitHuiqian

退回操作

操作标识操作名称实现类全路径
Reject退回com.horizon.wf.action.ActionReject
AnyReject任意退回com.horizon.wf.action.ActionAnyReject
InnerReject内部退回com.horizon.wf.action.ActionInnerReject

加签操作

操作标识操作名称实现类全路径
Huiqian会签com.horizon.wf.action.ActionHuiQian
PreSign前加签com.horizon.wf.action.ActionPreSign
Sign加签com.horizon.wf.action.ActionSign
ReduceSign减签com.horizon.wf.action.ActionReduceSign

其他操作

操作标识操作名称实现类全路径
addSecondauthor增加协办com.horizon.wf.action.ActionAddSecondAuthor
Supplement补发com.horizon.wf.action.ActionSupplement
BranchSupplement分支补发com.horizon.wf.action.ActionBranchSupplement
TakeBack拿回com.horizon.wf.action.ActionTakeBack
Save暂存com.horizon.wf.action.ActionSave
Jump跳转com.horizon.wf.action.ActionJump
Transfer转办com.horizon.wf.action.ActionTransfer
Withdraw撤办com.horizon.wf.action.ActionWithdraw
Pause暂停com.horizon.wf.action.ActionPause
ReplaceOperator替换办理人com.horizon.wf.action.ActionReplaceOperator
Terminate终止com.horizon.wf.action.ActionTerminate
Read阅知com.horizon.wf.action.ActionRead
ReadDone已阅com.horizon.wf.action.ActionReadDone
Urge催办com.horizon.wf.action.ActionUrge
StartSubFlow启动子流程com.horizon.wf.action.ActionStartSubFlow

附录B:流程变量操作说明

设置流程变量

java
WorkParaBean inparam = new WorkParaBean();
Map<String, String> flowVarMap = new HashMap<String, String>();
flowVarMap.put("varName", "varValue");
inparam.setFlowVarMap(flowVarMap);

获取流程变量

java
IWorkResult result = opr.open(inparam);
Map<String, String> flowVarMap = result.getFlowVarMap();
String varValue = flowVarMap.get("varName");

流程变量命名规范

变量类型命名规则示例
字符串STR_开头STR_APPROVE_COMMENT
数字NUM_开头NUM_APPROVE_LEVEL
日期DATE_开头DATE_SUBMIT_TIME
布尔值BOOL_开头BOOL_IS_URGENT

附录C:流程实例状态码

实例状态

状态码状态名称说明
0运行中实例正在正常流转
1已结束实例正常结束
2已终止实例被强制终止
3已暂停实例被暂停
4已删除实例被删除

路径状态

状态码状态名称说明
0活动路径处于活动状态
1已完成路径已完成
2已挂起路径被挂起
3已终止路径被终止

附录D:数据源配置说明

数据源类型

类型标识前缀说明
流程数据源flow_存储流程引擎核心数据
业务数据源data_存储业务相关数据

配置示例

properties
# 流程数据源
flow.datasource.url=jdbc:mysql://localhost:3306/workflow
flow.datasource.username=admin
flow.datasource.password=password

# 业务数据源
data.datasource.url=jdbc:mysql://localhost:3306/business
data.datasource.username=admin
data.datasource.password=password

附录E:常用工具类

DateUtils

方法名功能描述参数返回值
format(Date, String)格式化日期Date, patternString
parse(String, String)解析日期字符串dateStr, patternDate
getCurrentTime()获取当前时间戳long

StringUtils

方法名功能描述参数返回值
isEmpty(String)判断字符串是否为空strboolean
isNotEmpty(String)判断字符串是否非空strboolean
trim(String)去除首尾空格strString
join(List, String)拼接列表元素list, separatorString

SecurityUtils

方法名功能描述参数返回值
getCurrentUserId()获取当前用户IDString
getCurrentTenantCode()获取当前租户代码String
getCurrentDataSource()获取当前数据源标识String

附录F:错误处理建议

异常类型

异常类型处理建议
WorkflowException工作流引擎异常,检查参数配置
DataSourceException数据源异常,检查数据库连接配置
PermissionException权限异常,检查用户权限配置
TimeoutException超时异常,优化流程配置或增加超时时间

日志记录建议

java
try {
    IWorkResult result = opr.operator(inparam);
    if (result.getResult() != 0) {
        logger.warn("Workflow operation failed: {}", result.getBackMsg());
    }
} catch (Exception e) {
    logger.error("Workflow operation error", e);
    throw new RuntimeException("流程操作失败", e);
}