java 实现一套流程管理、流转的思路(伪工作流)
2014-12-03 14:21
281 查看
在做某个管理项目时,被要求实现一套流程管理,比如请假的申请审批流程等,在参考了很多资料,并和同事讨论后,得到了一个自主实现的流程管理。
以下提供我的设计思路,知道了思路,实现起来就简单很多了。
首先我设计了5个类来实现流程的自主设置,主要是对流程的定义和流程流转。
FlowMainService
申请源只要调用此接口中的applyFlow进行申请即可。
具体实现就不在提供了!
以上!
)
以下提供我的设计思路,知道了思路,实现起来就简单很多了。
首先我设计了5个类来实现流程的自主设置,主要是对流程的定义和流程流转。
/** * *@Description:处理流程业务的Service *@Author:lichao *@Since:Oct 10, 201412:02:39 PM */ public interface FlowMainService { /** * *@Description: 用于申请 *@Author: lichao *@Since: Oct 10, 20143:19:07 PM *@param applyable *@return * @throws Exception */ public void applyFlow(Applyable applyable) throws Exception; /** * *@Description: 查找当前所处的流转信息 *@Author: medees *@Since: Oct 13, 20148:56:00 AM *@param applyid 申请源 *@param applytype 申请类别 *@return */ public FlowInfoMoving findNowMoving(Long applyid,Dictionary applyType); /** * *@Description: 查找某一流程下的所有走过的流程 按创建时间升序排序 *@Author: lichao *@Since: Oct 13, 20141:46:54 PM *@param applyid 申请源 *@param applytype 申请类别 *@return */ public List<FlowInfoMoving> findAllMoving(Long applyid,Dictionary applyType); /** * *@Description: 获取所有变换条件 *@Author: lichao *@Since: Oct 13, 20144:27:41 PM *@param nodeid 所处节点的id *@return */ public List<String> findNextTransition(Long nodeid); /** * *@Description: 得到此节点可以审核的所有用户 *@Author: lichao *@Since: Oct 14, 201410:22:50 AM *@param nodeid 节点id *@param applyid 申请源 *@param applyUserId 申请人id *@return */ public List<User> findNextAppUser(Long nodeid,String transition,Long applyUserId); /** * *@Description: 分页查询自己所审批的流程 *@Author: lichao *@Since: Oct 14, 20141:39:50 PM *@return */ public Page<FlowInfoMoving> findMyMoving(Pageable pageRequest); /** * *@Description: 进行审核的方法 *@Author: lichao *@Since: Oct 15, 20142:11:18 PM *@param moving * @throws Exception 如果审核出错则抛出异常 */ public boolean approval(FlowInfoMoving moving) throws Exception; /** * *@Description: 查找一个流程的所有流转 *@Author: lichao *@Since: Oct 16, 201411:04:03 AM *@param applyid *@param applytype *@return */ public Page<FlowInfoMoving> findAllMoving(Long applyid,Long applytype,Pageable Pageable); /** * *@Description: 重新申请 *@Author: lichao *@Since: Oct 17, 20141:43:03 PM *@return */ public void resetApply(Applyable applyable) throws Exception; /** * *@Description: 是否需要重新申请 *@Author: lichao *@Since: Oct 17, 20141:43:03 PM *@return */ public boolean isNeedReset(Long applyid,Dictionary dic); }
FlowMainService
申请源只要调用此接口中的applyFlow进行申请即可。
具体实现就不在提供了!
以上!
)
相关文章推荐
- java中的工作流流程管理和流转思路
- web工作流管理系统开发之十三 流程与电子表单集成之事件实现篇
- ssh2+jbpm4.4项目 审批流转:审批流程管理的思路
- web工作流管理系统开发之十二 同一张表单在流程多节点中流转的权限控件
- web工作流管理系统开发之十六 主子流程参数传递的实现
- SPS2003的工作流管理和实现OA,以及BizTalk Server 2004 的流程管理
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 基于web技术的工作流管理系统设计与实现
- Java版 工作流 实现技术大比拼
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 转 .Net/C#/VB/T-SQL/Java/Script 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 6/8 可配置工作流 实现思路
- .Net/C#/VB/T-SQL/Java 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- java实现的简单文件管理系统