资源描述
郑州大学软件和应用科技学院
信息系统开发课程设计汇报
学 期: 17-第一学期
专 业: 金融软件
班 级: 金融一班
设计题目: 工资管理系统
指导老师: 马建红
组 长: 77I1047 张越
同组人员: 77I1045 张轲
1 月 2 日
1 概述
1.1 选题目标及意义
企业竞争力提升越来越依靠于信息技术利用,信息充足交流和共享将大大提升企业工作效率,节省人力物力,所以,每个企机关全部努力争取搜集更全方面信息,并充足利用,而计算技术和网络技术发展为信息充足利用提供了可能。管理信息系统MIS(Management Information System)就是利用计算机应用系统提升信息处理速度和效率软件系统,MIS基于现代数字网络传输技术和计算技术,经过对企事业管理信息进行高度自动和智能搜集、处理、传输、公布和存放,显著增强了企机关参与猛烈市场竞争能力,也所以成为普遍采取企业管理工具。多年来,中国市场经济日渐成熟,竞争愈加猛烈,而传统各自为阵人事工资管理体制在各类企业中还被大量存在,使用分散手工管理方法进行考勤、工资等方面人事工资管理,这种传统手工方法因为人事工资数据量大幅度增加弊端日显,迫切需要开发专门人事工资管理信息系统提升人事管理工作效率。国外主流人事管理系统即使有管理规范、步骤清楚优点,但因为国情不一样,且人力资源管理软件通常基于应用企业特定企业环境,通常不含有很强通用性,所以,有必需开发一套适合本企业人力资源管理系统,以方便、立即反馈人事工资信息,为企业高效管剪发挥更大作用。本项目源自企业管理现代化、信息化项目,目标是实现集中管理地理上分布在多个城市企业职员人事工资信息,经过基于Internet人事信息数据共享,降低管理工作负担,实现企业职员人事工资管理规范化、便利性和快速性,系统关键功效有:
1.信息查询:经过网络实现分布式企业职员人事信息共享。为分布在多地企业领导、企业职员、企业人事财务部门提供便捷查询服务。
2.集中管理:人事工资等信息全部集中保留在系统中心数据库中,避免了原有各地就近分别管理引发数据不一致。
3.辅助决议:集中和方便职员信息利用不仅降低了管理人员工作强度,同时在完整数据基础上科学统计分析和数据挖掘结果,能够用于优化企业经营决议。
1.2 系统实现分工
本系统由小组2名组员共同完成,具体分工如表1所表示。
表1-1 小组组员分工表
角色
姓名
负担具体任务
组长
项目需求分析和总体设计、项目功效实现、文档编写
组员
数据库设计和实现、系统美化、系统测试、文档编写
1.3 开发环境
本系统开发环境如表2所表示。
表1-2 系统开发环境
操作系统
Windows×32位或64位
Win10
64位
JDK
1.7
Tomcat
V7.0
MyEclispe
10
数据库
MySQL
Navicat
10.1.7-unregistered
Eclipse
Oxygen.1 Release (4.7.1)
Win7
64位
2 系统分析
2.1 可行性分析
1. 技术可行性研究
为了满足企业职员工资管理系统目标和要求,该系统采取B/S模式开发。小组组员已经熟练掌握MVC开发模式,利用JSP高效开发web项目中动态页面, javaScript处理动态网页效果,利用css对前端样式进行设计。这三种请前端技术分别描述网页内容、网页样式和网页行为;用servlet充当MVC模式中Controller层,JavaBean来完成对数据库各项处理,如新增、编辑、查看详情和删除等。使用MyEclipse、Eclipse作为开发工具,数据库选择灵活MySQL。本系统含有技术可行性。
2. 经济上是可行性
软件开发关键成本全部在人力和软件费用上,该项目使用软件均为无偿开源产品,所以关键成本只有些人力。而本项目并不是很复杂烦扰,所以整个项目标开发并不需要很多人力,所以该项目在经济上是可行性。
2.2 需求分析
1.用户需求分析
用户分析关键经过用例图来描述并图示用户需求和事件步骤,经过能够反应用户期望系统含有功效,用例图中通常包含了参与者及其相关联用例,其反应了系统整体结构和功效,用例建模将人事工资管理系统分析、设计、实现和测试过程。依据企业管理模式特点,此用例模型中参与者细化分为人事工资主管领导、人事管理人员、财务管理人员、系统管理员、企业职员等五种角色. 如表2-1所表示,各类用户行为需求及权限分析以下:
(1)企业职员:一般职员使用系统进行考勤和请假、考评等,查看个人信息如查询考勤信息、个人薪酬福利信息等,是系统最关键使用者。
(2)主管领导:业务部门主管领导需要全方面把握相关人事、财务业务部门信息。即应该含有查询和核准等功效,经过查询了解所负责人事、财务相关管理信息,为决议核准提供依据。
(3)人事管理人员:责任人事管理规则制度制订,如人事档案管理、职员考勤管理、能够对已经有出勤制度添加、删除和修改,也能够编辑全部职员人事档案信息。
(4)财务管理人员:负责财务工资管理规则制订,依据有效工作时长、出勤统计参考考勤制度核实工资,并进行最终工资结算。
(5)系统管理员:管理员拥有最高系统权限,负责为全体职员建立用户账户,设定属性权限,维护更新系统数据库,并对系统日常运行进行维护。
表2-1 系统用户表
角色
职责或功效
企业职员
系统关键参与者,参与考勤、考评、信息查询等
人事部管理人员
系统关键参与者,安排人事管理、对职员考勤考评等
财务部管理人员
系统关键参与者,负责企业工资福利统计和结算等
主管领导
系统关键参与者,负责核准各项制度
系统管理员
维护系统正常运行
2.用例分析
人事工资管理信息系统依据企业人事工资管理实际需要,基于此数据库相关数据,对职员人事工资信息进行搜集、分析、处理和存放,使其立即正确反应企业职员在岗期间考勤、收入、人事调整等信息,为企业管理层提供快速正确职员管理辅助决议依据。基于系统功效分析,各类用户用例图以下:
(1)在岗企业职员用户:用例图图3.2.2-1所表示,在岗企业职员用户为通常企业职员,不包含管理人员和主管领导管理人员,系统能够依据系统管理员设定识别并限定其使用权限。在岗企业职员能够经过工作考勤功效模块统计该职员出勤请假情况,经过外接指纹考勤机、网络终端等考勤设备系统能够统计该职员出勤情况,用户能够进行查询自己出勤统计。在岗企业职员能够经过人事档案管理功效模块提交个人信息如家庭住址、联络方法、政治面貌、毕业院校等,在岗企业职员还能够经过系统查询功效模块获到个人人事档案信息如:岗位职级、所在部门相关信息、工资福利、个人保险、出勤情况等。
图2-1 企业职员用户用例图
(2)人事管理人员用户用例图图2-2所表示,人事管理人员分为通常人事管理人员和主管领导,系统能够依据系统管理员设定识别并限定其使用权限。人事管理人员除了同通常企业职员一样经过工作考勤功效模块统计该职员出勤请假情况,即经过考勤终端设备系统能够统计该职员出勤情况和不能正常出勤情况下请假外,还必需依据职员工作安排设置系统考勤。人事管理人员除了同通常企业职员一样能够经过职员考评管理功效模块查询并提交本人业务考评汇报及对其它用户工作进行考评外,还必需制订考评方案并提交主管领导用户核准经过。人事管理人员能够同通常企业职员一样经过人事档案管理功效模块提交个人信息如家庭住址、联络方法外,还必需管理职员工作岗位确实定调整、人事档案建立等专门工作。人事管理人员也能够经过系统查询功效模块获到个人人事档案信息如:岗位职级、工资福利、个人保险、出勤情况等。
图2-2 人事管理用户用例图
(3)财务管理人员用户用例图图2—3所表示,财务管理人员分为通常财务管理人员和主管领导,系统能够依据系统管理员设定识别并限定其使用权限。财务管理人员同通常企业职员一样经过工作考勤功效模块统计该职员出勤请假情况,不能正常出勤情况下经过系统请假,经过人事档案管理功效模块提交个人信息,经过系统查询功效模块获到个人人事档案信息如:岗位职级、工资福利、出勤情况等。财务管理人员关键区分是经过薪资管理功效模块来制订工资福利方案并提交主管领导核准,然后依据职员出勤请假情况统计有效工作条目,并结算职员工资福利。
图2-3 财务管理人员用例图
(4)系统管理员用户用例图图2-4所表示,系统管理员除了像其它企业职员一样参与职员考勤、提交职员人事档案信息、查询修改个人信息外,还能够经过系统维护功效模块对系统后台数据、运行状态、用户权限进行维护。
图2-4 系统管理员用例图
3 系统设计
3.1 功效设计
业务性设计
1.实现职员信息维护
(1)实现人事基础信息(包含姓名、性别、出生年月等个人基础、学历、职称、 职务、所在部门等个人工作信息)输入和修改,维护次信息表,可进行增加、 修改、删除和保留历史统计。该功效关键是对人事基础信息表管理和维护。
(2)实现新进人员信息录入和对应工资变动。
(3)实现人事变动信息(包含学历、职务、岗位、等变动信息)录入和修改。
2.实现工资信息维护
(1)实现基础工资维护,可增加、修改、删除和保留工资信息。
(2)津补助维护,可修改、删除和保留历史统计。
(3)预设工资标准和相关计算公式,自动计算出基础工资、薪点工资、多种附 加工资、扣款等对应项目。
3.实现工资处理 工资业务处理关键是对工资发放、变动、工资撤资和入资等业务管理。关键有:
(1)批量工资处理
(2)工资发放处理
(3)职务变动管理
(4)对人员调出处理
(5)对人员调入处理
4.实现报表管理功效 在工资管理工作中和人事管理工作中,最不能少是多种报表设计和实现。关键有:
(1)个人工资报表打印,个人信息报表打印。
(2)工资报表导出,对已经生成报表数据进行导出并打印。
(3)工资报表导入,对导出报表数据进行导入并预览。
5. 系统维护功效
(1)对人事、工资数据进行维护。
(2)对系统使用用户进行维护。
(3)对用户权限进行维护。
(4)能够对数据库中数据进行浏览和查询。
功效性设计
1. 人事管理功效
关键对部门设置、人事档案管理、人事资料统计、人事数据考评奖惩、职称评定、人事变动等信息进行管理。
2. 薪资管理功效
工资管理功效实现关键对职员工资进行管理,包含工资结算、数据输入、工资查询和工资分配四部分内容。职员薪资管理模块关键用于企业职员薪资进行制订、调整和实施动态管理,该模块能够设置企业薪酬策略和薪酬结构,在此基础上依据薪资组成统计职员工时福利并结算当月工资。薪资管理包含财务管理人员和主管领导,财务管理人员制订薪酬策略和薪酬结构,由主管领导核准生效,财务管理人员依据薪酬结构统计职员职级、考勤、请假等计薪信息,并依据薪酬策略结算工资。而管理模块分为三部分内容:工资结算、工时福利统计、保险设置。
3. 出勤管理功效
关键对职员进行出勤统计,依据工资制度,计算并审核职员薪资。
4. 用户管理功效
用户管理列出了全部用户信息,包含用户名、密码、用户权限。图3-1系统总体功效模型用模式结构来分析话,人事管理模块系统、密码管理模块就是人事工资管理系统外模式。
图3-1 系统总体功效图
图3-2 职员工资系统步骤图
3.2 数据库设计
系统E-R关系图图3-3所表示。
图3-3 系统总体E-R图
职员工资管理系统关键包含职员用户、人事管理人员、财务管理人员、主管领导、薪资福利管理、考勤管理、人事档案管理等八个实体。其中薪资福利管理包含工资方案和职员工资福利统计表,考勤管理包含职员考勤表。图3-2给出此系统部分实体属性图,分别为职员用户、薪资福利、考勤、保险信息,其中职员包含一般职员、财务管理人员、人事管理人员、主管领导,它们属性图以下:
图3-4 职员属性图
图3-5 薪资信息属性图
图3-6 考勤属性图
图3-7 保险信息属性图
表3-1 用户数据表结构
表3-2 薪资数据表结构
表3-3 考勤数据表结构
表3-4 保险信息数据表结构
4 系统实现
4.1 包含知识点
1 B/S架构
B/S又被称为Brower/Server模式。和C/S技术对立,使用B/S技术,用户只需要使用浏览器即可完成用户对系统需求,不需要下载用户端繁琐操作和运行环境,十分简练轻便。B/S模式也有着很多优点和缺点。她优点有用户端无需安装,只要使用标准web浏览器即可,而且B/S架构不需要搭建,直接放在网上经过一定权限来实现多用户访问。而且不需要用户自己去升级用户端,只要更新服务器即可。不过B/S架构一样有很多缺点,比如在跨多个浏览器上,就很可能有浏览器不支持,而且代码愈加复杂,开发难度更大。在速度和安全性上更难有保障。而且用户需要频繁地刷新页面,对用户体验有所影响。
2 MVC框架
MVC描述了一个应用程序整体架构,MVC模式激励划分出三种不一样分离层,请求线程将分别经过模型层、视图层和控制器。模型层、视图层、控制器划分必需严格明确。MVC模式图4-1所表示。
图4-1 MVC模式
MySQL是一个关系型数据库管理系统,由MySQL AB 开发,现在是 Oracle 旗下企业。MySQL 是近几年最流行关系型数据库管理系统,在 WEB 应用方面MySQL是最出色 RDBMS (关系数据库管理系统) 应用软件之一。
MySQL是一个关联数据库管理系统,关联数据库通常将数据保留在多个表中,而不是将全部数据挤在一个大表内,这么就增加了运行速度而且提升了灵活性。[5]
4.tomcat服务器
tomcat服务器是一个Web 级应用类服务器,是一个独特轻量级应用服务器,在多种多样小型系统和同时并发访问用户不是很多场所下被普遍使用。tomcat是开发和调试JSP 程序首要之选。不过它缺点也很显著,不适合大用户使用。压力只要稍微大一点这个服务器就会瓦解。
4.2 系统运行
1.登录界面
用户进入系统后,最先出现便是该系统登录页面,全部该系统用户(人事部负责管理工资信息人员)需要登录该系统验证用户身份,确保系统安全性。
登录界面图4-1所表示:
图4-1 登陆界面
2.用户界面
用户进入工资管理系统以后,首页会显示一个欢迎界面,左侧是功效模块列表,共有些人事管理、薪资管理、出勤管理、用户管理四个功效模块,其中人事管理包含部门管理、职员管理俩个功效,薪资管理包含工资信息、工资设置、保险设置三个功效,出勤管理包含考勤信息、考勤奖罚俩个功效,用户管理包含个人信息、密码修改俩个功效。
用户操作列表图4-2所表示:
图4-2 用户操作列表
3.人事管理(部门管理和职员管理)
(1)部门管理能够查看部门名称、责任人、部门编号、部门电话等信息,管理员能够对部门信息进行增删改查操作。
人事管理(部门管理)界面图4-4所表示:
图4-3 人事管理(部门管理)界面
人事管理(部门管理)管理人员添加部门信息界面图4-4所表示:
图4-4 人事管理(部门管理)管理人员添加部门信息界面
管理员进行部门信息查询界面图4-5所表示:
图4-5 人事管理(部门管理)管理员进行部门信息查询界面
人事管理(部门管理)管理员进行部门信息修改界面图4-6所表示:
图4-6 人事管理(部门管理)管理员进行部门信息修改界面
(2)职员管理能够查看职员工号、职员姓名、职员年纪、职员性别、所属部门、入职时间等信息,管理员能够对职员信息进行增删改查操作
人事管理(职员管理)界面图4-7所表示:
图4-7 人事管理(职员管理)界面
人事管理(职员管理)管理人员添加职员信息界面图4-8所表示:
图4-8 人事管理(职员管理)管理人员添加职员信息界面
人事管理(职员管理)管理员进行职员信息查询界面图4-9所表示:
图4-9 人事管理(职员管理)管理员进行职员信息查询界面
人事管理(职员管理)管理员进行职员信息修改界面图4-10所表示:
图4-10 人事管理(职员管理)管理员进行职员信息查询界面
4.薪资管理(工资信息、工资设置、保险设置)
薪资管理模块关键实现是管理全部职员工资信息,包含工资信息、工资设置、保险设置三个功效。
(1)工资信息:管理人员能够查看目前月份或指定月份任意职员基础工资、迟到罚款、早退罚款、最终工资信息。
薪资管理(工资信息)界面图4-11所表示:
图4-11 薪资管理(工资信息)界面
(2)工资设置:管理人员能够查询或修改任意职员基础工资
薪资管理(工资设置)界面图4-12所表示:
图4-12 薪资管理(工资设置)界面
薪资管理(工资设置)修改职员工资界面图4-13所表示:
图4-13 薪资管理(工资设置)修改职员工资界面
(3)保险设置:管理人员能够设置职员医疗、工伤、生育保险等
薪资管理(保险设置)界面图4-14所表示:
图4-14 薪资管理(保险设置)界面
5.出勤管理(考勤信息、考勤奖罚)
(1)考勤信息:管理员能够查看目前或指定月份职员考勤信息如迟到次数、早退次数、迟到天数等,并可进行修改操作。
出勤管理(考勤信息)界面图4-15所表示:
图4-15 出勤管理(考勤信息)界面
管理员修改出勤管理(考勤信息)图4-16所表示:
图4-16 管理人员修改考勤信息界面
(2)考勤奖罚:管理员能够设置考勤奖罚规则,如设置迟到罚款、早退罚款、旷工罚款等金额
出勤管理(考勤奖罚)界面图4-17所表示:
图4-17 出勤管理(考勤奖罚)界面
6.用户管理(个人信息、密码修改)
管理员能够查看个人信息或修改密码
用户管理(个人信息)界面图4-18所表示:
图4-18 用户管理(个人信息)界面
用户管理(密码修改)界面图4-19所表示:
图4-19 用户管理(密码修改)界面
4.3 源程序清单
1.工资管理系统前端代码列表(关键jsp文件),如表4-1所表示
表4-1 工资管理系统前端代码
登录界面
login.jsp
首页
Index.jsp
人事管理
部门管理
添加部门信息
addDept.jsp
查看部门具体信息
detailDept.jsp
查询全部部门
showDept.jsp
职员管理
添加职员信息
addEmp.jsp
查看职员具体信息
detailEmp.jsp
查询全部职员
showEmp.jsp
薪资管理
工资信息
查看工资详情
detailSalary.jsp
显示全部职员工资
showSalary.jsp
工资设置
设置基础工资
detailStandard.jsp
显示全部职员基础工资
showStandard.jsp
保险设置
显示保险信息
insurance.jsp
出勤管理
考勤信息
显示全部职员考勤信息
showAttendence.jsp
查看或修改考勤详情
detailAttendence.jsp
考勤奖罚
考勤奖罚设置
attendenceSet.jsp
用户管理
个人信息
查看用户个人信息
detailInfo.jsp
密码修改
修改密码
updatePassword.jsp
密码修改成功
successful.jsp
2.工资管理系统后台文件列表,如表4-2所表示
表4-2 工资管理系统后台代码
Servlet
部门基础信息后台程序
DeptAction.java
查询部门信息后台程序
FindDeptAction.java
显示部门信息后台程序
ShowDeptAction.java
职员基础信息后台程序
EmpAction.java
查询职员基础信息后台程序
FindEmpAction.java
职员工资信息后台程序
SalaryAction.java
查询职员工资信息后台程序
FindSalaryAction.java
设置保险信息后台程序
InsuranceAction.java
考勤基础信息后台程序
AttendenceAction.java
查询考勤信息后台程序
FindAttendenceAction.java
设置考勤规则后台程序
AttendenceSetAction.java
设置基础工资后台程序
StandardAction.java
用户登录后台程序
LoginAction.java
用户信息后台程序
UserAction.java
用户密码修改后台程序
UpdatePasswordAction.java
Dao数据库链接类,封装访问数据库代码
部门信息数据库链接类
JdbcDeptDao.java
考勤信息数据库链接类
JdbcAttendenceDao.java
职员信息数据库链接类
JdbcEmpDao.java
用户信息数据库链接类
JdbcUserDao.java
工资信息数据库链接类
JdbcSalaryDao.java
配置文件
dao.properties
JavaBean
出勤信息JavaBean
Attendence.java
设置考勤信息JavaBean
AttendenceSet.java
部门信息JavaBean
Dept.java
职员信息JavaBean
Employee.java
保险信息JavaBean
Insurance.java
查询考勤信息信息JavaBean
QueryInfomation.java
工资信息JavaBean
Salary.java
基础工资信息JavaBean
SalaryStandard.java
用户信息JavaBean
User.java
添加部门信息JavaBean
AddAttendences.java
添加工资信息JavaBean
AddSalarys.java
数据库访问类
DbUtil.java
3个程序源代码:
一个JSP文件
showSalay.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="" prefix="c"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>工资信息</title>
<link rel="stylesheet" href="css/table.css" type="text/css"></link>
<link rel="stylesheet" href="css/main.css" type="text/css"></link>
<style type="text/css">
a:hover{ text-decoration:underline; color:#075B92;}
.body{
text-align:center;
}
.buttonBack{
background: ;
width:67px;
height:22px;
border:0px;
cursor: pointer;
}
.input{
border:1px solid gray;
height:22px;
}
</style>
<script language="javascript" type="text/javascript"
src="${pageContext.request.contextPath}/user/js/jquery-1.4.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//获取年度下拉框值
var date = new Date();
var year = date.getFullYear() - 2;
for(var i = 0;i < 5 ; i++){
if(year + i == date.getFullYear()){
var option= $("<option></option>").val(year+i).text(year+i).attr("selected",true).appendTo($("#year"));
}else{
$("<option></option>").val(year+i).text(year+i).appendTo($("#year"));
}
}
});
function getDate(){
var year=document.getElementById("year").value;
var year2=document.getElementById("year2");
year2.value=year;
var month=document.getElementById("month").value;
var month2=document.getElementById("month2");
month2.value=month;
}
</script>
</head>
<body>
<div class="table_top" style="height:100%">
<div>
<table width="100%" class="top" cellpadding="0" cellspacing="0">
<tr>
<td class="td_top"><b>目前位置:</b> 薪资管理>>查询全部薪资</td>
<td align="right">
</td>
</tr>
</table>
</div>
<div height="100%" style="margin-top:10px;">
<div style="margin-bottom:10px;">
<s:form action="findSalary.action" method="post" theme="simple">
工号:<s:textfield name="salary.empId" cssClass="input"/>
姓名:<s:textfield name="salary.trueName" cssClass="input"/>
年份:<select id="year" name="salary.year" cssClass="input"> </select>
月份:
<select name="salary.month" id="month">
<c:forEach var="everyMonth" items="${monthList}">
<c:choose>
<c:when test="${everyMonth==month}">
<option value="${everyMonth}" selected>${everyMonth}</option>
</c:when>
<c:otherwise>
<option value="${everyMonth}">${everyMonth}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
<s:submit cssClass="buttonBack" value="查询"/>
<!--
<input type="button" value="生成"
onclick="location='/EmpManageSys/salary/addSalarys.action?'" class="buttonBack"/>
-->
</s:form></div>
<div >
<s:form action="addSalarys.action" method="post" theme="simple">
<input id="year2" name="salary.year"/ style="display: none">
<input id="month2" name="salary.month" style="display: none"/>
<s:submit cssClass="buttonBack" value="生成" onclick="getDate();"/>
</s:form>
</div>
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr class="table_head">
<td>序号</td>
<td>工号</td>
<td>姓名</td>
<td>年份</td>
<td>月份</td>
<td>基础工资</td>
<td>迟到罚款</td>
<td>早退罚款</td>
<td>最终工资</td>
<td>基础操作</td>
</tr>
<c:forEach items="${salarys}" var="salary" varStatus="i">
<tr bgcolor="#FFFFFF">
<td>${i.index+1 } </td>
<td><a href="salary!load.action?salary.id=${salary.id}">
${salary.empId}</a></td>
<td>${salary.trueName}</td>
<td>${salary.year}</td>
<td>${salary.month}</td>
<td>${salary.baseSalary}</td>
<td>${salary.lateCome}</td>
<td>${salary.earlyLeave}</td>
<td>${salary.finalSalary}</td>
<td>
<a href="salary!load.action?salary.id=${salary.id}" >
查看</a>
<!--
<a href="salary!load.action?salary.id=${salary.id}" >
<img src="skin/edt.gif"/>修改</a>
<a href="salary!delete.action?salary.id=${salary.id}">
<img src="skin/del.gif"/>删除</a>
-->
</td>
</tr>
</c:forEach>
</table>
</div>
</div>
</body>
</html>
一个JABABEAN文件
Salay.java
package entity;
public class Salary {
private String id;
private String empId;
private String trueName;
private String year;
private String month;
private double baseSalary; //基础工资
private double finalSalary; //实发工资
private double lateCome; //迟到罚款
private double earlyLeave; //早退罚款
private double leave; //请假罚款
private double overtime; //加班奖金
private double negletwork; //旷工罚金
private double old; //养老保险
private double unemployment; //失业保险
private double injury; //工伤保险
private double bear; //生育保险
private double medical; //医疗保险
private double house; //公积金
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getEmpId() {
return empId;
}
public void setEmpId(String empId) {
this.empId = empId;
}
public String
展开阅读全文