苍穹工作流那些事 之 审批记录妙用锦囊

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

苍穹工作流那些事 之 审批记录妙用锦囊


审批记录,顾名思义就是记录流程完整的审批过程。它提供两版样式(新版审批记录和旧版审批记录)、不同级别的数据格式化方案数据源自定义方案,并支持第三方审批记录的集成,满足客户丰富多样的需求。


本期文章总结了审批记录的相关使用技巧,供大家参考使用。




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 划重点


  1. 审批记录,记录了流程完整的审批过程,在平台的BOS设计器里为一个单独的控件,使用场景一般是内嵌到页面中,数据的初始化只需传入单据Id即可,支持PC端移动端

  2. 审批记录支持倒序排列追加,且提供了不同级别的数据格式化方案、数据源自定义方案,并支持第三方审批记录的集成




#往期推荐#



#  五分钟新建流程攻略

#  让你一次看通透,流程参与人那些事

 苍穹工作流那些事 之 流程节点

#  苍穹工作流那些事 之 流程启动

 刚柔并济,流程动态配置方案详解

 苍穹工作流那些事 之 流程线

#  快速掌握流程变量的用法


更多精彩内容,“码”上了解!↓



苍穹工作流那些事 之 审批记录妙用锦囊

审批记录,顾名思义就是记录流程完整的审批过程。它提供两版样式(新版审批记录和旧版审批记录)、不同级别的数据格式化方案、数据源自定义...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息