二开案例.工作流扩展插件.捕获流程驳回事件

【应用场景】
捕获流程驳回事件的发生。

【案例演示】
二开捕获采购订单的流程驳回事件。
【实现步骤】
<1>编写工作流服务插件,代码如下。
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Log;
using Kingdee.BOS.Util;
using Kingdee.BOS.Workflow.App.Core.PlugIn;
using Kingdee.BOS.Workflow.Models.EnumStatus;
using System;
using System.ComponentModel;
using System.Linq;
namespace Jac.XkDemo.BOS.App.PlugIn
{
[Description("工作流扩展插件-捕获流程驳回事件"), HotUpdate]
public class TestWorkflowExtPlugIn : AbstractWorkflowExtPlugIn
{
public override void OnAssignUpdate(AssignUpdateEventArgs e)
{
base.OnAssignUpdate(e);
var assignId = e.AssignIds.FirstOrDefault();
if (assignId.IsEmpty())
{
return;
}
if (e.AssignStatus == AssignStatus.Completed)
{
// 检查当前待办任务是否被驳回
var sql = string.Format(@"SELECT TOP 1 d.FOBJECTTYPEID ,
d.FKEYVALUE
FROM T_WF_ASSIGN a
JOIN T_WF_APPROVALASSIGN b ON a.FASSIGNID = b.FASSIGNID
JOIN T_WF_APPROVALITEM c ON b.FAPPROVALASSIGNID = c.FAPPROVALASSIGNID
JOIN T_WF_PIBIMAP d ON a.FPROCINSTID = d.FPROCINSTID
WHERE a.FASSIGNID = '{0}'
AND c.FACTIONRESULTTYPE = 2
ORDER BY c.FCOMPLETEDTIME DESC", assignId);
var objs = DBUtils.ExecuteDynamicObject(this.Context, sql);
if (objs.Count > 0)
{
// 当前操作是驳回
二开案例.工作流扩展插件.捕获流程驳回事件
【应用场景】捕获流程驳回事件的发生。【案例演示】二开捕获采购订单的流程驳回事件。【实现步骤】<1>编写工作流服务插件,代码如下。using...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



