Skip to content

转办

引擎支持转办功能,用户在办理工作时可以选择转交给其他人办理,自己不再处理。

提示

如果需要批量转办或者将未来的工作转给其他人,请查看工作代理功能。

功能开关

管理员可以选择在节点配置中关闭转办功能,默认为开启状态。

misc-func

转办工作

用户在办理工作界面,点击右上角“更多”菜单,再点击“转办”按钮即可进行工作转办。

trans

转办工作时,需要指定接收人、填写转办说明。

trans2

业务联动

有时工作实际操作人与业务紧密联系,比如根据操作人统计工时、考评业绩等,这时业务数据需要与工作转办联动。

可以将实现特定业务处理的自定义服务类名,配置到节点的“转办服务”(如上图所示),引擎在转办工作时会调用配置的服务类。 服务类必须实现 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 对象提供以下属性:

名称类型说明
workIdString工作编号
workflowCodeString流程code
nodeIdString节点编号
nodeCodeString节点编码
taskIdString任务号
bizIdString业务标识
versionNumber流程版本
userUserSimpleVo接收人

.NET 差异

.NET 中对应的接口为 ITaskTransferBizProcessor,实现类需要添加 DisplayName 特性声明服务名。

csharp
[Service]
[DisplayName("testTaskTransBizProc")]
public class TestTaskTransBizProc : ITaskTransferBizProcessor
{
    public void Process(TaskTransferContext context)
    {
    }
}