二开工作流流程发起人可以新增附件示例

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

二开工作流流程发起人可以新增附件示例

二开工作流流程发起人可以新增附件示例,以采购申请单为例。

先在BOS设计器找到附件明细的元数据:

然后拓展元数据,打开列表插件,去掉原来的插件,挂上二开插件,二开插件需继承原来的插件。

public class AttachmentPlugIn : AttachmentListPlugIn
    {
        public override void AfterBindData(EventArgs e)
        {
            base.AfterBindData(e);
            AttachmentKey attachment = GetAttachmentKey();
            if (attachment.BillType != "PUR_Requisition")//不是采购申请单,不做控制
                return;
            string sql = @"select FORIGINATORID from T_WF_PIBIMAP map inner join T_WF_PROCINST procInst on map.FPROCINSTID=procInst.FPROCINSTID where procInst.FSTATUS <> '4' and map.FOBJECTTYPEID=@FOBJECTTYPEID and map.FKEYVALUE=@FKEYVALUE";
            SqlParam[] sqlParams = new SqlParam[]
            {
               new SqlParam("@FOBJECTTYPEID",KDDbType.String,attachment.BillType),
               new SqlParam("@FKEYVALUE",KDDbType.String,attachment.BillInterID)
            };

           
            DynamicObjectCollection obj = DBServiceHelper.ExecuteDynamicObject(this.View.Context, sql, paramList: sqlParams);
            if (obj != null && obj.Count > 0)
            {
                if (Convert.ToInt32(obj[0]["FORIGINATORID"]) == this.Context.UserId)//流程发起人跟当前登录用户一致时
                {
                    this.View.GetMainBarItem("tbNew").Enabled = true;//附件列表的新增按钮设置为可用
                }
            }
        }

        private AttachmentKey GetAttachmentKey()
        {
            string json = string.Empty;
            if (this.View.OpenParameter.GetCustomParameters().ContainsKey(KeyConst.AttachmentKey))
            {
                json = this.View.OpenParameter.GetCustomParameter(KeyConst.AttachmentKey).ToString();
            }
            return AttachmentKey.ConvertFromString(json);
        }
    }


二开工作流流程发起人可以新增附件示例

二开工作流流程发起人可以新增附件示例,以采购申请单为例。先在BOS设计器找到附件明细的元数据:然后拓展元数据,打开列表插件,去掉原来...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息