苍穹工作流那些事 之 审批记录妙用锦囊
审批记录,顾名思义就是记录流程完整的审批过程。它提供两版样式(新版审批记录和旧版审批记录)、不同级别的数据格式化方案、数据源自定义方案,并支持第三方审批记录的集成,满足客户丰富多样的需求。
本期文章总结了审批记录的相关使用技巧,供大家参考使用。
1 应用场景
审批记录,在平台的BOS设计器里是一个单独的控件,使用场景一般是内嵌到页面中,数据的初始化只需传入单据Id即可,支持PC端和移动端。
2 妙用锦囊
1. 支持倒序排列审批记录,由参数进行控制,配置路径为:【配置工具】→【系统参数】→【流程服务云】→【工作流服务】→【审批配置】→“pc端审批记录是否倒序”开关,如下图所示:
倒序排列审批记录配置示例
2. 支持追加审批记录。审批记录由审批人产生,平台提供接口,可在指定节点之下添加审批记录,接口如下:
WorkflowServiceHelper.addComment(Comment comment)
3. 支持格式化流程节点审批记录,如下图所示:
格式化流程节点审批记录示例
格式化代码示例如下:
public class FormatFlowRecordPlugin implements IWorkflowPlugin { @Override public IApprovalRecordItem formatFlowRecord(IApprovalRecordItem item) { item.setMessage("****************"); return item; } }
格式化还支持html文本,使用方法可以参考该文章:审批记录和节点详情中支持html文本:
4. 支持格式化系统级审批记录,操作方法为:
在流程服务库找到表“t_wf_dynmodelconfig”,然后在指定节点找到“fcustomruntimeconfig”字段的值,配置格式化参数的值,如下图所示:
格式化系统级审批记录示例代码
相关代码如下:
{ "properties": { "executionListeners": [ { "userDefinied": true, "event": "start", "implementation": "kd.ssc.task.workflow.listener.CreateTaskTestListener", "implementationtype": "class" } ], "taskListeners": [ { "event": "canWithdraw", "implementation": "{\"type\":\"class\",\"value\":\"kd.ssc.task.workflow.listener.WorkflowWithDrawListener\"}", "implementationtype": "class" } ], "flowRecordsFormatter": "{\"type\":\"class\",\"value\":\"kd.ssc.task.workflow.listener.UpdateAuditMsgListener\"}" }, "stencil": { "id": "SSCApprove" } }
UpdateAuditMsgListener的实现,可以参考如下代码:
public class UpdateAuditMsgListener implements IWorkflowPlugin { @Override public ListformatFlowRecords(Listitems) { //在这里按需求对item做一系列改造 return items; } }
5. 支持二开方案自定义数据源,操作方法为:从页面上拖拽一个审批记录控件至插件里,然后自行构建审批记录的数据,再对审批记录赋值即可,相关代码如下:
private void updateRecrod() { ListallApprovalRecord = WorkflowServiceHelper.getAllApprovalRecord(this.getPageCache().get(BUSINESSKEY)); ApprovalRecord approvalRecord = getControl("approvalrecordap"); Mapparameters = new HashMap<>(); parameters.put(ApprovalRecord.HIDEMORECHAT, ""); parameters.put(ApprovalRecord.ISPC, "false"); parameters.put(ApprovalRecord.APPROVALISNEW, Boolean.TRUE); approvalRecord.setParameters(parameters); approvalRecord.setArData(allApprovalRecord); }
成功案例可参考:苍穹费用报销二次开发--二开单据实现抓取eas审批流信息:
6. 平台支持审批记录控件自定义数据源,操作步骤如下:
步骤1:在流程服务库,找到表“t_wf_confcenter”,增加一条记录,如下图所示。其中,fid需为唯一值,ftype、fkey的值固定不能动,fvalue数据结构不能变,只能修改value里的类路径,fdescription选填。
审批记录控件自定义数据源
步骤2:根据自己的需求实现CustomApprovalRecord的逻辑即可,相关代码如下:
public class CustomApprovalRecord implements IWorkflowPlugin{ @Override public ListgetCustomApprovalRecordGroup(String businesskey, String entityNumber, Mapparams) { //这里按需求实现自己的审批记录即可 return null; } }
7. 平台支持集成第三方审批记录,比如K2,EAS等。相应操作如下:
1) 插入第三方审批记录:
WorkflowServiceHelper.addTrdComment(ThirdCommentInfo thirdCommentInfo)
2) 更新第三方审批记录:
WorkflowServiceHelper.updateTrdComment(ThirdCommentInfo thirdCommentInfo)
注:关于ThirdCommentInfo的相关参数说明,可以参考t_wf_hicomment里的相关数据。
参数说明
3 常见问题
Q:审批记录的布局及样式能二开修改吗?
A:不能,只能通过上述妙用锦囊的方案3、4、5、6,修改相应的内容。
4 相关链接
更多苍穹工作流相关资料,请参考如下链接:
https://club.kdcloud.com/article/42667332876304384
https://club.kdcloud.com/article/183140
5 划重点
审批记录,记录了流程完整的审批过程,在平台的BOS设计器里为一个单独的控件,使用场景一般是内嵌到页面中,数据的初始化只需传入单据Id即可,支持PC端和移动端。
审批记录支持倒序排列和追加,且提供了不同级别的数据格式化方案、数据源自定义方案,并支持第三方审批记录的集成。
#往期推荐#
更多精彩内容,“码”上了解!↓
苍穹工作流那些事 之 审批记录妙用锦囊
本文2024-09-23 00:54:47发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142549.html