ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:346.77KB ,
资源ID:10809927      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10809927.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用activiti 工作流 实现简单的请假 附带源码.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用activiti 工作流 实现简单的请假 附带源码.docx

1、用activiti 工作流 实现简单的请假 附带源码用activiti 工作流 实现简单的请假 附带源码用activiti 工作流 实现简单的请假 附带源码新建一个Maven项目项目结构pom.xmlhtmlview plaincopy1.projectxmlns=http:/maven.apache.org/POM/4.0.0xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance2.xsi:schemaLocation=http:/maven.apache.org/POM/4.0.0http:/maven.apache.org/xsd/maven

2、-4.0.0.xsd3.modelVersion4.0.0modelVersion4.5.groupIdcom.dengkun.activitigroupId6.artifactIdTest1artifactId7.version0.0.1-SNAPSHOTversion8.packagingjarpackaging9.nameTest1Namename10.descriptionTest1ddescription11.12.properties13.project.build.sourceEncodingUTF-8project.build.sourceEncoding14.properti

3、es15.16.dependencies17.dependency18.groupIdorg.vaadin.addonsgroupId19.artifactIddcharts-widgetartifactId20.version0.10.0version21.typejartype22.dependency23.24.dependency25.groupIdorg.activitigroupId26.artifactIdactiviti-engineartifactId27.version5.15.1version28.dependency29.dependency30.groupIdorg.

4、activitigroupId31.artifactIdactiviti-springartifactId32.version5.15.1version33.dependency34.dependency35.groupIdorg.activitigroupId36.artifactIdactiviti-explorerartifactId37.version5.15.1version38.dependency39.40.dependency41.groupIdcommons-dbcpgroupId42.artifactIdcommons-dbcpartifactId43.version1.4

5、version44.dependency45.dependency46.groupIdmysqlgroupId47.artifactIdmysql-connector-javaartifactId48.version5.1.29version49.dependency50.51.dependency52.groupIdorg.springframeworkgroupId53.artifactIdspring-coreartifactId54.version4.0.6.RELEASEversion55.dependency56.dependency57.groupIdorg.springfram

6、eworkgroupId58.artifactIdspring-beansartifactId59.version4.0.6.RELEASEversion60.dependency61.dependency62.groupIdorg.springframeworkgroupId63.artifactIdspring-testartifactId64.version4.0.6.RELEASEversion65.dependency66.dependency67.groupIdorg.springframeworkgroupId68.artifactIdspring-contextartifact

7、Id69.version4.0.6.RELEASEversion70.dependency71.dependency72.groupIdorg.springframeworkgroupId73.artifactIdspring-context-supportartifactId74.version4.0.6.RELEASEversion75.dependency76.dependency77.groupIdorg.springframeworkgroupId78.artifactIdspring-txartifactId79.version4.0.6.RELEASEversion80.depe

8、ndency81.dependency82.groupIdorg.springframeworkgroupId83.artifactIdspring-ormartifactId84.version4.0.6.RELEASEversion85.dependency86.87.dependency88.groupIdorg.mybatisgroupId89.artifactIdmybatisartifactId90.version3.2.5version91.dependency92.dependency93.groupIdorg.mybatisgroupId94.artifactIdmybati

9、s-springartifactId95.version1.2.2version96.dependency97.98.dependency99.groupIdjunitgroupId100.artifactIdjunitartifactId101.version4.11version102.dependency103.104.dependency105.groupIdlog4jgroupId106.artifactIdlog4jartifactId107.version1.2.4version108.dependency109.dependency110.groupIdorg.slf4jgro

10、upId111.artifactIdslf4j-apiartifactId112.version1.7.6version113.dependency114.dependency115.groupIdorg.slf4jgroupId116.artifactIdjcl-over-slf4jartifactId117.version1.7.6version118.dependency119.dependency120.groupIdorg.slf4jgroupId121.artifactIdslf4j-log4j12artifactId122.version1.7.6version123.depen

11、dency124.125.dependency126.groupIdmonsgroupId127.artifactIdcommons-lang3artifactId128.version3.1version129.dependency130.dependency131.groupIdcommons-iogroupId132.artifactIdcommons-ioartifactId133.version2.4version134.dependency135.dependency136.groupIdcommons-fileuploadgroupId137.artifactIdcommons-

12、fileuploadartifactId138.version1.2.2version139.dependency140.141.dependency142.groupIdjavax.annotationgroupId143.artifactIdjavax.annotation-apiartifactId144.version1.2version145.dependency146.dependency147.groupIdjoda-timegroupId148.artifactIdjoda-timeartifactId149.version2.1version150.dependency151

13、.152.dependencies153.project本人使用的是开源中国的库,dcharts-widget 路径不同,所以要复制到本地的私服库,注意名字不能错。activiti.cfg.xml:htmlview plaincopy1.xmlversion=1.0encoding=UTF-8?2.beansxmlns=http:/www.springframework.org/schema/beans3.xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance4.xsi:schemaLocation=http:/www.springframewor

14、k.org/schema/beanshttp:/www.springframework.org/schema/beans/spring-beans.xsd5.6.beanid=processEngineConfigurationclass=org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration7.propertyname=jdbcUrlvalue=jdbc:mysql:/myactiviti/8.propertyname=jdbcDrivervalue=com.mysql.jdbc.Driver/9.propertyn

15、ame=jdbcUsernamevalue=root/10.propertyname=jdbcPasswordvalue=123456/11.propertyname=databaseSchemaUpdatevalue=true/12.bean13.beans在 resource下新建Activiti Diagram可以通过这个地址安装插件Activiti BPMN 2.0 designer -http:/activiti.org/designer/update/(如果是公司需要代理才能连接外网,请注意设置代理)将UserTask分别修改成入下图所示修改好ID和 NAME然后在修改Mainco

16、nfig中的Assignee,员工请假修改为张三,老板审批修改为老板点击Window-Preferences-Activiti-Save Actions:将Createprocessdefinitionimagewhensavingthediagram勾选然后保存bpmn文件的时候会自动帮你截图通过ProcessEngines.getDefaultProcessEngine获取流程引擎注:请先在MySql建立数据库myactiviti,使用默认设置即可,然后运行App.java 中的main函数,当获取到的processEngine对象不为空时就会在数据库创建关于activiti的23张表,要

17、保证数据库连接正常。javaview plaincopy1.publicclassApp2.publicstaticvoidmain(Stringarg)3.ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();4.5.通过源码可以看到getDefaultProcessEngine方法会通过默认的activiti.cfg.xml文件名或者是activiti-context.xml文件名读取xml文件具体作用如下:跟详细的情况可以去下面这个地址了解:此时你可以在数据库中看到act_ge_property表中插入了3

18、条数据将MyLeave.bpmn和MyLeave.png打包成myleave.zip文件(一定要是zip别压缩成rar)执行以下方法,发布请假流程:MyTest.java附录的项目的代码,建议执行一个函数看下数据库再执行下一个,能比较快速上手数据库。注:保证数据库链接正常,否则processEngine会报空指针。javaview plaincopy1./*2.*发布流程3.*发布流程后,流程文件会保存到数据库中4.*/5.Test6.publicvoiddeployFlow()7.RepositoryServicerepositoryService=processEngine.getRepo

19、sitoryService();8.9./获取在classpath下的流程文件10.InputStreamin=this.getClass().getClassLoader().getResourceAsStream(myleave.zip);11.ZipInputStreamzipInputStream=newZipInputStream(in);12./使用deploy方法发布流程13.repositoryService.createDeployment()14.addZipInputStream(zipInputStream)15.name(Myleave)16.deploy();17.

20、查看数据库发布的流程文件信息会保存在下面的三张表中:我们可以通过RepositoryService获取详细的流程定义信息htmlview plaincopy1.Test2.publicvoidqueryProcdef()3.RepositoryServicerepositoryService=processEngine.getRepositoryService();4./创建查询对象5.ProcessDefinitionQueryquery=repositoryService.createProcessDefinitionQuery();6./添加查询条件7.query.processDefi

21、nitionKey(myProcess);/通过key获取8./.processDefinitionName(Myprocess)/通过name获取9./.orderByProcessDefinitionId()/根据ID排序10./执行查询获取流程定义明细11.ListProcessDefinitionpds=query.list();12.for(ProcessDefinitionpd:pds)13.System.out.println(ID:+pd.getId()+,NAME:+pd.getName()+,KEY:+pd.getKey()+,VERSION:+pd.getVersion(

22、)+,RESOURCE_NAME:+pd.getResourceName()+,DGRM_RESOURCE_NAME:+pd.getDiagramResourceName();14.15.key和name就是我们原先画bpmn时候声明的:使用流程定义的Key发布一个请假流程:javaview plaincopy1./*2.*发布流程3.*/4.Test5.publicvoidstartFlow()6.7.RuntimeServiceruntimeService=processEngine.getRuntimeService();8./*9.*启动请假单流程并获取流程实例10.*因为该请假单流程

23、可以会启动多个所以每启动一个请假单流程都会在数据库中插入一条新版本的流程数据11.*通过key启动的流程就是当前key下最新版本的流程12.*13.*/14.ProcessInstanceprocessInstance=runtimeService.startProcessInstanceByKey(myProcess);15.System.out.println(id:+processInstance.getId()+,activitiId:+processInstance.getActivityId();16.流程发布后在act_ru_task,act_ru_execution, act_

24、ru_identitylink表中插入流程数据接下来就可以通过用户ID去查看该用户的任务了javaview plaincopy1./*2.*查看任务3.*/4.Test5.publicvoidqueryTask()6./获取任务服务对象7.TaskServicetaskService=processEngine.getTaskService();8./根据接受人获取该用户的任务9.Listtasks=taskService.createTaskQuery()10.taskAssignee(张三)11.list();12.for(Tasktask:tasks)13.System.out.println(ID:+task.ge

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1