JAVAWEB
论文
学姓班
号:2008415210216名:王沛然级:0806
基于WEB的劳资人事
管理系统 1引言劳资人事管理是公司企业内部很重要的一个管理事项,但目前大多公司内部劳资人事的管理,基本上是手工操作或是基于dos下的应用,这样对信息的管理者有诸多不便,有的虽然是用foxpro、visualfoxpro开发,但由于开发工具本身的限制,对
网络功能的支持程度不是很强,为以后
软件升级到互联网带来了麻烦。因此有必要开发一个基于网络的劳资人事管理系统,能在网络环境下实现数据的录入、插入、删除、
查询、统计、更新、打印等功能。同时,为了信息的保密与安全,系统还要提供一定的安全机制。Powerbuilder6.5是美国著名的Powersoft公司推出的广泛使用于客户机/服务器体系结构下的应用
程序开发工具,具有完整的Web应用开发功能。它同时支持多种关系数据库管理系统,通过微软公司的ODBC接口和专用的大型数据库接口,能够高速读取数据库中的数据。本系统就采用Powerbuilder6.5开发,服务器端的操作系统为WindowsNT4.0,客户端操作系统为Windows98。2系统功能的分析及规划(1)系统功能的分析公司内部的劳资人事的管理,从大的方面分主要集中在公司职员的个人情况、工资细目、调入调出及用车等。所以该系统主要是实现对数据的录入、插入、删除、网上查询、统计、更新、打印等功能。其次,为了信息的保密与安全,系统还要提供一定的安全机制。(2)系统功能的规划根据以上系统功能的分析,本系统决定采用MDI风格,它主要分为以下几个模块,其中劳资人事管理系统的父窗口的功能结构图如图1所示。文件模块:此模块实现本系统对数据的打开、保存、打印预览、打印及用户管理等功能,并可由此退出系统。信息管理模块:此模块实现系统的信息管理,包括对职工情况一览表、职工调入调出情况表、职工工资表及其它各表的信息数据的插入、删除、修改、保存等功能。查询模块:此模块实现本系统的查询功能,能将个人的基本情况、调入调出情况、工资情况等检索出来,并可实现多条件查询和模糊查询。统计模块:此模块用于对数据库中的信息数据按照一定的规则进行统计。系统服务模块:此模块用来系统管理人员设密码和对系统的功能和开发信息进行介绍等。对于系统中的各表,其基本信息管理功能结构图如图1所示:图1.职工基本信息管理功能图3根据用户要求
设计数据表
数据表的建立是应用程序开发过程中的非常重要的一个环节,必须清楚每一模块要操纵的数据是那些,以及数据间的相互关系,然后建立数据表。劳资人事管理系统要求能对职工的个人情况、调入调出情况、工资情况等进行管理,在职工个人情况表下面,还有象维护职务表,维护学历表等等。同时还要对系统设置安全机制,为实现以上要求,下面仅以人事、工资、密码表为例介绍一下各表的结构:职工情况一览表它包括职工标号、、性别、政治面貌等信息。其结构如下:codechar(4)notnull,//职工编码namechar(8)null,//sexchar(2)null,//性别politicschar(8)null,//政治面貌birthdaydatanull,//出生日期work_timedatanull,//参加
工作时间post_zhwchar(10)null,//职务addresschar(30)null,//家庭住址该表主键为职工编号(code)。职工工资表其结构主要包括职工所得的各种工资福利等。Codechar(4)notnull,//职工编号Namechar(8)null,//g_payintegernull,//岗位工资j_payintegernull,//技能工资w_payintegernull,//物价补s_payintegernull,//书报费ws_payintegernull,//卫生费xh_payintegernull,//小孩补贴a_payintegernull,//工龄工资ht_paynumeric(6,2)null,//合同补贴jj_paynumeric(8,2)null,//奖金total_paynumeric(8,2)null,//工资总额该表主键为职工编号code。系统密码表user_namechar(10)notnull,//用户名称user_
wordchar(10)notnull,//用户密码user_qxchar(2)notnull,//用户权限4系统的网络实现由于Powerbuilder具有完整的
web应用开发功能,由它编制的软件可以方便的同服务器端的数据库协同工
作,构成Client/Server工作方式,它使用的是业界熟悉的Web标准(
HTML和
Java),通过端对对的设计、调试和提交,可以控制Web应用的整个生命周期。本系统客户应用和服务器应用都采用Powerbuilder开发。其中服务器端的程序是实现中的重点部分,其内容主要是生成SQL语句对数据库操作及对所得的数据进行处理。它主要分为监听客户连接、处理客户请求、避免死锁、向客户推送消息等。本系统的实现平台关系图如图2所示:图2.实现平台关系图5关键
问题的解决(1)安全机制问题在进入系统之前,要进行身份确认,只有用户名和用户密码都相符的用户方可进入本系统。为了防止不合法用户对数据的察看和修改,本系统把用户分为三个级别:超级、可修改和只读用户,即一二三级用户。超级(一级)用户不仅拥有对数据的查询、修改权限,还对用户的使用权限进行控制,可以设定用户名、密码和其权限,还可以对纪录进行增加、删除、修改等操作。可修改(二级)用户对数据可以查询、打印,还可以对纪录进行增加、删除、修改等操作。只读(三级)用户只拥有对纪录的浏览、查询和打印权限。当用户要进入系统是必须先输入用户名和密码,按"确认"按钮后,系统辨别用户身份,对合法用户根据用户的权限级别赋予相应的使用功能。(2)对任一数据列进行排序的问题。熟悉Windows的用户一定对资源管理器不陌生,当目录或文件很多时,当然会想到使用排序来尽快定位目标,你只要用鼠标在资源管理器上端的name、size、type或modified中的任意一项点击,它就会将此项按升序或降序排列。同样地,在PowerBuilder中,如果数据比较多,我们也可以采用这种办法来排序以尽快查找记录。本系统以窗口w_rsh为例,要实现这样的排序功能,首先定义两个实例变量Strin
gpre_col=""和Intclick_time=0,它们分别记录上次点击的列和点击同一列的奇偶数。然后在dw_1的Clicked事件中添加如下脚本:Stringclicked_pos,col,formatLongil_posclicked_pos=dwo.Name//取点击的对象il_pos=Pos(clicked_pos,'_t')//对于列标题,//取得的对象是列名+"_t"Ifil_pos>0Thencol=Left(clicked_pos,il_pos-1)Ifcol=pre_colThenIfclick_time=0Thenclick_time=1