监控方案解析插件消息接收人增加工作流角色

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

监控方案解析插件消息接收人增加工作流角色

业务背景:某单据有三级部门和二级部门字段,业务提醒需求如下:三级部门的提醒人与部门领导不一致,二级部门的提醒人与部门领导不一致。

实现方案:创建工作流角色,不同部门配置对应的接收人;监控方案解析插件中动态增加消息接收人及对应的明细消息(由于监控方案配置页面使用工作流角色会报错,因此只能使用插件开发方式)

  1. 为监控对象编写监控方案解析插件

    1. 继承AbstractWarnServicePlugIn类

    2. 重写BeforeSendWarnMessage

      1. 获取所有的明细信息,按照三级部门分组,组成Dictionary

      2. 获取对应的工作流角色,根据部门查找对应的接收人,并在e.WarnMessage.UserWarnMessageCollection添加接收人(注意事项:UserWarnMessageCollection是个Dictionary,key不能重复,对应的Value是个消息明细数组,也不能重复

    //根据部门负责人员工找到用户id

                                        UserWarnMessage userW = new     UserWarnMessage(long.Parse(DeptUtil.GetUserIDByYg(this.Context, fzr["F_Emp_Emp_ID"].ToString())));


                                        

                                        if (!e.WarnMessage.UserWarnMessageCollection.ContainsKey(userW.UserId))

                                        {

            //如果接收人不在集合中,添加记录

                                            //为用户增加预警消息

                                            foreach (var item in items)

                                            {

                                                userW.Add(item);

                                            }

                                            e.WarnMessage.UserWarnMessageCollection.Add(userW.UserId, userW);

                                        }

                                        else

                                        {

    //如果接收人在集合中,补充明细消息

                                            userW = e.WarnMessage.UserWarnMessageCollection[userW.UserId];

                                            foreach (var item in items)

                                            {

                                                if (!userW.GetMessageItems().Contains(item))

                                                {

                                                    userW.Add(item);

                                                }


                                            }

                                        }


    2. 注册插件

    3. 将插件放到服务器bin中,测试。        

监控方案解析插件消息接收人增加工作流角色

业务背景:某单据有三级部门和二级部门字段,业务提醒需求如下:三级部门的提醒人与部门领导不一致,二级部门的提醒人与部门领导不一致。实...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息