企业工资管理系统(Java+MySQL)

合集下载

职工工资信息管理系统实验报告

职工工资信息管理系统实验报告

职工工资信息管理系统实验报告一、引言职工工资信息管理系统是一种用于管理和统计企业职工工资信息的系统,旨在提高工资管理的效率和准确性。

本实验旨在通过搭建一个简单的职工工资信息管理系统,对系统的功能和性能进行测试和评估。

二、系统需求分析职工工资信息管理系统应具备以下基本功能:1. 登录功能:提供登录界面,确保只有授权人员可以使用系统。

2. 职工信息录入功能:管理员或授权人员可以录入职工的基本信息,包括姓名、工号、岗位等。

3. 工资信息录入功能:管理员或授权人员可以录入职工的工资信息,包括基本工资、津贴、绩效工资等。

4. 工资计算功能:根据录入的工资信息,系统能够自动计算每位职工的实际工资。

5. 工资统计功能:系统能够生成工资报表,包括各部门职工工资总额、平均工资等统计信息。

6. 工资查询功能:管理员或授权人员可以通过系统查询特定职工的工资信息。

7. 数据备份与恢复功能:系统能够自动备份工资信息数据,并可在需要时方便地进行数据恢复。

三、系统设计与实现本实验采用Java语言和MySQL数据库进行系统的设计与实现。

系统前端采用Java Swing图形界面库,实现用户友好的操作界面;后端采用Java JDBC技术与MySQL数据库进行数据交互和管理。

1. 登录功能设计与实现登录功能是系统的入口,用户需要输入正确的用户名和密码才能进入系统。

在界面设计上,使用文本框和密码框接收用户输入,并通过按钮实现登录功能。

在数据库中存储用户信息表,包括用户名和密码字段,系统通过对比用户输入与数据库中的数据来实现用户的登录验证。

2. 职工信息录入功能设计与实现职工信息录入功能包括姓名、工号、岗位等信息的录入。

在界面上,通过文本框和下拉列表等来接收和展示用户输入。

用户输入完整的职工信息后,点击确定按钮将数据保存到数据库中。

3. 工资信息录入功能设计与实现工资信息录入功能包括基本工资、津贴、绩效工资等信息的录入。

在界面上,同样使用文本框等组件进行数据的输入和展示。

工资管理系统毕业设计附源码

工资管理系统毕业设计附源码

工资管理系统毕业设计附源码工资管理系统是一种用于管理和计算员工工资的软件系统。

它可以帮助企业自动化工资计算、发放和记录,提高工资管理的效率和准确性。

下面是一个简单的工资管理系统的毕业设计附源码的示例。

首先,我们需要设计数据库来存储员工信息和工资数据。

可以使用关系型数据库如MySQL或SQLite。

以下是一个简化的员工表和工资表的设计示例:员工表(employees):employee_id: 员工ID(主键)。

name: 员工姓名。

department: 所属部门。

position: 职位。

工资表(salaries):salary_id: 工资记录ID(主键)。

employee_id: 员工ID(外键)。

salary_date: 工资发放日期。

basic_salary: 基本工资。

bonus: 奖金。

deductions: 扣款。

total_salary: 总工资。

接下来,我们需要开发一个用户界面,让管理员可以输入员工信息和工资数据,并进行工资计算和管理。

可以使用Java编程语言和Swing图形用户界面库来实现。

以下是一个简单的Java代码示例:java.import javax.swing.;import java.awt.;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class SalaryManagementSystem extends JFrame {。

// 声明界面组件。

private JTextField idField, nameField, departmentField, positionField;private JTextField dateField, basicSalaryField, bonusField, deductionsField;private JTextArea resultArea;private JButton calculateButton, saveButton;public SalaryManagementSystem() {。

工资管理系统设计

工资管理系统设计

工资管理系统设计一、系统需求分析1.功能需求(1)员工信息管理:包括员工基本信息、薪资标准、薪资档案等;(2)考勤管理:记录员工的出勤情况,包括迟到、早退、缺勤等情况;(3)计算工资:根据考勤记录和薪资标准,自动计算每个员工的工资;(4)工资发放:生成工资条,记录发放日期和金额;(5)统计报表:生成工资统计报表,包括总工资、平均工资、最高工资、最低工资等。

2.性能需求(1)数据安全性:保护员工的个人隐私和工资信息,确保系统安全可靠;(2)操作便捷性:界面友好,操作简单方便,提供快速查询和查看功能;(3)计算准确性:计算工资的准确性是系统的关键,要确保计算结果精确无误;(4)数据存储和查询速度:要求数据库的存储和查询速度较快,以提高系统的响应速度。

二、系统设计1.数据库设计(1)员工信息表:包括员工ID、姓名、性别、部门、岗位、入职日期等;(2)考勤记录表:包括员工ID、打卡日期、上班时间、下班时间等;(3)工资标准表:包括工资标准ID、基本工资、奖金、补贴等;(4)工资发放表:包括员工ID、工资发放日期、金额等。

2.系统架构设计(1)前端设计:采用用户界面友好的Web页面,并提供登录、员工信息管理、考勤管理、工资计算及发放、统计报表等功能的页面;(2)后端设计:使用Java语言开发后台逻辑,实现与前端交互、数据的存储、计算和查询等功能;(3)数据库设计:使用关系型数据库如MySQL进行数据存储,设计合理的表结构和索引,保证数据的存储和查询速度;(4)系统安全设计:采用用户登录、权限管理和数据加密等手段,确保系统的安全性。

三、系统实施1.数据采集(1)员工信息采集:通过员工管理模块,录入员工的基本信息和薪资标准;(2)考勤记录采集:通过考勤管理模块,记录员工的打卡情况,包括上班时间、下班时间等。

2.工资计算与发放(1)根据考勤记录和薪资标准,自动计算每个员工的工资;(2)生成工资发放表,记录工资发放的日期和金额。

员工工资管理系统数据库设计

员工工资管理系统数据库设计

员工工资管理系统数据库设计一、需求分析为了更好的管理公司的员工工资,需要设计一套员工工资管理系统数据库,并且要具备以下功能:1. 员工工资核算:系统需要对员工的工资进行核算,并且能够根据不同的工资核算规则自动计算出员工的工资,并可以进行手动调整。

2. 工资发放:该系统需要支持工资的自动发放,如每月固定发放日期自动发放员工工资等。

3. 工资查询:该系统需要支持员工查询自己工资、管理员查询所有员工的工资等。

4. 工资统计:该系统需要支持对员工工资进行统计,如统计某个月份公司工资总和,平均工资,最高与最低工资,员工分布情况等。

5. 员工信息管理:该系统需要支持员工信息管理,如员工基本信息、部门信息、职位信息等。

6. 系统设置:该系统需要支持系统设置,可以对员工工资核算规则等设置进行修改。

二、数据库设计1. 数据库结构设计该数据库分为员工信息表、工资信息表、部门信息表、职位信息表、系统设置表等。

(1)员工信息表员工信息表包含员工基本信息、工资核算标准、所在部门、职位等信息。

CREATE TABLE employee( id INT(11) PRIMARY KEYAUTO_INCREMENT, name VARCHAR(50) NOT NULL, sex VARCHAR(5), age INT(3), department VARCHAR(50), position VARCHAR(50), base_salary FLOAT(7,2) NOT NULL, treatment FLOAT(7,2) NOT NULL, remarks VARCHAR(100));(2)工资信息表工资信息表包含员工的工资核算结果、所属月份等信息。

CREATE TABLE salary( id INT(11) PRIMARY KEYAUTO_INCREMENT, employee_id INT(11), salary_month VARCHAR(10) NOT NULL, salary FLOAT(7,2) NOT NULL,bonus FLOAT(7,2) NOT NULL, deduction FLOAT(7,2),create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (employee_id) REFERENCES employee(id));(3)部门信息表部门信息表包含部门名称、部门编号、所属公司等信息。

工资管理系统数据库课程设计

工资管理系统数据库课程设计

工资管理系统数据库课程设计工资管理系统数据库课程设计一、背景介绍现代企业的工资管理已经越来越复杂,需要一个高效、准确的工资管理系统来进行支持。

工资管理系统需要能够自动计算员工工资,但更重要的是需要保护员工信息的安全性。

因此,该系统需要具备高可靠性和高安全性。

二、系统设计要求1. 系统框架设计系统框架应该采用分层架构模式,包括以下几个层次:①用户界面层:实现用户与系统的交互操作。

②业务逻辑层:实现系统的核心业务逻辑。

③数据访问层:实现系统的数据访问和管理。

④数据库层:用于存储系统所需的数据。

2. 数据库设计数据表结构设计如下:①员工表:用于存储员工基本信息,包括员工号、姓名、性别、出生日期、联系电话等字段。

②工资表:用于存储员工工资信息,包括员工号、月份、基本工资、津贴、扣款等字段。

③部门表:用于存储部门信息,包括部门号、部门名称、部门经理等字段。

④职位表:用于存储职位信息,包括职位编号、职位名称、职位描述等字段。

⑤权限表:用于存储用户权限信息,包括用户名、密码、用户类型等字段。

3. 系统功能设计根据需求分析,系统应该包含以下功能:①员工基本信息维护功能:用于添加、修改、删除员工基本信息。

②员工工资信息维护功能:用于添加、修改、删除员工工资信息。

③员工考勤记录查询功能:用于查询员工的考勤记录。

④部门信息维护功能:用于添加、修改、删除部门信息。

⑤职位信息维护功能:用于添加、修改、删除职位信息。

⑥权限管理功能:用于管理用户的权限信息。

三、技术方案1. 数据库管理系统本系统采用MySQL数据库管理系统,因为MySQL是一个成熟的开源数据库系统,能够提供高效、可靠的数据存储和管理服务。

2. 开发工具本系统采用Java语言进行开发,使用Eclipse作为开发工具,采用Java Web开发技术,采用MVC设计模式。

3. 数据库访问框架本系统采用ORM框架Hibernate来进行数据库的访问操作,通过Hibernate能够简化数据库访问操作,提高系统开发效率。

工资管理系统使用手册

工资管理系统使用手册

工资管理系统使用手册工资管理系统使用手册1.系统介绍1.1 系统概述工资管理系统是一款用于管理和计算员工工资的软件。

它提供了员工信息管理、工资计算、工资发放等功能,能够简化工资管理流程,提高工资管理效率。

1.2 系统目标- 管理员能够方便地维护员工信息,包括个人信息、职位信息、薪资信息等。

- 管理员能够快速准确地计算员工工资,考虑各种补贴、扣款因素。

- 员工能够查询自己的工资信息,包括工资结构、工资明细等。

2.系统安装与配置2.1 硬件要求- 至少4GB内存- 至少100GB磁盘空间- 支持Windows/Linux操作系统的计算机2.2 软件要求- Java JDK 8+- MySQL数据库- Tomcat服务器2.3 安装步骤1.安装Java JDK,并设置环境变量。

2.安装MySQL数据库,并创建空数据库。

3.部署Tomcat服务器。

4.将工资管理系统的安装包解压并复制到Tomcat的webapps目录下。

5.配置数据库连接信息。

6.启动Tomcat服务器,访问系统地质进行初始化配置。

3.系统功能说明3.1 员工信息管理3.1.1 添加员工在系统中录入员工的基本信息,包括姓名、性别、年龄、职位等。

3.1.2 修改员工信息对已有员工信息进行修改,如修改职位、调整薪资等。

3.1.3 删除员工信息删除离职或不需要再管理的员工信息。

3.2 工资计算3.2.1 设置薪资结构在系统中配置员工的薪资结构,包括基本工资、津贴、奖金、扣款等项目。

3.2.2 执行工资计算根据员工的薪资结构和考勤信息,自动计算员工的应发工资和实发工资。

3.2.3 手动调整工资在自动计算的基础上,可以手动调整员工的工资,如发放额外奖金、扣除罚款等。

3.3 工资发放3.3.1 工资单根据员工的实发工资,工资单并发送给员工。

3.3.2 工资发放记录记录所有的工资发放记录,包括发放日期、发放金额等信息。

4.附件本文档附带以下附件供参考:- 工资管理系统安装包- 数据库表结构脚本5.法律名词及注释在本文档中,以下法律名词及注释适用:- 劳动法:指中华人民共和国劳动法- 薪资结构:指员工薪资构成的各个方面,如基本工资、绩效工资等- 工资单:指用于记录员工工资发放信息的单据。

工资管理系统实验报告

工资管理系统实验报告

工资管理系统实验报告工资管理系统实验报告一、引言随着社会的不断发展,企业管理的重要性日益凸显。

而工资管理作为企业管理的重要组成部分,对于保持员工积极性和提高工作效率具有重要意义。

为了更好地管理和分配工资,我们开发了一款工资管理系统。

本实验报告旨在介绍该系统的设计与实现过程,并对其进行评估和总结。

二、系统设计与实现1. 需求分析在进行系统设计之前,我们首先进行了需求分析,明确了系统的功能和特点。

根据企业的实际情况和需求,我们确定了以下主要功能:- 员工信息管理:包括员工基本信息、薪资等级、岗位职责等;- 工资计算与发放:根据员工的薪资等级和工作情况,自动计算工资并进行发放;- 绩效考核:根据员工的绩效情况,进行考核评定;- 工资报表生成:生成各种类型的工资报表,方便管理层进行分析和决策。

2. 系统架构基于需求分析的结果,我们设计了以下系统架构:- 前端界面:采用用户友好的界面设计,方便员工和管理层进行操作;- 后端数据库:存储员工信息、薪资等级、绩效考核结果等;- 业务逻辑层:负责处理前端与后端之间的数据交互和业务逻辑处理;- 数据报表层:生成各类工资报表,提供给管理层进行分析和决策。

3. 系统实现为了实现上述系统架构,我们采用了以下技术和工具:- 前端开发:使用HTML、CSS和JavaScript等技术,实现用户界面的设计与交互;- 后端开发:采用Java语言和MySQL数据库,实现业务逻辑和数据存储;- 数据报表生成:使用Python编程语言和数据分析库,生成各类工资报表。

三、系统评估与总结1. 优点通过实际应用和测试,我们发现该工资管理系统具有以下优点:- 简化工资管理流程:系统自动计算工资和绩效考核结果,减少了人工操作和错误率;- 提高工作效率:系统提供了快速查询和报表生成功能,方便管理层进行决策;- 提升员工满意度:准确、及时地发放工资,增加了员工对企业的信任和归属感。

2. 不足与改进然而,我们也意识到该系统还存在一些不足之处:- 用户体验待优化:界面设计可以更加美观和直观,提升用户体验;- 数据安全性有待加强:加强数据加密和权限管理,保护员工信息的安全性;- 功能扩展空间:考虑增加更多的功能模块,如福利管理和培训记录等。

JAVA某公司的工资管理系统

JAVA某公司的工资管理系统

JAVA某公司的工资管理系统摘要我们小组的课程设计是某公司的工资管理系统。

在这个计算机快速发展的世界里,计算机为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。

工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,既方便又快捷地完成员工工资的发放。

我们组在课程设计过程中根据设计中的需求及对工资管理系统采用了模块化的设计思想,在机房我们在Windows XP操作系统环境下,采用myeclipse7作为开发工具,主要连接Access数据库来实现公司的工资管理系统的主要功能。

在设计过程中,我们首先小组首先对整体的思路进行分析,然后进行分工。

对数据库和类进行设计,实现了工资管理系统的功能。

其功能主要包括公司用户管理、人员管理、部门管理、工资管理等功能。

本系统运用了数据库技术,可以大量的存储信息。

又实现了人机交互,不但缩短工资发放的时间,又避免了传统时代的人工计算错误。

总而言之,该系统在工资管理方面考虑周全,功能齐全,极大地提高了公司对员工工资管理的效率。

关键词工资管理系统,Access数据库,Java目录摘要I目录II第1章绪论 11.1 项目背景 11.2 项目开发环境 11.2.1 硬件环境 11.2.2 软件环境 1第2章相关技术 12.1系统所涉及到的语言 12.1.2 Java 12.2开发工具 12.2.1 MyEclipse 12.2.1 Access 2第3章系统分析及组内分工 1 3.1需求概述 13.2需求分析 13.2.1 理解需求 13.2.2 分析需求 13.2.3 可行性分析 23.3设计思想 23.4系统功能结构图 33.5组内分工 4第4章数据库设计 54.1数据库需求分析 54.2数据流图 54.2数据字典 64.3 概念结构设计 94.3.1概念结构设计方法94.3.2概念模型设计9第5章系统详细模块设计与实现105.1 用户登录及主界面105.2 用户管理功能实现185.3人员管理功能实现 245.4部门管理功能实现 395.5工资管理功能实现 455.6帮助功能实现505.7退出系统功能实现 51结论52致谢53参考文献54第1章绪论1.1 项目背景借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。

工资管理系统课程设计报告

工资管理系统课程设计报告

工资管理需求。
02
存在问题
系统在处理大量数据时可能会出现性能瓶颈,需要进一步优化数据库设
计和查询算法。
03
改进建议
可以考虑采用分布式数据库或云计算技术来提高系统处理能力和扩展性
;同时,可以加强对系统的监控和日志分析,及时发现并解决问题。
06
课程设计总结与展望
课程设计成果总结
工资管理系统的设计与实现
服务器:Tomcat
04
05
操作系统:Windows 10
编码实现
数据模型设计
设计工资条、员工、部 门等数据模型,并实现 数据模型之间的关系。
数据库操作
使用JDBC连接MySQL 数据库,实现数据的增
删改查操作。
业务逻辑实现
实现工资计算、工资条 生成、员工管理、部门
管理等业务逻辑。
界面设计
使用Java Swing设计用 户界面,包括登录界面 、主界面、工资条界面
选用MySQL数据库,保证数据的稳定性和安全性。
数据表设计
设计员工信息表、工资条表、考勤表、奖惩表等数据表,定义字段 、数据类型、约束等属性,实现数据的规范化存储。
数据关系
通过外键关联实现数据表之间的关联,保证数据的一致性和完整性 。
界面设计
01
02
03
界面风格
采用简洁、大气的设计风 格,符合企业用户的审美 习惯。
报告范围
系统需求分析
对工资管理系统的需求进行详细分析 ,包括功能需求、性能需求、安全需 求等。
01
02
系统设计
根据需求分析结果,设计系统的整体 架构、数据库结构、功能模块等。
03
系统实现
依据系统设计,采用合适的编程语言 和开发工具进行系统编码和实现。

基于PHP和MySQL的企业人事管理系统设计与实现

基于PHP和MySQL的企业人事管理系统设计与实现

基于PHP和MySQL的企业人事管理系统设计与实现一、引言随着信息化时代的到来,企业管理也逐渐向数字化、智能化方向发展。

人事管理作为企业管理中至关重要的一环,其效率和准确性直接影响着企业的运营和发展。

基于PHP和MySQL的企业人事管理系统应运而生,为企业提供了一种高效、便捷的管理方式。

本文将介绍如何设计和实现这样一个系统。

二、系统需求分析在设计企业人事管理系统之前,首先需要进行系统需求分析。

根据企业的实际情况和需求,确定系统的功能模块包括但不限于员工信息管理、考勤管理、薪资管理、招聘管理等。

同时,还需要考虑系统的安全性、稳定性和扩展性等方面。

三、数据库设计在设计数据库时,需要考虑到数据表之间的关联关系,以及数据的存储结构。

可以设计员工信息表、部门信息表、考勤记录表、薪资记录表等。

通过合理的数据库设计,可以提高系统的查询效率和数据的一致性。

四、系统架构设计基于PHP和MySQL的企业人事管理系统通常采用B/S架构,即浏览器/服务器架构。

前端使用HTML、CSS、JavaScript等技术实现页面交互,后端使用PHP语言处理业务逻辑,并通过MySQL数据库存储数据。

采用MVC(Model-View-Controller)架构可以更好地实现前后端分离,提高系统的可维护性和扩展性。

五、功能模块实现员工信息管理模块:包括员工基本信息录入、修改、查询和删除等功能。

考勤管理模块:实现员工考勤记录的录入和统计,包括请假、加班、迟到等情况。

薪资管理模块:计算员工薪资并生成工资条,支持薪资调整和统计功能。

招聘管理模块:发布招聘信息、简历筛选、面试安排等功能。

六、安全性设计在系统开发过程中,需要考虑到数据安全和用户权限控制。

可以通过对用户身份验证、数据加密传输以及权限控制等方式来保护系统的安全性,防止数据泄露和恶意攻击。

七、系统测试与优化在系统开发完成后,需要进行全面的测试以确保系统稳定运行。

可以进行单元测试、集成测试和系统测试等多个阶段的测试,并根据测试结果对系统进行优化和调整,提高系统的性能和用户体验。

javaMySql数据库课程设计(员工工资管理系统)

javaMySql数据库课程设计(员工工资管理系统)

Java MySql数据库课程设计 - 员工工资管理系统1. 引言在现代企业中,员工工资管理是一项非常重要的任务。

合理管理员工工资不仅可以激励员工的积极性,还可以提高企业的运营效率。

为了更好地管理员工工资,我们决定设计一个员工工资管理系统,使用Java编程语言与MySql数据库进行开发。

2. 功能需求该员工工资管理系统将包含以下功能模块: - 员工信息管理:包括添加员工、删除员工、查看员工信息、修改员工信息等功能。

- 工资管理:包括录入员工工资、计算员工工资、查询员工工资等功能。

- 统计分析:包括统计部门工资总和、统计员工工资平均值等功能。

3. 技术选型为了实现上述功能需求,我们选择使用Java编程语言与MySql数据库进行开发。

以下是我们选择这些技术的原因: - Java是一种面向对象的编程语言,具有良好的可读性和可维护性,适合开发大型项目。

- MySql是一种关系型数据库管理系统,具有高性能和可扩展性,适合处理大量的数据。

4. 数据库设计4.1 数据表设计我们将设计两个数据表来存储员工信息和工资信息。

4.1.1 员工信息表字段名称数据类型说明id int员工IDname varchar员工姓名age int员工年龄gender varchar员工性别department varchar员工部门4.1.2 工资信息表字段名称数据类型说明id int工资IDemployee_id int员工IDmonth varchar月份salary decimal工资金额4.2 数据库查询语句以下是一些常用的数据库查询语句,用于实现系统功能模块:4.2.1 添加员工INSERT INTO employee (id, name, age, gender, d epartment)VALUES (1001, '张三', 25, '男', '技术部');4.2.2 删除员工DELETE FROM employee WHERE id=1001;4.2.3 查看员工信息SELECT*FROM employee;4.2.4 修改员工信息UPDATE employee SET age =26WHERE id=1001;4.2.5 录入员工工资INSERT INTO salary (id, employee_id, month, sa lary)VALUES (1, 1001, '2021-01', 5000);4.2.6 计算员工工资SELECT SUM(salary) FROM salary WHERE employee_ id =1001;4.2.7 查询员工工资SELECT*FROM salary;4.2.8 统计部门工资总和SELECT department, SUM(salary) FROM employee JOIN salary ON employee.id= salary.employee_id GROUP BY department;4.2.9 统计员工工资平均值SELECT employee_id, AVG(salary) FROM salary GROUP BY employee_id;5. 系统架构为了提高系统的扩展性和灵活性,我们将采用三层架构来设计该员工工资管理系统。

小型企业工资管理系统java课程设计

小型企业工资管理系统java课程设计

小型企业工资管理系统java课程设计1.概述随着社会的发展,企业的规模越来越多样化。

小型企业也日益增加,而小型企业的存在为大多数人提供了就业机会。

然而,小型企业的管理也面临着诸多挑战,其中包括工资管理。

为了提高工资管理的效率和准确性,我们决定设计一个小型企业工资管理系统。

2.系统设计目标本课程设计的目标是设计一个基于java语言的小型企业工资管理系统,该系统应能够实现以下功能:- 实现员工信息的录入、修改和删除。

- 实现工资的计算、发放和管理。

- 实现员工考勤记录的管理。

- 实现员工与薪资的绑定。

- 实现数据的可视化统计和报表生成。

3.系统设计理念本系统的设计理念是简洁而高效。

我们希望通过精心设计的用户界面和清晰的操作流程,为小型企业提供一套方便、快捷、准确的工资管理方案。

4.系统实现方案为实现以上目标和理念,我们将采用以下技术方案:- 使用java语言进行系统开发,结合面向对象的设计思想。

- 使用MySQL数据库进行数据存储,确保数据的可靠性和安全性。

- 使用Swing框架进行用户界面设计,确保界面美观和易用。

- 使用JDBC技术进行数据库连接和操作,保证系统的数据操作能力。

- 使用Eclipse作为开发工具,提高开发效率和代码质量。

5.系统功能模块本系统将包括以下主要功能模块:- 员工信息管理模块:包括员工基本信息的录入、修改和删除。

- 工资管理模块:包括工资的计算、发放和管理。

- 考勤记录管理模块:包括员工考勤记录的管理和统计。

- 统计报表模块:包括员工工资和考勤情况的可视化统计和报表生成。

6.系统实现步骤开发该系统的步骤如下:- 分析需求:对系统功能和性能进行详细分析,明确需求。

- 数据库设计:设计合理的数据库表结构,保证数据的准确性和完整性。

- 系统架构设计:设计系统的整体架构和模块划分,明确模块之间的关系和交互。

- 编码实现:按照设计要求,使用java语言进行编码实现。

- 调试测试:对系统进行全面测试和调试,确保系统的稳定性和可靠性。

工资管理系统实验报告

工资管理系统实验报告

工资管理系统实验报告工资管理系统实验报告一、引言工资管理是企业管理中至关重要的一环。

一个高效的工资管理系统能够帮助企业实现工资发放的准确性、及时性和公正性,提高员工的满意度和工作积极性。

本实验旨在设计和实现一个工资管理系统,以提升工资管理的效率和准确性。

二、系统设计与实现1. 系统需求分析在进行系统设计之前,我们首先进行了系统需求分析。

通过与企业管理人员的沟通和调研,我们确定了以下几个主要的系统需求:- 工资计算:系统能够根据员工的基本工资、绩效考核等因素,自动计算出每个员工的应发工资。

- 工资发放:系统能够自动将应发工资转账至员工的银行账户,并生成工资发放记录。

- 工资查询:员工能够通过系统查询自己的工资明细和历史工资记录。

- 统计分析:系统能够生成工资统计报表,包括平均工资、工资分布等。

2. 数据库设计根据系统需求,我们设计了一个包含以下几个主要表的数据库:- 员工表:存储员工的基本信息,包括姓名、工号、职位等。

- 工资表:存储每个员工的工资明细,包括基本工资、绩效工资等。

- 发放记录表:存储每次工资发放的记录,包括员工工号、发放日期等。

3. 系统界面设计为了提高用户的使用体验,我们设计了一个简洁直观的系统界面。

界面主要包括以下几个功能模块:- 员工信息管理:用于添加、修改和删除员工信息。

- 工资计算:根据员工的基本信息和绩效考核,自动计算应发工资。

- 工资发放:将应发工资转账至员工的银行账户,并生成发放记录。

- 工资查询:员工能够通过输入工号查询自己的工资明细和历史记录。

- 统计分析:生成工资统计报表,支持按部门、职位等条件进行筛选和排序。

4. 系统实现我们使用了Java语言和MySQL数据库来实现该工资管理系统。

通过使用Java的GUI库和MySQL的JDBC驱动,我们成功地编写了一个可运行的工资管理系统。

三、实验结果与讨论经过系统的设计和实现,我们进行了一系列的实验测试。

在测试过程中,我们模拟了不同的工资计算和发放场景,并对系统的准确性和稳定性进行了评估。

数据库课程设计企业工资管理系统java版完整代码

数据库课程设计企业工资管理系统java版完整代码

课程设计报告企业工资管理系统姓名X X X班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目录一.工资管理系统需求分析…………………………………功能需求…………………………………………………功能划分………………………………………功能描述……………………………………………性能需求…………………………………………………数据流图………………………………………………二.总体设计…………………………………………………数据库概念设计…………………………………………功能模块…………………………………………………三.系统详细设计……………………………………………数据库逻辑设计…………………………………………各模块功能………………………………………………职工信息管理系统…………………………………职工工资管理系统…………………………………职工津贴管理系统…………………………………四.系统实现…………………………………………………界面截图…………………………………………………主界面及工资基本信息界面……………………登录界面…………………………………………系统主界面………………………………………信息录入,修改,删除,查询界面…………设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求功能划分(1)、员工信息表;及时反映员工(de)基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表功能描述(1)、基本工资(de)设定(2)、津贴(de)设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息性能需求此工资管理系统对工资数据精度(de)计算能在默认情况之下精确到小数点后3位小数,即是精确到分(de)计算.但在用户使用过程中,能自行根据实际情况进行小数计算精度(de)设定,最大能允许保留小数点后5位(de)精度.在时间特性上,当用户发出命令请求时(de)服务器(de)响应时间、对数据更新处理、工资数据(de)查询检索等上,同样要求系统响应时间不会超过秒时间.系统支持多种操作系统(de)运行环境,多不同操作系统,不同文件格式(de)磁盘上(de)数据均能实现信息(de)互通,及共享.当服务器移植到其他(de)系统平台,如:Linux平台下时,同样能和其他(de)系统进行数据存取同步,不会出现系统之间互不兼容(de)情况,系统支持多系统之间(de)互连互通,系统有巨大(de)强健性.本课程设计是用Java 语言编写,mysql数据库.数据流图根据工资管理要求及用户需求调查分析,得到以下数据流图图第一层数据流图图职工信息(de)载入图考勤(de)信息载入2.总体设计数据库概念设计有了数据流图,用E-R图来说明工资信息管理系统(de)数据库概念模式,如图图实体之间关系E-R 图功能模块3.系统详细设计数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线(de)字段表示为该数据表(de)主码,即主关键字.在上面(de)实体以及实体之间关系(de)基础上,形成数据库中(de)表格以及各个表格之间(de)关系.工资信息管理系统数据库中各个表格(de)设计结果如下面(de)几个表格所示.每个表格表示在数据库中(de)一个表.表一:员工信息表:表二:基本工资表:表四:津贴信息表各模块功能职工信息管理系统功能为:财务部门相关人员录入、修改、删除、查询员工个人信息职工工资管理系统功能为:根据工资生成公式,按照员工(de)考勤情况及各种表现按月生成相应(de)工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工(de)工资信息以及工资汇总;员工本人能查询自己(de)工资信息以及工资汇总;职工登陆查询系统功能为:员工本人能通过用户名和密码查询自己(de)信息以及修改自己(de)密码;4.系统实现界面截图主界面登录界面管理员管理工资界面信息录入,修改,删除,查询界面职工信息查询界面职工密码修改界面设计代码package wage_management;import .;import .;class DB extends JFrame implements ActionListener { JFrame frame = new JFrame("欢迎进入企业工资管理系统");JLabel label = new JLabel("", ;JButton button1 = new JButton("进入系统"); JButton button2 = new JButton("退出系统"); ImageIcon im = new ImageIcon("");JLabel a1 = new JLabel(im);void Create() {JPanel pcontentPane = (JPanel) ();(a1);(label);(new FlowLayout());(button1);(button2);(true);(this);(this);;();(200, 100, 550, 180);(true);}public static void main(String[] args) {DB dome = new DB();();}public void actionPerformed(ActionEvent e) { if ())) {DL dl = new DL();();();}if ())) {quals("admin") == true&& ().equals("admin") == true)) {(this, "登录成功");GZGLZJM gz = new GZGLZJM();();();}else {(null, "输入用户名或密码错误");}}if ()==logonButton2){try {Connection con;Statement ps;ResultSet rs;String sql = null;("");("").newInstance();con = ("jdbc: management","root","jxb");sql="select from workerinfo where name='"+t1+"' and mi='"+t2+"'";ps = (PreparedStatement) (sql);rs = (sql);if()){if("name").equals(t1) && ("mi").equals(t2)){YGDLJM yg = new YGDLJM();();();(this, "登录成功");();}}else {(this, "输入用户名或密码错误");}}catch (Exception e1) {// TODO Auto-generated catch block();}}if ())) // 退出{(0);}}}package wage_management;import GZGLZJM extends JFrame implements ActionListener {JFrame f = new JFrame("工资管理系统");JButton b1 = new JButton("工资管理");JButton b2 = new JButton("员工信息管理");JButton b3 = new JButton("返回");ImageIcon im = new ImageIcon("");JLabel a1 = new JLabel(im);void create() {JPanel p = (JPanel) ();(new FlowLayout());(a1);(b1);(b2);(b3);;(true);(this);(this);(this);(200, 100, 500, 200);(true);}public void actionPerformed(ActionEvent e) { if ())) {// 返回DL d = new DL();();();}if ())) {// 员工信息管理YGGL yg = new YGGL();();();}if ())) {// 工资管理GZGL gz = new GZGL();();();}}}package wage_management;import class GZGL extends JFrame implements ActionListener {JFrame f = new JFrame("工资管理");JButton b1 = new JButton("录入");JButton b2 = new JButton("修改");JButton b3 = new JButton("删除");JButton b4 = new JButton("查询所有");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table); JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);(b4);(b5);JPanel p2 = new JPanel();;(scrollpane);JPanel p3 = new JPanel();(new FlowLayout());(new JLabel(""));(new JLabel("职工号"));(tf1);(new JLabel("姓名"));(tf2);(new JLabel("津贴"));(tf3);(new JLabel("月基本工资"));(tf4);(new JLabel("月薪"));(tf5);(new JLabel(" 在此处输入职工号点击查询删除"));(tf6);(p1, ;(p2, ;(50);;(this);(this);(this);(this);(this);(200, 100, 500, 600);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) {if ())) { // 录入Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr1);();(this, "入录成功");} catch (SQLException e1) {(this, "入录失败");}}if ())) {// 修改Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE welfare SET jt='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr1);(this, "修改成功");();} catch (SQLException e1) {(this, "信息不存在");}}if ())) {// 删除Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ,;("DELETE FROM wageinfo where no='"+()+"';");("DELETE FROM welfare where no='"+()+"';");(this, "删除成功");();} catch (SQLException e1) {(this, "删除失败");}}if ())) {// 查询全部Connection con;Statement sql;ResultSet rs;//Vector vector = new Vector();try {("");} catch (ClassNotFoundException e1) { (this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct from wageinfo ,welfare where =");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);}}} catch (SQLException e1) {(this, "查询失败");}}if ())) {// 返回GZGLZJM gl=new GZGLZJM();();();}}}package wage_management;import class YGDLJM extends DL implements ActionListener {JFrame f = new JFrame("工资管理");JButton b1 = new JButton("查询个人工资");JButton b2 = new JButton("修改密码");JButton b3 = new JButton("返回");String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);JPanel p2 = new JPanel();;(scrollpane);JPanel p3 = new JPanel();(new FlowLayout());(p1, ;(p2, ;(50);;(this);(this);(this);(200, 100, 500, 550);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) { if ())) {// 查询个人工资Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);// rs = ("select distinct from wageinfo ,welfare,workerinfo where = and = and ='"+t1+"' and ='"+t2+"'");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);}}} catch (SQLException e1) {(this, "查询失败");}}if ())){// 修改密码XGMM xgmm=new XGMM();();}if ())) {// 返回DL dl=new DL();();();}}}package wage_management;import class YGGL extends JFrame implements ActionListener {JFrame f = new JFrame("员工信息管理");JButton b1 = new JButton("添加新员工信息");JButton b2 = new JButton("修改员工信息");JButton b3 = new JButton("删除员工信息");JButton b4 = new JButton("查询所有员工信息");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪","登陆密码"};Object[][] row = new Object[50][6];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane; void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);(b4);(b5);JPanel p2 = new JPanel();;(scrollpane);(new FlowLayout());(new JLabel(""));(new JLabel("职工号"));(tf1);(new JLabel("姓名"));(tf2);(new JLabel("津贴"));(tf3);(new JLabel("月基本工资"));(tf4);(new JLabel("登陆密码"));(tf5);(new JLabel(" 在此处输入职工号点击查询删除"));(tf6);(p1, ;(p2, ;(50);;(this);(this);(this);(this);(this);(200, 100, 600, 600);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) {if ())) { // 添加新员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr1);String insertStr2 = "INSERT INTO workerinfo (no,name,mi)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr2);(this, "添加成功");();} catch (SQLException e1) {(this, "添加失败");}}if ())) {// 修改员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE welfare SET jt='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr1);(updateStr1);String updateStr2 = "UPDATE workerinfo SET name='"+()+"',mi='"+()+"'where no='"+()+"';";(updateStr2);(this, "修改成功");();} catch (SQLException e1) {(this, "修改失败");}}if ())) {// 删除员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;("DELETE FROM wageinfo where no='"+()+"';");("DELETE FROM welfare where no='"+()+"';");("DELETE FROM workerinfo where no='"+()+"';");(this, "删除成功");();} catch (SQLException e1) {(this, "删除失败");}}if ())) {// 查询全部员工信息Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct from wageinfo ,welfare,workerinfo where = and = ;");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);String mi = (9);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);(mi,k,5);}}} catch (SQLException e1) {(this, "查询失败");}}if ())) {// 返回GZGLZJM gl=new GZGLZJM();();();}}}package wage_management;import XGMM extends DL implements ActionListener{JFrame frame = new JFrame("密码修改");JLabel label1 = new JLabel("原密码");JLabel label2 = new JLabel("新密码");JButton Button1 = new JButton("确定");JButton cancelButton = new JButton("返回");JPasswordField password = new JPasswordField(9);JPasswordField newpassword = new JPasswordField(9);void create(){JPanel p = (JPanel) ();(new FlowLayout());(label1);(5, 5);(4, 8);(password);(100, 200);(600, 600);(label2);(50, 20);(newpassword);(100, 20);(80, 120);(Button1);(cancelButton);;(true);(this);(this);;();(200, 100, 500, 220);(true);}public void actionPerformed(ActionEvent e) {if ()==Button1){Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE workerinfo SET mi='"+()+"'where name='"+t1+"';";(updateStr);(this, "修改成功");();} catch (SQLException e1) {(this, "请输入原密码和新密码");// }}if ()==cancelButton) // 返回{YGDLJM dl=new YGDLJM();();();}}}5.课设总结此次课设难度有点大,通过几天(de)努力终于完成了,开始对如何连接数据库不太了解,通过小组合作,和网上查阅资料,最终解决了问题,在写员工登陆界面时,要从数据库读取和验证密码,开始遇到了些问题,后来慢慢都完成了,总(de)来说收获很大,了解了如何将所学数据库运用到编程里,对数据库数据(de)查询,更改,添加都有了更一步(de)了解.。

工资管理系统设计

工资管理系统设计

工资管理系统设计一、系统需求分析近年来,随着企业的发展壮大,员工数量日益增多,人力资源管理成为了企业的一项重要任务。

尤其是工资管理,直接关系到企业的生产效益和员工的福利待遇,必须高度重视。

而传统的工资管理方式,如手工计算工资、统计考勤等,效率低下、易出错,已无法适应现代企业的管理需要。

因此需要设计一款科学高效的工资管理系统,来优化企业的人力资源管理。

人力资源管理是一项复杂的工作,它需要多个部门的协同配合。

工资管理系统需要涵盖以下几个方面的需求:1. 工资计算:包括计算基本工资、绩效奖金、加班工资、缺勤罚款等。

2. 薪资结构管理:设置员工薪资、福利待遇、保险、公积金等方案,自动生成薪资标准。

3. 员工信息记录:包括员工的基本信息、考勤记录、调薪记录、福利档案。

4. 统计报表生成:根据需要自动生成各种报表,如月度工资表、年度工资表、员工绩效评估表等。

5. 系统安全:工资管理系统涉及到企业的核心资产,数据泄露、数据损坏将对企业发展带来严重影响。

因此需要加强系统安全,设置权限管理、安全验证等功能。

二、系统设计1. 数据库设计在数据库设计中,需要设计员工信息表、工资信息表、考勤信息表等表格,通过这些表格来存储各员工信息,以及员工的具体的工资情况及考勤记录。

2. 界面设计界面设计直接影响用户的使用体验,因此需要设计简洁美观、易于操作的界面。

具体来说,需要设计如下界面:(1)登陆界面:设置账号密码验证、记住密码、找回密码等功能。

(2)主界面:包括工资计算、薪资结构管理、员工信息记录、统计报表生成及系统安全等功能。

(3)工资计算界面:在该界面中,可以根据员工的基本工资、绩效奖金、加班工资、缺勤罚款等情况,进行工资的计算。

(4)薪资结构管理界面:在该界面中,工资管理员可以对员工薪资、福利待遇、保险、公积金等方案进行设置。

(5)员工信息记录界面:在该界面中,工资管理员可以对员工的基本信息、考勤记录、调薪记录、福利档案进行记录。

小型工资管理系统的设计与实现

小型工资管理系统的设计与实现

小型工资管理系统的设计与实现一、引言随着现代企业的不断发展,工资管理变得愈加复杂。

如何快速、准确地计算出员工的薪资水平,如何发放薪资并记录统计,成为了企业管理者们的一大难题。

针对这一问题,设计一个小型的工资管理系统变得尤为必要。

本文将介绍一款小型工资管理系统的设计与实现,该系统主要包括员工信息管理、薪资管理、考勤管理、绩效管理等模块,旨在为企业管理者提供一种快速便利的工资管理方案。

二、功能需求(一)员工信息管理员工信息管理是整个系统的基础,它主要包含员工的基本信息、入职时间、工作职责、薪资结构等信息。

管理员可以通过该模块对员工的基本信息进行增、删、改、查操作,也可以根据员工的薪资结构自动生成员工的工资信息。

同时,管理员也可以将员工按部门、职务等进行分类和管理。

(二)薪资管理薪资管理是工资管理系统的核心部分,主要包括员工的实际工资、考勤信息、支付方式等内容。

管理员可以在从员工信息管理模块中获取员工的薪资结构后,根据员工的具体情况计算出实际工资,再根据支付方式进行发放。

同时,管理员还可以查看员工的历史工资信息,并进行统计分析,以便于企业可以更好地了解员工的工资水平和发展趋势。

(三)考勤管理考勤管理是对员工工作时间和工作质量的评估,主要包括员工的迟到、早退、缺勤等情况。

管理员可以通过该模块记录员工打卡情况,并及时发现和纠正违规行为。

同时,管理员还可以根据员工的考勤情况对员工进行奖惩,以激励员工对工作的积极性。

(四)绩效管理绩效管理是对员工工作质量和工作成效的评估,主要包括员工的工作进度、工作质量、工作态度等维度。

管理员可以通过该模块对员工的绩效情况进行评估,并及时反馈给员工。

同时,管理员还可以根据员工的绩效情况进行奖惩,以激励员工进一步提升工作能力和工作水平。

三、技术架构本小型工资管理系统基于Web应用程序开发,采用的开发语言为PHP,数据库采用MySQL,Web服务器采用Apache,前端框架采用BootStrap。

工资管理系统实验报告 (2)

工资管理系统实验报告 (2)

工资管理系统实验报告 (2)实验目的:本次实验的主要目的是设计和开发一个工资管理系统,该系统可以使公司管理部门更轻松地处理员工薪资,实现薪资的计算、发放和记录。

通过实现这个系统,我们可以熟悉和掌握计算机软件开发的各种技术,提高我们的编程能力和团队协作能力。

实验步骤:1.项目需求分析首先,我们需要进行需求分析,确定工资管理系统的基本功能和性能要求。

根据对公司管理部门的访谈和调研,我们确定了以下的功能需求:(1)员工管理:可以添加、删除、修改和查询员工信息,包括姓名、工号、职位等。

(2)工资管理:可以根据员工档案,自动计算员工薪资,包括基本工资、补贴和扣除等项,也可以手动修改和调整工资额;工资发放记录和查询。

(3)部门管理:可以添加、删除、修改和查询部门信息,以及进行部门之间的调动和员工之间转岗。

(4)系统设置:包括登录、用户权限管理、数据备份、系统日志等。

2.数据库设计为了实现系统的基本功能,我们需要设计一个数据库来存储员工、部门和工资等重要信息。

我们采用了面向对象的设计方法,将员工、部门和工资分别设计为三个实体类,通过定义属性和关系,构建了一个简单的关系型数据库。

具体实现如下:(1)员工实体类:包括员工编号、姓名、性别、年龄、所在部门、入职时间、职位等属性。

(2)部门实体类:包括部门编号、部门名称、部门主管等属性。

(3)工资实体类:包括工资编号、员工编号、发放日期、基本工资、补贴和扣除等属性。

3.程序设计和实现我们采用了Java语言和MySQL数据库来实现工资管理系统。

Java作为开发语言,具有跨平台性和优秀的面向对象编程特性,可以提高系统的可维护性和扩展性;MySQL作为关系型数据库,可以提供高效的数据存储和查询功能。

系统的架构采用了MVC设计模式,即模型-视图-控制器模式,将系统分成三个部分:模型模块、视图模块和控制器模块。

主要功能模块如下:(2)部门管理模块:包括部门信息的录入、修改、查询和删除等功能。

企业工资管理系统任务书

企业工资管理系统任务书

企业工资管理系统任务书2009—2010学年第二学期复杂。

这时,传统的纸介质管理方式就暴露出了无法弥补的缺陷。

因此,为了实现企业工资信息方便、迅捷的管理,设计一个企业工资管理系统迫在眉睫。

功能要求:系统能够实现身份验证、企业职工信息添加、查询、修改、删除、工资发放等功能。

一、设计的任务:要求完成企业工资管理系统的设计与实现,主要包括企业职工信息管理系统数据库的建立和安全维护、界面美化、添加信息及对信息的管理,系统管理员登录与安全模块的实现。

二、开发工具:asp,sqlserver2000三、进度安排。

第18周进行系统总体规划、数据库设计、系统开发与调试、课程设计说明书的撰写和课程设计答辩。

四、主要参考资料:[1]李春葆,曾慧.sqlserver2000应用系统开发教程(第二版)[m].北京:清华大学社,5月.[2]刘亚姝,李金莱.asp网络编程技术与实践[m].北京:清华大学社6月.[3]明日科技,吕继迪等.asp程序开发范例宝典(第二版)[m].北京:人民邮电社,1月.计划答辩时间:6月15日工作任务与工作量要求:查阅文献资料不少于3篇,课程设计报告1篇不少于3000字。

指导教师(签字):教研室主任(签字):批准日期:年月日第二篇:人事管理系统任务书任务书1、课程设计题目人事管理系统2、设计任务和内容一个小型的企业人事管理系统。

其主要目的是方便门管理人员进行人事管理工作。

该系统能方便用户方进行快捷地查询人事基本信息、处理人事异动情况(如招聘、解聘、辞职、换岗、晋升等),提高人事工作效率,降低工作成本。

本课题任务是开发一个小型通用的人事管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果。

3、设计步骤和要求设计步骤:首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。

然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

企业工资管理系统(MySQL+Java)本代码仅供初学者参考使用,相互学习,共同进步,让优秀成为一种习惯。

软件下载:/开发语言:Java开发工具:eclipse数据库软件:MySQL数据库驱动:mysql-connector-java-5.1.6-bin驱动下载地址:/s/1sjx0LWT以下是代码和界面截图,共7个类。

1.DB1 欢迎界面import java.awt.*;import java.awt.event.*;import javax.swing.*;class DB1 extends JFrame implements ActionListener {p rivate static final long serialVersionUID = 1L;J Frame frame = new JFrame("欢迎进入工资管理系统");J Label label = new JLabel("", JLabel.CENTER);J Button button1 = new JButton("进入系统");J Button button2 = new JButton("退出系统");v oid Create() {JPanel pcontentPane = (JPanel) frame.getContentPane();pcontentPane.add(label);pcontentPane.setLayout(new FlowLayout());pcontentPane.add(button1);pcontentPane.add(button2);pcontentPane.setBackground(Color.gray);pcontentPane.setVisible(true);button1.addActionListener(this);button2.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(500, 300, 300, 150);frame.setResizable(false);frame.setVisible(true);}p ublic static void main(String[] args) {DB1 dome = new DB1();dome.Create();}p ublic void actionPerformed(ActionEvent e) {if (button1.equals(e.getSource())) {DL dl = new DL();dl.create();frame.dispose();}if (button2.equals(e.getSource())) {// 退出System.exit(0);}}}1.DL 登陆界面import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import com.mysql.jdbc.PreparedStatement;@SuppressWarnings("serial")class DL extends JFrame implements ActionListener{J Frame frame = new JFrame("职工/管理员登陆"); J Label label1 = new JLabel("用户名");J Label label2 = new JLabel("密码");J Button logonButton1 = new JButton("管理员登录"); J Button logonButton2 = new JButton("职工登录"); J Button cancelButton = new JButton("退出");J TextField username = new JTextField(9);J PasswordField password = new JPasswordField(9); s tatic String t1;s tatic String t2;v oid create(){JPanel p = (JPanel) frame.getContentPane();@SuppressWarnings("unused")JPanel p1 = new JPanel();p.setLayout(new FlowLayout());p.add(label1);p.setSize(5, 5);p.setLocation(4, 8);p.add(username);p.setSize(100, 200);p.setLocation(800, 800);p.add(label2);p.setSize(50, 20);p.setLocation(40, 80);p.add(password);p.setSize(100, 20);p.setLocation(80, 120);p.add(logonButton1);p.add(logonButton2);p.add(cancelButton);p.setBackground(Color.gray);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(500, 300, 500, 220);frame.setVisible(true);}@SuppressWarnings("deprecation")p ublic void actionPerformed(ActionEvent e){t1 = username.getText();t2 = password.getText();if(e.getSource()==logonButton1){if( username.getText().equals("admin") == true&& (password.getText().equals("admin") == true)){JOptionPane.showMessageDialog(this, "登录成功!");GZGLZJM gz = new GZGLZJM();gz.create();frame.dispose();}else {JOptionPane.showMessageDialog(null, "输入用户名或密码错误!");}}if (e.getSource()==logonButton2){try {Connection con;Statement ps;ResultSet rs;String sql = null;Class.forName("org.gjt.mm.mysql.Driver");Class.forName("org.gjt.mm.mysql.Driver").newInstance();con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql="select * from worker where num='"+t1+"' and password='"+t2+"'";ps=(PreparedStatement) con.prepareStatement(sql);rs = ps.executeQuery(sql);if(rs.next()){if(rs.getString("num").equals(t1) && rs.getString("password").equals(t2)){YGGLZJM yg = new YGGLZJM();yg.create();frame.dispose();JOptionPane.showMessageDialog(this, "登录成功!");this.dispose();}}else {JOptionPane.showMessageDialog(this, "输入用户名或密码错误!");}}catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}if (cancelButton.equals(e.getSource())) // 退出{System.exit(0);}}}2.GZGL 工资管理界面import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;import javax.swing.JTextField;@SuppressWarnings("serial")public class GZGL extends JFrame implements ActionListener {J Frame f = new JFrame("员工工资管理");J Button b1 = new JButton("录入");J Button b2 = new JButton("修改");J Button b3 = new JButton("删除");J Button b4 = new JButton("查询所有");J Button b5 = new JButton("返回");J TextField tf1 = new JTextField(6);J TextField tf2 = new JTextField(4);J TextField tf3 = new JTextField(4);J TextField tf4 = new JTextField(4);J TextField tf5 = new JTextField(4);J TextField tf6 = new JTextField(4);J TextField tf7 = new JTextField(6);J TextField tf8 = new JTextField(6);J TextField tf9 = new JTextField(4);J TextField tf10= new JTextField(4);J TextField tf11= new JTextField(6);J TextField tf12= new JTextField(6);S tring[] cloum = { "职工号", "基本工资", "津贴", "奖金","保险","房贷","总工资"}; O bject[][] row = new Object[50][7];J Table table = new JTable(row, cloum);J ScrollPane scrollpane = new JScrollPane(table);J SplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);v oid create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);JPanel p2 = new JPanel();p2.setBackground(Color.gray);p2.add(scrollpane);@SuppressWarnings("unused")JPanel p3 = new JPanel();p.setLayout(new FlowLayout());p.add(new JLabel(""));p.add(new JLabel("职工号"));p.add(tf1);p.add(new JLabel("基本工资"));p.add(tf2);p.add(new JLabel("津贴"));p.add(tf3);p.add(new JLabel("奖金"));p.add(tf4);p.add(new JLabel("保险"));p.add(tf5);p.add(new JLabel("房贷"));p.add(tf6);p.add(new JLabel("总工资"));p.add(tf7);p.add(new JLabel("姓名"));p.add(tf8);p.add(new JLabel("性别"));p.add(tf9);p.add(new JLabel("年龄"));p.add(tf10);p.add(new JLabel("部门"));p.add(tf11);p.add(new JLabel("职业"));p.add(tf12);splitpane.add(p1, JSplitPane.TOP); splitpane.add(p2, JSplitPane.BOTTOM); splitpane.setDividerLocation(50);p.setBackground(Color.gray);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(500, 100, 500, 600);f.setResizable(false);// 可以调整界面大小f.setVisible(true);}p ublic void actionPerformed(ActionEvent e) {if (b1.equals(e.getSource())) { // 录入Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con=DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement();String insertStr = "INSERT INTO salary (worker_num,basic_pay,welfare,bonus,insurance,housing_fund,payment)VALUES('"+tf1.getText()+"','"+tf2.getText()+"','"+t f3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"','"+tf7.getText()+"');";sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO worker (num,name,sex,age,dep,occup,password)VALUES('"+tf1.getText()+"','"+tf8.getText()+"','"+tf9.getText()+"','"+tf10.getText() +"','"+tf11.getText()+"','"+tf12.getText()+"','"+tf1.getText()+"');";sql.executeUpdate(insertStr1);con.close();JOptionPane.showMessageDialog(this, "入录成功!");} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "入录失败!");}}if (b2.equals(e.getSource())) {// 修改Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement();String updateStr = "UPDATE salary SET basic_pay='"+tf2.getText()+"',welfare='"+tf3.getText()+"',bonus='"+tf4.getText()+"',insurance='"+tf5.getText()+"',housing_f und='"+tf6.getText()+"',payment='"+tf7.getText()+"'where worker_num='"+tf1.getText()+"';";sql.executeUpdate(updateStr);String updateStr1 = "UPDATE worker SET name='"+tf8.getText()+"',sex='"+tf9.getText()+"',age='"+tf10.getText()+"',dep='"+tf11.getText()+"',occup='"+tf12.getText()+ "'where num='"+tf1.getText()+"';";sql.executeUpdate(updateStr1);JOptionPane.showMessageDialog(this, "修改成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "信息不存在!");}}if (b3.equals(e.getSource())) {// 删除Connection con;Statement sql;@SuppressWarnings("unused")ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM salary where worker_num='"+tf1.getText()+"';");sql.executeUpdate("DELETE FROM worker where num='"+tf1.getText()+"';");JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b4.equals(e.getSource())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)table.setValueAt("", i, j);rs = sql.executeQuery("select * from salary");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String jb = rs.getString(2);String jt = rs.getString(3);String jj = rs.getString(4);String bx = rs.getString(5);String zf = rs.getString(6);String sum= rs.getString(7);table.setValueAt(no, k, 0);table.setValueAt(jb, k, 1);table.setValueAt(jt, k, 2);table.setValueAt(jj, k, 3);table.setValueAt(bx, k, 4);table.setValueAt(zf, k, 5);table.setValueAt(sum,k, 6);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}3.GZGLZJM 工资管理主界面import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;class GZGLZJM extends JFrame implements ActionListener {p rivate static final long serialVersionUID = 1L;J Frame f = new JFrame("工资管理系统");J Button b1 = new JButton("工资管理");J Button b2 = new JButton("员工信息管理");J Button b3 = new JButton("返回");v oid create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(b1);p.add(b2);p.add(b3);p.setBackground(Color.gray);p.setVisible(true);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(500, 300, 500, 200);f.setResizable(false);f.setVisible(true);}p ublic void actionPerformed(ActionEvent e) {if (b3.equals(e.getSource())) {// 返回DL d = new DL();d.create();f.dispose();}if (b2.equals(e.getSource())) {// 员工信息管理YGGL yg = new YGGL();yg.create();f.dispose();}if (b1.equals(e.getSource())) {// 员工工资管理GZGL gz = new GZGL();gz.create();f.dispose();}}}4.XGMM 修改密码import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;@SuppressWarnings("serial")class XGMM extends DL implements ActionListener {J Frame frame = new JFrame("密码修改");J Label label1 = new JLabel("原密码");J Label label2 = new JLabel("新密码");J Button Button1 = new JButton("确定");J Button cancelButton = new JButton("返回");J PasswordField password = new JPasswordField(9);J PasswordField newpassword = new JPasswordField(9);v oid create(){JPanel p = (JPanel) frame.getContentPane();p.setLayout(new FlowLayout());p.add(label1);p.setSize(5, 5);p.setLocation(4, 8);p.add(password);p.setSize(100, 200);p.setLocation(600, 600);p.add(label2);p.setSize(50, 20);p.setLocation(40, 80);p.add(newpassword);p.setSize(100, 20);p.setLocation(80, 120);p.add(Button1);p.add(cancelButton);p.setBackground(Color.cyan);p.setVisible(true);Button1.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200, 100, 500, 220);frame.setVisible(true);}p ublic void actionPerformed(ActionEvent e){if (e.getSource()==Button1){Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement();@SuppressWarnings("deprecation")String updateStr = "UPDATE worker SET password='"+newpassword.getText()+"'where num='"+t1+"';";sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(this, "修改成功!");con.close();frame.dispose();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "请输入原密码和新密码!");}}if (e.getSource()==cancelButton) //返回{YGGLZJM dl=new YGGLZJM();dl.create();frame.dispose();}}}5.YGGL 员工信息管理界面import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;import javax.swing.JTextField;@SuppressWarnings("serial")public class YGGL extends JFrame implements ActionListener {J Frame f = new JFrame("员工信息管理");J Button b2 = new JButton("修改员工信息");J Button b3 = new JButton("删除员工信息");J Button b4 = new JButton("查询所有员工信息");J Button b5 = new JButton("返回");J TextField tf1 = new JTextField(8);J TextField tf2 = new JTextField(8);J TextField tf3 = new JTextField(6);J TextField tf4 = new JTextField(6);J TextField tf5 = new JTextField(6);J TextField tf6 = new JTextField(6);S tring[] cloum = { "职工号", "姓名", "性别", "年龄","部门","职业"};O bject[][] row = new Object[50][6];J Table table = new JTable(row, cloum);J ScrollPane scrollpane = new JScrollPane(table);J SplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);v oid create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);JPanel p2 = new JPanel();p2.setBackground(Color.gray);p2.add(scrollpane);p.setLayout(new FlowLayout());p.add(new JLabel(""));p.add(new JLabel("职工号"));p.add(tf1);p.add(new JLabel("姓名"));p.add(tf2);p.add(new JLabel("性别"));p.add(tf3);p.add(new JLabel("年龄"));p.add(tf4);p.add(new JLabel("部门"));p.add(tf5);p.add(new JLabel("职业"));p.add(tf6);splitpane.add(p1, JSplitPane.TOP);splitpane.add(p2, JSplitPane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.gray);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(500, 100, 500, 600);f.setResizable(false);// 可以调整界面大小f.setVisible(true);}p ublic void actionPerformed(ActionEvent e) {if (b2.equals(e.getSource())) {// 修改员工信息Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement();String updateStr = "UPDATE worker SET name='"+tf2.getText()+"',sex='"+tf3.getText()+"',age='"+tf4.getText()+"',dep='"+tf5.getText()+"',occup='"+tf6.getText()+"'w here num='"+tf1.getText()+"';";sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(this, "修改成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "修改失败!");}}if (b3.equals(e.getSource())) {// 删除员工信息Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM worker where num='"+tf1.getText()+"';");sql.executeUpdate("DELETE FROM salary where worker_num='"+tf1.getText()+"';");JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部员工信息Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b4.equals(e.getSource())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)table.setValueAt("", i, j);rs = sql.executeQuery("select * from worker ;");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String xm = rs.getString(2);String xb = rs.getString(3);String nl = rs.getString(4);String bm = rs.getString(5);String zy = rs.getString(6);table.setValueAt(no, k, 0);table.setValueAt(xm, k, 1);table.setValueAt(xb, k, 2);table.setValueAt(nl, k, 3);table.setValueAt(bm, k, 4);table.setValueAt(zy, k, 5);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}6.YGGLZJM 个人工资查询界面import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;@SuppressWarnings("serial")public class YGGLZJM extends DL implements ActionListener {J Frame f = new JFrame("工资管理");J Button b1 = new JButton("查询个人工资");J Button b2 = new JButton("修改密码");J Button b3 = new JButton("返回");S tring[] cloum = { "职工号", "基本工资", "津贴", "奖金","保险","房贷","总工资"};O bject[][] row = new Object[50][7];J Table table = new JTable(row, cloum);J ScrollPane scrollpane = new JScrollPane(table);J SplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);v oid create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);JPanel p2 = new JPanel();p2.setBackground(Color.gray);p2.add(scrollpane);@SuppressWarnings("unused")JPanel p3 = new JPanel();p.setLayout(new FlowLayout());splitpane.add(p1, JSplitPane.TOP);splitpane.add(p2, JSplitPane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.gray);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(200, 100, 500, 550);f.setResizable(false);// 可以调整界面大小f.setVisible(true);}p ublic void actionPerformed(ActionEvent e) {if (b1.equals(e.getSource())) {// 查询个人工资Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b1.equals(e.getSource())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)table.setValueAt("", i, j);//System.out.println(t1);rs = sql.executeQuery("select * from salary where salary.worker_num ='"+t1+"' ");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String jb = rs.getString(2);String jt = rs.getString(3);String jj = rs.getString(4);String bx = rs.getString(5);String zf = rs.getString(6);String gz = rs.getString(7);table.setValueAt(no, k, 0);table.setValueAt(jb, k, 1);table.setValueAt(jt, k, 2);table.setValueAt(jj, k, 3);table.setValueAt(bx, k, 4);table.setValueAt(zf, k, 5);table.setValueAt(gz, k, 6);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b2.equals(e.getSource())){// 修改密码XGMM xgmm=new XGMM();xgmm.create();}if (b3.equals(e.getSource())) {// 返回DL dl=new DL();dl.create();f.dispose();}}}。

相关文档
最新文档