学校工作计划周报系统的设计与实现

时间:2022-10-05 06:23:51

学校工作计划周报系统的设计与实现

摘要:学校工作计划周报系统为解决学校每周工作安排的上报和查询而设计,以校园网为平台,以JSP技术进行开发,构建了网络化的工作计划填报平台。各部门工作人员可以根据自身权限上网填报未来的工作安排,可以对工作安排进行维护;所有师生可以通过校园网查看学校每周的工作安排,并可以根据需要分类查询,使学校各项工作更有序的进行。

关键词: JSP;工作计划系统;java;数据库技术;办公自动化

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)11-2546-03

The Design and Implementation of the Work Plan Reporting Weekly System for Schools

LU Xin-jie

(Lianyungang Higher School of Traditional Chinese Medicine,Jiangsu Union Technical Institute, Lianyungang 222006,China)

Abstract: In school, we plan our work by teaching-weeks. Each department should refer next week’s arrangements to the office weekly. Traditional paper tabulations always are simple; the submission of them hindered the efficiency of school work. This system uses the campus network as a platform, develops the JSP technology, and builds a network platform for reporting work plans. The staff in every department can complete and maintain the future arrangements online within their own purview; all teachers and students can be notified those work plans though campus network weekly according to the needs of classification. This system will make school work more orderly.

Key words: JSP; work plan system; java; database; office automation

学校工作是以教学周的形式开展的,在日常工作中,学校各部门要根据教学周向校办公室或其他管理部门报送下一周的工作安排,传统的报送形式是各部门将工作计划以纸质或电子文档的形式提供给办公室,由办公室汇总公布。但是传统的报送方式存在诸多问题:1)各部门报送的内容格式不一致,汇总人员要进一步调整;2)报送的信息往往滞后,信息从各部门汇总到办公室,再由办公室进行分类汇总,使工作进程延长;3)同一部门的人员也可能分布于不同的办公地点,本部门信息的汇总也有诸多不便。网络化的工作计划周报系统正是针对以上问题提出的解决方案。

1系统的可行性

1.1硬件的可行

目前大部分学校均组建了校园网,有1台或多台服务器,各员工基本上能做到人手一台电脑,并连接在校园网上,这些条件足以满足系统运行的硬件需要。

1.2技术的可行

单纯的工作计划周报系统本身并不复杂,主要包括信息的提交、修改、删除、查询等常规操作,学校本身工作计划涉及的数据量也不大,小型或中型的数据库即可满足需要。

本系统拟采用JSP技术设计,JAVA语言的平台无关性、安全性、面向对象编程的特点可以使系统的实现更加简单。

2系统的分析与设计

2.1系统的业务流程

2.1.1普通用户的业务流程

首先用户可以在系统首页查询所有的工作计划。用户登录到系统管理页面,在信息录入界面用户录入自己的工作计划,系统对用户录入计划的时间进行处理,用户只可以录入当前周次之后的工作计划。计划录入后,用户可以删除未来的工作计划,当前周次及之前的计划不可以再删除。普通用户还可以修改自己的密码。

2.1.2普通管理员的业务流程

普通管理员除了普通用户拥有的权限以外,还可以添加本部门的工作人员,可以对本部门的普通用户提交的工作计划进行删除或修改。普通管理员一般为部门的领导。

2.1.3超级管理员的业务流程

超级管理员可以添加普通用户,可以通过修改用户的级别,将普通用户提升为普通管理员或将普通管理员修改为普通用户。

超级管理员还具有系统参数设置的权限,即可以设置当前的学年学期,可以设置开学与放假的日期等。

2.2系统功能模块的划分

2.2.1登录模块

在系统的登录模块,用户进入系统必须提供正确的用户名和密码,同时为防止恶意登录,用户还需输入系统自动产生的验证码;如连续三次输入错误,系统将在30分钟内禁止采用客户端IP登录,使系统具有较高的安全性。

2.2.2添加、删除、修改工作计划模块

这一模块面向所有的用户,但根据用户级别不同,所显示的信息也不同。普通用户只能看到自己添加的数据,普通管理员可以看到本部门所有的数据,超级管理员可能看到所有的数据。各用户对自己看到的数据中未来的工作安排数据有修改和删除的权限。

2.2.3添加、删除用户模块

这是普通管理员和超级管理员所使用的模块,系统根据用户级别,使管理员可以添加或删除权限内的用户。

2.2.4系统参数设置模块

系统参数设置模块供超级管理员使用,设置当前的学年学期、设置开学与放假的日期、设置学校部门信息、设置首页中分页显示时的每页的记录数等。

2.3数据表的设计

用户表:包括工号、用户名、密码、用户级别、部门编号字段。

部门信息表:包括部门编号、部门名称、负责人、办公地点、联系方式字段。

系统信息表:包括编号、学期、开学日期、放假日期字段。

工作计划表:包括编号、用户工号、开始时间、结束时间、工作内容、部门、周次、学期、用户IP字段。

数据库中包含以上4个基本数据表即可完成工作计划周报系统的基本功能,如需扩展功能再添加相应的数据表即可。

2.4关键问题的解决

2.4.1字符串自动处理类

在数据传输过程中,默认的字符串编码格式是ISO,这种编码不能正确显示中文,会造成字符串传输错误,故需要将字符串的编码格式改为gb2312。因为各个信息转发过程均会有中文乱码的问题,这里我们将字符转换的方法定义为一个类,在需要的时候直接调用即可。实现代码如下:

public class Tools {

public static String getNewString(String input){

String result=null;

try{

result=new String(input.getBytes("iso-8859-1"),"gb2312");

}catch(Exception e){

e.printStackTrace();

}

return result;

}

}

2.4.2自动分页

在显示查询结果集时,如果数据量较大,则分页操作是必不可少的,基本上在所有的查询页面都要使用到分页操作,该文使用一个JavaBean完成分页操作。由于代码较多,在此不再列出,只阐述分页技术的基本原理:

在进行分页操作时,我们通常需要四个变量:pageSize(每页显示的记录数)、pageNow(希望显示的第几页)、pageCount(总页数)、rowCount(总记录数)。其中pageSize是指定的,pageNow是用户选择的,rowCount是从数据表中查询得到的,pageCount是通过其他三个变量计算得出的,计算方法如下:

if(rowCount%pageSize)==0){

pageCount=rowCount/pageSize;//用查询到的记录数除以每页显示的记录数,得到相应的页数

}else{

pageCount=rowCount/pageSize+1; //如果记录数与页数不能整除,则要多一页

}

在此基础上,通过查询语句,即可得到分页显示的结果,查询语句如下:

select top pageSize字段名列表from表名where id not in (select top pageSize*(pageNow-1) id from表名)

其中id一般为记录编号。

2.4.3教学周的计算

教学周的计算,我们可以通过java.util.*中的Calendar类及其方法来实现,具体的方法是:首先声明一个Calendar类,Calendar类的Calendar.WEEK_OF_YEAR方法可以取得指定日期在本年中的周次。我们可以这样来计算当前的教学周次,如是学年的第二学期,则开学在2月份左右,可以先取得开学日期在一年中的周次,然后用当前日期所属的周次减去开学的周次加1即可。如是学年的第一学期,则开学为8月或9月,会涉及到跨年度的问题,方法是先取得开学日期在一年中的周次,然后用当前日期所属的周次与开学周次比较,如大于它,则用当前日期所属的周次减去开学的周次,如小于它则说明到了下一年,则用52减去开学日期所属周次加上当前日期所属周次再加1即可。

2.4.4防止用户的重复提交

由于Web浏览器有后退和刷新按钮,如果操作人员误操作,可能会造成重复提交。其解决方案有多种,这里采用的方法是在网页中设置一个Hidden表单域,其值是在服务器端随机生成一个session值,Hidden域值和session值在用户做提交动作时是同步修改的,但如果用户刷新页面,session值和Hidden值就不相等,系统给出错误提示。

2.5系统运行界面

图1

3结束语

虽然每周的工作计划填报只是整个学校运行过程中很小的一个环节,但是计划影响着后期的落实工作,将计划及时的、准确的公布出来,可以让相关的工作人员提前准备,同时也方便师生对各部门工作的监督,改变了目前的工作模式,提高的工作效率和数据的共享性。该文仅对系统的基本功能作了设计,在应用中还应根据实际情况不断完善。

参考文献:

[1]何立群.基于B/ S架构的部门工作计划系统的设计与实现[J].软件导刊,2007(12):72-73.

[2]彭立.Tomcat环境下JSP中文乱码问题的解决[J].湖南第一师范学院学报,2011,11(3):128-132.

上一篇:浅谈软件测试风险管理 下一篇:“计算机电路基础”课程建设探索