报销审批流程:状态机驱动的业务实战与代码示例
156 浏览量
更新于2024-07-15
收藏 270KB PDF 举报
本文主要探讨了火龙果软件工程技术中心的报销审批流程,该流程采用状态机工作流进行设计,以确保报销单在不同角色间的有效流转和管理。以下是关键知识点的详细解析:
1. 业务描述:
报销审批流程是一个基础的业务场景,涉及员工(报销者)提交报销申请,财务和老板进行审批,出纳负责支付。流程主要包括提交、修改、审核、支付等步骤。
2. 角色与功能:
- 报销者:主要负责填写和修改报销单。
- 财务:处理1000元以下的报销,功能包括审核、打回(要求报销者修改)、中止流程和特殊情况下的加签(提交给老板再次审核)。
- 老板:审批1000元以上的报销,功能与财务类似但不包含加签环节。
- 出纳:在财务或老板审批后决定是否支付,根据是否有足够的资金进行"有钱"(支付确认)或"没钱"(等待后续处理)的操作。
3. 工作流设计:
工作流设计基于状态机模型,包含了几个核心事件处理:
- 小金额与大金额审核:财务和老板分别处理不同金额范围的报销单。
- 打回与重新修改:当报销单不符合要求时,触发此事件,报销者需要进行修正。
- 向下流转:报销单在经过一个阶段后,自动或人为地进入下一个审批环节。
- 结束工作流:财务和老板可以中止流程,通常表示审批拒绝。
- 等待:出纳在没有足够资金时暂停流程。
- 加签:在特殊情况下,财务会触发加签事件,将报销单提交给老板进一步审查。
4. 代码实现:
文档中提到的`IBILLService`接口定义了这些事件,如`BillInitMoneyMin`、`BillInitMoneyMax`、`BillUpdated`和`BillDownstream`等,用于通知各组件执行相应的操作。通过这些接口,整个报销审批流程在系统中被模块化并保持高度可维护性。
总结来说,这篇文章提供了如何通过状态机工作流来设计和管理一个实际的报销审批流程,强调了各个角色的职责划分和关键事件处理,以及如何通过编程接口实现流程自动化。这样的设计有助于提高工作效率,并确保审批过程的规范化和透明度。
826 浏览量
590 浏览量
119 浏览量
304 浏览量
1599 浏览量
307 浏览量
1848 浏览量
1407 浏览量
1007 浏览量
weixin_38743084
- 粉丝: 12
- 资源: 930
最新资源
- StudentManagement:JAVA+MySQL数据库设计完成的学生管理系统,界面使用的Java Swing
- 凡诺企业网站管理系统PHP版-PHP
- Unity独数游戏《sudoku-2017》
- Github-Trending-Repos-Android-App:一个基于Github api的Android应用,可根据创建日期显示趋势仓库
- 重量计算器
- lathe-firmware
- 2016 bctf exploit bcloud 400.rar
- 电脑软件一键禁用WIN10自带更新和杀毒.rar
- Auto Union Type.c Tab-crx插件
- ScreenToGif.2.17.1.Setup.msi
- easyapi:for面向人类的概念验证API生成器
- nodeDatagram
- angular-user-search-github::pencil_selector:简单的Angular-CLi应用程序搜索github用户
- jQuery基于CSS3文字动画特效特效代码
- omnetpp-5.5.1-src-windows.zip
- BabyShop:一个简单的电子商务网站,我们可以在其中租用一些婴儿用品。 有关更多信息,请浏览自述文件