职工工资管理系统设计与实现

合集下载

高校人事工资管理系统设计与实现

高校人事工资管理系统设计与实现

高校人事工资管理系统的设计与实现摘要:针对在手工处理人事工资管理信息的过程中存在效率低下的问题,在分析某高校人事工资管理实际现状的基础上,本文设计出一套人事工资管理系统,在某高校实际应用方面取得了一定的效果,可以满足学院日常工作管理与员工工资管理,实现学院的无纸化办公。

关键词:工资管理信息;数据库;系统模块设计中图分类号:tp311.52高校人事工资管理是一个繁琐而复杂的过程,且对工作人员的要求较严格,而且每月都要重复的进行操作,这就在无形中浪费了管理人员大量的时间和精力。

管理人员计算工资,不仅要确保工资的准确性,还要有一定的时效性。

虽然可以使用电脑中的各种统计工具对工资进行计算,但是随着计算机技术的飞速发展,急需要在业务管理上规范工资与各项费用的计算。

特别是财务管理部门,要严格杜绝计算错误的产生。

另外,对于任何需要手动填写的工资表格,现代化的数据处理服务具有无可比拟的优势。

利用人事工资管理系统可以完成自动计算工资的工作,并使大型企业和中小型企业能够利用it技术支持企业高效率的人事管理的日常任务,使其适应现代化的企业管理,促进就业和人事管理的科学化发展,且降低管理成本。

另外其优势是可以提高效率,使其科学化,规范化的管理。

1 技术简介powerbuilder 12是专为各种应用系统开发的数据库客户端工具,它可也构成一个客户机/服务器或其他的数据库服务器(如sybase,甲骨文,ms sql,informix等)的结构,也可作为dba,foxpro文件类型成为excel数据源,实现这些数据文件有效的连接。

对于不同类型的数据源(数据),由一个特定的软件接口连接使用powerbuilder的各种数据库连接方式,具体实现方式有两种:(1)通过odbc(开放的数据库connecttivity)实现通用接口软件。

(2)提供了一个特殊的接口,使ms sql,informix,sybase 等通过powerbuilder来实现链接。

工资管理系统的设计与实现论文

工资管理系统的设计与实现论文

摘要在企业单位以往的工资录入,计算、合计等需要通过大量的手工完成,数据量多,处理速度慢,而且极易出错,导致工作效率低。

本论文目的在于在现行工资管理制度的基础上,建立科学的计算机工资管理系统数据库,用计算机工作代替以往大量的手工重复劳动以减轻工作人员的劳动量,提高工作效率。

本系统结合企业的实际需要,通过对JAVA开发工具、数据库以及SQL语言的深入学习及实践,主要完成了工资理管系统的需求分析、数据库设计以及前台程序简单设计与开发。

系统包括工资、部门、和人员等数据库文件,并设有数据管理、部门管理、人员管理等功能,通过对数据库的控制和管理,可实现查询、增加、删除、修改等功能。

该设计基本合理,能够满足工作中的基本需要。

最后还对本系统作了客观评价评价,指明了系统的现实意义、缺点以及系统的升级方向。

[关键词] 数据库设计;工资管理;SQL Server;JA V A目录1绪论 (2)2 需求分析 (3)2.1 功能需求 (4)3概念结构设计 (5)3.1 总E-R图 (6)3.2 数据字典 (7)4逻辑结构设计 (7)4.1 系统结构图 (8)4.2 数据模型转换 (9)4.3 表的建立 (9)5数据库系统管理设计 (12)5.1 表关系实现 (12)5.2 关系图 (13)6 附:前台简单设计 (10)7 小结 (12)8 谢辞 (13)9 参考文献 (13)1绪论本课题将设计一个应用与企业的工资管理系统。

随着国民经济的急速发展,企业的工资应用体系也变的越来越复杂,企业中,部门、职务、工作效益等与工资管理有关的信息随之急剧增加。

在这种情况下单靠人工来处理员工的工资不但要消耗大量的人力和物力,而且极容易出错。

该系统的具体任务就是设计一个企业工资的数据库管理系统,由计算机来代替人工执行一系列工作,诸如增加员工添加删除、工资设置、修改、查询、统计等操作。

这样就使财务人员可以快捷高效地完成工资管理任务。

工资管理重复性、规律性、时间性,使得工资管理计算机化成为可能。

公司员工工资管理系统课程设计

公司员工工资管理系统课程设计

公司员工工资管理系统课程设计公司员工工资管理系统课程设计一、课程设计概述本课程设计旨在帮助学生深入了解公司员工工资管理系统的运作原理和实现过程,掌握相关的技术和工具,能够设计和开发出简单实用的工资管理系统。

课程设计分为两个部分,第一部分为理论学习,第二部分为实践操作。

二、理论学习1.公司员工工资管理系统概述:介绍工资管理系统的基本概念、应用场景、功能特点和思想原则,学生需要理解员工工资管理系统在企业内部的位置和作用。

2.需求分析:从设计和使用的角度出发,了解员工的工资管理的主要需求和问题,并掌握如何进行需求分析和需求定义。

3.系统设计:学生需要掌握如何进行系统设计,包括系统的整体架构设计、数据库设计和界面设计等。

4.系统开发:学生需要掌握基本的程序开发技术,如Java、Python等主流编程语言,掌握数据库使用和连接等技术,实现一个简单可用的员工工资管理系统。

三、实践操作1.系统构建:学生参考所学习的理论知识,设计并实现一个简单的员工工资管理系统,包括员工信息管理、工资计算、工资结算等功能。

2.系统测试:学生对所设计的员工工资管理系统进行测试和修复,包括功能测试、性能测试、兼容性测试等环节,确保系统的稳定性和可用性。

四、课程设计要求1.按时完成理论学习和实践操作任务。

2.以小组形式完成线上线下协作。

3.撰写课程设计报告,包括系统需求分析、系统设计和实现、测试和修复等环节的具体过程和结果。

4.课堂展示和答辩,展示所设计的员工工资管理系统,并回答审评师的问题及提出的建议。

五、评分标准1.理论知识掌握情况(占20%)。

2.系统设计和实现的质量与复杂度(占30%)。

3.系统测试和修复的质量(占20%)。

4.课程设计报告质量(占20%)。

5.课堂展示和答辩表现(占10%)。

六、结语公司员工工资管理系统课程设计旨在培养学生的系统设计和开发能力,掌握实践技能,培养解决问题的能力。

课程设计不仅是理论学习,还注重实践操作和团队协作,以实现培养学生综合素质的目标。

工资管理系统设计报告.doc

工资管理系统设计报告.doc

员工工资管理系统一、摘要 (2)二、系统分析 (2)2.1编写目的 (2)2.2项目背景 (2)2.3定义 (2)2.4参考资料 (3)2.5目标 (3)2.6运行环境 (3)2.7条件与限制 (4)2.8.数据描述 (4)2.9态数据 (4)2.10据库介绍 (5)2.11功能划分 (5)2.12功能描述 (5)2.13数据精确度 (6)2.14时间特性 (6)2.15适应性 (6)2.16硬件接口 (7)2.17软件接口 (8)2.17故障处理 (8)2.19其它需求 (8)三、系统设计 (9)3.1用户界面 (9)3.2组织结构图 (15)3.3数据流程图 (16)3.4系统流程图 (17)3.5 ER图 (18)3.6数据字典 (20)3.7逻辑设计 (24)四、调试及总结 (24)五、附录(代码) (27)一、摘要某某单位现有1000名员工,下设6个科室,由于人员繁多,因此员工的工资发放问题越来越成为单位一个很大的麻烦,以往在人工管理的阶段不时出现工资发放错误的问题,为了解决这个问题,提高工资发放的效率,同时减少不必要的人工开支,方面员工工资的管理,决定开发员工工资管理系统。

二、系统分析2.1编写目的为进一步明确开发目的,明确软件需求、安排项目规划与进度、组织软件开发与测试,保证系统开发的正确性与可行性,特撰写此文档,为系统提供了详细的说明以及开发环境和步骤,可供系统开发人员、系统维护人员以及使用者阅读。

员工工资管理系统为公司的工资发放提供了方便、快捷的通道,同时,此软件支持经常保持修改,易运行,易查询等优点本文档供项目经理、设计人员、开发人员参考。

2.2项目背景本项目由某某单位委托,由管理学院学生自主开发和维护,主管部门为济南大学信息学院老师。

该软件系统与其他:本软件系统是建立在公司工资管理基础之上,与员工工资密切密切相关。

2.3定义VF:Microsoft Visual Foxpro 数据库开发系统。

工资系统实验报告

工资系统实验报告

工资系统实验报告本次实验旨在设计并实现一个工资系统,用于管理员工的薪资计算和发放。

通过实验,掌握薪资计算的一般原则和方法,加深对工资体系的理解。

实验设计:1. 设计员工信息表,包含员工编号、姓名、部门、职位、入职日期等信息。

2. 设计薪酬项表,包含薪资基数、岗位津贴、绩效奖金等。

3. 设计薪资计算函数,根据员工的薪酬项和相关规则,计算出最终的薪资。

4. 设计薪资发放函数,根据员工的薪资计算结果,将薪资发放到员工的银行账户。

实验步骤:1. 创建员工信息表,并录入员工的基本信息,包括员工编号、姓名、部门、职位和入职日期等。

2. 创建薪酬项表,并录入各项薪酬的相关信息,包括薪资基数、岗位津贴和绩效奖金等。

3. 编写薪资计算函数,计算每位员工的薪资。

薪资计算规则可以根据公司的实际情况来确定,例如可以根据薪酬项表中的相关信息进行计算。

4. 编写薪资发放函数,将计算得到的薪资发放到员工的银行账户中。

发放方式可以根据具体情况选择,例如可以通过银行转账或者现金发放等方式。

5. 进行测试,验证薪资系统的正常运行。

可以随机选取几个员工进行测试,确保薪资计算和发放的准确性。

实验结果:经过测试,薪资系统能够正确计算员工的薪资,并将薪资发放到员工的银行账户中。

薪资计算和发放的结果与预期相符,说明薪资系统的设计和实现是正确的。

实验总结:通过本次实验,我深入了解了薪资计算和发放的一般原则和方法,并通过设计和实现薪资系统,体验了实际操作的过程。

在实验中,我学会了如何设计员工信息表和薪酬项表,以及如何编写薪资计算和发放函数。

这些知识和技能对我未来的工作和学习都是非常有益的。

同时,本次实验还加深了我对工资体系的理解。

通过设计薪酬项表和定义薪资计算规则,我深入了解了不同薪酬项的作用和计算方法,以及薪酬和员工绩效之间的关系。

这对我今后工作中的薪资制定和薪酬管理都具有重要意义。

总的来说,本次实验使我对工资系统有了更深入的了解,并锻炼了我的实际操作能力。

完整薪资管理系统的设计

完整薪资管理系统的设计

完整薪资管理系统的设计在现代企业管理中,薪资管理是一项至关重要的工作,它关系到员工的工作积极性、公司的发展前景、以及公司与员工之间的关系等方面。

为了更好地管理和控制企业的薪资,需要一套完整的薪资管理系统,本文将就完整薪资管理系统的设计进行分析。

一、系统概述完整薪资管理系统是一种综合性的信息管理系统,主要包括薪资计算、薪资发放、薪资查询、考核评价、员工档案管理等功能模块,同时还与公司的业务流程、部门职责、组织架构等密切相关。

二、系统设计1. 薪资计算功能模块薪资计算是一个相对复杂的流程,它涉及到员工的基本薪资、加班工资、绩效奖金、福利补贴等多个方面。

因此,薪资计算功能模块需要支持多种计算方式,并且能够灵活适应不同的规则和政策。

2. 薪资发放功能模块薪资发放是整个薪资管理系统中最为重要的环节,它关系到员工的利益以及公司的声誉。

因此,薪资发放功能模块需要支持多种支付方式,并且要保证准确、及时、安全。

3. 薪资查询功能模块薪资查询是员工了解自身薪资水平的关键途径,因此,薪资查询功能模块需要提供多种查询方式,并且要保证查询结果的准确性和保密性。

4. 考核评价功能模块公司需要对员工的工作表现进行考核评价,从而确保优秀员工得到相应的奖励,不良员工得到相应的惩罚。

考核评价功能模块应该支持多种考核方式,并且能够生成相应的奖惩清单。

5. 员工档案管理功能模块员工档案管理是整个薪资管理系统中最为基础的功能模块,它涉及到员工的基本信息、工作经历、学历证书、社会保险等多个方面。

因此,员工档案管理功能模块需要实现多种档案分类和检索方式,并且要保证档案的安全性和完整性。

三、系统实现完整薪资管理系统的实现需要考虑统一的信息平台和相应的技术支持。

具体来说,系统应该采用分布式架构和云计算技术,实现多个业务功能模块的集成和协同。

同时,应该采用安全加密和数据备份等措施,确保系统的可靠性和安全性。

四、总结完整薪资管理系统的设计及实现需要紧密结合企业内部的工作流程和规章制度,同时,需要采用最先进的技术手段,确保系统的高效性和安全性。

工资管理系统的设计与实现共3篇

工资管理系统的设计与实现共3篇

工资管理系统的设计与实现共3篇工资管理系统的设计与实现1工资管理是企业运营中非常重要的一环,涉及到了员工的薪酬待遇,也影响到了企业的管理效率和形象。

为了确保员工的福利待遇得到保障,减少企业管理成本,提高企业效益,因此设计实现工资管理系统就显得尤为必要。

一、需求分析在设计工资管理系统之前,需要先对企业的薪酬管理需求进行分析。

首先,系统需要能够支持对员工基本信息和个人工资等信息进行维护和管理,包括薪资、社保、公积金等各种福利待遇。

其次,系统要能够支持员工的计薪、发薪和结薪等工作,并能够自动生成工资条。

另外,系统还需要能够自动生成税务报表、社保缴纳报表和公积金缴纳报表等。

二、系统设计在需求分析的基础上,需要进行系统的设计。

工资管理系统可以分为以下几个模块:1. 员工信息管理模块:该模块主要用于维护员工的基本信息,包括姓名、性别、年龄、出生日期、婚姻状况、籍贯、住址、联系电话等。

在工资核算的过程中,员工的个人基本信息是非常重要的数据,这些数据对于社保和公积金的缴纳以及工资的计算都有一定的影响。

2. 薪资管理模块:该模块主要用于维护员工的薪资信息,包括基本工资、津贴、奖金、加班费等。

在计算员工工资时,需要在该模块中录入员工的薪酬信息,并根据公司的薪酬政策进行计算。

3. 社保管理模块:该模块主要用于维护员工的社保信息,包括养老保险、医疗保险、生育保险、失业保险等。

由于每个员工的社保缴纳费用不同,因此在该模块中需要根据员工的实际情况进行管理以及计算缴纳费用。

4. 公积金管理模块:该模块主要用于维护员工的公积金信息,包括个人账号、缴纳比例、缴纳基数等。

同样的需求,在该模块中需要根据员工的实际情况进行管理以及计算缴纳费用。

5. 工资核算模块:该模块主要用于进行员工的工资核算,包括计算薪资、社保、公积金等项目。

系统可以根据公司制定的薪酬政策进行计算,并生成员工的工资条。

6. 税务报表模块:该模块主要用于生成税务相关的报表,包括个人所得税缴纳证明等。

基于python的工资绩效管理系统的设计与实现

基于python的工资绩效管理系统的设计与实现

基于python的工资绩效管理系统的设计与实现设计和实现一个基于Python 的工资绩效管理系统涉及多个方面,包括数据库设计、用户界面设计、业务逻辑实现等。

以下是一个简单的指南,帮助你开始这个项目。

1. 数据库设计首先,你需要设计数据库以存储员工信息、工资信息和绩效数据。

使用SQLite、MySQL 或PostgreSQL 等数据库管理系统。

```sql--员工信息表CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(100),position VARCHAR(100),department VARCHAR(100));--工资信息表CREATE TABLE salaries (id INT PRIMARY KEY,employee_id INT,salary_amount DECIMAL(10, 2),month DATE,FOREIGN KEY (employee_id) REFERENCES employees(id));--绩效信息表CREATE TABLE performance (id INT PRIMARY KEY,employee_id INT,performance_score INT,month DATE,FOREIGN KEY (employee_id) REFERENCES employees(id));```2. Python 代码#2.1 数据库连接使用Python 的数据库连接库(例如`sqlite3`、`mysql-connector` 或`psycopg2`)连接到你```pythonimport sqlite3# 连接到SQLite 数据库conn = sqlite3.connect('your_database.db')cursor = conn.cursor()```#2.2 员工管理实现员工信息的增加、删除和查询功能。

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

《JAVA程序设计》课程设计报告设计题目:职工工资管理系统设计与实现学院名称:专业班级:姓名:学号:目录一需求分析。

3 二概要设计。

3 三详细设计。

53.1 数据库设计。

33.2 模块及窗体设计。

33.2.1 数据库模块设计。

53.2.2 用户登录识别模块。

63.2.3管理员模块。

8职工基本信息管理。

9职工工资管理。

203.2.4 普通用户模块。

28职工信息。

283.2.5 系统管理模块。

153.2.5 主窗体菜单设计。

15 四软件测试。

36 五总结。

36 参考资料:....................................................。

..17一需求分析本系统的主要目的就是实现职工工资管理系统设计与实现,使职工工资管理工作更加容易, 高效地管理企业职工工资,从而提高工作效率,降低管理成本.二概要设计/************************************************************************概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。

项目的成功取决于设计的好坏,而概要设计则是整个设计的关键部分。

概要设计的主要任务是将用户的需求划分为不同的功能,然后将这些功能细分成模块,并给模块一些规则约束,以达到各个模块之间可以相互交流的目的。

概要设计关乎到系统的整体架构,因此想做好一个概要设计,不仅仅要熟悉用户的业务流程,还要具备相当丰富的设计经验。

2.1 概要设计的原则概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。

概要设计要坚持以下几个原则。

(1)细分原则:软件系统都是由很多不同的模块组成,当设计一套软件时,要先将所有的功能分解。

解决复杂问题的方法是将其分解成几个小问题,一个个来解决。

(2)提高代码重用性:在面向对象设计中,首先考虑的就是代码的重用,一个好的设计,将来在升级换代时不需要太大的改动,节省了人力物力。

(3)从上而下层层分析:概要设计要从整体出发,逐个剖析软件的功能,从上而下,先分析系统总的功能,然后一步步细分,直到最小的功能模块。

(4)一致性原则:概要设计要求所有功能模块在定义时使用统一的规范。

(5)提高独立性,减少耦合:各个模块与模块之间尽量减少关联,否则修改一个地方就会引起其他多处的变动,不符合面向对象的原则。

一般情况下,对类封装后,只允许对类进行扩展,而不能修改,而封装的类必须具有单一职责,既理论情况下不允许两个类共同完成一个功能。

(6)模块的大小要尽量适中:不是结构算法越复杂的模块越好,模块的大小要根据实际工作目标和其他类的耦合紧密程度来决定。

经验表明,一个模块的规模不应过大,模块的总行数应控制在10~100行的范围内,最好为30~60行,这样理解和阅读都较方便。

过长的模块往往是分解不充分的表现,会增加阅读理解的难度;但小规模太多也会使模块之间联系变得复杂,增大系统在模块调用时传递信息所花费的开销。

由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。

现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。

2.2 将用户需求模块化根据概要设计的原则来分析一下本项目的用户需求,并最终转化成用程序语言描述的模块。

什么样的需求才是一个模块?模块应该具备如下3个特征。

(1)输入和输出:模块必须能被调用并且正确的返回调用,而且调用都是相对一个对象而言,这是模块独立性的一个体现。

(2)处理功能:模块必须可以对调用的输入数据进行灵活的处理,并为输出准备好处理结果。

(3)程序代码:用来实现模块功能的源代码。

2.3 确定系统最终模块概要设计中最重要的就是确定此项目包括哪些模块。

根据上两节讲述的设计原则和模块特征,将用户需求转化为下面的模块。

**************************************************************************/(1)流程图设计2.2 模块设计1 数据库设计模块2 用户登录识别模块3 用户信息管理模块4 职工信息管理模块2.2.1 程序功能描述1.程序运行之后首先弹出欢迎窗口,继而进入登陆界面2.登陆界面的通过用户密码验证进入操作3.密码输入正确后转入管理员主菜单,就可以选择对职工基本信息和工资进行计算、修改、添加或者查询或退出后回到主菜单。

4.密码输入正确后转入普通用户主菜单,就可以选择对自身基本信息和工资进行计算或者查询或退出后回到主菜单。

5.每个功能模块都有退出的功能,回到主菜单。

6.点击主菜单的退出按钮,退出系统。

三详细设计3.1 数据库设计数据库名称:employee 表名:user, employ,salary表user:存放登陆用户的用户名和密码表employ:存放职工基本信息3.2 模块及窗体设计3.2.1 数据库模块设计将数据库的连接包装在一个DBConnect类中,以便其他模块能够轻松调用,避免每次重写数据库连接代码。

//创建数据库连接类DBConnectpackage Java_Design;import java.sql.*;public class JDBConnect{//静态方法提高数据库的连接效率public static Connection getConn() throws Exception{//加载JDBC驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");return DriverManager.getConnection("jdbc:sqlserver://localhost:1433;" +"databasename=SalaryManagement","sa","1sjk");}//关闭连接public static void closeConn(Connection conn){if(conn != null){try {conn.close();} catch (Exception e) {e.printStackTrace();} } }//关闭执行对象public static void closeStatement(Statement stmt){if(stmt != null){try { stmt.close();} catch (Exception e) {e.printStackTrace();} } }//关闭结果集public static void closeResultSet(ResultSet rs){if(rs != null){try { rs.close(); }catch (Exception e) {e.printStackTrace(); } } }}3.2.2 用户登录识别模块文件名成员变量成员方法landing1.ja va JLabel jlabel2=new JLabel("用户ID:");JLabel jlabel3=new JLabel("密码:");JTextField text1 = new JTextField();public landing1() {}判断用户名和密码是否正确的成员方法代码:private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){name=text1.getText();if (e.getSource()==button1){if(text1.getText().trim().equals("")|| text2.getText().trim().equals("")){JOptionPane.showMessageDialog(null,"信息不能为空!");}try{ResultSet rs1=st.executeQuery("select * from Employee where EmployID='"+text1.getText()+"'");if(rs1.next() ){Name=rs1.getString("EmployName").trim();if(text2.getText().equals(rs1.getString("EmployPassword").trim())){if(mana.isSelected()){if(rs1.getString("EmployJob").trim().equals("管理员")){dispose();Management Management1 = new Management(rs1.getString("EmployName").trim());Management1.setVisible(true);}else JOptionPane.showMessageDialog(null,"非管理员!");}else if(pers.isSelected()){//j普通用户dispose();Person Person1 = new Person(rs1.getString("EmployName").trim(),rs1.getString("EmployID").trim());Person1.setVisible(true);}}else JOptionPane.showMessageDialog(landing1.this,"password error!");}else JOptionPane.showMessageDialog(landing1.this,"登录超时!没有这个用户!");}catch(Exception ex){//利用消息对话框提示失败JOptionPane.showMessageDialog(landing1.this,"登录超时!没有这个用户!");text1.setText("");text2.setText("");}}else if (e.getSource()==button2){text1.setText(" ");text2.setText(" ");}else if(e.getSource()==jMenuItem1){//上页dispose();index m= new index();m.setVisible(true);}else if(e.getSource()==jMenuItem4){//退出System.exit(0);}}}3.2.3 管理员模块文件名成员变量成员方法Managem ent.java JMenu jMenu0=new JMenu("系统_管理员界面");//菜单JMenuItem jMenuItem1=newJMenuItem("主页");//子菜单JButton addButton = newJButton("");private class BHandler implementsActionListener{public voidactionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页}}public Management(String name){}代码:public Management(String name){//传过来管理员的nameName=name;setTitle("Welcome Management_"+Name);// 设置窗体标题setSize(800, 600);setBounds(100, 100, 550, 340);// 设置窗体位置setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setResizable(false);setContentPane(contentPane);// 设置窗体内容面板BHandler h=new BHandler();//为组件注册监听器indexBackgroundP backgroundPanel = new indexBackgroundP();// 创建背景面板backgroundPanel.setImage(getToolkit().getImage( getClass().getResource("3.jpg")));// 设置面板背景图片contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new BorderLayout(0, 0));//BorderLayout是用东西南北和中央Button1.setToolTipText("查看所有职工资料");//用来设置鼠标停留时显示提示信息的Button1.setIcon(new ImageIcon(Management.class.getResource("5.png")));addButton.setToolTipText("增添职员");//用来设置鼠标停留时显示提示信息的addButton.setIcon(new ImageIcon(Management.class.getResource("add.jpg")));toolBar.add(addButton);subButton.setToolTipText("删除资料");subButton.setIcon(new ImageIcon(Management.class.getResource("sub.png")));toolBar.add(subButton);resetButton.setToolTipText("修改信息");resetButton.setIcon(new ImageIcon(Management.class.getResource("reset.png")));toolBar.add(resetButton);findButton.setToolTipText("查找职员");findButton.setIcon(new ImageIcon(Management.class.getResource("find1.jpg")));toolBar.add(findButton);jMenuBar1.add(jMenu0);jMenu0.add(jMenuItem1);//主页jMenu0.add(jMenuItem3);//退出jMenu0.add(jMenuItem2);//帮助setJMenuBar(jMenuBar1);setIconImage(Toolkit.getDefaultToolkit().getImage("4.png"));contentPane.add(toolBar, BorderLayout.NORTH);contentPane.add(Button1,BorderLayout.WEST);contentPane.add(backgroundPanel);jMenuItem1.addActionListener(h);jMenuItem2.addActionListener(h);jMenuItem3.addActionListe ner(h);Button1.addActionListener(h);subButton.addActionListener(h);findButton.addActionListener(h);addButton.addActionListener(h);resetButton.addActionListener(h);}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页dispose();index h= new index();h.setVisible(true);// frame.dispose();}else if(e.getSource()==jMenuItem2){//帮助int i=0;dispose();help h1= new help(Name,i,"");//姓名权限编号h1.setVisible(true);}else if(e.getSource()==jMenuItem3){//退出System.exit(0);}else if(e.getSource()==Button1){//dispose();M_reset rese=new M_reset(Name);rese.setVisible(true);}else if(e.getSource()==addButton){ //增dispose();Add_person fram1= new Add_person(Name);fram1.setVisible(true);}else if(e.getSource()==subButton){//删dispose();Sub_person su=new Sub_person(Name);su.setVisible(true);}else if(e.getSource()==resetButton){//改dispose();Reset_person re= new Reset_person(Name);re.setVisible(true);}else if(e.getSource()==findButton){//查dispose();Find_person2 fin= new Find_person2(Name);fin.setVisible(true);} }}3.2.3.1public Add_person(String N){Name=N;setTitle("Welcome Person_Reset_"+Name);// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 350);// 设置窗体位置setContentPane(contentPane);// 设置窗体内容面板contentPane.setLayout(new BorderLayout(0, 0));indexBackgroundP backgroundPanel = new indexBackgroundP();// 创建背景面板backgroundPanel.setImage(getToolkit().getImage( getClass().getResource("666.jpg")));// 设置面板背景图片jlabel1.setBounds(10,-20,300,120);jlabel2.setBounds(30,65,80,60); text1.setBounds(80,80,120,30);jlabel3.setBounds(220,65,80,60);man.setBounds(270,80,60,30);women.setBounds(325,80,60,30);jlabel7.setBounds(30,105,80,60); text7.setBounds(80,120,120,30);//姓名jlabel8.setBounds(220,105,80,60); text8.setBounds(270,120,120,30);//年龄jlabel4.setBounds(30,145,80,60); text3.setBounds(80,160,120,30);//住址jlabel5.setBounds(220,145,80,60); text4.setBounds(270,160,120,30);//联系电话jlabel6.setBounds(30,190,80,60); text2.setBounds(80,205,120,30);//部门jlabel10.setBounds(220,190,80,60); text10.setBounds(270,205,120,30);jlabel9.setBounds(30,235,80,60); text9.setBounds(80,245,120,30);//职务button2.setBounds(355,10,70,30);button2.setToolTipText("返回上页!");button1.setBounds(270,245,120,30);jlabel1.setFont(new Font("Serif",Font.PLAIN,30));jlabel2.setFont(new Font("Serif",Font.PLAIN,20));jlabel3.setFont(new Font("Serif",Font.PLAIN,20));jlabel4.setFont(new Font("Serif",Font.PLAIN,20));jlabel5.setFont(new Font("Serif",Font.PLAIN,20));jlabel6.setFont(new Font("Serif",Font.PLAIN,20));jlabel7.setFont(new Font("Serif",Font.PLAIN,20));jlabel8.setFont(new Font("Serif",Font.PLAIN,20));jlabel9.setFont(new Font("Serif",Font.PLAIN,20));jlabel10.setFont(new Font("Serif",Font.PLAIN,20));button1.addActionListener(h);button2.addActionListener(h); //button4.addActionListener(h);contentPane.add(jlabel1);contentPane.add(jlabel2);contentPane.add(jlabel3);contentPane.add(jlabel4);contentPane.add(jlabel5);contentPane.add(jlabel6);contentPane.add(jlabel7);contentPane.add(jlabel8);contentPane.add(jlabel9);contentPane.add(jlabel10);contentPane.add(button2);contentPane.add(text1);contentPane.add(text2);contentPane.add(text3);contentPane.add(text4);contentPane.add(text7);contentPane.add(text8);contentPane.add(text9);contentPane.add(text10);buttonGroup.add(man);buttonGroup.add(women);contentPane.add(man);contentPane.add(women);contentPane.add(button1);contentPane.add(backgroundPanel);// 把背景面板添加到窗体内容面板// contentPane.setOpaque(true);contentPane.add(button4);try{//调用初始化方法Init();}catch(Exception exception){exception.printStackTrace();}}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==button1){//获取用户输入的信息String EmployID=text1.getText();String EmployName=text7.getText();String EmploySex="";if(man.isSelected())EmploySex+="男";if(women.isSelected())EmploySex+="女";String EmployAge=text8.getText();String EmployAd=text4.getText();String EmployPhone=text2.getText();String EmployPassword=text10.getText();String EmployDept=text3.getText();String EmployJob=text9.getText();text11=new JTextField(text1.getText());try{//设置日期格式st.execute("set dateformat ymd");//利用st对象执行SQL语句,进行插入操作st.executeUpdate("insert into Employee values('"+EmployID+"','"+EmployName+"','"+EmploySex+"','"+EmployAge+"','"+EmployDept+"','"+E mployAd+"','"+EmployJob+"','"+EmployPhone+"','"+EmployPassword+"')");dispose();Add_Salary frame=new Add_Salary(text11.getText(),Name);frame.setVisible(true);}catch(Exception ex){//利用消息对话框提示异常的信息JOptionPane.showMessageDialog(Add_person.this,"职工添加失败!");ex.printStackTrace();}}else if(e.getSource()==button2){//String EmployID=;dispose();Management frame=new Management(Name);frame.setVisible(true);}文件名成员变量成员方法Find_perso n2.java JMenuItem jMenuItem2=newJMenuItem("回到主页");//子菜单JLabel jlabel1=new JLabel("添加职工基本信息");JButton button2=new JButton("<——返回上页");JLabel jlabel2=new JLabel("编号:");private class BHandler implementsActionListener{public voidactionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页}}public Find_person2(String N){}代码:public class Find_person2 extends JFrame{Connection con;//声明连接数据库对象Statement st;//声明SQL语句对象JPanel contentPane;JMenuBar jMenuBar1=new JMenuBar();//菜单条BHandler h=new BHandler();//为组件注册监听器JMenu jMenu0=new JMenu("系统");//菜单JMenuItem jMenuItem1=new JMenuItem("回到上页");//子菜单JMenuItem jMenuItem2=new JMenuItem("回到主页");//子菜单JMenuItem jMenuItem3=new JMenuItem("帮助");//子菜单JMenuItem jMenuItem4=new JMenuItem("退出");//子菜单String select,Name;JButton FINDButton=new JButton();JScrollPane scrollPane1 = new JScrollPane();JPanel panel1 = new JPanel();JPanel panel2 = new JPanel();JPanel panel3 = new JPanel();JComboBox jcomboBox;ButtonGroup buttongroup=new ButtonGroup();JRadioButton person=new JRadioButton("个人信息");JRadioButton salary=new JRadioButton("薪水");JTextField text1 = new JTextField("输入查找信息");String selects[]={"职工编号","姓名","职务","薪水"};JTable table1 = new JTable();Find_person2(String s1){Name=s1;setTitle("Welcome Find_person_"+Name);// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 690, 400);// 设置窗体位置contentPane = new JPanel();// 创建内容面板setContentPane(contentPane);// 设置窗体内容面板contentPane.setLayout(new BorderLayout(0, 0));contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new GridLayout(3, 1, 5, 5));jcomboBox=new JComboBox(selects);jcomboBox.setMaximumRowCount(4);jcomboBox.setSelectedIndex(0);jcomboBox.addItemListener(new Handler());jcomboBox.setSize(300, 20);buttongroup.add(salary);buttongroup.add(person);// panel1.setLayout(new BorderLayout(0, 0));panel2.setLayout(new BorderLayout(0, 0));panel1.setLayout(new GridLayout(2, 2, 5, 5));JLabel label1 = new JLabel("职工基本资料表");label1.setFont(new Font("微软雅黑", Font.PLAIN, 16));jcomboBox.setFont(new Font("微软雅黑", Font.PLAIN, 20));FINDButton.setToolTipText("查找信息");FINDButton.setIcon(new ImageIcon(help.class.getResource("14.png")));panel1.add(text1);panel1.add(jcomboBox);panel1.add(person);panel1.add(salary);// panel1.add(label2, BorderLayout.NORTH);panel2.add(label1, BorderLayout.NORTH);table1.setGridColor(Color.pink);table1.setRowHeight(20);table1.setSelectionBackground(Color.black);table1.setSelectionForeground(Color.white);scrollPane1.setViewportView(table1);panel2.add(scrollPane1, BorderLayout.CENTER);jMenuBar1.add(jMenu0);jMenu0.add(jMenuItem1);//子菜单jMenu0.add(jMenuItem2);//子菜单jMenu0.add(jMenuItem3);//子菜单jMenu0.add(jMenuItem4);//子菜单setJMenuBar(jMenuBar1);jMenuItem1.addActionListener(h);jMenuItem2.addActionListener(h);jMenuItem3.addActionListener(h);jMenuItem4.addActionListener(h);FINDButton.addActionListener(h);contentPane.add(panel1); contentPane.add(panel2);contentPane.add(FINDButton);// contentPane.add(backgroundPanel);try{//调用初始化方法Init();}catch(Exception exception){exception.printStackTrace();}}private void Init() throws Exception{con=JDBConnect.getConn();st=con.createStatement();}private class Handler implements ItemListener{public void itemStateChanged(ItemEvent e){if(e.getStateChange() == e.SELECTED){select=selects[jcomboBox.getSelectedIndex()];}}}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//上页dispose();Management m= new Management(Name);m.setVisible(true);}else if(e.getSource()==jMenuItem2){//主页dispose();index i= new index();i.setVisible(true);}else if(e.getSource()==jMenuItem3){//帮助int i=0;dispose();help help1= new help("",i,Name);help1.setVisible(true);}else if(e.getSource()==jMenuItem4){//退出System.exit(0);}else if(e.getSource()==FINDButton){ //显示数据查询数据库try{if(person.isSelected()){ResultSet RS = null;ResultSet RS1 = null;if(select.equals("职工编号")){RS=st.executeQuery("select * from Employee where EmployID='"+text1.getText()+"'");}else if(select.equals("姓名")){RS=st.executeQuery("select * from Employee where EmployName='"+text1.getText()+"'");}else if(select.equals("职务")){RS=st.executeQuery("select * from Employee where EmployJob='"+text1.getText()+"'");}else if(select.equals("薪水")){RS1=st.executeQuery("select * from Salary where BaseSalary='"+text1.getText()+"'");if(RS1.next()){RS=st.executeQuery("select * from Employee where EmployID='"+RS1.getString("EmployID")+"'");}}if(RS.next()){String[] columnNames = { "编号", "姓名","性别","年龄","部门","住址","职务","电话","密码"};DefaultTableModel model = new DefaultTableModel(columnNames, 9);table1.setModel(model);// 设置表格数据模型table1.setValueAt(RS.getString("EmployID"),0,0);table1.setValueAt(RS.getString("EmployName"),0,1);table1.setValueAt(RS.getString("EmploySex"),0,2);table1.setValueAt(RS.getInt("EmployAge"),0,3);table1.setValueAt(RS.getString("EmployDept"),0,4);table1.setValueAt(RS.getString("EmployAd"),0,5);table1.setValueAt(RS.getString("EmployJob"),0,6);table1.setValueAt(RS.getString("EmployPhone"),0,7);table1.setValueAt(RS.getString("EmployPassword"),0,8);}else JOptionPane.showMessageDialog(null, "查找失败");}else if(salary.isSelected()){ResultSet RS = null;ResultSet RS1 = null;String[] columnNames = { "编号", "基本薪水","奖金","罚金","工资卡","总工资"};DefaultTableModel model = new DefaultTableModel(columnNames, 6);table1.setModel(model);// 设置表格数据模型if(select.equals("薪水")){RS=st.executeQuery("select * from Salary where BaseSalary='"+text1.getText()+"'");}else if(select.equals("编号")){RS=st.executeQuery("select * from Salary where EmployID='"+text1.getText()+"'");}else if(select.equals("姓名")){RS1=st.executeQuery("select * from Employee where EmployName='"+text1.getText()+"'");if(RS1.next()){RS=st.executeQuery("select * from Salary where EmployID='"+RS1.getString("EmployID")+"'");}}else if(select.equals("职务")){RS1=st.executeQuery("select * from Employee where EmployJob='"+text1.getText()+"'");if(RS1.next()){ RS=st.executeQuery("select * from Salary where EmployID='"+RS1.getString("EmployID")+"'");} }if(RS.next()){table1.setValueAt(RS.getString("EmployID"),0,0);table1.setValueAt(RS.getString("BaseSalary"),0,1);table1.setValueAt(RS.getString("AddSalary"),0,2);table1.setValueAt(RS.getInt("SubSalary"),0,3);table1.setValueAt(RS.getString("SalaryCard"),0,4);table1.setValueAt(RS.getString("RealSalary"),0,5);}else JOptionPane.showMessageDialog(null, "查找失败");}else JOptionPane.showMessageDialog(null, "薪水查找失败");}catch(Exception ex){}}} }文件名成员变量成员方法Reset_pers on1.java JLabel jlabel1=new JLabel("职工基本信息修改");JLabel jlabel2=new JLabel("输入更改后信息:");JTextField text1 = newJTextField();JButton button1=new JButton("提交");private class BHandler implementsActionListener{public voidactionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页}}public Reset_person1(String s,String id,StringSelect){}代码:package Java_Design; import java.awt.BorderLayout;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;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.JTextField;public class Reset_person1 extends JFrame {Connection con;//声明连接数据库对象Statement st;//声明SQL语句对象 //String[]jMenuItem=new String[15];JPanel contentPane = new JPanel();// 创建内容面板JLabel jlabel0;JLabel jlabel1=new JLabel("职工基本信息修改");JLabel jlabel2=new JLabel("输入更改后信息:"); JTextField text1 = new JTextField();JButton button1=new JButton("提交");String name,select;private void Init() throws Exception{con=JDBConnect.getConn();st=con.createStatement();}public Reset_person1(String s,String id,String Select){setTitle("Welcome Person_Reset");// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 350);// 设置窗体位置select=Select;setContentPane(contentPane);// 设置窗体内容面板contentPane.setLayout(new BorderLayout(0, 0));indexBackgroundP backgroundPanel = new indexBackgroundP();// 创建背景面板backgroundPanel.setImage(getToolkit().getImage( getClass().getResource("666.jpg")));// 设置面板背景图片name=id;jlabel0=new JLabel(name);jlabel0.setBounds(10,-20,300,120);jlabel1.setBounds(90,-20,300,120);jlabel2.setBounds(30,65,180,60); text1.setBounds(125,120,120,30);button1.setBounds(270,245,120,30);jlabel1.setFont(new Font("Serif",Font.PLAIN,30));BHandler h=new BHandler();//为组件注册监听器button1.addActionListener(h);contentPane.add(jlabel1);contentPane.add(jlabel2);contentPane.add(text1);contentPane.add(button1);contentPane.add(backgroundPanel);// 把背景面板添加到窗体内容面板// contentPane.setOpaque(true);try{//调用初始化方法Init();}catch(Exception exception){exception.printStackTrace();}}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==button1){//获取用户输入的信息//String EmployID=text1.getText();try{//设置日期格式st.execute("set dateformat ymd");//利用st对象执行SQL语句,进行插入操作if(select.equals("ID")){st.executeUpdate("update Employee set EmployID='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("JOB")){st.executeUpdate("update Employee set EmployJob='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("DEPTE")){st.executeUpdate("update Employee set EmployDept='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("bases")){st.executeUpdate("update Salary set BaseSalary='"+text1.getText()+"'where EmployID='"+name+"'");}else if(select.equals("fajin")){st.executeUpdate("update Salary set SubSalary='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("addjin")){st.executeUpdate("update Salary set AddSalary='"+text1.getText()+"' where EmployID='"+name+"'");}//st.executeUpdate("update Employee set EmployID='"+text1.getText()+"' where EmployID='"+name+"'");//利用消息对话框提示职工添加成功//清空文本行的内容text1.setText("");JOptionPane.showMessageDialog(Reset_person1.this,"职工修改成功!");dispose();Reset_person frame=new Reset_person(name);frame.setVisible(true);}catch(Exception ex){//利用消息对话框提示异常的信息JOptionPane.showMessageDialog(Reset_person1.this,"职工修改失败!");ex.printStackTrace();}}} }}文件名成员变量成员方法Sub_perso n.java JMenuBar jMenuBar1=newJMenuBar();//菜单条BHandler h=new BHandler();//组件JMenu jMenu0=new JMenu("系统");JMenuItem jMenuItem1=newprivate class BHandler implementsActionListener{public voidactionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页}}package Java_Design;import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.Color;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JRadioButton;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.border.EmptyBorder;import javax.swing.table.DefaultTableModel;public class Sub_person extends JFrame{Connection con;//声明连接数据库对象Statement st;//声明SQL语句对象JPanel contentPane;String way;//传值JMenuBar jMenuBar1=new JMenuBar();//菜单条BHandler h=new BHandler();//为组件注册监听器JMenu jMenu0=new JMenu("系统");//菜单JMenuItem jMenuItem1=new JMenuItem("回到上页");//子菜单JMenuItem jMenuItem2=new JMenuItem("回到主页");//子菜单JMenuItem jMenuItem3=new JMenuItem("帮助");//子菜单。

相关文档
最新文档