套打二开.工作流审批路线数据拼接到一个控件显示示例

【应用场景】
二开实现拼接工作流审批路线数据进行套打打印,用箭头指示节点流转过程。
【注意事项】
本二开使用C# 语言开发插件,该实现方案涉及到套打打印流程审批路线数据的节点流转情况,非最佳实践,仅限于特殊场景下的特殊应用。
【案例演示】
采购申请单,新建套打模板,对套打模板的数据源【工作流->审批路线】添加动态字段和聚合字段,二开编写列表插件。
【实现步骤】
<1>新建套打模板,模板上面新加一个数据表格控件,数据表格的数据源指定为【工作流->审批路线】,在数据表格的第一行普通行的第一个单元格绑定动态字段WorkflowRouter(此动态字段由第一步配置产生)。

<1>套打模板 对套打模板的数据源【工作流->审批路线】添加动态字段和聚合字段
动态字段 WFCurInst
表达式:'0' if ActiveObject.ActivityInfo.ActivityId in (0,1) else ActiveObject.ActivityInfo.ActInstId
动态字段 WorkflowRouter
表达式:1

聚合动态字段 WFMaxTimeInst
分组表达式:str(ActiveObject.ActivityInfo.ActivityId)
聚合表达式:str(ActiveObject[0].ActivityInfo.ActivityId) if ActiveObject[0].ActivityInfo.ActivityId in (0,1) else filter(lambda y:y.ActionInfo.CompleteTime == max(map(lambda x:x.ActionInfo.CompleteTime , ActiveObject)), ActiveObject)[0].ActivityInfo.ActInstId

保存模板。
<3>二开列表插件。二开主要代码如下:
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Orm.DataEntity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Kingdee.BOS.Printing.PlugIn.Test
{
public class WorkflowNotePrintPlugIn : AbstractListPlugIn
{
public WorkflowNotePrintPlugIn()
{ }
public override void OnPrepareNotePrintData(Core.DynamicForm.PlugIn.Args.PreparePrintDataEventArgs e)
{
base.OnPrepareNotePrintData(e);
FillWorkflowData(e);
}
private void FillWorkflowData(Core.DynamicForm.PlugIn.Args.PreparePrintDataEventArgs e)
{
if (e.DataSourceId == "workflow.approveLine")
{
if (e.DataObjects == null)
{
//数据包为空,不处理
return;
}
if (e.DataObjects[0].DynamicObjectType.Properties.ContainsKey("ac_approve_FActivityName") == false
|| e.DataObjects[0].DynamicObjectType.Properties.ContainsKey("ac_approve_FReceiverName") == false
|| e.DataObjects[0].DynamicObjectType.Properties.ContainsKey("ac_approve_FCompletedTime") == false
|| e.DataObjects[0].DynamicObjectType.Properties.ContainsKey("ac_WFCurInst") == false
|| e.DataObjects[0].DynamicObjectType.Properties.ContainsKey("ac_WFMaxTimeInst") == false
|| 套打二开.工作流审批路线数据拼接到一个控件显示示例
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



