java工资管理系统文档格式.docx
《java工资管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《java工资管理系统文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
工资管理系统在用户登录时分两个部分:
管理员和普通用户。
普通用户可以进入用户界面查询各个信息,但只有查询功能。
管理员的权限除了普通用户的权限外,还有对各个部分的信息进行添加、修改、删除等功能。
所有的功能管理员都能实现。
下面是系统所要达到的几条要求:
1.要求系统准确的记录各种信息。
2.系统要提供丰富的查询功能。
3.系统可以对基础数据进行维护。
4.系统运行在Windows平台下,需要有良好的图形用户界面。
5.系统具有良好的可扩展性,良好的可移植性。
2.1系统的体系结构
2.1.1系统的登入运行
图1系统登入
系统有一个进入界面,只有输入密码才能进入主菜单,在主菜单中进行一些所需操作。
在主菜单中可以添加删除修改登录用户,查找添加员工信息等操作。
1、员工信息的添加
添加这一项,主要的工作就是完成对员工资料的填写,和对员工平时表现的一个客观地而评价,以方便等换成月末对员工的奖金数目,给员工颁发月末工资提供一个重要依据。
2、员工信息的删除
删除这一项,只要的工作就是根据员工的编号找到相应的员工相关资料,并进行删除,删除的还有与员工相关的奖金和工资也要从总的工资支出中一并删除,如果没有找到与编号相关的员工资料,那么系统就会发出相应的提示
2.1.2菜单界面所连接的信息
图2界面连接
反应了一个人事管理系统中所要涉及的一些模块。
如:
1、员工信息
2、检索员工
3、绩效管理
4、退出运行
2.2员工信息的管理
1员工信息的添加
2员工信息的删除
3所有员工信息显示
2.3员工信息的检索
图4员工信息
通过不同的条件来查看员工信息,如果所查看的信息部存在就会弹出提示信息框,提示一随查看的员工不存在。
2.4员工信息实体与工资信息实体之间的联系
2.4.1员工的工资
更具员工的表现给予一个评价,给予相应的奖金。
2.4.2所有员工工资的汇总
通过计算所有员工的工资,统计所需支出的总工资。
3、数据库设计
1.用户表:
表1用户表的结构
列名
数据类型
长度
约束
用户名
char
10
主键
密码
6
不为空
2.职工基本信息表:
表2职工基本信息表的结构
职工编号
姓名
性别
2
出生日期
datetime
8
职称
允许空
部门
入职时间
3.职工工资表:
表3职工工资表的结构
年份
4
月份
基本工资
int
补助
奖金
应发工资
缴税
水电费
保险费
实发工资
4、功能实现
4.1详细设计
4.1.1建立系统主窗体
工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必须有的步骤,当运行时,弹出界面。
按钮选中管理员后,输入正确的管理员用户名和密码后,按登录按钮就可进入系统主界面。
如果用户名或密码输入错误会出相应的提示信息。
运行时登录界面,如图5.1所示。
图5.1登陆界面
界面主要代码如下:
publicclassLogin1{
publicstaticvoidmain(String[]args){
Loginmf=newLogin();
}
}
classLogin{
JFramelogin=newJFrame();
JButtonb0=newJButton();
JButtonb1=newJButton();
JTextFieldinputtext1=newJTextField(15);
JTextFieldinputtext2=newJTextField(15);
JLabell1=newJLabel();
JLabell2=newJLabel();
JLabell3=newJLabel();
Login(){
login.setTitle("
用户登录"
);
login.setLayout(null);
login.setBounds(150,80,320,250);
login.setVisible(true);
login.add(l3);
l3.setBounds(80,-10,100,100);
l3.setText("
工资管理系统"
l3.setFont(newFont("
黑体"
Font.BOLD,15));
login.add(l1);
l1.setBounds(50,30,80,80);
l1.setText("
用户名:
"
login.add(inputtext1);
inputtext1.setBounds(100,60,100,20);
login.add(l2);
l2.setBounds(50,60,80,80);
l2.setText("
密码:
login.add(inputtext2);
inputtext2.setBounds(100,90,100,20);
login.add(b0);
b0.setBounds(60,130,60,20);
b0.setText("
登录"
b0.setMargin(newInsets(0,0,0,0));
login.add(b1);
b1.setBounds(130,130,60,20);
b1.setText("
退出"
b1.setMargin(newInsets(0,0,0,0));
}
4.1.2登录窗体
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.*;
importjava.awt.geom.*;
classlogFrameextendsFrame{
Stringsql=null;
ResultSetrs=null;
sqlconndbconn=newsqlconn();
LabelnameLab=newLabel("
账号:
"
LabelpwdLab=newLabel("
密码:
LabeldesLab=newLabel("
TextFieldnameTxt=newTextField();
TextFieldpwdTxt=newTextField();
ButtonlogBut=newButton("
ButtonexitBut=newButton("
Imageimg;
publiclogFrame(){
setTitle("
欢迎使用工资管理系统"
setLayout(null);
setResizable(false);
setSize(400,300);
setBackground(Color.LIGHT_GRAY);
Dimensionscr=Toolkit.getDefaultToolkit().getScreenSize();
Dimensionfrm=this.getSize();
setLocation((scr.width-frm.width)/2,(scr.height-frm.height)/2-18);
img=getToolkit().getImage(getClass().getResource("
/login_pic.jpg"
));
nameLab.setBounds(125,185,50,20);
pwdLab.setBounds(125,215,50,20);
nameTxt.setBounds(185,185,80,20);
pwdTxt.setBounds(185,215,80,20);
logBut.setBounds(155,245,40,20);
exitBut.setBounds(215,245,40,20);
desLab.setBounds(160,50,80,30);
//add(nameLab);
//add(pwdLab);
add(nameTxt);
add(pwdTxt);
add(logBut);
add(exitBut);
//add(desLab);
//密码文本框显示"
*"
pwdTxt.setEchoChar('
*'
setVisible(true);
//注册"
登陆"
按钮监听器
logBut.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
sql="
select*fromuserswherename='
+nameTxt.getText()+"
'
andpassword='
+pwdTxt.getText()+"
;
try{
rs=dbconn.getRs(sql);
if(rs.next())
{
mainFramemf=newmainFrame();
dispose();
//调用工资管理系统主界面
mf.show();
}
else{
JOptionPanejop=newJOptionPane();
jop.showMessageDialog(null,"
用户名或密码,请重新输入!
"
错误提示"
1);
}
catch(Exceptionee){}
}
});
//注册文本框监听器
//输密码后按"
回车"
键,检查用户密码
pwdTxt.addActionListener(newActionListener(){
//按"
按钮退出系统
exitBut.addActionListener(newActionListener(){
//dispose();
System.exit(0);
//添加窗口"
关闭"
按钮的关闭功能
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
dispose();
publicvoidpaint(Graphicsg){
g.setClip(newRectangle2D.Float(0,0,400,300));
g.drawImage(img,0,0,this);
publicclasslogin{
publicstaticvoidmain(String[]args){
logFramelogf1=newlogFrame();
4.1.3添加、修改和删除用户
主要代码如下:
//系统主框架类
//导入系统的包
//创建主框架类MainFrame
publicclassMainFrameextendsJFrameimplementsActionListener
{
//创建内容面板
JPanelcontentPane;
//创建菜单栏组件的对象
JMenuBarjMenuBar1=newJMenuBar();
//菜单条
JMenujMenu0=newJMenu("
系统"
//菜单
JMenuItemjMenuItem0=newJMenuItem("
//子菜单
JMenujMenu1=newJMenu("
员工管理"
JMenuItemjMenuItem1=newJMenuItem("
添加员工"
JMenuItemjMenuItem2=newJMenuItem("
修改员工"
JMenuItemjMenuItem3=newJMenuItem("
删除员工"
JMenujMenu2=newJMenu("
工资管理"
JMenuItemjMenuItem4=newJMenuItem("
添加工资"
JMenuItemjMenuItem5=newJMenuItem("
修改工资"
JMenuItemjMenuItem8=newJMenuItem("
工资查询"
JMenujMenu3=newJMenu("
员工查询"
JMenuItemjMenuItem6=newJMenuItem("
按工号查询"
JMenuItemjMenuItem7=newJMenuItem("
按姓名查询"
JMenujMenu4=newJMenu("
帮助"
JMenuItemjMenuItem9=newJMenuItem("
互动"
//创建标签,用于显示信息
JLabeljLabel1=newJLabel("
JLabeljLabel2=newJLabel("
2011年7月9日"
//创建构造方法
publicMainFrame()
{
try{
//关闭框架窗口时的默认事件方法
setDefaultCloseOperation(EXIT_ON_CLOSE);
//调用初始化方法
jbInit();
catch(Exceptionexception){
exception.printStackTrace();
//界面初始化方法
privatevoidjbInit()throwsException
//创建内容面板
contentPane=(JPanel)getContentPane();
//设置内容面板的布局为空
contentPane.setLayout(null);
//主框架的大小
setSize(newDimension(400,360));
//主框架的标题
工资管理小系统"
//添加事件监听器
jMenuItem0.addActionListener(this);
jMenuItem1.addActionListener(this);
jMenuItem2.addActionListener(this);
jMenuItem3.addActionListener(this);
jMenuItem4.addActionListener(this);
jMenuItem5.addActionListener(this);
jMenuItem6.addActionListener(this);
jMenuItem7.addActionListener(this);
jMenuItem8.addActionListener(this);
jMenuItem9.addActionListener(this);
//添加菜单条到主框架
setJMenuBar(jMenuBar1);
//添加菜单到菜单条
jMenuBar1.add(jMenu0);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu3);
jMenuBar1.add(jMenu4);
//添加菜单项到菜单
jMenu0.add(jMenuItem0);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
jMenu1.add(jMenuItem3);
jMenu2.add(jMenuItem4);
jMenu2.add(jMenuItem5);
jMenu2.add(jMenuItem8);
jMenu3.add(jMenuItem6);
jMenu3.add(jMenuItem7);
jMenu4.add(jMenuItem9);
//添加标签到主框架内容面板
contentPane.add(jLabel1);
contentPane.add(jLabel2);
//设置标签组件的大小和字体
jLabel1.setFont(newjava.awt.Font("
Font.BOLD,20));
jLabel1.setBounds(newRectangle(65,70,275,55));
jLabel2.setFont(newjava.awt.Font("
Font.BOLD,16));
jLabel2.setBounds(newRectangle(90,150,200,35));
//菜单项事件对应的处理方法
publicvoidactionPerformed(ActionEventactionEvent)
//点击“系统”菜单下的“退出”菜单项
if(actionEvent.getSource()==jMenuItem0)
{
System.exit(0);
//点击“职工管理”菜单下的“添加员工”菜单项
if(actionEvent.getSource()==jMenuItem1)
//创建“添加职工”面板对象
AddEmployeeAddEmp=newAddEmployee();
//移除主框架上原有的内容
this.remove(this.getContentPane());
//加载“添加员工”面板的对象到主框架
this.setContentPane(AddEmp);
//令界面可见
this.setVisible(true);
//点击“员工管理”菜单下的“修改员工”菜单项
if(actionEvent.getSource()==jMenuItem2)
//创建“修改员工”面板对象
ModifyEmployeeModifyEmp=newModifyEmployee();
//加载“修改员工”面板的对象到