电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-236

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

【应用场景】

捕获流程驳回事件的发生。

上传图片



【案例演示】

二开捕获采购订单的流程驳回事件。



【实现步骤】

<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格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信