传智播客JAVA培训OA项目 审批流转模块

传智播客JAVA培训OA项目 审批流转模块(未)

做工作,做技术,最主要的就是有一种专研的功能,特别是在学习的初期阶段也很重要,因为,老师永远不可能把所有的知识交给你,就像,你被你母亲生了下来,他手把手的教会了你走路,但是人生的路却是要你自己去走的一样。往日的学校,也仅仅是教会了你做人的道理,或者是学习一个东西的方法。而今,你我走进了社会,社会,很少会有人来教你了,很多东西都得自己去领悟,做人,人与人之间,同事之间 的关系,都需要我们自己去领悟。

我有时候会因为一些困难而心生疲惫,这也人之常情,每一个人都有累的时候,但是如果不能正确的来调节工作,学习,自己或许会越来越受到挑战。希望你也能在这一条路上越走越远,这是他给我的祝福,我也相信,一定会的,和汤阳光老师说的一样,做人比做事更重要。

小知识点:

1.回退。返回到之前的结点,重新执行!JBPM没有直接支持,要自己来实现。所以,要对JBPM的源码有一定了解。

2.流程嵌套。就是子流程。JBPM支持

3.State结点。暂停。一个流程执行时,可以暂停,去执行其它流程。

审批流转:

1.执行审批流转

直接执行是不可能的,因为审批流程,和文档模块。只有这两个才可以。所以先实现如下。(执行审批流程,要用到ProcessDefinition

2.文档模块管理

3.审批流程管理

4.查询

实现步骤:

1.文档模块管理

a) 分析

b) 设计实体

主键:  Long id;

文件名:String fileName;

说明:String description;

扩展名:extension

文件所用的流程:String processName;

文件的路径:String path;

文件存放的方式:

1.可以存到数据库中,bolb类型。

2.可以放在文件中,存一个路径。

c) 编写对应的domain类和DocumentTemplate类。

d) 编写Action

i. 与之前相比,多了一个下载的方法。

ii. 写上传文件时注意事项:

1. org.apache.commons.io.FilenameUtils;可以直接根据文件全名,取得其中的文件名和扩展名。

2. 防止上传危险文件(.jsp,把上传过来的所有文件都改名。例如用一个随机的字符串。UUID.randomUUID().toString();

小知识点:

1.如果程序中有没有实现的功能,你可以使用一种特别的方式,使用任 列表的方式进行标注:加入:

1.//FIXME 

2.//TODO

3.//XXX

3. 打开一个文件件,如果文件夹中的文件太多了,会速度很慢,相信大家都有过这样的经历。当我们上传的文件在一个文件中,如果文件过多时,也会有这种情况,我们要怎么解决这个问题呢?

4. 这儿删除时,也同时要删除上传的文件,因为这个时候这个文件已经没有人引用了,所以,也要删除悼。(但出于历史记录的原因,是不是可以不删除)。解决方法:重写delete,都删除。

5. 下载功能。

a) 要写头文件

//指定为二进制消息

response.setContentType("application/octet-stream");

response.setHeader("Content-Disposition", "attachment;filename=" + name);

b) 编码问题

String name = documentTemplate.getFileName() + "." + documentTemplate.getExtension();

Name = URLEncoder.encode(name,"utf-8");

在做这个的过程中,有一个问题导致异常:

6. 错误未能重现,真失败。

2.审批流程管理

a) 分析 流程实体不用在设置 jbpm提供 

b) ProcessDefActionForm

i. FormFile upload; //用于保存要上传的实体

c)  编写Action

i. 该类的写类同上步几乎相对。需要写service层接口和实现类。但需要注意的时候,jbpm他自己的实体是要用他自己提供的session来操作。而这之前定义 的实现都是我们自己设计的方法。所以,这儿要改进。

ii. JbpmContext 是取得Session的关键。

d) 每一次请求对应一个线程。而同一个线程中的JbpmContext是相同的。而Jbpm自动提供了JbpmContext与线程绑定的功能。

e) 在用HQL查询时,涉及到一个auto-import的属性,默认时,该值为true,但是如果系统出现两个相同的类名,就会出现问题,所以要谨慎采用该属性。

3.执行审批流转

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值