如何在设计期核心操作在模型层进行二次扩展

问题描述
客户在某些场景下需要在标准产品的基础上进行二次开发,并且不仅需要界面操作支持二开并且在调用API的场景下也要支持二开。
解决方法
1. 配置生命周期监听,预置脚本,注意FSTENCILTYPE要设置成 'Diagram',FAPPID、 FCLOUDID要设置自己系统对应应用的APPID 和 应用所属云的CLOUDID,每个应用只有一条生效。
示例:
DELETE FROM T_WF_DYNMODELCONFIG WHERE FID = xxx; INSERT INTO T_WF_DYNMODELCONFIG (FID, FAPPID, FSTENCILTYPE, FSTENCILTYPENAME, FBUILTIN, FCREATER, FCREATEDATE, FMODIFIER, FMODIFYDATE, FISV, FLIFECYCLECONFIG, FCLOUDID) VALUES (xxx, 'wf', 'Diagram', '流程', '0', 100, {ts'2022-08-10 15:53:55'}, 100, {ts'2022-08-10 15:53:55'}, 'kingdee', '{"listeners":{"publish":"{\"class\":\"com.kingdee.TestLifecycleListener\"}"}}', '18Y30L1D2HS4'); |
字段 FLIFECYCLECONFIG定义生命周期监听。其中 publish为【设计器发布】生命监听表需配置的插件对应Key,同理亦可配置为save、import…,save表示【设计器保存】对应的插件Key, import表示【设计器导入】对应的插件Key
2. 自定义插件,实现kd.bos.workflow.engine.extitf.IWorkflowModelPlugin接口,重写对应的方法,如【设计器保存】重写afterSave(),【设计器导入】重写afterImport ()
示例:
public class ExtItfNodeLifeCycleTestPlugin implements IWorkflowModelPlugin{ @Override public void afterPublish(Long procDefId, Map<String, Object> variables){ ... }
@Override public void afterSave(Long modelId, String processNumber, Map<Stri |
如何在设计期核心操作在模型层进行二次扩展
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



