Java工资管理系统

合集下载

基于Java Web的高职院校人事管理系统的设计与实现

基于Java Web的高职院校人事管理系统的设计与实现
可添加相应的基本信息。
图 9 工资信息添加
图 6 教职工信息管理页面
3.4
工资信息管理
工资信息管理显示了教师的月份、工资津贴、奖
图 10 查看工资信息
金、课时酬金、其他收入、缺勤扣除、实发工资、教师
String sql="select * from t_gongzi order by yuefen
姓名。
3 系统实现
3.1
登录页面
系 统 的 登 陆 页 面(login.jsp)中 运 用 了 CSS 和
JavaScript 设 计 页 面 ,当 用 户 没 有 输 入 账 号 或 密 码
时,系统会弹出提示信息。
-101-
《电子设计工程》2020 年第 24 期
3.2
人事基本信息管理
人事基本信息管理主要包括教师工号、密码、姓
资信息并添加删除,
教师成功查询
考勤信息管理
管理员管理教师考勤信
息,
教师查询考勤信息
管理员成功查询考
勤信息并添加删除,
教师成功查询
部门管理
管理员管理部门信息
管理员成功添加删
除部门信息
数据库中建立的数据表信息不能及时被查询或者
计并加以实现。在不断编写程序的过程中明确系统
传入。
的具体功能,把系统分为小模块进行编写,使分工更
2.5
考勤管理模块
考勤管理模块主要实现了管理员和教师成功登
系统登录验证,管理人员和教师可根据不同权限登
录进入相应的主界面,当用户名或者密码不匹配时,
录系统后对考勤管理模块进行不同的操作,管理员
系统会弹出 错误提示。具体的系统登录流程如图 1
可以增删查改,教师只能浏览和查询。其具体的流程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据库工资管理系统报告和代码大全

数据库工资管理系统报告和代码大全

数据库原理及应用课程设计报告题目:工资管理系统所在学院:信息工程学院班级:学号:姓名:指导教师:2014年1月2日目录一、概述二、需求分析三、概念设计四、逻辑设计五、系统实现六、小结一、概述在工资管理中,需要从公司管理方式以及实际情况中提取相关信息,以反映工资管理情况。

传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。

使用计算机可以高速,快捷地完成以上工作。

避免重复劳动,规范工资管理行为,从而提高了管理效率和水平。

让人们的效率大大提高.不难想象,正是资讯的迅速发展使得人们从过去繁复的手工劳作中得以解脱,从而使这种服务在现在才可能迅速普及。

同时,编写一套完整的工资管理系统的任务就显得尤为重要。

本课程设计共分为四大模块:1.系统数据初始化2.工基本信息数据的输入、修改、删除;3.员工个人信息及工资表的查询;4,员工工资的计算;二、需求分析本系统主要用于员工基本信息的管理,对员工以及其他信息的添加、修改、删除、查询等基本操作。

对于数据库的保护有数据备份和数据恢复的功能。

针对这些要求,设计本月工资信息管理系统。

该系统主要包括职工信息、工资级别和工资金额、公司福利表等。

⒈员工基本状况包括员工号、员工姓名、性别、所在部门、工资级别、工资等级等。

2.工资级别和工资金额包括工资等级、工资额。

3.企业部门及工作岗位信息包括部门名称、工作岗位名称、工作岗位工资等。

4.工龄和工资金额包括工龄及对应工资额。

5.公司福利表包括福利名称、福利值。

本系统概念设计思想:1.对公司软硬件调查,从实际环境出发,以便充分利用公司现在资源,提高系统开发水平和应用效果。

图1.1 系统功能模块图图2.6信息查询及管理的流程图三、概念设计分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。

员工是本系统的第一个实体。

为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。

工资管理系统设计

工资管理系统设计

本科生毕业论文(设计)题目:工资管理系统设计学号:姓名:年级:学院:系别:专业:完成日期:指导教师:摘要:本文从用计算机实现工资管理的角度出发,系统地介绍了为某所大学设计的一套网络环境的工资软件。

本文详细叙述了系统的功能、数据结构、概要设计、详细设计。

系统实现了职工信息、工资的录入、查询和修改,用户可定制报表,用户管理等功能。

系统的特点是采用B/S架构,整个系统的管理工作都集中在服务器端,运用多层软件架构确保了系统的扩展性和适用性。

服务器端主要运用servlets实现,客户端主要使用jsp实现。

关键字:工资管理系统,oracle的java存储过程,工资计算模块AbstractThis treatise bases on the managing of wage by computer and generally introduces a kind of wage managing software about internet environment for a certain university. It discusses the functions of the system, data structure, summary designing and particular designing in detials. The system implements the insert query of the employee's information and wage, the reports ,user management and so on. The specialty of the system is using B/S structure. The management of the system focus on the server. It uses several layers software structure to insure the applicability and the expansibility of the system. The server is mostly using servlets and, the client is jsp.Key Words:The management system of wage, the java stored procedure of oracle,the module of wage calculoation目录第一章绪论 (1)1.1 背景 (1)1.2 开发工具和运行环境的选择 (1)1.3 本文所做的工作 (2)第二章需求分析 (3)2.1 用户功能的需求分析 (3)2.2 功能划分 (4)2.3 数据描述 (5)2.4 数据采集 (9)2.5 数据库设计 (10)第三章概要设计 (14)3.1总体设计 (14)3.1.1基本概念设计 (14)3.1.2开发环境 (14)3.1.3软件结构 (15)3.2数据结构设计 (17)3.2.1全局变量定义 (17)3.2.2物理结构设计 (17)第四章详细设计 (19)4.1 登陆窗口设计 (19)4.1.1 功能说明 (19)4.1.2 实现方法 (19)4.2 主界面 (19)4.2.1 功能说明 (20)4.2.2 实现方法 (20)4.3职工信息录入 (20)4.3.1 功能说明 (21)4.3.2 实现方法 (21)4.4 职工信息的查询和修改 (21)4.4.1 功能说明 (22)4.4.2 实现方法 (22)4.5 课时工资信息的录入 (22)4.5.1 功能说明 (22)4.5.2 实现方法 (22)4.6 课时和工资信息的查询和修改 (23)4.6.1 实现方法 (23)4.7 工资结构的查看 (23)4.8工资结构的调整 (24)4.9 报表生成 (24)4.9.1 实现方法 (25)4.10 过滤器和监听器 (25)4.10.1 是否登陆过滤器 (25)4.10.2 编码过滤器 (25)4.10.3 用户监听器 (25)第五章毕业设计小结 (26)5.1目标完成情况和不足 (26)5.2总结和体会 (27)致谢 (28)参考文献 (29)附录 (30)附录一工资的计算公式 (30)附录二数据库表的结构 (30)附录三源代码 (34)1. oracle的java存储过程(工资计算模块) (34)2. 监听器(日志生成) (35)3.过滤器 (38)第一章绪论1.1 背景随着计算机技术的飞速发展,计算机在企业和大学管理中应用的普及,利用计算机实现人事工资的管理势在必行。

工资管理系统设计

工资管理系统设计

工资管理系统设计一、系统需求分析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)生成工资发放表,记录工资发放的日期和金额。

工资管理系统实验总结

工资管理系统实验总结

工资管理系统实验总结在本次实验中,我与我的团队完成了一个工资管理系统的设计与实现。

通过这个实验,我对软件开发的全过程有了更深入的了解,同时也提高了自己的编程能力和团队合作能力。

首先,我们在开发工资管理系统时,采用了敏捷开发的方法。

我们将整个开发过程分为多个迭代,每个迭代的时间较短,目的是为了快速的完成功能的开发和测试,并及时地对系统进行修复和优化。

通过敏捷开发,我们可以快速响应需求变化,确保项目按时交付。

其次,在需求分析阶段,我们通过与用户的多次沟通和会议,准确地获取了用户对工资管理系统的需求。

我们把需求分为了功能需求和非功能需求,并对每个需求进行了详细的描述和分析。

在需求分析的过程中,我们发现了一些用户未曾考虑到的需求,通过及时与用户沟通,我们成功地将这些需求融入到系统设计中。

然后,在系统设计阶段,我们采用了面向对象的设计方法。

我们将整个系统划分为多个模块,每个模块负责完成一个特定的功能。

在模块的设计过程中,我们注重模块之间的耦合度和内聚度,以及模块的扩展性和复用性。

通过合理的设计,我们成功地降低了模块之间的耦合度,提高了系统的扩展性和复用性。

接下来,在编码阶段,我们采用了Java语言进行开发。

我们遵循了Java的编码规范,并且采用了一些常用的设计模式,如单例模式、工厂模式等。

通过使用这些设计模式,我们实现了代码的复用和模块的解耦。

此外,在编码的过程中,我们进行了代码的重构和优化,以提高代码的质量和可读性。

最后,在测试阶段,我们采用了黑盒测试和白盒测试相结合的方法。

通过黑盒测试,我们测试了系统的功能是否满足用户的需求。

通过白盒测试,我们测试了系统的各个模块的逻辑是否正确。

在测试的过程中,我们发现了一些bug,并及时地进行修复,确保了系统的稳定性和可靠性。

通过本次实验,我深刻体会到了软件开发的重要性和复杂性。

一个合格的软件工程师需要具备扎实的编程能力、良好的分析能力和沟通能力,同时还需要具备团队合作和项目管理的能力。

数据库课程设计实验报告-工资管理系统

数据库课程设计实验报告-工资管理系统

延安大学计算机学院实验报告专用纸实验室:软件工程实验室学号:实验日期:2013年11月日(1)。

需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等.在做这个管理系统时,我们既咨询了父母又结合了教师等不同行业人士的工资情况,发现该系统受些许因素牵制比如说:公司大小,人员流动性,员工学历等通过我们的了解调查最终总结出系统功能如下:a。

整体结构合理, 模块化结构利于操作。

b。

完整的数据输入,输出,维护.c。

拥有不错的自检性,用户输错或误输均有提示。

d. 拥有较强的容错性,某个用户的错误操作不会引起系统的瘫痪。

e. 程序接口灵活,以便日后操作与维护。

f. 在不影响系统功能的前提下,美化操作界面.(2)。

概念设计○1E-R图错误!数据流图(3).逻辑设计基本信息(员工编号号,姓名,性别,毕业学校,所学专业,学历,电话,住址,从事岗位).考勤信息表(员工编号,姓名,请假天数,矿工天数,月迟到次数,月份).加班信息表(员工编号,姓名,晚班加班(天),周末加班(天),春节加班(天),节假日加班(天),月份)。

岗位信息表(员工编号,姓名,从事岗位,基本工资,部门名称)。

部门信息表(部门编号,部门名称,部门经理,部门人数)根据基本表创建了如下视图:加班津贴(员工编号,姓名,加班薪酬,月份)缺勤扣除表(员工编号,姓名,扣除工资,月份)月工资表(员工编号,姓名,基本工资,扣除工资,加班薪酬,实得工资,月份)年终奖(员工编号,姓名,奖(4).数据字典视图的创建:(5)。

系统的实现开发环境:SQL server 2005及eclipse○,1用SQL语言创建数据库Array 1.基本信息表(JBXX)Create table JBXX(Empno int not null primarykey,Emname varchar(8) not null,Sex char(2)check(Sex=’ 男’or Sex=’女’),School varchar(20)null,Profession varchar(20) null,Education varchar(6) null,Phone char(11) null,Address varchar(15)null)3.加班信息表(OVERTIMEINFORMA TION)Create table OVERTIMEINFORMATION(Empno int not null ,Night int null,Weekend int null,Festival int null,Special int null,Themonth int not null,5。

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

Java程序设计基础课程设计课题名称工资管理系统——工资管理设计学号姓名班级指导老师企业工资管理——工资管理子系统企业工资管理——工资管理子系统 (2)一.需求分析报告 (3)1.组织机构操作方式上的可行性 (3)2.基础数据的可用性 (3)3.经济上的可行性 (3)4.技术上的可行性 (3)5.目标分析 (3)二.项目开发计划 (4)1.项目开发组织机构的设置和人员的安排 (4)2.项目开发的进度 (4)3.项目开发经费的概算 (4)4.项目所需的硬件和软件资源等 (4)三.系统分析报告 (4)1.业务流程图 (4)2.数据流程图 (6)3.功能分析图 (8)4.数据字典 (9)5.数据加工处理的描述 (12)6.管理信息系统流程设计图(新系统模型) (12)四 .系统设计报告 (13)五.系统实现部分 (16)2.源程序 (16)3.模拟运行数据 (33)4.测试用例 (34)6.系统使用说明书。

(37)六.工作总结 (39)七、致谢 (39)八.附录 (39)一.需求分析报告1.组织机构操作方式上的可行性本系统运行在通用的Windows操作系统上,具有Windows相似的操作界面。

具有简单易学,使用方便等特点,只需在计算机上进行相关的简单的设置即可,懂得计算机基本操作的人员经过短期培训培训即可熟练操作,熟悉计算机操作的人员不需要再经过专门的培训即可熟练操作。

所以,从组织机构操作方式上的可行性分析,该系统是可行的。

(薪酬计划)2.基础数据的可用性企业工资管理系统的基础数据都是一些比较常见的基础数据,比如职工编号,姓名,部门编号等等,在系统的设计过程中都是很好使用和编排的,所以,从系统基础数据可用性的角度看,该系统是可行的。

3.经济上的可行性a.采用新的工资管理系统可取代原系统的单据手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,提高工资汇总的效率,使公司变的资金运转更加便捷。

b.开发经费、投资方面的来源和限制:各种硬件及人员花费至少需8000元.所以,从经济上的可行性分析,该系统是可行的。

4.技术上的可行性本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。

职工工资管理系统开发与运行环境选择如下:开发环境:Windows XP开发工具:Java,Java软件可以选用eclipse3.5数据库管理系统:access数据库(薪酬设计)5.目标分析做出一个简单实用工资管理系统,不需要功能复杂,只需要实用性强。

功能要在很多小型企业都能够使用。

操作性简单,要最大限度的减少使用用户的工作量。

二.项目开发计划1.项目开发组织机构的设置和人员的安排本系统开发人员共有4位,每人负责一部分。

:负责工资管理部分;:负责考勤管理部分;:负责工资管理部分;:负责前台设置部分;2.项目开发的进度本小组决定在两周之内完成该项目的开发,即完成对该工资管理系统的开发,本系统计划分为四个模块,分别为工资管理,工资管理,考勤管理,前后台设置。

第一周将系统设计报告撰写好,第三周时间进行系统设计和java代码设计,最后测试系统并加以完善。

3.项目开发经费的概算项目开发经费的预算为:各种软硬件及人员花费至少需8000元。

4.项目所需的硬件和软件资源等硬件、软件、运行环境和开发环境方面的条件和限制:软件需求:操作系统WINDOWS 2000 Advance Server以上;数据库服务器端软件access,java编程软件,jdk1.6版本。

硬件需求:10M以上的LAN接入网络带宽,P4 3.0G Xeon CPU /1G内存/360G(10K) SCSI硬盘的服务器,P3以上微机(带网卡)的客户机,P4 3.0G Xeon CPU /1G内存/36G(10K) RAID硬盘的数据库服务器。

本系统采用java实现,依靠其强大的控件系统以及access数据库管理系统。

三.系统分析报告1.业务流程图图例说明:表示外部实体表示处理过程的说明表示生成文档表示表表示信息的传输过程,线段上的文字是对传递信息的说明根据需求分析,我们分析出一个工资管理系统中工资管理子系统业务的一般流程:首先,用户必须进行注册以及登陆,才能进入工资管理系统。

注册及登陆的流程如下:图3-1员工注册及登陆业务流程图其次,员工登陆进入工资管理子系统之后就要进行工资查询。

图3-2企业工资管理——工资管理子系统业务流程图2.数据流程图图例说明:表示外部实体表示处理过程 带有名称的有向线段表示数据流图3-3 工资管理系统顶层DFD图3-4 工资管理系统的第一层DFD图3-5 企业工资管理——工资管理子系统的数据流程图3.功能分析图该工资管理——工资管理子系统的总体功能可以从两个方面来分析,一是查找功能,二是编辑功能----包括修改,删除,和添加,总体功能设计如图3-4所示。

(薪酬管理)图3-6 工资管理子系统功能分析图4.数据字典数据字典中有六类条目:数据元素、数据结构、数据流、数据存储、处理过程和外部实体。

不同类型的条目有不同的属性。

根据“数据流程图”,编写相应的“数据字典”,如下所示。

(1)数据元素条目(2)数据流条目(3)处理过程定义(4)数据存储5.数据加工处理的描述数据加工处理的工具主要包括:结构化语言,判断树,决策表。

下面用结构化语言描述。

如果职务是经理则基本工资为2500如果职务是部长则基本工资为2000如果职务是工人则基本工资为1200 6.管理信息系统流程设计图(新系统模型)图3-7 企业工资管理——工资管理子系统设计报告四 .系统设计报告1.功能结构设计本学工资管理子系统主要分为三个模块,包括查询,添加,修改和删除。

本系统首先将员工的基本和基本工资信息输入,然后可以进行以下三种功能操作。

图4-1 企业工资管理——工资管理子系统功能模块设计2.新系统信息处理流程设计图4-23.代码设计(如:职工证号和部门代号等)每一个代码都只代表唯一的实体或属性,代码必须简单明了,但必须有利于对数据进行统计、汇总、分析等操作。

同时必须满足系统要求,便于记忆和使用。

该工资管理子系统是针对员工信息进行管理的,主要涉及到的人员是员工,下面对员工的相关代码结构及编码规则进行说明,如下所示:员工编号5.五.系统实现部分1.程序框图(程序流程图)2.源程序下面是程序的各部分关系图:登录工资管理系统登陆权限对与否管理员编辑界面员工查询界面Y N增添删除修改员工信息基本工资员工信息基本工资员工信息基本工资员工信息基本工资查询退出子系统普通员工进入后的界面,只有查询功能,其余有添加修改删除操作的菜单为灰色,不能操作。

这是管理员进入后的界面,全部可以操作,菜单显示可以全部操作。

这是登陆界面的代码:import java.awt.*;class denglu extends Frame{ public Label name=new Label("用户名");public Label pass=new Label("密码");public TextField txtname=new TextField();public TextField txtpass=new TextField();public Button btok=new Button("登陆");public Button btexit=new Button("取消");public condb conu=new condb();private String sql=null;private ResultSet rs=null;private Image img;public denglu(){img=getToolkit().getImage(getClass().getResource("/ww.png"));setTitle("欢迎使用工资管理系统");setLayout(null);setResizable(false);setSize(500,350);Dimension scr=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frm=this.getSize();setLocation((scr.width-frm.width)/2,(scr.height-frm.height)/2-18); txtpass.setEchoChar('*');txtname.setBounds(120,260,120,27);txtpass.setBounds(120,300,120,27);btok.setBounds(340,260,100,28);btexit.setBounds(340,300,100,28);add(name);add(txtname);add(pass);add(txtpass);add(btok);add(btexit);setVisible(true);btexit.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){dispose();System.exit(0);} });btok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){sql="select * from 数据库用户where 用户名='"+txtname.getText()+"' and 密码='"+txtpass.getText()+"'";try { rs=conu.getrs(conu.con,sql);if(rs.next() ){ mainff mf=new mainff();if(rs.getInt(4)!=0){mf.getInitsys().setEnabled(false);mf.getUser().setEnabled(false);mf.getGong2().setEnabled(false);}dispose();mf.show();}else { JOptionPane jop=new JOptionPane();jop.showMessageDialog(null,"用户名或密码错误","信息提示!",-1);}}catch(Exception ee){}}} );addWindowListener( new WindowAdapter(){public void windowClosing(WindowEvent e){ dispose();System.exit(0);}} );}public void paint(Graphics g){ g.setClip(new Rectangle2D.Float(0,0,500,350));g.drawImage(img,0,0,this);}}public class dl{ public static void main(String args[]){ denglu deng=new denglu();}}工资查询的功能截图查询代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;class whole extends JDialog implements ActionListener { private condb con = null;private ResultSet rs = null;private String sql = null;private JLabel bmhao = new JLabel("员工编号:");private JLabel bmname = new JLabel("姓名:");private JTextField wholetx1 = new JTextField();private JTextField wholetx2 = new JTextField();private JButton ok = new JButton("查询");private JOptionPane jop = new JOptionPane();private JTable ta = null;private JScrollPane taooo = new JScrollPane();private String col[] = { "员工编号", "姓名", "旷工", "迟到", "底薪", "加班", "绩效奖励","出勤金额", "实发工资" };private Object rowline[][] = new String[45][10];private boolean tf = false;public whole() {con=new condb();setTitle("全部信息");setSize(600, 300);getContentPane().setBackground(Color.LIGHT_GRAY);getContentPane().setLayout(null);Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();Dimension frm = getSize();setLocation((int) (scr.getWidth() - frm.getWidth()) / 2, 150);bmhao.setBounds(50, 20, 80, 30);wholetx1.setBounds(140, 20, 50, 20);bmname.setBounds(210, 20, 80, 30);wholetx2.setBounds(300, 20, 50, 20);ok.setBounds(400, 20, 100, 30);getContentPane().add(bmhao);getContentPane().add(wholetx1);getContentPane().add(bmname);getContentPane().add(wholetx2);getContentPane().add(ok);ok.addActionListener(this);setVisible(true);}public void initTable(Object row[][], String col[]) {if (wholetx1.getText().equals("")&& wholetx2.getText().equals("")) {sql = "select * from 员工数据表,出勤表,员工绩效,最终工资where" +" 员工数据表.员工编号=最终工资.员工编号and 最终工资.员工编号=出勤表.员工编号and 出勤表.员工编号=员工绩效.员工编号";} else if (wholetx1.getText().equals("") == false) {sql = "select * from 员工数据表,出勤表,员工绩效,最终工资where" +" 员工数据表.员工编号=最终工资.员工编号and 最终工资.员工编号=出勤表.员工编号and 出勤表.员工编号=员工绩效.员工编号and 员工数据表.员工编号= "+wholetx1.getText() + "";System.out.println(sql);}else if (wholetx2.getText().equals("") == false) {sql = "select * from 员工数据表,出勤表,员工绩效,最终工资where" +" 员工数据表.员工编号=最终工资.员工编号and 最终工资.员工编号=出勤表.员工编号and 出勤表.员工编号=员工绩效.员工编号and 员工数据表.员工姓名='"+wholetx2.getText() + "'";System.out.println(sql);}Connection conn=con.getConn();Statement sta=null;try {sta = conn.createStatement();ResultSet rs=sta.executeQuery(sql);int cnt = 0;while (rs.next()){rowline[cnt][0] = rs.getString("员工编号");rowline[cnt][1] = rs.getString("员工姓名");rowline[cnt][2] = rs.getString("矿工次数");rowline[cnt][3] = rs.getString("迟到次数");rowline[cnt][4] = rs.getString("底薪");rowline[cnt][5] = rs.getString("加班次数");rowline[cnt][6] = rs.getString("绩效奖励");rowline[cnt][7] = rs.getString("出勤金额");rowline[cnt][8] = rs.getString("实发工资");cnt++;}ta = new JTable(rowline, col);ta.setSize(580, 190);taooo = new JScrollPane(ta);taooo.setLocation(20, 50);taooo.setSize(560, 190);getContentPane().add(taooo);this.repaint(0, 0, 500, 300);tf = false;} catch (SQLException e) {// TODO 自动生成catch 块e.printStackTrace();}}public void actionPerformed(ActionEvent ae) { /* {int cnt=1;while(cnt<11){ rowline[cnt][0]="1";rowline[cnt][1]="2";rowline[cnt][2]="3";rowline[cnt][3]="4";rowline[cnt][4]="5";rowline[cnt][5]="6";rowline[cnt][6]="7";rowline[cnt][7]="8";rowline[cnt][8]="9";rowline[cnt][9]="10";cnt++;}ta=new JTable(rowline,col);ta.setSize(580,190);taooo=new JScrollPane(ta);taooo.setLocation(20,50);taooo.setSize(560,190);getContentPane().add(taooo);this.repaint(0,0,500,300);con.dbclose(con.con,rs);con=null;tf=false;}//删除*/if (tf == false) {for (int i = 0; i < rowline.length; i++)for (int j = 0; j < 10; j++)rowline[i][j] = null;initTable(rowline, col);wholetx1.setText("");wholetx2.setText("");}}}这是工资设置的功能截图:工资设置的代码:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;class bm extends Frame implements ActionListener,ItemListener { private condb conx=null;private ResultSet rs=null;private String sql=null;long id;private Label num=new Label("员工编号");private Label jb=new Label("姓名");private Label fj=new Label("底薪");private Label in=new Label("绩效奖励");private Label chu=new Label("出勤金额");private Label sf=new Label("实发工资");private TextField numtx=new TextField(); private TextField jbtx=new TextField(); private TextField fjtx=new TextField(); private TextField chutx=new TextField(); private TextField sftx=new TextField(); private TextField intx=new TextField(); private Choice numcho=new Choice(); private Button add=new Button("增加"); private Button exit=new Button("退出"); private Button set=new Button("设置"); public bm(){ setTitle("添加工资");setSize(400,300);setBackground(Color.LIGHT_GRAY);this.setLocationRelativeTo(this.getParent());this.setResizable(false);setLayout(null);num.setBounds(80,50,50,20);jb.setBounds(80,70,50,20);fj.setBounds(80,90,50,20);in.setBounds(80,110,50,20);chu.setBounds(80,130,50,20);sf.setBounds(80,150,50,20);numtx.setBounds(160,50,100,20);jbtx.setBounds(160,70,100,20);fjtx.setBounds(160,90,100,20);intx.setBounds(160,110,100,20);chutx.setBounds(160,130,100,20);sftx.setBounds(160,150,100,20);numcho.setBounds(160,170,100,20);add.setBounds(60,220,50,20);set.setBounds(180,220,50,20);exit.setBounds(300,220,50,20);add(add);add(set);add(exit);add(num);add(jb);add(fj);add(in);add(chu);add(sf);add(numtx);add(jbtx);add(fjtx);add(intx);add(chutx);add(sftx);add(numcho);//lbadd.addActionListener(this);set.addActionListener(this);exit.addActionListener(this);numcho.addItemListener(this);initnumcho();setVisible(true);addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){dispose();}});}public void itemStateChanged(ItemEvent i){ numtx.setText(numcho.getSelectedItem());String str=numtx.getText();conx=new condb();sql="select * from 最终工资where 员工编号="+str;// System.out.println(sql);try{rs=conx.getrs(conx.con,sql);rs.next();jbtx.setText(rs.getString(3));fjtx.setText(rs.getString(4));intx.setText(rs.getString(7));chutx.setText(rs.getString(6));sftx.setText(rs.getString(9));conx.dbclose(conx.con,rs);conx=null;rs=null;} catch(Exception eo){}}public void initnumcho(){ conx=new condb();sql="select * from 最终工资";numcho.removeAll();try { rs=conx.getrs(conx.con,sql);while(rs.next()){numcho.add(rs.getString("员工编号"));}conx.dbclose(conx.con,rs);conx=null;rs=null;}catch(Exception eo){}}public void actionPerformed(ActionEvent e){ conx=new condb();if(e.getActionCommand().equals("退出"))this.dispose();if(e.getActionCommand().equals("设置")){try{sql="update 最终工资"+"set 姓名='"+jbtx.getText()+"',底薪="+fjtx.getText()+",绩效奖励="+intx.getText()+",出勤金额="+chutx.getText()+",实发工资="+sftx.getText()+" where 员工编号="+numtx.getText();// System.out.println(sql);conx.moddb(conx.con, sql);try { //System.out.println(sql);conx.con.close();}catch(Exception ue){System.out.println(""+ue);}JOptionPane jop=new JOptionPane();jop.showMessageDialog(null," 修改成功!","修改成功",-1);conx=null;rs=null;}catch(Exception et){JOptionPane jop=new JOptionPane();jop.showConfirmDialog(null,"修改失败!","警告!",-1);conx=null;rs=null;System.out.println(""+et);}}if(e.getActionCommand().equals("增加")){sql="select MAX(id) from 最终工资";try { rs=conx.getrs(conx.con,sql);rs.next();id=rs.getLong(1);id++;System.out.println(id);rs=null;}catch(Exception eo){}// sql="update * from 最终工资where 员工编号='"+numtx.getText()+"'";try{sql="insert into 最终工资(员工编号,姓名,底薪,绩效奖励,出勤金额,实发工资,id)"+"values("+numtx.getText()+",'"+jbtx.getText()+"',"+fjtx.getText()+","+intx.getText()+","+chutx.getText()+","+sftx.get Text()+","+id+")";// System.out.println(sql);conx.moddb(conx.con, sql);try { // System.out.println(sql);conx.con.close();}catch(Exception ue){System.out.println(""+ue);}JOptionPane jop=new JOptionPane();jop.showMessageDialog(null," 工资添加成功!","添加成功",-1);initnumcho();numtx.setText("");jbtx.setText("");fjtx.setText("");conx=null;rs=null;}catch(Exception et){JOptionPane jop=new JOptionPane();jop.showConfirmDialog(null,"添加失败!","警告!",-1);conx=null;rs=null;System.out.println(""+et);}}}}/*else*/3.模拟运行数据在新系统部分完成的时候,需要对程序进行调试,看程序是否运行正确,将各个数据输入道程序当中,进行调试。

相关文档
最新文档