您现在正在浏览:首页 > 职教文章 > 职教论文 > 基于C_S的职工工资管理系统的设计与实现

基于C_S的职工工资管理系统的设计与实现

日期: 2011/3/19 浏览: 186 来源: 学海网收集整理 作者: 申加华

数据库与信息管理本栏目责任编辑:闻翔军

电脑知识与技术

1 引言

职工工资管理是公司企业内部很重要的一个管

理事项, 但目前大多公司内部职工工资的管理, 基本

上是手工操作或是基于 dos 下的应用, 这样对信息的

管理者有诸多不便, 有的虽然是用 foxpro、visual fox-

pro 开发, 但由于开发工具本身的限制, 对网络功能的

支持程度不是很强, 为以后软件升级到互联网带来了

麻烦。因此有必要开发一个基于网络的职工工资管理

系统, 能在网络环境下实现数据的录入、插入、删除、

查询、统计、更新、打印等功能。同时, 为了信息的保密

与安全, 系统还要提供一定的安全机制。

Powerbuilder9.0 是美国著名的 Powersoft 公司推

出的广泛使用于客户机/服务器体系结构下的应用程

序开发工具, 具有完整的 Web 应用开发功能。它同时

支持多 种关系 数据库 管理系 统, 通 过微软 公 司 的

ODBC 接口和专用的大型数据库接口, 能够高速读取

数据库中的数据。本系统就采用 Powerbuilder8.0 开

发, 服务器端的操作系统为 Windows 2000 sever, 客户

端操作系统为 Windows 2000。

2 系统功能的分析及规划

(1)系统功能的分析

公司内部的职工工资的管理, 从大的方面分主要

集中在公司职员的个人情况、工资细目、调入调出及

用车等。所以该系统主要是实现对数据的录入、插入、

删除、网上查询、统计、更新、打印等功能。其次, 为了

信息的保密与安全, 系统还要提供一定的安全机制。

(2)系统功能的规划

根据以上系统功能的分析, 本系统决定采用 MDI

风格, 它主要分为以下几个模块, 其中职工工资管理

系统的父窗口的功能结构如下所示:

文件模块: 此模块实现本系统对数据的打开、保

存、打印预览、打印及用户管理等功能, 并可由此退出

系统。

信息管理模块: 此模块实现系统的信息管理, 包

括对职工情况一览表、职工调入调出情况表、职工工

资表及其它各表的信息数据的插入、删除、修改、保存

等功能。

查询模块: 此模块实现本系统的查询功能, 能将

个人的基本情况、调入调出情况、工资情况等检索出

收稿日期: 2007- 12- 12

作者简介: 申加华( 1965- ) , 女, 江苏徐州人, 江苏徐州机电工程高等职业学校计算机讲师, 计算机科学与技术专业, 研究方向: 计算

机网络技术。

基于 C/S 的职工工资管理系统的设计与实现

申加华

( 徐州机电工程高等职业学校, 江苏 徐州 221011)

摘要: 本文提出了一个基于 WWW 环境的职工工资管理系统, 应用动态服务器页面实现了职工工资的多

条件查询、删除、更新、打印、密码设置等功能。

关键词: 职工工资管理系统; 动态服务器页面; 多条件查询; 密码设置

中图分类号: TP311 文献标识码: A 文章编号: 1009- 3044(2008)02- 10226- 03

Design and Realization of an Employee Salary Managing System Based on C/S

SHEN Jia- hua

(Xuzhou Electromechanical Engineering Higher Vocational School,Xuzhou 221001,China)

Abstract:The paper puts forward a managing system of employee salary based on WWW environment, which,

though dynamic server page layout, has made many function come true, such as multi- condition inquiry, deletion,

updating, print, password setting of employee salary.

Key words: Employee Salary Managing System;dynamic server page layout;multi - condition inquiry;password

setting

226

数据库与信息管理本栏目责任编辑:闻翔军

来, 并可实现多条件查询和模糊查询。

统计模块: 此模块用于对数据库中的信息数据按

照一定的规则进行统计。

系统服务模块: 此模块用来系统管理人员设密码

和对系统的功能和开发信息进行介绍等。

3 根据用户要求设计数据表

数据表的建立是应用程序开发过程中的非常重

要的一个环节, 必须清楚每一模块要操纵的数据是那

些, 以及数据间的相互关系, 然后建立数据表。职工工

资管理系统要求能对职工的个人情况、调入调出情

况、工资情况等进行管理, 在职工个人情况表下面, 还

有象维护职务表, 维护学历表等等。同时还要对系统

设置安全机制, 为实现以上要求, 下面仅以人事、工

资、密码表为例介绍一下各表的结构:

职工情况一览表

它包括职工标号、姓名、性别、政治面貌等信息。

其结构如下:

code char(4) not null, //职工编码

name char(8) null, //姓名

sex char(2) null, //性别

politics char(8) null, //政治面貌

birthday data null, //出生日期

work_time data null, //参加工作时间

post_zhw char(10) null, //职务

address char(30) null, //家庭住址

该表主键为职工编号(code)。

职工工资表

其结构主要包括职工所得的各种工资福利等。

Code char(4) not null, //职工编号

Name char(8) null, //姓名

g_pay integer null, //岗位工资

j_pay integer null, //技能工资

w_pay integer null, //物价补

s_pay integer null, //书报费

ws_pay integer null, //卫生费

xh_pay integer null, //小孩补贴

a_pay integer null, //工龄工资

ht_pay numeric(6,2) null, //合同补贴

jj_pay numeric(8,2) null, //奖金

total_pay numeric(8,2) null, //工资总额

该表主键为职工编号 code。

系统密码表

user_name char(10) not null, //用户名称

user_word char(10) not null, //用户密码

user_qx char(2) not null, //用户权限

4 系统的网络实现

由于 Powerbuilder 具有完整的 web 应用开发功

能, 由它编制的软件可以方便的同服务器端的数据库

协同工作, 构成 Client/Server 工作方式, 它使用的是业

界熟悉的 Web 标准( HTML 和 Java) , 通过端对对的设

计、调试和提交, 可以控制 Web 应用的整个生命周

期。本 系统 客户应 用 和 服 务 器 应 用 都 采 用 Power-

builder 开发。其中服务器端的程序是实现中的重点部

分, 其内容主要是生成 SQL 语句对数据库操作及对

所得的数据进行处理。它主要分为监听客户连接、处

理客户请求、避免死锁、向客户推送消息等。

5 关键问题的解决

(1)安全机制问题

在进入系统之前, 要进行身份确认, 只有用户名

和用户密码都相符的用户方可进入本系统。为了防止

不合法用户对数据的察看和修改, 本系统把用户分为

三个级别:超级、可修改和只读用户, 即一二三级用

户。超级( 一级) 用户不仅拥有对数据的查询、修改权

限, 还对用户的使用权限进行控制, 可以设定用户名、

密码和其权限, 还可以对纪录进行增加、删除、修改等

操作。可修改( 二级) 用户对数据可以查询、打印, 还可

以对纪录进行增加、删除、修改等操作。只读( 三级) 用

户只拥有对纪录的浏览、查询和打印权限。当用户要

进入系统是必须先输入用户名和密码, 按"确认"按钮

后, 系统辨别用户身份, 对合法用户根据用户的权限

级别赋予相应的使用功能。

(2)对任一数据列进行排序的问题。

熟悉 Windows 的用户一定对资源管理器不陌生,

当目录或文件很多时, 当然会想到使用排序来尽快定

位目标, 你只要用鼠标在资源管理器上端的 name、

size、type 或 modified 中的任意一项点击, 它就会将此

项按升序或降序排列。同样地, 在 PowerBuilder 中, 如

果数据比较多, 我们也可以采用这种办法来排序以尽

快查找记录。

本系统以窗口 w_rsh 为例,要实现这样的排序功

能, 首先定义两个实例变量 String pre_col="" 和 Int

click_time=0, 它们分别记录上次点击的列和点击同

一列的奇偶数。然后在 dw_1 的 Clicked 事件中添加如

下脚本:

String clicked_pos,col,format

Long il_pos

clicked_pos = dwo.Name //取点击的对象

il_pos = Pos(clicked_pos,'_t') //对于列标题,

227

数据库与信息管理本栏目责任编辑:闻翔军

电脑知识与技术

( 上接第 222 页)

if (rs.next()) {//遍历结果集

return new User(rs.getString("id"), name, password,

rs.getString("urule"));

}

} catch (SQLException ex) {

System.out.println(ex.toString());

} finally {

if (rs ! = null) {

try {

rs.close();//关闭结果集

} catch (SQLException ex1) {

}

}

if (pstmt ! = null) {

try {

pstmt.close();//关闭预声明语句对象

} catch (SQLException ex2) {

}

}

}

return null;

}

}

3 结束语

本文在网站用户登录模块的开发过程中, 采用

Struts 框架把实际问题分成模型- 视图- 控制器三部

分, 各司其职, 具体业务逻辑的实现只需由控制器来调

用 ActionServlet 和 Action 中的方法就可以了, 这样大

大提高了系统的可维护性和 Web 应用的开发速度。

参考文献:

[1]孙卫琴.精通 Struts:基于 MVC 的 Java Web 设

计与开发[M].北京:电子工业出版社,2004.

[2]魏雪萍.Jsp+Oracle 组建动态网站实例精讲[M].

北京:人民邮电出版社,2004.

[3]Chuck Cavaness.Programming Jakarta Struts[M].

USA: O'Reilly Publishing.2002.1.

[4]闫斐.基于 Struts 架构的 J2EE 应用软件的设计

与开发[J].微计算机信息,2006.10.

[5]吴小惠.利用 Struts 框架构建在线网站的登陆

验证系统[J].软件导刊,2006.7.

//取得的对象是列名+"_t"

If il_pos >0 Then

col = Left(clicked_pos,il_pos - 1)

If col=pre_col Then

If click_time=0 Then

click_time = 1

format = col+" A"

Else

click_time=0

format = col+" D"

End If

Else

click_time = 0

format = col+" A"

End If

pre_col = col

dw_1.SetSort(format)

dw_1.Sort()

End If

采用上面的方法可实现象 Windows 中资源管理器

灵活排序的功能, 从而使所要浏览的数据更加一目了然。

(3)数据窗口控件的编辑风格的使用

本系对日期型、需渐变量等数据的输入采用了编

辑掩码控件 editmask, 这样就可以大大方便用户的操

作。对于象性别这样只有男、女两个值的, 则采用单选

钮 radiobutton 形式, 用户在录入时只需要鼠标点击选

钮即可。在设置条件时的值段名和有固定职供用户选

择的数据使用了下拉列表框( droplistbox) ,用户只需选

择所要输入的值即可。

6 结束语

随着计算机的发展与普及, 以及互联网技术的扩

展, 日常职工工资管理必将实现无纸化办公, 并且加

入到公司内部的 Intranet 或者是 Internet 上去, 实现

数据的共享, 这样有利于职工工资信息在单位内部的

查询, 提高了数据资源的利用, 并且能及时的得到更

新, 不需要象过去那样浪费大量的人力物力去进行抄

写, 提高了工作的效率。

参考文献:

[1]亓晓静.快速开发技能工具—PowerBuilder[M].

电子工业出版社,2005.04.

[2]张涛.PowerBuilder 9.0 Web 开发篇[M].清华大

学出版社,2003.11.

[3]陈杰.PowerBuilder 10.0 入门与提高[M].清华大

学出版社,2005.06.

228


基于C_S的职工工资管理系统的设计与实现.pdf

返回顶部