昆明理工大学 工作流结课报告 办文自动化系统Word下载.docx
- 文档编号:1471021
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:23
- 大小:393.80KB
昆明理工大学 工作流结课报告 办文自动化系统Word下载.docx
《昆明理工大学 工作流结课报告 办文自动化系统Word下载.docx》由会员分享,可在线阅读,更多相关《昆明理工大学 工作流结课报告 办文自动化系统Word下载.docx(23页珍藏版)》请在冰点文库上搜索。
4.1.3提交审核页面9
4.1.4签发文件页面10
4.1.5文件归档页面11
4.2数据库及流程图关键代码12
4.2.1数据库连接代码12
4.2.1流程图关键代码14
五、测试分析14
5.1代码实现14
六、总结体会17
一、绪论
1.1、研究背景目的及意义
功能稳健且强大的公文流转系统不仅大大高了OA系统工作流的转速,而且明确了办公人员的责任归属。
J2EE的开发模式适合工作流性质软件的开发,在开发模式上与ASP.Net相似,但具有更强的灵活性。
JBPM原理:
总的来说,JBPM是通过对图进行解释执行的,相对于其它支持技术有:
基于消息队列,代码生成。
同时它还能被部署在任何一款JAVA应用服务器上,而最合适的当然是分层J2EE结构的S2SH框架了。
办公自动化系统是一套针对日常办公管理活动,利用现代科学技术成果和先进的办公设备,实现办公活动的科学化和自动化的系统。
早期的办公自动化系统是以数据为处理中心的传统MIS系统,它的应用基于文件系统或(和)关系型数
据库系统,以结构化数据为存储和处理对象,强调对数据的计算和统计能力,完成了办公信息载体从原始的纸质介质向电子介质的飞跃。
随着信息技术的飞速发展,办公自动化在近二、三十年来的发展异常迅速,它已经发展成为以工作流为中心的办公自动化系统,工作流的目的是通过将一个具体的工作分解成多个任务、角色,通过一定的规则和过程约束这些任务的执
行和监控,以达到提供企业的生产经营管理水平的目的。
它的最大优点是将应用逻辑与过程逻辑相分离,只需修改过程模型就可以改变系统功能,实现了工作流程的自动化以及收发文件从传统的手工方式向自动化方式的飞跃,同时通过可视化的流程定义和流程监控,实现了流程的优化和重组,已广泛应用于当今社会的各个行业。
目前,各地政府和企业为改善投资环境,提高办事效率,按照改革行政审批制度的要求,纷纷建立集中审批中心。
集中审批中心负责政策咨询,集中联合审批,提高跨部门行政审批效率,简化办事流程。
由于传统的文件审批系统的审批流程不灵活,影响了实际工作效率。
为此,笔者设计了一种流程可重构文件审批系统,以期为企事业单位文件审批管理服务提供帮助。
二、需求分析
2.1、整体需求分析
在实际工作中,公文管理中的公文的收发和流转是整个办公自动化系统的核心。
包括了细节的收文和发文。
在正式发文之前公文或报告需要经有关领导审阅、批示。
因此整个公文管理系统的权限大致可以分为:
具有审批权的领导、普通领导、具有审批权的二级部门领导、部门办事员、各教学和教辅单位及个人。
领导可以查阅所有公文,部门领导及其他人员只能查阅公共性公文和与本部门有关的公文。
我们主要实现内部公文起草、审批、会签、签发、传阅、承办和归档等功能。
同时实现外部收文的传阅,承办,归档等功能。
三、系统功能设计
3.1、系统总体设计
为了更好地整合JBPM,本系统的设计与实现是基于J2EE的MVC模式的架构。
MVC是一个设计模式,它将应用程序的输入、处理和输出分开,使一个应用程序被分成三个层———模型层、视图层、控制层。
MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
比如一批统计数据你可以分别用柱状图、饼图来表示。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
该设计模式的主要优势之处就是分离了数据、控制层与界面。
系统采用webwork+spring+hibernate开源框架来实现MVC设计模式,同时JBPM也是使用hibernate来管理它的数据库,使得该框架与JBPM能更好地整合。
以webwork+spring+hibernate框架为核心结合JBPM工作流技术所构建的办公自动化系统其工作原理如图1所示。
该图说明了框架协调工作与交互的过程。
首先来自客户端的Http请求送到框架中的ActionServlet等候处理。
ActionServlet包括一组基于配置的ActionMapping对象,每个ActionMapping对象实现了一个请求到Model部分中一个具体的Action处理器对象之间的映射。
ActionServlet接受客户端的请求,并将请求交与RequestProcessor来处理。
RequestProcessor根据请求的URL从ActionMapping中得到相应的Action并根据请求的参数实例化相应的ActionForm,再进行form验证。
验证通过则调用Action的Execute方法,在方法体内,调用业务逻辑模块,然后由Hibernate在“幕后”完成与数据库的交互,即业务逻辑类里通过HSQL语句操作业务对象。
接着,Hibernate把HSQL转换为SQL,通过O/R映射文件实现具体对数据源的操作,即穿过持久层映射到具体的数据库表。
Execute方法执行后须返回ActionForward对象。
Action-Servlet接受Execute方法返回ActionForward对象,转发到ActionForward指定的源。
这个源可以是一个JSP或另一个Action或另一个Servlet。
3.2、数据库的设计:
我们使用的数据库是MySQL的数据库,适用于工程使用,数据库的整体结构如下:
3.3、详细设计
3.4.1设计流程流程图的整体结构如下图所示:
3.4.2登录界面设计
登陆界面考虑到易用性,仅设计为只有一个页面,含有输入用户名的位置及登陆的位置:
3.4.3起草文件页面设计
文件起草的时候要考虑到所提交的文件的名称,提交人的名称,起草的时间,交稿的时间以及要将所起草的文件上传。
3.4.4提交审核页面设计
审核页面由于有两个阶段,包括科长和处长的审核,其中如果有一个不通过则会返回去重写,否则怎进入下一步,当处长审核通过之后,则可以进行定稿以及签发。
3.4.5签发归档文件页面设计
当文件整体通过之后就可以直接进行签发和归档文件的工作,程序将在后台执行签发和回档的程序,执行成功后会在页面进行提示。
四、系统设计
4.1代码实现(关键代码设计)
4.4.1登录页面
<
%@pagelanguage="
java"
contentType="
text/html;
charset=UTF-8"
pageEncoding="
UTF-8"
%>
%@pageimport="
java.util.*,org.jbpm.api.*,java.util.zip.ZipInputStream"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDHTML4.01Transitional//EN"
"
http:
//www.w3.org/TR/html4/loose.dtd"
>
html>
head>
metahttp-equiv="
Content-Type"
content="
title>
Inserttitlehere<
/title>
/head>
body>
%
Stringusername=request.getParameter("
username"
);
if(username!
=null&
&
!
"
.equals(username)){
session.setAttribute("
username);
response.sendRedirect("
index.jsp"
}
formaction="
method="
post"
员工用户名:
inputtype="
text"
name="
<
submit"
value="
登陆"
/form>
/body>
/html>
效果图如下:
4.4.2发起文件流程页面
org.jbpm.api.task.*"
java.util.zip.ZipInputStream"
java.util.*,org.jbpm.api.*"
用户:
%=session.getAttribute("
)%>
|<
ahref="
login.jsp"
退出<
/a>
hr>
ProcessEnginepe=Configuration.getProcessEngine();
RepositoryServicers=pe.getRepositoryService();
ExecutionServicees=pe.getExecutionService();
TaskServicets=pe.getTaskService();
Stringusername=(String)session.getAttribute("
//Strings=request.getCharacterEncoding();
List<
ProcessDefinition>
lists=rs.createProcessDefinitionQuery().list();
//流程实例
ProcessInstance>
lists1=es.createProcessInstanceQuery().list();
//流程实例列表
Task>
lists2=ts.findPersonalTasks(username);
//代办任务列表
tablecellpadding="
1"
cellspacing="
0"
border="
captionalign="
top"
办文系统<
/caption>
tr>
th>
办文流程ID<
/th>
流程名称<
流程版本<
操作<
/tr>
for(ProcessDefinitionpd:
lists){
td>
%=pd.getId()%>
/td>
%=pd.getName()%>
%=pd.getVersion()%>
delete.jsp?
id=<
%=pd.getDeploymentId()%>
删除办文流程<
start.jsp?
发起办文流程<
%
}
/table>
流程实例管理<
实例ID<
实例名称<
实例状态<
for(ProcessInstancepi:
lists1){
%=pi.getId()%>
%=pi.findActiveActivityNames()%>
%=pi.getState()%>
view.jsp?
查看实例<
代办任务<
任务ID<
任务名称<
for(Tasktask:
lists2){
%=task.getId()%>
%=task.getName()%>
%=task.getFormResourceName()%>
?
查看任务<
4.4.3提交页面
charset=gb2312"
%@page
import="
java.io.File,java.io.FileInputStream,java.io.InputStream,java.util.zip.ZipInputStream,java.util.*,org.jbpm.api.*,java.util.zip.*"
request.setCharacterEncoding("
response.setCharacterEncoding("
StringdeployFile=request.getParameter("
processDef"
ProcessEnginepe=Configuration.getProcessEngine();
StringtaskId=request.getParameter("
id"
Tasktask=ts.getTask(taskId);
if(deployFile!
deployFile!
="
){
try{
Stringfile=deployFile;
//将ZIP文件封转到IO流里
InputStreamis=newFileInputStream(newFile(file));
ZipInputStreamzis=newZipInputStream(is);
zis.close();
is.close();
out.println("
发布流程成功<
br/>
ahref='
task-write.jsp'
返回<
}catch(Exceptione){
e.printStackTrace();
发布流程失败"
}
scripttype="
text/javascript"
functionreadFile(obj){
document.getElementById("
file"
).value=obj.value;
/script>
submit-boss.jsp"
<
hidden"
${param.id}"
taskId"
br>
文件名称:
%=ts.getVariable(taskId,"
name"
提交人名称:
Pname"
起草时间:
qtime"
交稿时间:
jtime"
审批通过"
result"
老板驳回"
fontcolor="
red"
将要发布的文档打包成zip文件之后发布<
/font>
formname="
form1"
action="
deploy.jsp"
label>
提交文档<
onchange="
readFile(this)"
/label>
Submit"
提交"
4.4.4审核页面
form>
工作流大报告<
文件提交人:
张洵<
文件起草日期:
2015-06-20<
文件交稿日期:
2015-06-27<
科长批准"
科长驳回"
处长审批的页面和此页面类似,就不再展示
4.4.5签发归档文件页面
签发归档文件由于只需要提示就可以了,所以仅需要做一个简单的文字界面。
java.util.*"
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"
:
//"
+request.getServerName()+"
+request.getServerPort()+path+"
/"
;
DOCTYPEHTMLPUBLIC"
basehref="
%=basePath%>
MyJSP'
dinggao.jsp'
startingpage<
pragma"
no-cache"
cache-control"
expires"
keywords"
keyword1,keyword2,keyword3"
description"
Thisismypage"
--
linkrel="
stylesheet"
type="
text/css"
href="
styles.css"
-->
文件已经定稿签发并归档成功,流程结束,已删除<
4.2、数据库及流程图关键代码:
4.2.1、数据库连接代码
xmlversion="
1.0"
encoding="
utf-8"
DOCTYPEhibernate-configurationPUBLIC
-//Hibernate/HibernateConfigurationDTD3.0//EN"
hibernate-configuration>
sessi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 昆明理工大学 工作流结课报告 办文自动化系统 昆明 理工大学 工作流 报告 自动化 系统