转办
引擎支持转办功能,用户在办理工作时可以选择转交给其他人办理,自己不再处理。
提示
如果需要批量转办或者将未来的工作转给其他人,请查看工作代理功能。
功能开关
管理员可以选择在节点配置中关闭转办功能,默认为开启状态。
转办工作
用户在办理工作界面,点击右上角“更多”菜单,再点击“转办”按钮即可进行工作转办。
转办工作时,需要指定接收人、填写转办说明。
业务联动
有时工作实际操作人与业务紧密联系,比如根据操作人统计工时、考评业绩等,这时业务数据需要与工作转办联动。
可以将实现特定业务处理的自定义服务类名,配置到节点的“转办服务”(如上图所示),引擎在转办工作时会调用配置的服务类。 服务类必须实现 TaskTransferBizProcessor
接口,示例如下。
java
@Component
public class WfLeaveCheckTransProcessor implements TaskTransferBizProcessor {
@Autowired
BizMockLeaveService service;
/**
* 处理方法
*
* @param context 上下文参数
*/
@Override
public void process(TaskTransferHandlerContext context) {
// 转办发生后,修改实际代理人。
BizMockLeave entity = new BizMockLeave();
entity.setId(context.getBizId());
entity.setWorkReceiver(context.getUser().getId());
entity.setWorkRcvEmp(context.getUser().getEmpSn());
entity.setWorkRcvName(context.getUser().getName());
service.updateById(entity);
}
}
TaskTransferHandlerContext
context 对象提供以下属性:
名称 | 类型 | 说明 |
---|---|---|
workId | String | 工作编号 |
workflowCode | String | 流程code |
nodeId | String | 节点编号 |
nodeCode | String | 节点编码 |
taskId | String | 任务号 |
bizId | String | 业务标识 |
version | Number | 流程版本 |
user | UserSimpleVo | 接收人 |
.NET 差异
.NET 中对应的接口为 ITaskTransferBizProcessor
,实现类需要添加 DisplayName
特性声明服务名。
csharp
[Service]
[DisplayName("testTaskTransBizProc")]
public class TestTaskTransBizProc : ITaskTransferBizProcessor
{
public void Process(TaskTransferContext context)
{
}
}