二次开发如何扩展工作流协作关系
企业中各项经营活动主要是通过人与人之间协作共同完成。各项业务的协作关系构建了人与人之间的网络化关系,人与人之间的业务协作关系有基于行政组织架构关系的协作,岗位汇报关系的协作、角色汇报关系的协作、项目汇报关系的协作等等。
工作流,是指一类能够完全自动执行的经营过程,根据一系列过程规则,将文档、信息或任务在不同的执行者之间进行传递与执行。 工作流协作关系要支持以“人”为中心的多维业务协作关系,工作流协作关系来源于各业务,取之于各业务,用之于各业务,比如基于行政组织的行政汇报关系,基于渠道关系的渠道汇报关系,基于项目协作的项目汇报关系等。
苍穹平台工作流中内置行政组织汇报关系,可基于业务关系扩展自己的汇报关系,本文以基建项目汇报关系为例,讲解如何扩展项目中的项目经理这个人员关系。
第一步:
在工作流协作关系中自定义一个类型,如下图:
关键信息说明:
1. 微服务接口名:为一个接口,接口中定义了相关关系的方法说明。
2. ServiceFactory包路径:为ServiceFactory所在的包路径,按照规范,各个业务可以自己建立自己的ServiceFactory. 在自己的ServiceFactory中建立接口有实现类的映射关系。
每个业务的微服务都需要写一个ServiceFactory的类,包路径就是在协作关系中填写的包路径,格式为kd.xxx.xxx.servicehelper, 其中必须存在注册的服务类
3. 增加关系类型说明:这里增加项目经理的关系类型,方法名为接口中对应的方法名称。
4. 关系类型参数:可自定义相关参数,并选择参数类型和说明。
第二步:
在节点中增加参与人,选择关系类型,在协作类型中选择刚刚建立的项目汇报关系,参照人选择【单据-创建人】,关系选择汇报关系中定义的关系类型【项目经理】,参数中会列出在汇报关系中项目经理定义的参数,然后选择参数的值,最终解析出来的值为:单据-创建人的项目经理。
关键信息说明:
1. 图中的参数仅做测试使用。
2. 参数的映射字段可以选择单据中的某个字段、流程中的相关信息,包括某个节点处理人,某个节点处理结果,流程变量,固定值等。
第三步:
扩展汇报关系的接口与实现类。如下图:
图中projectRole为汇报关系中定义的api方法名,参数是固定的,分别对应如下:
1. refPerson:第二步中解析出来的参照人,参照人可能选择分录中的人,也可能选择多选字段,因此人员可能存在多个,集合中为人员的ID.
2. businessKey:当前节点中的单据ID
3. entityNumber:当前节点中选择的实体类型。
4. params:为第二步中设置的参数最终解析值。
然后此接口的实现类中,就可以编写相关业务逻辑,获取相关的汇报关系信息。
二次开发如何扩展工作流协作关系
本文2024-09-23 00:56:31发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142732.html