




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于S2SH+JBPM4.4的学生请假系统基于S2SH+JBPM4.4的学生请假系统仅供参考,请勿照搬职责分工表技术集成(S2SH+JBPM4.4),业务逻辑设计与实现,报告撰写界面设计与实现(jQuery),S2SH相关问题共同讨论数据库设计及建表,参与逻辑设计与问题讨论姓名: 学院:计算机科学与技术专业:软件工程指导老师: II目 录1 前言11.1 背景介绍11.2 研究现状11.3 课题研究内容11.4 本文章节安排11.5 本章小结22 核心技术简介32.1 S2SH技术简介32.2 Struts2框架简介32.3 Spring框架简介42.4 Hibernate框架简介42.5 JBPM流程管理技术简介52.6 jQuery技术简介62.7 本章小结73 请假系统需求分析83.1 任务概述83.2 用户特点83.3 功能需求83.4 界面需求103.5 操作需求103.6 本章小结104 概要设计114.1 设计思想114.2 总体设计114.3 数据库结构说明114.4 流程设计134.5 本章小结135 详细设计145.1 数据库物理结构设计145.2 各功能模块详细设计145.3 本章小结186 具体实现196.1 系统开发与运行环境196.2 开发环境的搭建196.3 数据库系统实现276.4 DAO层实现286.5 Action层的实现287 总结36IV1 前言1.1 背景介绍近几年,我国校园网络建设取得了实质性的进展。网络已经不再局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。在关注信息技术与课程教学整合的同时,学校日常工作也逐渐走上信息化的道路,结合软件系统,满足老师和学生的日常需求,是我们目前要考虑的问题。学生请假信息的管理是学校日常工作中的重要组成部分。高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。建设学生请假系统,实现高校学生请假信息网上申请、审批操作,既能够提高工作效率,又可以提高工作水平。1.2 研究现状在大学里,学生请假的时候要通过去找辅导员或者班主任老师签字才能完成这项工作。有时候学校辅导员或者是班主任外出有事情,学生就得拖延请假的日期,这样对有急事的学生造成了很大的困扰。目前,学生请假系统在各大高校中的应用还较少,且现有的请假系统大多没有使用先进的SSH技术进行开发,也没有使用JBPM技术对请假流程进行管理。学生请假系统的建设还远远不能满足学校日常管理的需求,原因大致有两点,一是高校中学生请假系统尚未普及,二是当前学生请假系统的开发技术较为落后。1.3 课题研究内容学生请假系统是一个提供学生日常请假服务的系统,学生可以在网上进行日常的请假任务,而管理员也就是辅导员或者是系主任可以通过本系统对请假的信息进行审核、审批及其他相应的工作。这样不仅可以减少学生平时请假所花费的时间,还能削减辅导员或者是系主任平时的工作量。1.4 本文章节安排本文章节分为六个部分,(1)核心技术,主要介绍SSH框架和JBPM流程管理技术的工作原理;(2)需求分析,介绍该学生请假系统的功能需求、界面需求等;(3)概要设计,介绍网站的层次结构设计、接口设计、数据库结构设计;(4)详细设计,数据库详细介绍和网站各模块的功能和工作流程图;(5)实现,介绍各模块的实现过程和实现结果;(6)测试与维护,简要介绍了本请假系统的测试结果。1.5 本章小结本章介绍了项目开发的背景和研究现状,并介绍了本请假系统的研究内容。最后介绍了本文的章节安排。2 核心技术简介2.1 S2SH技术简介Struts2、Spring、Hibernate是三个既相互独立又彼此关联的框架,它们可以无缝地整合起来构建灵活、易于扩展的多层 Web 应用程序。如今将这三大框架整合到一个项目中,让它们发挥各自的优势,并且让它们很好的协同工作,也是一个很好的选择。 三者关系如下图2-1所示:图2-1 Struts、Spring、Hibernate关系图2.2 Struts2框架简介Struts2是一种基于MVC的轻量级的web应用框架,以WebWork为核心,采用拦截器的机制来处理用户的请求,使得业务逻辑控制器能与Servlet API完全脱离开。Struts2提供强大的标签,能够方便的集成Spring框架,且代码不直接依赖各种HTTP(如HttpServletRequest)的API。Struts2的应用流程如下图所示:图2-2 Struts2应用流程2.3 Spring框架简介Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。另外Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。Spring由7个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图2-3所示。图2-3:Spring结构图2.4 Hibernate框架简介O/R mapping技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。Hibernate是目前最为流行的O/R mapping框架,它在关系型数据库和Java对象之间做了一个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作。Hibernate工作原理如图2-4所示。图2-4:Hibernate工作流程图2.5 JBPM流程管理技术简介jBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。jBPM最大的特色是它的业务逻辑定义没有采用目前的一些规范,如s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process definition language (jPdl)。jPdl认为一个业务流程可以被看作是一个UML状态图。jPdl就是详细定义了这个状态图的每个部分,如起始、结束状态,以及状态之间的转换,通过图型化的流程定义,直观地描述业务流程。jBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域非常流行的一种数据存储层解决方案,只要是 Hibernate 支持的数据库, jBPM 也就支持。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于业务逻辑的处理。2.6 jQuery技术简介jQuery由John Resig、Brandon Aaron 和Jorn Zaefferer创建,它是JavaScript的一个类库,凭借简洁的语法和跨平台的兼容性,简化了JavaScript的开发,其独特而又优雅的代码风格改变了JavaScript程序员的设计思想和编写程序的方式。jQuery官方的口号是Write Less Do More,即写的少,做的多的意思。jQuery有如下优势:(1) 开源。jQuery是开源产品,任何人都可以改进并使用;(2) 轻量级的JS库。jQuery是轻量级的JS库,压缩后只有21k,这是其他的JS库所不及的;(3) 浏览器的兼容性。jQuery可以浏览所有目前正在使用的浏览器,同时他还修正了一些浏览器之间的差异;(4) 强大的选择器。他的选择器方式仿的是CSS选择器定义的方法,对于WEB前端开发人员来说,加大了开发速度,还不用考虑是否兼容;(5) 完善的Ajax。jQuery将Ajax所有的操作都封装到了一个函数$.ajax()里,在处理Ajax时不需要关心兼容性;(6) 丰富可靠的事件处理能力。jQuery为我们提供了大量的事件处理函数,我们只要简单的几行代码就可以完成JavaScript几百行的效果;除此之外,jQuery的好处还有:不污染顶级变量、链式操作方式、隐式迭代、行为层与结构层的分离、丰富的插件支持、完善的文档手册等。2.7 本章小结本章介绍了请假系统的核心技术SSH框架和JBPM流程管理引擎,重点说明了SSH框架和JBPM引擎的结构和工作原理,并简要介绍了jQuery技术。3 请假系统需求分析3.1 任务概述学生请假系统是一个提供学生日常请假服务的系统,学生可以在网上进行日常的请假任务,而管理员也就是辅导员或者是系主任可以通过本系统对请假的信息进行审核、审批及其他相应的工作。3.2 用户特点(1) 学 生:学生请假系统的前台使用者,请假流程的发起人。(2) 教 师:学生请假系统的前台使用者,请假流程的参与者。(3) 系主任:学生请假系统的前台使用者,请假流程的参与者。(4) 管理员:学生请假系统的后台管理者,请假流程的管理人。3.3 功能需求根据用户特点,将本系统分为4个模块,如下图所示。图3-1 学生请假系统功能图各模块功能描述如下:l 学生请假:学生点击网页左边菜单中的“我要请假”,即建立一个新的流程实例,页面输出学生发起的流程的各项参数,继续点击“填写请假单”,填写完毕提交后流程向下进行,任务不再属于学生,辅导员在其页面应能查看并审批学生的请假请求。l 查看待办事项:用户登录后自动在页面打印待办事项,也可通过左边菜单栏点击查看,每项待办事项都有对应的操作链接。l 查看实例进度:用户在页面左侧菜单栏点击“查看实例进度”,即可查看当前活动实例的进度,包括文字描述和图示描述。l 辅导员审批:辅导员点击某项待办事项的“审批”链接,即可查看学生的请假请求,并作出批准或不批准的操作。操作完毕任务不再属于辅导员,如不批准流程结束,结束名“不批准”,如批准流程向下进行,判断请假天数大于一周则流程转到系主任审批,如小于一周则流程结束,结束命“批准”。l 系主任审批:系主任点击某项待办事项的“审批”链接,即可即可查看学生的请假请求,并作出批准或不批准的操作。操作完毕任务不再属于系主任,如不批准流程结束,结束名“不批准”,如批准流程结束,结束命“批准”。l 发布请假流程:管理员登陆后可发布学生请假的流程定义。发布后生成流程定义列表,每个定义对应一个删除链接。l 删除请假流程:点击流程定义对应的删除链接后,此流程定义被删除,根据此流程定义发起的流程实例被级联删除。3.4 界面需求要求界面布局简介、结构清晰,方便用户在该请假系统中进行查询和操作。总体布局分为左侧功能导航栏、右侧内容显示窗口。功能导航栏位于网页左侧,用户可点击选项进入相应的模块;内容显示窗口位于网页右侧,是网页主要内容的展示窗口。进行相应操作时,能够实现局部更新。3.5 操作需求所有操作只需要使用鼠标点击和键盘输入即可完成。3.6 本章小结本章介绍了学生请假系统的开发目标,并给出了该网站的功能结构图,且详细介绍了各模块的功能需求,然后介绍了网站的界面需求、操作需求。4 概要设计4.1 设计思想该系统提供学生日常请假服务,学生可以在网上进行日常的请假任务,而管理员也就是辅导员或者是系主任可以通过本系统对请假的信息进行审核、审批及其他相应的工作。这样不仅可以减少学生平时请假所花费的时间,还能削减辅导员或者是系主任平时的工作量。它将具有以下特点: 创新性:信息化请假流程代替传统请假模式,实现新的请假形式。 高效性:通过实时交互提高师生完成任务的效率。 开放性:在任何有网络支持的地方都可以使用。4.2 总体设计1 请假系统基于WEB,以浏览器形式呈现,各模块对应不同的页面或链接。2 程序架构基于SSH框架+JBPM4.4流程管理引擎。3 数据管理能力要求:除用户表外,请假流程相关信息使用JBPM4.4提供的数据库表。4.3 数据库结构说明1 JBPM4.4提供的数据库表:a. 资源库和运行时表结构JBPM4_DEPLOYMENT 流程定义表JBPM4_DEPLOYPROP 流程定义属性表 JBPM4_EXECUTION 流程实例表 (主要是存放JBPM4的执行信息)JBPM4_JOB 定时表(存放的是Timer 的定义) JBPM4_LOB 存储表 (流程定义相关的布署信息) JBPM4_PARTICIPATION 参与者表 (存放 Participation的信息,Participation的种类有Candidate、Client、Owner、 Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。)JBPM4_PROPERTY 引擎参数表JBPM4_SWIMLANE 泳道表(Swim Lane是一种Runtime Process Role,多个Task可以一次分配到同一Actor身上。)JBPM4_TASK 任务表 (存放需要人来完成的Activities,需要人来参与完成的Activity 被称为 Task). JBPM4_VARIABLE 上下文表 (存的是进行时的临时变量) b. 历史数据库表结构JBPM4_HIST_ACTINST 流程活动(节点)实例表 (Activity Instance的历史记录) JBPM4_HIST_DETAIL 流程历史详细表 (保存Variable的变更记录)JBPM4_HIST_PROCINST 流程实例历史表 (Process Instance的历史记录)JBPM4_HIST_TASK 任务历史表(Task的历史信息)JBPM4_HIST_VAR 流程变量(上下文)历史表 (保存历史的变量 )c. 身份认证表结构 JBPM4_ID_GROUP 组表JBPM4_ID_MEMBERSHIP 用户角色表JBPM4_ID_USER 用户表2 手动建立的数据库表:users 用户登录表,包含用户ID,用户名username,用户密码password,以及用户类别catalog。ER图如下:4.4 流程设计使用JBPM4.4的Eclipse插件绘制流程定义图。4.5 本章小结本章对学生请假系统的需求进行了规定,给出了设计思想、总体设计、数据库结构说明。5 详细设计5.1 数据库物理结构设计用户登录表类型长度允许空值主键/外键id整型8否主键username字符串20否-password字符串20否-catalog字符串20否-5.2 各功能模块详细设计l 用户登录模块模块功能:输入正确的用户名和密码,根据职责跳转到不同页面。流程图:l 学生请假:模块功能:学生点击左侧菜单栏“我要请假”标签,生成新的请假流程实例,并在右侧内容页面打印,进一步点击实例对应的“填写请假单”标签,填写申请表并提交。流程图:l 查看待办事项:模块功能:用户进入主界面自动加载或在查看其它数据时点击左侧“查看待办事项”标签,在右侧内容页面打印待办事项。流程图:l 查看实例进度:模块功能:用户可以查看当前存在的所有实例的进度,打印详细列表,并提供图形化表示。流程图:l 辅导员审批:模块功能:与查看待办任务流程图中的“处理相关任务”衔接,查看学生请假请求,作出相应批准或不批准的审批决定。流程图:l 系主任审批:模块功能:与查看待办任务流程图中的“处理相关任务”衔接,查看学生请假请求,作出相应批准或不批准的审批决定。流程图:l 发布请假流程:模块功能:管理员点击左侧菜单“发布学生请假流程”发布一个请假流程的最新版本。流程图:l 删除请假流程:模块功能:管理员点击定义列表中某定义对应的删除标签,删除相应流程定义。流程图:5.3 本章小结本章首先介绍了数据库详细设计,之后详细介绍了每个模块的功能描述和流程图。6 具体实现6.1 系统开发与运行环境l 开发环境(1) 处理器:Inter CORE 2(2) 内存:2GB(3) 硬盘:250GB(4) 操作系统:Microsoft Windows XP Professional SP3(5) 开发软件:MyEclipse 8.5、SQL Server 2008 R2、Java 6.0、Tomcat 5.5l 系统运行环境A. 服务端:(1) 处理器:2GHz(2) 内存:2GB(3) 硬盘:1TB(4) 操作系统:Microsoft Windows XP Professional SP3(5) 数据库:SQL Server 2008 R2(6) 编译工具:Java 6.0(7) Web服务器:Tomcat 5.5B. 客户端:(1) 处理器:2GHz(2) 内存:2GB(3) 硬盘:250GB(4) 操作系统:Microsoft Windows XP(5) 浏览器:Internet Explorer 7.06.2 开发环境的搭建SSH框架是应用于Java Web Project的,一般是以插件的方式将对应的类库添加到普通的Web应用中,然后配置好相关属性即可让应用运行在SSH框架之上。普通的添加方式是从官方网站下载需要的JAR包,复制到Web工程中的WEB-INF/lib目录下,然后自行创建XML配置文件并手动配置内部元素。在本系统的开发中,本人借用了MyEclipse 8.5中自动加入框架的功能,很方便地完成了三大框架之间的整合工作。A. 添加Struts2框架(1) 选中Web工程后,在MyEclipse菜单中找到添加Struts框架选项,如下图6-1添加Struts框架说明图所示。图6-1:添加Struts框架说明图(2) 选择Struts2.1版本,URL模式默认选择*.action,点击Finish。(3) 进入选择Struts2类库界面,因为本系统预计使用的功能不多,所以默认的Struts2 Core类库基本上能满足开发需要,如果今后需要使用其他类库也可以事后在类库管理中添加,点击Finish。(4) 点击Finish后可以看到在工程的src文件夹下已经自动生成了struts.xml配置文件,说明Struts2框架已成功添加。B. 添加Spring框架:(1) 同样的方法在MyEclipse菜单中找到Spring添加选项,如下图6-2添加Spring框架说明图所示。图6-2:添加Spring框架说明图(2) 在选择类库的界面中需要选择前四项,因为后面涉及到与Hibernate的整合以及AOP事务管理的使用,点击Finish。(3) 点击Finish后同样在src文件夹下发现applicationContext.xml配置文件已被创建好,Spring框架添加完毕。C. 添加Hibernate框架Hibernate是要与数据库打交道的,所以在创建Hibernate之前,需要提供数据库的连接信息。在MyEclipse的DB视图中新建数据库信息,在弹出的页面中选择数据库类型Microsoft SQL Server 2005,起个数据库名,填完数据库的地址、用户名及密码,然后加载Java连接SQL Server的驱动(JAR包),如下图6-3添加Hibernate框架说明图所示。(数据库的实现将在6.3中详细介绍。)图6-3:添加Hibernate框架说明图1单击Finish后在DB视图就能看到创建完的数据库,右键connect后就能看见数据库中存在的表、视图等数据。接下来就是常规的添加Hibernate框架:(1) 找到Hibernate添加选项,如下图6-4添加Hibernate框架说明图所示。图6-4:添加Hibernate框架说明:2(2) 由于JBPM4.4默认使用Hibernate做持久化处理,在JBPM4.4的jar包中已经包含Hibernate的jar包,故这里不做选择,点击Next。(3) 选择第二项Spring Configuration file,因为三大框架整合之后由Spring来管理所有的Bean,所以Hibernate的配置文件也由Spring的applicationContext.xml文件来管理,点击Next。(4) 选择已存在的Spring配置文件即可,点击Next。(5) 在选择数据库页面中选择之前创建完的MySQL数据库,点击Next。(6) 取消创建SessionFactory类,因为SessionFactory会由Spring统一管理,点击Finish。(7) 在DB视图中连接到数据库,右键要映射的表,选择Hibernate反向工程,即可将数据库中的表映射为实体类。最后进行Spring和Struts2的配合,即让Spring来管理Struts2的Action,在Web.xml中添加监听器即可。contextConfigLocationclasspath:applicationContext.xml org.springframework.web.context.ContextLoaderListener至此,Struts2、Spring、Hibernate三大框架已经实现整合,还要再加入对JBPM4.4的支持。D. 添加JBPM4.4JBPM在管理流程时,是需要数据库表的支持的,默认下载下来的配置,使用的是内存数据库。实际应用中,我们就需要连接到我们的数据库里来。所以要事先建好相关的表,相应的sql文件在jbpm-4.4installsrcdb下,由于此目录下并没有SQL Server的建表语句,我便通过查阅资料找到了SQL Server 的建表脚本将JBPM4.4自带的数据库表创建好。JBPM在操作流程时,一切都是基于ProcessEngine对象,让Spring创建出ProcessEngine是整合的关键,先在spring配置文件(applicationContext.xml)里加入如下代码:在这里用到spring-jbpm4.cfg.xml文件,JBPM4.4提供了这个文件,在jbpm-4.4installsrccfgjbpm中可以找到。前面说过,JBPM要数据库表的支持才能工作,JBPM又是使用Hibernate操作数据库,就不免要配置Hibernate的表与实体的映射文件,如下:classpath:jbpm.execution.hbm.xmlclasspath:jbpm.history.hbm.xmlclasspath:jbpm.identity.hbm.xmlclasspath:jbpm.repository.hbm.xmlclasspath:jbpm.task.hbm.xml 注意此处name属性中是mappingLocations,需要填写绝对路径。至此SSH和JBPM4.4的整合工作文档配置部分已完成,但还要继续添加IDE对JBPM的支持。首先加入JBPM4.4的Eclipse可视化插件:打开Myeclipse8.5 - 选择Help菜单 - 选择Myeclipse Configuration Center 打开第三个选项卡SoftWare - 选择右上角add site- 选add form archive file - 找到$jbpm_homeinstallsrcgpd 目录下的jbpm-gpd-site.zip选择OK,出现下面的对话框,选中左边红框中的文件,右键 - Add to Profile,添加到右边红框中。点击右下角的Apply Changemyeclipse自动要求重启,重启后,在新建中会多出一项JBoos jBPM - jBPM 4 Process Definition,如下图。然后配置JBPM4.4 的 Runtime Locations1) 点击 Window - Preferences 2) 选择 JBoss jBPM - jBPM 4.4 - Runtime Locations 3) 点击 Add. 4) 在 Add Location 对话框中,输入一个名字,比如 jbpm 然后点击 Search.5) 在 Browse For Folder 对话框中,选择你的jbpm根目录,然后点击 OK 点击 OK 在 Add Location 对话框中。接下来要添加JBPM4.4的jar包,为了以后使用方便,我们直接为JBPM4.4建立一个user library:1) 点击窗口 - 属性(Windows - Preferences)2) 选择Java - 创建路径 - 用户类库(Java - Build Path - UserLibraries )3) 点击新建(New)4) 类型名字 JBPM4.4+S2SH5) 点击添加JARs(AddJARs.)6) 找到jBPM 安装程序下的 lib 目录7) 选择lib 下的所有jar 文件并点击打开(Open)8) 在jBPM 的安装程序的根目录下选择 jbpm.jar 文件一起添加进去。9) 右键项目-Build Path-Add Libraries-JBPM4.4+S2SH,添加。最后,如果要直接编辑 XML 源码, 最好是在XML 目录中指定一下模式(schema),这样当你在编辑流程源码的时候,可以更好的帮助你编写代码。1) 点击窗口 - 属性(Windows - Preferences)2) 选择XML - 目录(XML - CataLog)3) 点击添加(Add)4) 添加XML 目录(Add XMLCatalog Entry)的窗口打开5) 点击map-icon的图标下面的按钮并选择文件系统(File System)6) 在打开的对话框中, 选择jBPM 安装目录下 src 文件夹中 jpdl.xsd 文件7)点击打开(Open)并且关闭所有的对话框至此,S2SH+JBPM4.4的集成就全部结束了。还要注意的一个问题是:TomCat6.0中会发生和JBPM4.4包冲突的现象,可以选用TomCat5.5。6.3 数据库系统实现1) 数据表的实现:users登录信息表:用于保存用户登录需要的信息,如下图所示2) 数据表的映射:前面已经介绍过,利用Hibernate反向工程,将建好的表映射到工程内生成实体类。6.4 DAO层实现DAO(Data Access Object)是用于访问数据的对象,虽然我们在大多数情况下,将数据保存在数据库中,但这并不是唯一的选择,我们也可以将数据存储到文件中。DAO不但屏蔽了数据存储的最终介质的不同,也屏蔽了具体的实现技术的不同。在使用时,我们在DAO中定义访问其对应数据对象的接口方法,业务层通过DAO操作数据,并使用具体持久化技术实现DAO接口方法,这样业务层和具体持久化技术就实现了解耦。在本系统中我们使用Spring提供的工具HibernateDaoSupport来实现DAO。6.5 Action层的实现以学生模块的action为例:action功能列表:程序名对应功能stuLoadAction预加载待办任务stuLoadInstanceAction查看实例进度studentStartAction开启一个请假实例studentSubmitAction提交请假请求具体功能实现:l 用户登录:Login.java:login.css:如图,使用jQuery技术判断当前是否输入了值,没有输入则输入框为红色。l 学生模块:Student.javapublic String load() processInstanceList=executionService.createProcessInstanceQuery().list(); taskList=taskService.findPersonalTasks(student0);return SUCCESS;SuppressWarnings(unchecked)public String start()String username=getUsername(); Map map = new HashMap(); map.put(owner,username); System.out.println(username); ProcessInstance processInstance=executionService.startProcessInstanceByKey(id); if(processInstance!=null) return SUCCESS; return ERROR;SuppressWarnings(unchecked)public String submit() Map map = new HashMap(); map.put(day, processVo.getDay(); map.put(reason, processVo.getReason(); map.put(name, processVo.getOwner(); taskSpleteTask(processVo.getTaskId(),交辅导员审批,map); setMessage(请求已提交,请等候审批,可返回个人页面查看进度.); return SUCCESS; student_menu_bar.jsp右侧为预加载的待办任务列表,点击填写请假单后,显示表单页面:点击请假进度后调用stuLoadInstanceAction,如下图所示:点击查看示意图:l 辅导员模块:Teacher.javapublic String execute() throws Exception Task task = taskService.getTask(id);taskId=task.getId(); Set strSet=new HashSet(); strSet.add(name); strSet.add(day); strSet.add(reason); map=taskService.getVariables(taskId, strSet); System.out.println(map.get(name); return SUCCESS;public String submit()taskSpleteTask(taskId, result); return SUCCESS; public String load()processInstanceList=executionService.createProcessInstanceQuery().list();taskList=taskService.findPersonalTasks(teacher0);return SUCCESS;点击查看后,可以批准或拒绝学生申请:l 系主任模块:Manager.javapublic String execute() throws Exception Task task = taskService.getTask(id);taskId=task.getId(); Set strSet=new HashSet(); strSet.add(name); strSet.add(day); strSet.add(reason); map=taskService.getVariables(taskId, strSet); System.out.println(map: +map); return SUCCESS;public String submit()taskSpleteTask(taskId, result); return SUCCESS;public String load()processInstanceList=executionService.createProcessInstanceQuery().list();taskList=taskService.findPersonalTasks(manager0);return SUCCESS;l 管理员模块:public String load()processDefinitionList=repositoryService.createProcessDefinitionQuery().list(); processIns
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼都特色小镇合作协议
- 脑梗塞临床护理
- 生产运营管理:企业战略和运作策略
- 管理人员培训心得体会模版
- 2025届江苏省泰州市部分地区八年级数学第二学期期末统考试题含解析
- 高二英语备课组工作总结
- 关于“互联网+”大学生创新创业大赛的需求调研
- 医学写作翻译课程介绍
- 2025年会计试用期工作总结模版
- 新质生产力与财政
- 合伙经营吊车协议书
- 民办非企业会计制度
- 矿山矿石运输协议书
- 2025入团积极分子发展对象考试题库及参考答案详解【巩固】
- 2023光伏发电站快速频率响应检测规程
- 广东省广州市2025届高三下学期考前冲刺训练(二)英语试卷(含答案)
- 疫苗管理制度
- 2025年入团考试开放机会与试题与答案
- 2024届北京朝阳人大附朝阳分校中考一模生物试题含解析
- ktv保安合同协议书
- 民办学校新学期课程设置计划
评论
0/150
提交评论