邮件审批工作流实现方案

简介:

针对OA移动审批的问题,仿照费控系统邮件回复审批工作流的实现思路,提出在转交下一步的时候直接推送邮件到审批人的外部邮箱,审批人收到邮件以后回复内容就可以审批。此审批方式能很好的解决移动审批的工作,也可以相对提高兼容性。

一、概述

   方案的主体思路就是通过邮件服务来解决办公设备在互联网同业务域系统之间的数据交换问题。流程平台发送申请审批邮件、监听审批邮件、自动接收并进行解析处理,将邮件账号、审批结果同任务编号等信息关联,从而提交邮件审批任务的方式推进流程执行。

1.1 审批实现过程概述

流程运行平台在产生任务的时候,如果任务可以支持邮件审批,就发送任务相关的审批邮件到对应的审批人。审批人收到邮件后,填写批复内容并回复邮件。运行平台接收邮件并解析,找到对应的流程人工任务并提交。

邮件审批时序图:

1.2 邮件审批过程时序图

关键步骤描述:

wKioL1dP9iTi8NlZAAD5yV-6L2I000.png-wh_50

  1.3时序图详解

创建审批任务及上下文:是指审批任务创建后,如果任务需要支持邮件审批(邮件审批与普通审批方式一般是并存的)则需要额外创建邮件审批相关的上下文记录到数据库中。记录的上下文目的是能够将回复邮件准确的同任务关联以及安全校验避免仿冒邮件进行审批。上下文需要包含如下字段:任务ID、审批人邮件、发送日期、审批有效时间

发送审批邮件:通过SMTP方式发送邮件到审批人邮箱,发件人为流程平台本身的系统邮箱,收件人为审批人邮箱。邮件正文中除了审批任务的表单信息之外,还应明确告诉审批人回复邮件的格式要求,以及注意事项。邮件示例如下:

wKiom1dP9T2QHDeGAAE4QwNGDCE146.png-wh_50

审批人接收邮件:审批人通过手机、平板、笔记本电脑等终端的邮件客户端接收邮件。业务系统完成功能后需要对常用的邮件客户端进行测试验证。

审批人回复审批结果邮件:审批人通过手机、平板、笔记本电脑等终端的邮件客户端回复审批邮件。回复格式及注意事项需要在原邮件中想审批人说明。

流程平台接收审批邮件:流程平台通过邮件接收协议来获取审批邮件,常见的邮件服务器支持的邮件获取协议有POP3\IMAP,还有微软的EXCHANGE邮件服务器,接收程序需要根据邮件服务器开发的协议编写邮件接收程序

解析邮件内容,关联任务上下文:收到邮件后,需要解析邮件上下文,获取安全秘钥并解密,同任务上下文进行关联校验。校验通过后执行后续动作。

提交任务推进流程:根据邮件关联的任务ID和邮件内容中的审批结果提交对应的流程任务实例,并设置审批结果到上下文。

二、工作重点:

 

 

工作内容

难度

工作量

备注

回复邮件的监听和获取

10d

基于zimbra二次开发关联或直接采用接收协议拦截

邮件正文的移动端兼容

/

5d/1d

考虑使用以上邮件模板,不嵌入pc web表单。如嵌入pc web表单 5d,不嵌入1d

邮件的内容解析和与流程系统的联动

5d

测试

1d

buffer

4d

合计

25d/21d

 

三、该方案的缺陷

1.工作流审批不仅仅是简单的审批通过或者审批不通过这样简单,所以需要有各种表达;仅采用审批通过/不通过具有严重局限性,以上方案无法通过扩展解决这一局限性;

2.由于PC和手持设备浏览器兼容性问题,不可能在邮件中提供丰富的交互界面;以本系统为例,如嵌入表单,需要对表单的表达作大量修改,以适应手持设备;

3.对回复邮件的监控(一般采用不间断轮询,或者邮件服务器提供的某种监控功能)和解析,会影响系统的性能;
   综合上面的问题可以看到我们需要一套标准的约定实现邮件和OA工作流系统的交互,否则系统是不会识别的,就像我们平时的短信回复也只能是简单的YN,而不能实现较为复杂的交互spacer.gif

 

 

参考资料:

1.通达用户社区

2.流程同邮件交互审批方案

3.用友U8+工作流如何设置邮件审批

4.工作流邮件审批设置





     本文转自 gaochaojs 51CTO博客,原文链接:http://blog.51cto.com/jncumter/1785558,如需转载请自行联系原作者


相关文章
|
存储 SQL 编解码
如何在ClickHouse中处理时序数据
ClickHouse具有强大的工具,可以高效地存储和处理时序数据,并可用于简单的解决方案和数据发掘,以及支持PB级的实时分析应用。
|
存储 缓存 NoSQL
Shiro 解决分布式 Session
在分布式系统中,会话管理是一个重要的问题。Shiro框架提供了一种解决方案,通过其会话管理组件来处理分布式会话。本文演示通过RedisSessionManager解决分布式会话问题。
396 0
|
12月前
|
人工智能 移动开发 搜索推荐
增强现实让广告“活”起来——AR 赋能营销的新玩法
增强现实让广告“活”起来——AR 赋能营销的新玩法
673 25
|
5月前
|
人工智能 开发框架 Java
Java+AI 的终极结合!JBoltAI 框架助力企业快速落地 AI 应用
JBoltAI是专为Java技术栈打造的企业级AI应用开发框架,破解传统系统接入AI成本高、周期长、稳定性差等难题。深度融合主流大模型与向量数据库,提供脚手架代码、场景案例、系统课程与专属支持,助力Java团队快速实现AI转型,让AI应用开发更高效、更稳定、更易落地。(238字)
287 0
|
存储 安全 Java
Java多线程编程秘籍:各种方案一网打尽,不要错过!
Java 中实现多线程的方式主要有四种:继承 Thread 类、实现 Runnable 接口、实现 Callable 接口和使用线程池。每种方式各有优缺点,适用于不同的场景。继承 Thread 类最简单,实现 Runnable 接口更灵活,Callable 接口支持返回结果,线程池则便于管理和复用线程。实际应用中可根据需求选择合适的方式。此外,还介绍了多线程相关的常见面试问题及答案,涵盖线程概念、线程安全、线程池等知识点。
892 2
|
C# 容器 Android开发
WPF字体图标——IconFont
原文:WPF字体图标——IconFont 版权声明:本文为【CSDN博主:松一160】原创文章,未经允许不得转载。 https://blog.csdn.net/songyi160/article/details/54894233 一、字体图标概述 ①字体图标其实就是把矢量图形打包到字体文件里,以后就可以像使用一般外置字体一样的使用它,因此Winform、WPF中都是可以用的。
2882 0
|
SQL 监控 关系型数据库
PostgreSQL普通表转换成分区表
如何使用pg_rewrite扩展将普遍表转换成分区表
|
Python
python字符串太长换行
python字符串太长换行
2063 0
|
SQL 人工智能 JavaScript
重磅!通义千问2.5正式发布
重磅!通义千问2.5正式发布
21015 8
|
机器学习/深度学习 供应链 监控
深度学习之实时库存管理
基于深度学习的实时库存管理在电商、零售、制造业和物流等多个行业中具有极高的应用价值。深度学习模型可以帮助企业实时监测库存动态、优化库存补充决策、预测需求波动,确保库存水平稳定且适合实际需求,从而降低成本、提高客户满意度。以下从核心技术、常见应用场景、技术挑战及未来发展方向进行详细说明。
1387 3