现代工作流(workflow)实例介绍(c#)

合集下载

现代工作流(workflow)实例介绍共47页

现代工作流(workflow)实例介绍共47页

Байду номын сангаасEND
16、业余生活要有意义,不要越轨。——华盛顿 17、一个人即使已登上顶峰,也仍要自强不息。——罗素·贝克 18、最大的挑战和突破在于用人,而用人最大的突破在于信任人。——马云 19、自己活着,就是为了使别人过得更美好。——雷锋 20、要掌握书,莫被书掌握;要为生而读,莫为读而生。——布尔沃
现代工作流(workflow)实例介绍
1、战鼓一响,法律无声。——英国 2、任何法律的根本;不,不成文法本 身就是 讲道理 ……法 律,也 ----即 明示道 理。— —爱·科 克
3、法律是最保险的头盔。——爱·科 克 4、一个国家如果纲纪不正,其国风一 定颓败 。—— 塞内加 5、法律不能使人人平等,但是在法律 面前人 人是平 等的。 ——波 洛克

workflow例子

workflow例子

Jbpm4.0工作流的例子借款申请流程关键字: jbpm4 例子借款申请流程工作流正在学习jbpm4, 于是就写了个例子这个例子的流程就用借款申请的流程, 因为学jbpm3的时候对这个例子比较熟悉.流程图如下:流程定义:Xml代码1.<?xml version="1.0"encoding="UTF-8"?>2.<process name="loan"xmlns="/4.0/jpdl">3.<start g="172,-1,48,48"name="start1">4.<transition g="-27,-6"name="发起借款"to="填写借款申请"/>5.</start>6.7.<task assignee="#{proposer}"g="260,63,109,56"name="填写借款申请">8.<transition g="-28,-16"name="提交申请"to="部门经理审批"/>9.</task>10.11. <task assignee="manager"g="113,141,114,52"name="部门经理审批">12. <transition g="61,167:-36,62"name="部门经理驳回"to="cancel"/>13. <transition g="-51,-8"name="部门经理审批通过"to="金额判断"/>14. </task>15.16. <decision expr="#{money&gt;=5000?'&gt;=5000元':'&lt;5000元'}"17. g="301,205,48,48"name="金额判断">18. <transition g="-20,-2"name="&gt;=5000元"to="总经理审批"/>19. <transition g="-18,-13"name="&lt;5000元"to="财务拨款"/>20. </decision>21.22. <end g="190,407,48,48"name="end"/>23. <end-cancel g="37,374,48,48"name="cancel"/>24.25. <task assignee="ceo"g="150,286,100,52"name="总经理审批">26. <transition g="-41,-6"name="总经理审批通过"to="财务拨款"/>27. <transition g="-17,-12"name="总经理驳回"to="cancel"/>28. </task>29.30. <task assignee="finance"g="345,325,92,52"name="财务拨款">31. <transition g="-26,-6"name="完成拨款"to="end"/>32. </task>33.</process>测试代码:Java代码1./**2. * CopyRight (C) 2006-2009 yeyong3. * @author yy4. * @project JbpmExamples5. * @version 1.06. * @mail yy629_86 at 163 dot com7. * @date 2009-9-9 下午3:12:138. * @description9. */10.package loan;11.12.import java.util.HashMap;13.import java.util.List;14.import java.util.Map;15.16.import org.jbpm.api.ProcessInstance;17.import org.jbpm.api.history.HistoryProcessInstance;18.import org.jbpm.api.task.Task;19.import org.jbpm.test.JbpmTestCase;20.21./**22. * @author yeyong23. */24.public class LoanTest extends JbpmTestCase {25. String deploymentId;26.27. @Override28. protected void setUp() throws Exception {29. super.setUp();30. deploymentId = repositoryService.createDeployment().addResourceFromClasspath("loan/loan.jpdl.xml")31. .deploy();32. }33.34. @Override35. protected void tearDown() throws Exception {36. repositoryService.deleteDeploymentCascade(deploymentId);37. super.tearDown();38. }39.40. /**41. * 测试用例42. * <p>43. * 张三申请4000元, 部门经理驳回44. */45. public void test4000ButManagerDisapprove() {46. String curUser = "Zhang San";47. ProcessInstance pi = startLoanProcess(curUser);48. String piId = pi.getId();49. filloutApplication(piId, curUser, 4000);50.51. curUser = "manager";52. managerApprove(piId, curUser, false, "最近资金紧张,暂不同意."); // 部门经理不同意53.54. pi = executionService.findProcessInstanceById(piId);55. assertNull(pi); // 流程结束56.57. HistoryProcessInstance hpi = getHistoryProcessInstanceByProcessInstanceId(piId);58. assertEquals(hpi.getState(), "cancel"); // 流程结束状态是cancel , 取消59. }60.61. /**62. * 测试用例63. * <p>64. * 李四申请4000元,部门经理同意65. */66. public void test4000AndManagerApprove() {67. String curUser = "Li si";68. ProcessInstance pi = startLoanProcess(curUser);69. String piId = pi.getId();70. filloutApplication(piId, curUser, 4000);71.72. curUser = "manager";73. managerApprove(piId, curUser, true, "同意."); // 部门经理同意74.75. pi = executionService.findProcessInstanceById(piId);76. assertNotNull(pi); // 流程未结束77. assertNotNull(pi.findActiveExecutionIn("财务拨款")); // 财务拨款处于活动状态78.79. curUser = "finance";80. earmark(piId, curUser, piId); // 拨款81.82. pi = executionService.findProcessInstanceById(piId);83. assertNull(pi); //流程结束84.85. HistoryProcessInstance hpi = getHistoryProcessInstanceByProcessInstanceId(piId);86. assertEquals(hpi.getState(), "ended"); // 流程结束状态是ended, 正常结束87. }88.89. /**90. * 测试用例91. * <p>92. * 王五申请6000元,部门经理驳回93. */94. public void test6000ButManagerDisapprove() {95. String curUser = "Wang Wu";96. ProcessInstance pi = startLoanProcess(curUser);97. String piId = pi.getId();98. filloutApplication(piId, curUser, 6000);99.100. curUser = "manager";101. managerApprove(piId, curUser, false, "最近资金紧张,暂不同意.");102.103. pi = executionService.findProcessInstanceById(piId);104. assertNull(pi);105.106. HistoryProcessInstance hpi = getHistoryProcessInstance ByProcessInstanceId(piId);107. assertEquals(hpi.getState(), "cancel");108. }109.110. /**111. * 测试用例112. * <p>113. * 赵六申请6000元,部门经理同意,总经理驳回114. */115. public void test6000AndManagerApproveButCeoDisapprove() {116. String curUser = "Zhao Liu";117. ProcessInstance pi = startLoanProcess(curUser); 118. String piId = pi.getId();119. filloutApplication(piId, curUser, 6000);120.121. curUser = "manager";122. managerApprove(piId, curUser, true, "同意. manager");123. pi = executionService.findProcessInstanceById(piId);124. assertNotNull(pi);125. assertNotNull(pi.findActiveExecutionIn("总经理审批"));126.127. curUser = "ceo";128. ceoApprove(piId, curUser, false, "不同意.等资金周转过来再说吧");129.130. pi = executionService.findProcessInstanceById(piId);131. assertNull(pi);132.133. HistoryProcessInstance hpi = getHistoryProcessInstance ByProcessInstanceId(piId);134. assertEquals(hpi.getState(), "cancel");135. }136.137. /**138. * 测试用例139. * <p>140. * 孙七申请6000元,部门经理同意,总经理也同意141. */142. public void test6000AndManagerApproveAdnCeoApprove() {143. String curUser = "Sun Qi";144. ProcessInstance pi = startLoanProcess(curUser); 145. String piId = pi.getId();146. filloutApplication(piId, curUser, 6000);147.148. curUser = "manager";149. managerApprove(piId, curUser, true, "同意. manager");150. pi = executionService.findProcessInstanceById(piId);151. assertNotNull(pi);152. assertNotNull(pi.findActiveExecutionIn("总经理审批"));153.154. curUser = "ceo";155. ceoApprove(piId, curUser, true, "同意. ceo");156. pi = executionService.findProcessInstanceById(piId);157.158. assertNotNull(pi);159. assertNotNull(pi.findActiveExecutionIn("财务拨款"));160.161. curUser = "finance";162. earmark(piId, curUser, piId);163. pi = executionService.findProcessInstanceById(piId);164. assertNull(pi);165.166. HistoryProcessInstance hpi =167. getHistoryProcessInstanceByProcessInsta nceId(piId);168. assertEquals(hpi.getState(), "ended");169. }170.171. /**172. * 用户发起借款申请173. *174. * @param userId175. * @return176. */177. protected ProcessInstance startLoanProcess(String user) {178. Map<String, Object> variables = new HashMap<String, Ob ject>();179. variables.put("proposer", user);180. return executionService.startProcessInstanceByKey("loa n", variables);181. }182.183. /**184. * 填写借款申请185. *186. * @param piId187. * @param user188. * @param money189. */190. protected void filloutApplication(String piId, String us er, double money) {191. List<Task> tasks = taskService.findPersonalTasks(user) ;192. Task filloutTask = null;193. for (Task task : tasks) {194. if (task.getExecutionId().equals(piId)) {195. filloutTask = task;196. break;197. }198. }199. assertNotNull(filloutTask);200. Map<String, Object> variables = new HashMap<String, Ob ject>();201. variables.put("money", money);202. executionService.setVariables(piId, variables); 203. pleteTask(filloutTask.getId()); 204. }205.206. /**207. * 经理审批208. *209. * @param piId210. * @param user211. * @param isPass212. * @param comment213. */214. protected void managerApprove(String piId, String user, boolean isPass, String comment) {215. List<Task> tasks = taskService.findPersonalTasks(user) ;216. Task approveTask = null;217. for (Task task : tasks) {218. if (task.getExecutionId().equals(piId)) {219. approveTask = task;220. break;221. }222. }223. assertNotNull(approveTask);224.225. taskService.addTaskComment(approveTask.getId(), commen t);226. pleteTask(approveTask.getId(), 227. isPass ? "部门经理审批通过" : "部门经理驳回");228.229. }230.231. /**232. * 总经理审批233. *234. * @param piId235. * @param user236. * @param isPass237. * @param comment238. */239. protected void ceoApprove(String piId, String user, bool ean isPass, String comment) {240. List<Task> tasks = taskService.findPersonalTasks(user) ;241. Task approveTask = null;242. for (Task task : tasks) {243. if (task.getExecutionId().equals(piId)) {244. approveTask = task;245. break;246. }247. }248. assertNotNull(approveTask);249.250. taskService.addTaskComment(approveTask.getId(), commen t);251. pleteTask(approveTask.getId(), 252. isPass ? "总经理审批通过" : "总经理驳回");253. }254.255. /**256. * 拨款257. *258. * @param piId259. * @param user260. * @param isPass261. * @param comment262. */263. /**264. * @param piId265. * @param user266. * @param comment267. */268. protected void earmark(String piId, String user, String comment) {269. List<Task> tasks = taskService.findPersonalTasks(user) ;270. Task earmarkask = null;271. for (Task task : tasks) {272. if (task.getExecutionId().equals(piId)) {273. earmarkask = task;274. break;275. }276. }277. assertNotNull(earmarkask);278.279. taskService.addTaskComment(earmarkask.getId(), comment );280.281.// HistoryProcessInstance hpi =282. getHistoryProcessInstanceByProcessInstanceId(piI d,"填写借款申请");283.284. String proposer =(String) executionService.getVariable (piId,"proposer");285. pleteTask(earmarkask.getId()); 286.287. // 通知借款申请人288. System.err.println(">> to " + proposer +", 财务科已经给你拨款.");289. }290.291. public HistoryProcessInstance292. getHistoryProcessInstanceByProcessInstanceId (String piId) {293. return historyService.createHistoryProcessInstanceQuer y().294. processInstanceId(piId).uniqueResult(); 295. }。

中国式的工作流场景配置案例

中国式的工作流场景配置案例

中国式的工作流场景配置案例一、场景背景。

这家工厂主要生产各种小电器,像电水壶、电吹风啥的。

订单来源有国内的经销商,也有一些国外的小订单。

整个工作流得保证订单从接收到产品发货的每个环节都不出差错,而且要高效,毕竟时间就是金钱嘛。

二、工作流环节配置。

1. 订单接收。

销售部门是订单的第一道关卡。

有个专门的销售助理小王,他就像个守门员。

每天早上一上班,他就打开邮箱,查看来自各个渠道的订单邮件。

那些邮件就像雪花一样,有时候多得让人眼花缭乱。

如果订单信息完整,小王就把订单信息录入到公司内部的订单管理系统里。

这个系统就像一个大账本,记录着每个订单的“身家性命”。

要是订单信息不全,小王就得赶紧给客户打电话或者发邮件,就像个催债的(当然是很礼貌的那种),询问清楚缺少的信息。

这时候小王心里肯定在想:“您可快点告诉我吧,后面还有一堆事儿等着呢。

”2. 订单审核。

3. 生产计划安排。

审核通过的订单会被推送到生产部门。

生产部门的张主管看到订单后,就开始头疼了。

为啥呢?因为他得像个拼图高手一样,把这个订单安排到生产计划里。

他得考虑现有的原材料库存、生产线的繁忙程度、工人的排班等各种因素。

如果原材料不够,他就得赶紧通知采购部门去采购。

这时候采购部门的小赵就像个救火队员,接到通知就得马上去找供应商。

要是生产线很忙,张主管可能就得调整订单的生产顺序,就像在堵车的时候调整行车路线一样。

4. 生产环节。

工人师傅们接到生产任务后就开始干活了。

每个工人就像一个小螺丝钉,虽然不起眼,但是缺了谁都不行。

生产线上的班组长就像个小队长,监督着工人的工作进度和质量。

如果发现有产品质量不合格,班组长就得像个严厉的老师一样,让工人重新做。

这期间,质量检测部门也会时不时地来抽检,就像个神秘的督察员,随时给生产环节来个“突然袭击”。

5. 包装与发货。

产品生产好后,就到了包装环节。

包装车间的工人们会把产品包装得漂漂亮亮的,就像给女儿出嫁打扮一样。

包装好的产品会被送到仓库,仓库管理员老钱会根据发货单安排发货。

工作流概述

工作流概述

Windows Workflow Foundation
统一的工作流引擎 重新定义工作流
可用于Windows上所有的应用 可用于跨应用场景 以工作流为中心的可扩展框架及平台 可用于人工和自动化的工作场景 集成的开发环境
最核心的工作流框架
为微软产品及 相关的引用程 序提供通用的 工作流设计平 台和开发工具
发出订单 取消订单
工作流程绘制
根据上述 的流程需求, 绘制出流程图 四种状态: WaitingForOrderState OrderOpenState OrderProcessedState OrderCompletedState
实际业务与工作流的对照
现实业务 业务操作 状态维持 WorkflowRuntime ExternalDataExchangeService StateMachineWorkflowInstance
WWF架构
WWF开发对象
核心概念
Workflow是一组Activities Workflow在一个宿主程序中运行 开发人员可以开发自己的Activity 基本Activity库 Runtime Engine(运行工作流与状态管理) Runtime Service(Workflow宿主通讯) Visual Designer控件(可以在应用程序中调用设计器)
工作流对传统编程方式的冲击
编程思想的革新 程序和业务的表达图 软件开发方式的改变
编程思想的革新
面向过程 面向对象 面向服务 面向方面 面向流程
新职业——流程分析员: 位于业务专家和程序员之间的一个角色
程序和业务的表达图——流程图
类图 结构图 部署图 时序图——顺序工作流 时序图 顺序工作流 状态图——状态机工作流 状态图 状态机工作流

工作流Activit介绍与应用

工作流Activit介绍与应用

工作流A c t i v i t介绍与应用标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]工作流Activiti介绍与应用工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。

我的理解就是:将部分或者全部的工作流程、逻辑让计算机帮你来处理,实现自动化。

1Activiti简介Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。

它实现了BPMN 规范,可以发布设计好的流程定义,并通过api进行流程调度。

1.1Activiti基础编程框架Activiti的基础编程框架如下:Activiti基于Spring,ibatis等开源中间件作为软件平台,在此之上构建了非常清晰的开发框架。

上图列出了Activiti的核心组件。

:流程引擎的抽象,对于开发者来说,它是我们使用Activiti的外观(faade),通过它可以获得我们需要的一切服务。

(TaskService,RuntimeService,RepositoryService...):Activiti按照流程的生命周期(定义,部署,运行)把不同阶段的服务封装在不同的Service中,用户可以非常清晰地使用特定阶段的接口。

通过ProcessEngine能够获得这些Service实例。

1.2Activiti重要服务类ProcessEngine:流程引擎的抽象,通过它我们可以获得我们需要的一切服务。

RepositoryService: Activiti中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据(例如 XML文件,表单定义文件,流程定义图像文件等),这些文件都存储在Activiti内建的Repository中。

工作流(Workflow)学习---基础知识整理

工作流(Workflow)学习---基础知识整理

⼯作流(Workflow)学习---基础知识整理⼯作流定义:⼯作流是将⼀组任务组织起来以完成某个经营:定义了任务的触发顺序和触发条件,每个任务可以由⼀个或多个完成,也可以由⼀个或⼀组⼈完成,还可以由⼀个或多个⼈与软件系统协作完成。

⼯作流2.0的定义是:实现⼯作过程管理的⾃动化、智能化和整合化。

⼯作流2.0最主要的特征就是可以灵便的实现数据整合和数据统计,消除信息孤岛,既能实现OA办公系统内部⼯作流之间的数据整合,如借款与报销、预算与决算等,⼜能实现OA办公系统⼯作流与其他业务系统之间的数据整合,如HR、ERP、CRM等。

⼯作流2.0能彻底的弥补⼯作流1.0的不⾜,它不但实现OA办公系统内部的数据整合,也实现OA办公系统和第三⽅应⽤系统之间的数据整合。

如果给⼯作流1.0打上标签的话,那就是“⽆纸化、重复⼯作、流程孤岛、系统孤岛、数据孤岛”;⼯作流2.0对应的便是“智能化、效率质量提升、外部数据整合、消除信息孤岛、内部数据整合”。

毫⽆疑问,⼯作流2.0更加智能,更加整合,能够实现数据的同步交换和共享的特征更受⽤户欢迎,能有效帮助企业简化多余流程,是未来⼯作流技术发展的⽅向。

适⽤⾏业消费品⾏业,,服务业,银证险等,物流服务业,物业服务业,物业管理,⼤中型进出⼝贸易公司,政府事业机构,研究院所及教育服务业等,特别是⼤的跨国企业和集团公司。

具体应⽤1.关键业务流程:订单、报价处理、采购处理、合同审核、客户电话处理、等。

2.⾏政管理类:出差申请、加班申请、请假申请、⽤车申请、各种办公⽤品申请、购买申请、⽇报周报等凡是原来⼿⼯流转处理的⾏政表单。

3.⼈事管理类:员⼯培训安排、绩效考评、职位变动处理、员⼯档案信息管理等。

4.财务相关类:付款请求、应收款处理、⽇常报销处理、出差报销、预算和计划申请等。

5.客户服务类:客户信息管理、客户投诉、请求处理、售后服务管理等。

6.特殊服务类:ISO系列对应流程、质量管理对应流程、产品数据信息管理、贸易公司报关处理、物流公司货物跟踪处理等各种通过逐步⼿⼯流转完成的任务均可应⽤⾃动规范地实施。

workflowcore的使用案例

workflowcore的使用案例

workflowcore的使用案例WorkflowCore是一个开源的工作流引擎,可以帮助开发人员实现复杂的业务流程。

它提供了一种声明式的方式来定义和执行工作流,使得工作流的设计和维护更加简单和高效。

下面是十个使用WorkflowCore的案例。

1. 审批流程管理:通过WorkflowCore,可以轻松地实现复杂的审批流程。

例如,一个请假申请流程可以包含多个节点,包括提交申请、上级审批、人事审批等。

WorkflowCore可以帮助管理和自动化整个流程,并提供实时的状态跟踪和通知功能。

2. 订单处理:WorkflowCore可以用于管理订单处理流程。

例如,一个电商平台的订单处理流程可以包括订单创建、库存检查、支付确认、物流安排等环节。

通过WorkflowCore,可以将这些环节组织起来,并自动触发下一步操作。

3. 任务调度:WorkflowCore可以用于实现任务调度系统。

例如,一个定时任务的调度系统可以使用WorkflowCore来管理任务的创建、调度和执行。

WorkflowCore提供了灵活的定时触发器和条件判断,可以满足各种调度需求。

4. 异步处理:WorkflowCore支持异步处理,可以帮助开发人员处理耗时的操作,如发送邮件、调用外部接口等。

通过将这些操作封装成工作流的一部分,可以实现更高效的异步处理,提高系统的性能和响应速度。

5. 并行处理:WorkflowCore支持并行处理,可以同时执行多个任务。

例如,在一个工作流中,可以同时处理多个子任务,而不是按顺序依次执行。

这样可以提高系统的并发性能,加快任务处理的速度。

6. 异常处理:WorkflowCore提供了强大的异常处理机制,可以捕获和处理工作流中的异常情况。

例如,当某个任务执行失败时,可以通过WorkflowCore自动触发异常处理逻辑,如发送告警通知、重试任务等。

7. 长时间运行的工作流:WorkflowCore支持长时间运行的工作流,可以处理需要跨多个时间段执行的任务。

Workflow简明教程

Workflow简明教程

Workflow简明教程注:我们将通过作一个workflow的实例来演示一个workflow工作流的建立。

首先建立new的项目在Workflows的file选择菜单中的选择向导选项,用向导作比较直观一些!选择后结果如下:上面两个栏位是新建立的项目的名称internal name 是程序需要的名字,display是显示的名字。

new process是项目中工作流过程的名称,同理,interal name是程序的名字,display name 是显示的名字需要注意的是,internal name是能用中文的,而且最好用大写,display name没有要求其余两个选项不作要求输入你需要的名字然后点ok,这时你的workflow整体框架就出来了,如图:左边是导航区,右边是工作区,跟form的风格和相似,注意右边他默认了两个图标,这是workflow流的两个端点,start和end 。

其中间的流过程是设计者来完成下面我将作一个关于审核工作票的工作流,其流程图如下第一步:我们要建立attribute ,即你在工作流中用到的所有的属性,这个例子中要用到4个属性,分别是send (审核人),view(修改人),gzpbg(工作票编号),p_url(打开的url地址)建立审核人,点右键,如图:建立新的attrib属性填写属性内容,注意如果是人员角色的属性,则要选择相对应的角色选项,如下填写完毕,确定,然后同理创建其余3个属性,这个时候属性创建完毕第二步!创建流程的节点,也就是关键点如图,我要创建一个审批的节点(p_check),还要创建一个审批不合格,需要重新审批的节点(p_ok)在导航区的notification上点右键,新增节点确立新的节点,同理,创建p_ok(复查节点)注意:1,message选项先不选择,因为稍后我们才创建message2, result type 是流程运行时当前节点的分支的类型,这个节点选择审批类型第三步,创建message,message是什么呢?通俗理解就是当流程走到这个节点上的时候,系统会自动根据这个节点上拥有的message发封邮件给你指定的人,通知她去接收信息,达到信息的流转。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2005-2006,应用 领域为OA办公系统。
第一阶段
第二阶段
2007-2008,应用领域 包括OA办公系统、房地 项目管理系统。
第三阶段
2009-2010,应用领域包括OA办公系 统、房地项目管理系统、施工项目管理 系统、人力资源管理系统等。
信息化平台室
6
流程系统总体结构
Web客户端
流程管理程序
复杂的流程图。
信息化平台室
39
成功案例(4)
客户名称:上海建工
信息化平台室
40
流程系统与同行的比较
功能名称 可视化的定义工具 超时处理 PKPM √ √ 金富瑞 √ √ 普元 √ √
流程的导入导出
支持weboffice 流程终止 挂起与恢复 消息提醒 可视化的流程监控 流程代理 工作日历 流程处理记忆 任务自由跳转 签章管理 共享任务 逾期自动流转 流程告知
信息化平台室
21
流程应用现状与价值
1、减少人力成本
•压缩了项目组的规模,直接导致人力成本 的直线下降,整个项目的开发成本大大降 低。
信息化平台室
22
流程应用现状与价值
2、提高开发效率
•避免了重复开发工作,提高了开发人员的 效率,降低了项目开发的风险。
信息化平台室
23
流程应用现状与价值
3、缩短开发周期
•由于编码量的减少以及可视化的应用开发 设计,效率上得到了大大的提升。
项目开发周期缩短了。
信息化平台室
24
流程应用现状与价值
4、提高了软件质量
•整个项目软件开发使用配置化完成,总体 质量得到了提升。
信息化平台室
25
流程应用现状与价值
5、降低运行维护成本
•通过配置化开发出来的软件其系统的敏捷 性是很高的,在需求变更的应对方面要远 远优于其他中间件平台开发的软件;在后 期的项目运行维护时,也能降低运行维护 的成本。
信息化平台室
28
成功案例(1)
客户名称:中建公司
客户发起和处理了1万 多条流程实例。
信息化平台室
29
成功案例(1)
客户名称:中建公司
客户实际使用的审批流程图。
信息化平台室
30
成功案例(2)
客户名称:浙江省建工集团。 项目负责人:蒲秀杰 项目类型:包括项目管理、OA和人力资源管理等
信息化平台室
31
14
可视化的流程监控
使用者可以方便地以图形方式察看每个流程实例的运 转状况,用不同的颜色区分出每个节点的运行状态, 可以方便地掌握整个流程实例运转状态及每个节点的 执行状况。
信息化平台室
15
丰富的处理和管理功能
代理人设置 签章管理 工作日管理 会签 终止 退回 暂存 直送 知会 超时提醒

√ √ √ √ √ √ √ √ √ √ √ √ √

√ √ √ √

√ √ √ √ √ √ √
√ √ √ √
流程回退与直送



信息化平台室
41
流程系统的发展目标
程序升级部署简单
用户操作简单方便
解除与平台模型系统的绑定 功能的可配置化 移动办公,采用手机进行流程审批 预留接口,便于扩展
信息化平台室
成功案例(2)
客户名称:浙江省建工集团。
信息化平台室
32
成功案例(2)
客户名称:浙江省建工集团。
信息化平台室
33
成功案例(3)
客户名称:中建二局三公司 项目负责人:周耀明 项目类型:施工企业信息化项目管理系统。
信息化平台室
34
成功案例(3)
客户名称:中建二局三公司
客户自己完成了大量流程的定制工作。
发展目标
应用范围
主要特点
下一步计划
流程系统
信息化平台室
43
个人成长总结
说写能力
需求分析能力
沟通能力 团队合作精神 技术能力 解决问题的能力
信息化平台室
44
2011年工作计划
1、 继续解决流程在项目实施中提出的问题。 2、 做好项目中的流程技术支持。 3、 会签的优化问题。 4、 完善回退和直送保存数据。 5、 增加发起流程页面。 6、 加强流程维护修改的功能。 7、 流程共享任务和正常任务的合并。 8、 提供可以自定义的流程消息提醒内容 9、 解除与平台模型系统的绑定。 10、流程程序独立部署,需要修改相应AJAX方法。 11、完善流程定义工具。 12、研究微软WF流程技术,做好知识储备,为将来流程升级改 造打下良好的基础。 13、新增列表选择式流程发起功能。
信息化平台室
9
工作流应用场景实例
审批表单
审批意见
流程图
信息化平台室
10
流程系统特点
1、图形化的流程定义。 2、具有强大的工作流引擎服务。 3、流程定义基于XPDL,以XML为基础。 4 、可视化的流程监控。 5、全面支持串行、并行(或/与)、组合流转等业务流程应用。 6、灵活的参与者设置 ,复杂的任务分配体系。 7、丰富的工作流处理和管理功能。 8、集成各类消息提醒。(邮件、手机短信、即时通信) 9、具有中国特色的功能。(流程处理人记忆、回退和直送跳跃等) 10、远程定义和维护 11、流程导入导出方便 12、自动进行版本更新和下载,采用微软最新智能客户端。
信息化平台室
35
成功案例(4)
客户名称:上海建工 项目负责人:王远功 项目类型:施工企业信息化综合项目管理系统 流程使用亮点:回退和直送跳跃
信息化平台室
36
成功案例(4)
客户名称:上海建工
信息化平台室
37
成功案例(4)
客户名称:上海建工
客户的流程审批过程。
信息化平台室
38
成功案例(4)
客户名称:上海建工
信息化平台室
45
2011年工作计划
信息化平台室
46
谢谢大家!
信息化平台室
47
浪费公司的人力、物力等资源, 手工审批周期时间长。
对于每个人来说,公司业务十 分复杂,处理工作效率低。 时间黑洞会永无止境地吞噬 公司的宝贵时间。
没有使用流程前
公司往往存在制约、限制企业 发展的关键环节 公司员工无法集中精力到自己 的关键业务。
19
经常遇到手工审批的表单 丢失、审批不规范等问题
信息化平台室
信息化平台室
11
图形化流程定义
图形化的流程设计可以让客户拖拉式地设计流程,大大提 升了流程的设计效率,同时也大大降低了流程的设计难度。
信息化平台室
12
工作流引擎服务
工作流引擎负责任务的调度,分配,超时监控,事件 控制、逾期自动流转等。 工作流引擎实现了流程启动、挂起、恢复、删除、会 签、终止功能等。 目前支持11种常用的流程模式。
信息化平台室
16
流程应用现状与价值
目前信息化项目中,大约有90%的客户都在使 用流程,并且都当作核心业务。 在每个项目中,流程应用大概占20%-30%。
流程应用范围广。。。 项目应用比重大。。。
信息化平台室
17
流程应用现状与价值
流程应用价值
对客户价值
对软件公司 价值
信息化平台室
18
流程应用现状与价值
信息化平台室
26
成功案例(1)
客户名称:中建公司 项目负责人:黄文喜 项目类型:OA系统 流程使用时间:4年多 发起审批流程数量:1万条 流程相关数据量:10万以上 公司核心业务采用网上审批后,不仅规范了企业制度,还提高 了审批效率。
信息化平台室
27
成功案例(1)
客户名称:中建公司
公司的许多审批业务 都采用网上流程审批。
信息化平台室
3
流程系统介绍
工作流管理系统参照工作流管理联盟(WfMC)标准 设计,以业务管理为核心(BPM),以工作流平台技 术为依托,可以帮助企业快速构建高效、柔性的业务 流程管理系统。
信息化平台室
4
流程系统的历史
2009年
2008年
2007年 2006年
2005年
信息化平台室
5
流程系统的历史
流程引擎
流程定义工具
流程服务程序
7
信息化平台室
流程系统参考模型
参考模型一共分了五个接口, 通过这些接口可以访问工作流 的服务,还控制与其他组件的 交互。
信息化平台室
8
工作流应用场景实例
运营条线 项目ห้องสมุดไป่ตู้司 区域公司 集团总部
各个部门共同参 与审批
成本条线 项目公司 流程发起 财务条线 项目公司 区域公司 集团总部 决策意见 其他条线 项目公司 区域公司 集团总部 区域公司 集团总部 汇总意见
流程应用现状与价值
对客户的价值
客户使用流程后,全部问题都得完美解决。
实现企业业务流程标准化,为企业快 速扩张保驾护航。 规范企业业务流程,提升企业执行力, 保障企业战略落地。
信息化平台室
20
流程应用现状与价值
对软件公司的价值
1、减少人力成本 2、提高开发效率 3、缩短开发周期 4、提高了软件质量 5、降低运行维护成本
信息化平台室
13
任务分配体系
工作流系统可以由不同岗位、不同部门甚至是打破企 业界限的一组人一起协作完成; 工作流任务的参与者既可以支持固定角色,也可以支 持过滤角色; 工作流的任务分配不但可以支持系统配置、手工指定 方式进行任务分配。 按照组织范围过滤,可以满足大型施工企业。
信息化平台室
工作总结与流程系统介绍
平台室研发组:张冬
信息化平台室
相关文档
最新文档