1、 南昌航空大学科技学院2012届学士学位论文 企业财务管理系统设计与实现 学生姓名:李敏班级:1182061指导老师:王青松摘要: 随着科技的进步与发展,现在的企业越来越庞大,要管理的资金数目也越来越多,以前古老的人工财务管理已经远远无法满足现代企业的财务管理的需求,人工统计,效率低下,还特别容易出错,同时很多账目难以查询,想查看账目的出入比较困难,而且纸质的账目容易丢失损坏,对于账目的保存也特别麻烦。随着科技的发展,计算机进入了人们的视线,计算机开始应用于各种大型事务的处理和管理,财务管理也不例外,财务管理系统开始应用于各大企业,大大提高了工作效率,降低了错误发生几率,同时加强了企业内部的沟
2、通,让企业运营起来更加顺畅,然而这么多的财务管理系统,如何才能做出最适合现有经营模式下的财务管理系统,这是值得我们不断探究的问题。本文采用基于B/S结构的财务管理系统,使用MyEclipse 8.5作为开发平台,采用J2EE技术架构,使用的是浏览器+WEB服务器+数据库服务器三层体系结构,使用户可以通过浏览器方便的与后台服务器进行数据交互。使用Mysql作为后台数据库,方便设计与链接,Tomcat作为后台服务器,提供浏览器访问。该系统从软件体系结构模式的角度构建一个MVC模式的应用软件开发框架,然后再此基础上设计和实现了财务管理系统。关键词:企业财务管理,Java,B/S,WEB,Mysql,
3、Tomcat指导老师签字:Enterprise Financial Management System Design and ImplementationStudent Name: Li Lucheng Class: 0882071 Supervisor: Chen XuejunAbstract: With technology of progress and development, now of enterprise increasingly huge, to management of funds number also increasingly more, y qin old of a
4、rtificial financial management has far cannot meet modern enterprise of financial management of needs, artificial statistics, efficiency low, also special easy errors, while many accounts to query, wants to view accounts of access compared difficult, and paper mass of accounts easy lost damaged, for
5、 accounts of save also special trouble. With technology of development, computer entered has people of sight, computer began should for various large Affairs of processing and management, financial management also not exception, financial management system began application y each big enterprise, gr
6、eatly improve has efficiency, reduced has errors occurred chances, while strengthened has enterprise internal of communication, let enterprise operations up more smooth, however so more of financial management system, how to made most for existing operating mode xi of financial management system, th
7、is is worth we constantly inquiry of problem.In this article, Using b/s structure of financial management systems, the use of MyEclipse 8.5 as a development platform, using J2EE technology, using a browser +WEB server + database server three-tier architecture, allowing users to easily interact with
8、the back-end server for data through the browser. Using Mysql as a backend database, convenient design and links to Tomcat as a back-end server, providing browser access. The system from a software architecture pattern to construct a framework for application of MVC pattern in software development,
9、then on the basis of the design and implementation of a financial management system.Keywords: Enterprise financial management, Java,B/S,WEB,Mysql,TomcatSignature of Supervisor:企业财务管理系统1 引言1.1研究背景近年来,IT行业发展迅猛,计算机应用程序深入各行各业,而企业中,管理信息系统已经是企业必不可少的得力助手,在企业单位中,内部成员之间的信息沟通变得快速简洁,大大的提高了工作效率。所以企业财务管理系统在各个企业的
10、管理中扮演着越来越重要的角色,渐渐起到不可替代的核心作用。那么怎样在现有经营模式下选择最好的财务管理模式,使用最好的财务管理系统,实现企业的管理目标,适应企业信息化发展的需要,是一个值得研究和探讨的问题1。1.2研究现状目前,我国受传统计划经济体制的影响,财务管理软件处在研究起步阶段,大部分的财务管理软件不能满足企业的需要,它们存在着各种各样的问题。有些财务管理软件操作复杂。有些功能不够齐全,有些操作又不大方便。鉴于此,我觉得在财务管理这块还需要不断的探究改进。在企业财务管理当中我们要强化资金和应收账款的管理,加强财务控制,提高资金的营运效率,形成合理的资金结构,确定合理的负债比例,使资金应用
11、得到最佳的效果。加强应收账款的管理。加强财产控制。同时政府应尽快完善有利于企业发展的法律法规及相关的政策。目前,我国已经出台了关于鼓励和促进中小企业发展的若干政策意见、中小企业促进法可见我国在这方面的工作取得了一定的成果。建立中小企业的信用担保体系。金融部门要成为民营经济发展的推动器。为了更好的发挥金融部门的作用,金融机构要切实转变观念,突破传统观念和制度的障碍,加快信贷管理体制的改革步伐,适应民营经济发展需求。财务管理系统开发将逐步从C/S结构转型为B/S结构,最大限度的把运算提交给服务器,节约企业运营成本,员工只需要通过WEB浏览器就可以对财务信息进行收集和发布。1.3研究意义随着企业业务
12、的拓展,财务管理会变得越来越复杂,用传统的管理方法极易造成不必要的错误,由此带来的损失无法估量。因此实现财务管理的自动化势在必行。财务管理系统的开发不仅可以减少员工的工作量,还可以为企业节约许多人力物力财力,可以使企业向科学化、现代化、规范化的方向发展,提高企业的生产效率。2关键技术概述2.1 动态网页实现JSPJSP技术全称是java server page,它的特点是将内容的生成和显示分离,同时强调可重用组件,跨平台的组件可以用来执行应用程序所要求的更复杂的处理,既能在Windows系统上运行,也能在其他操作系统上运行。除此之外,JSP可以采用标识简化页面开发, JSP技术封装了很多功能,
13、使得操作变得更加简单容易。与其他动态网页技术相比较,它具有运行速度快、安全等特点6。2.2系统运行服务器TomcatTomcat是在SUN公司发展起来的一个的Servlet容器,Tomcat本身是用Java语言编写。它的特点主要是具有很好的可扩展性和安全性。作为一个开源软件,Tomcat得到广大开源志愿者的大力支持,它可以和目前大部分的主流Web服务器一起工作9。Tomcat运行稳定、可靠,并且效率高10。2.3系统开发数据库MYSQLMySQL是由瑞典MySQLAB公司开发的一个小型关系型数据库管理系统。它是一个真正的多用户、多线程的SQL数据库服务器11。MySQL适应于所有平台,是一款关
14、系型数据库,采用客户/服务器体系,性能很出色,它包含一个缺省桌面格式MyISAM。MyISAM 数据库与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows系统而不会发生冲突。2.4 MVC模式设计(JSP+Severlet+JavaBean)2.4.1MVC设计思想概论MVC全名是Model-View-Controller,是模型视图控制器的缩写,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行强制性分离,这样一个应用被分成三个层模型层、视图层、控制层。MVC中的M组件。模型表示企业数据和业务规则。业务流程的处理过程对其它层来
15、说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。MVC中的V组件。视图是用户看到并与之交互的界面,对于Web应用来说,视图就是由HTML元素组成的界面。MVC中的C组件。控制器接受用户的输入并调用模型和视图去完成用户的需求,它本身不输出任何东西,做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。将模型与视图匹配在一起,共同完成用户的请求13。2.4.2MVC中各组件的关系模型和视图是分离的,通常视图里面不会有任何逻辑实现;而模型也是不依赖于视图的,同一个模型可以对应多种不同的视图。开始展示视图
16、给用户,用户在这个视图上进行操作,然后用户会点击提交按钮,来发出请求,视图发出的用户请求会到达控制器,在请求中包含了想要完成什么样的业务功能以及相关的数据。控制器会来处理用户请求,会把请求中的数据进行封装,然后选择并调用合适的模型,请求模型进行状态更新,然后选择接下来要展示给用户的视图。模型会去处理用户请求的业务功能,同时进行模型状态的维护和更新, 当模型状态发生改变的时候,模型会通知相应的视图,告诉视图它的状态发生了改变.视图接到模型的通知后,会向模型进行状态查询,获取需要展示的数据,然后按照视图本身的展示方式,把这些数据展示出来。如图所示: 3系统需求分析3.1系统目标企业财务管理系统是在
17、计算机管理信息技术基础上开发的信息系统,系统目标是实现企业对财务管理的基本要求,如业务管理、账户管理等等,不仅要提高工作效率,满足了企业的需求,同时也要符合中国企业的财务管理的运作流程和操作习惯设计。3.2系统可行性分析可行性研究分析是在系统进入正式设计之前,对该项目系统实施的可能性、有效性、技术方案及运行策略进行深入细致的评价,通过对项目的主要内容和配套条件调查研究和分析比较,并对项目建成以后可能取得的经济效益及社会环境影响进行预测,从而提出该项目是否值得投资以及如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。可行性
18、分析的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。3.2.1经济可行性一个软件系统的主要费用有设备费用、开发费用、系统开销以及另外的其他费用。本系统对硬件要求不高,开销不大,而且该系统简单易学,同时该系统的后台系统稳定,易于维护,方便后期的修改维护,因此,从经济可行性上来看是完全可行的。3.2.2 技术可行性财务管理系统需要有数据处理量达、数据处理比较零散和即时处理的功能。该项目完全可以按照MVC设计模式来开发,采用JSP、JAVA、Web相关技术实现。Jsp和平台无关,可移植性强。所以该项目在技术上完全可行3.3功能需求分析企业财务管理系统是一个财务管理人员和员工操作的应用系
19、统。本系统主要包括系统登录、基本设置、资金管理、业务管理、系统维护五大模块。本系统总体框架图如图3-2所示:图3-2 总体框架图以下是具体描述:系统登录:普通员工通过输入自己的员工编号和密码登录财务管理系统。管理员通过输入管理员ID和密码能够登录财务管理系统后台。如图3-3所示:账号、密码3-3系统登录图基本设置:普通员工可以在该模块查询或修改个人在公司的基本信息,包括家庭住址、联系电话、银行卡号等等。管理员的基本信息中包括公司资金账户的金额查询;部门信息增、删、改、查,修改各个部门的工资系数,部门工资系数的修改将影响该部门员工的工资收入;业务收入和支出项目类别增、删、改、查等等。业务项目的加
20、入,会影响公司账户总金额。如图3-4所示图3-4基本设置图工资管理:普通员工可以通过选自己所在部门查询自己每个月所发的工资和完成的业务金额,同时还可查询其他部门员工的工资和业务金额等等。管理员的工资管理包括工资的参数设定,工资的修改编辑,工资查询等等。工资参数的修改将影响。如图3-5所示: 业务管理:普通员工可以通过该模块提交自己完成的业务金额,业务金额将影响员工自己的工资。管理员可以查询员工或管理员的一系列操作,如:添加项目、添加部门、修改部门、删除部门、修改工资参数、增加或删除通知、员工提交业务金额、修改个人信息等等记录查询。同时还可查询员工的银行卡号。如图3-6所示:系统管理:普通员工可
21、以查看自己账号的登录密码,同时也可以修改自己财务系统的登录密码,可以查看最新公司发布的通告等。管理员包括管理密码修改、公司所有成员信息查看、添加删除公司最新公告等等。如图3-7所示:3.4开发环境开发与运行环境的选择如下:开发环境:Windows XP开发工具:MyEclipse 6.0 数据库管理系统: mysql使用到的技术:java jdbc jsp javascript css html servlet等设计模式:MVC设计模式4系统总体设计4.1系统功能设计 系统模块结构设计是该管理系统总体设计的重要组成部分。模块是数据说明、可执行语句等程序对象的集合。把大型软件按规定的原则划分为一
22、个个较小的相对独立且相关的模块,每个模块完成一个指定的功能,把这些模块集成起来组成一个整体,以完成指定的功能,这就是模块化设计的基本原理。为了使系统有合理的结构和良好的可维护性,模块结构设计应遵循以下原则:尽力降低模块间的饱和度;尽量提高模块的聚合度;尽量将模块分为小的、功能单一的模块。在企业财务管理系统中有四大模块,即总窗口底下有四个分支,分别是基本设置模块、工资管理模块、业务管理模块、系统维护模块。以下是企业财务管理系统的总体功能模块图,如图4-1所示:4.2系统模块设计4.2.1基本设置模块基本设置模块功分为账户资金查询,部门信息管理,业务信息管理三个功能。这些功能完成整个系统的最基本设
23、置的功能,具体流程图如下4-3所示:(1)账户资金本模块主要完成对企业资金的查询功能,并通过计算分配企业的固定资金和移动资金,固定资金为总资金的三分之二,移动资金为总资金的三分之一,并且总资金会根据业务的收入而进行改变,方便企业支配资金。(2)部门信息本模块是基本信息模块的主要模块之一,主要完成员工部门的添加、删除、修改,部门工资系数的设定以及部门员工人数的统计等工作。通过本模块可以创建一个新的部门,同时也可以删除一个没有人的部门,如果部门业绩好,同样可以修改该部门的工资系数,整体提高该部门员工的工资水平。具体操作如下:查询:点击查询按钮,页面将跳转查询页面,管理员可以再该页面进行添加、删除、
24、修改等操作。添加:点击添加按钮,页面将跳转到添加页面,管理员需要输入部门名称、部门人数(默认为0)、工资系数三个数据,确认信息无误后点击提交,有误点击重置,重新填写。等待页面跳出添加成功字样说明添加成功,同时系统将跳转到部门信息界面,管理员可以查看到已经添加好的新部门。修改:选择您要修改的部门,点击修改按钮,系统将跳转到该部门的修改页面,并将该部门可修改的信息返回到页面中,修改完成后点击确认提交修改。删除:选择您要删除的部门,必须部门人数为0,否则将会发生数据异常,点击删除后弹出确认框,点击确定后界面将显示删除成功字样,1秒后跳转部门信息界面,这时页面里将不显示刚删除的部门。(3)业务信息本模
25、块是基本信息模块的主要模块之一,主要完成历史项目的显示及新项目的添加功能,该模块可以一目了然的了解公司所有的项目投入及收入,并通过计算项目投入与收入金额的差价,来达到更新总资产的目的。通过本模块可以添加新的项目,必须要输入项目名称、投入金额、收入金额三项,系统会自动进行计算并把数据更新到账户资金,达到统计收支的作用。具体操作如下:查询:可以查询公司所有业务信息,包括页面名称、投入资金、收入资金。添加:点击添加按钮,页面将跳转到添加板块,输入项目名称、投入金额、收入金额三项,确认信息无误后点击提交,有误点击重置,重新填写。等待页面跳出添加成功字样说明添加成功,同时系统将跳转到业务信息界面,管理员
26、可以查看到已经添加好的新项目。4.2.2工资信息模块工资信息模块分为工资信息查询和工资参数设定两个模块。这两个功能能辅助管理员一目了然的管理企业员工工资,并极大减少了工资核算出错的概率,又不失公平。工资信息模块流程图如图4-4所示:(1)工资信息本模块是工资信息模块的主要模块之一,主要完成查询员工工资信息的功能和工资参数的设定功能;本模块中的工资信息可以一目了然的显示各个部门的名称、人数以及工资系数情况,通过选择想要查看的部门名称,可以进入专门页面查询该部门内所有员工的薪水以及完成的业务金额等信息。具体操作如下:查看工资:点击工资信息,系统将显示各个部门的名称、人数及工资系数,选择想要查看的部
27、门,点击对应的部门名称,系统将显示该部门内所有成员的工资信息。点击返回可以返回上级页面。(2)参数设定本模块中的参数设定可以查看当前工资的参数,可以通过直接再参数上修改并提交来达到修改参数的目的。提交过后系统将会根据算法(工资=底薪*系数+奖金+提成金额*提成系数)自动调整所有员工的工资。其中所有员工的基础工资是根据底薪*系数所得到的,所以同部门之间的基础工资将是一样的;奖金是根据公司季度业务来调整发放的,所以员工的奖金是一样的;相同部门员工之间的工资差异将体现在项目提成上面,提成奖金等于员工所做项目的金额乘以提成系数所得到。项目提成将由员工自己提交到数据库。设定参数:点击参数设定,系统将显示
28、当前系统使用的工资计算参数,调整各个想要调整的项目,点击提交,当系统显示提交成功后,系统将自动回参数设定页面,这是页面中的参数将是修改后的参数,同时系统将新的数据写入数据库,并且重新计算所有员工的工资。4.2.3业务管理模块业务管理模块包括了记录查询和工资卡管理两个模块,由于工资卡具有个人保密性,所以工资卡账号管理员不能修改,只有员工本人才有权限修改自己的工资卡号和所属银行。记录查询方便管理员及时查看系统操作者的操作情况以及系统的运行情况等,提高了管理者的公正性。业务管理模块流程图如图4-5所示: (1)记录查询本模块是业务管理模块的主要模块之一,主要功能是查询所有用户的操作。记录查询将及时记
29、录管理员或者员工的一系列操作,并记录操作内容、操作人和操作的时间,同时记录将永久写入数据库,不可删除。以下操作将会记录:添加项目、添加部门、修改部门、删除部门、修改参数、添加通知、删除通知、修改个人信息、个人提交业务信息等等。通过查询记录,管理员可以很方便的监控整个系统的运行,有效阻止了非法操作,保证了系统的公平性,杜绝腐败。(2)工资卡管理本模块是业务管理模块的主要模块之一,主要完成的功能是显示所有将影响企业的操作和显示所有员工的工资卡所在银行及银行卡号。工资卡管理可以查看企业所有员工的工资卡账号,方便发工资时确认信息。4.2.4系统管理模块系统管理模块有账号查看、密码修改和公告管理三个功能
30、,账号查看可以查看所有有权限登录财务管理系统的人的基本信息;密码修改可以在提交完密码后进行密码重置;公告管理可以通过发布和修改通告,来达到更新公司内部最新消息的功能。系统管理模块流程图如图4-6所示: (1)账号查看本模块是系统的主要模块之一,通过账号查询模块可以查看企业员工的账户编号、密码等信息,同时可以达到管理用户的目的。(2)修改密码本模块是系统的主要模块之一,通过密码修改模块可以修改本登陆账号的密码,需要进行旧密码验证和两次新密码一致性验证。密码修改:点击密码修改,进入密码修改界面,在第一输入框输入当前账号的登陆密码,在第二和第三个输入框输入将要设置的新密码,两次密码必须保持一致,点击
31、提交进行密码修改。如果显示修改成功,则说明密码修改完成。退出系统,即可以使用新密码登陆。(3)通告查询本模块是系统的主要模块之一,通过查询模块可以查看管理员发布的通告,显示通告名称和发布时间,管理员可以添加新的通告,修改已经发布的通告,或者删除选中的通告。4.3数据库设计4.3.1数据库分析数据库的设计,在程序开发中起着至关重要的作用,它往往决定了在后面开发进行怎么样的程序编码,一个合理,有限的数据库设计可降低程序的负责性,使得程序开发过程更为容易。本系统考虑到用户量,开发经济性,决定用MYSQL作为数据库系统,MYSQL数据库系统虽然说规模小,功能有限,但是丝毫也没用减少它受欢迎的程度,对于
32、一般的个人使用者和中小企业来说,MYSQL提供的功能已经绰绰有余了,有用MYSQL是开发源码软件,因此大大降低了总体成本,它可以处理千万条记录的大型数据库,支持多种存储引擎。4.3.2数据库概念设计这一设计阶段是在需求分析的基础上,设计出能够满足用户的各种实体及他们之间的关系,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段,为后面的逻辑结构设计打下基础。实体关系图是数据库设计的关键,决定了数据库的结构。由实际需求和其实体的属性得到。概念数据模型独立于具体的数据处理的细节和数据库管理系统。这次设计仍采用传统的实体联系图作为概念设计的工具。再进行优化后,尽量满足结构清晰、关联简洁、
33、实体个数适中、属性分配合理、没有低级冗余。4.3.3数据库表设计5、 记录表(note) 如下表: 5系统实现与测试5.1系统实现5.1.1登录界面(1)登录在浏览器中输入http:/127.0.0.1:8080/Enterprise/index.jsp进入企业财务管理系统的登录界面。如图5-1:管理员登录:通过选择不一样的登录身份进行系统登录,管理员登录账号:llc 密码:123选择管理员身份进行登录,管理员登录界面admlogin.jsp如图5-2:普通用户登录:普通员工登录账号:李录呈 密码:123,选择员工身份进行登录,员工登录界面uselogin.jsp如图5-3:系统登录时调用ad
34、mservlet/Load.java Servlet,主要代码如下:if(shenfen=1)sql=select * from (select * from users where shenfen=1) s where s.name=+name+ and s.password=+password+;if(shenfen=0)sql=select * from (select * from users where shenfen=0) s where s.name=+name+ and s.password=+password+;(2)退出与刷新当用户点击刷新时,系统自动调用admservle
35、t/Reflash.java Servlet,实现刷新功能,代码如下:getServletConfig().getServletContext().getRequestDispatcher(/admlogin.jsp).forward(req, resp);当用户点击退出系统时,系统自动调用admservlet/LoginOut.java Servlet实现退出系统功能,代码如下:getServletConfig().getServletContext().getRequestDispatcher(/index.jsp).forward(req, resp);5.1.2基本设置(1)账户资金当
36、系统点击账户资金选项时,系统自动调用admservlet/MoneyInfo.java Servlet,并从数据库获取企业的账户资金,在jsp/moneyInfo.jsp页面显示,如图5-4所示:代码如下:sql=select * from money;rs=sta.executeQuery(sql);rs.next();sum=Double.parseDouble(rs.getString(3)+Double.parseDouble(rs.getString(2);money.setYidong(sum/3);money.setGuding(sum-sum/3);money.setSumMo
37、ney(money.getGuding()+money.getYidong();list.add(money);sql=update money set sum=+money.getSumMoney()+;sta.executeUpdate(sql);req.setAttribute(money, list);(2)部门信息当系统点击部门信息选项时,系统自动调用admservlet/DeptInfo.java Servlet,并从数据库获取企业的部门信息,在jsp/deptInfo.jsp页面显示,如图5-5所示:图5-5部门信息图代码如下:sql=select * from departme
38、nt;conn=users.getConn();sta=conn.createStatement();rs=sta.executeQuery(sql);while(rs.next()Dept dept=new Dept();dept.setDeptid(rs.getInt(1);dept.setDeptname(rs.getString(2);dept.setSum(rs.getInt(3);dept.setXishu(rs.getString(4);list.add(dept);当管理员点击添加时,可以添加部门,系统自动跳转admservlet/DeptAdd.java Servlet,如图
39、5-6:代码如下:sql=insert into department (deptname,sum,xishu) values (+deptname+,+sum+,+xishu+);caozuoname=(String) session.getAttribute(name);day=time.get(Calendar.YEAR)+年+(time.get(Calendar.MONTH)+1)+月+time.get(Calendar.DATE)+日 +time.get(Calendar.HOUR_OF_DAY)+:+time.get(Calendar.MINUTE)+:+time.get(Cale
40、ndar.SECOND);sql=insert into note (caozuo,name,date) values (添加部门:+deptname+,管理员+caozuoname+,+day+);当管理员点击修改时,可以修改部门信息,系统自动跳转admservlet/DeptUpdate.java Servlet,如图5-7:代码如下:sql=update department set deptname=+deptname+,sum=+sum+,xishu=+xishu+ where deptid=+id+;System.out.println(sql);sta=users.getStat
41、ement(conn);sta.executeUpdate(sql);caozuoname=(String) session.getAttribute(name);day=time.get(Calendar.YEAR)+年+(time.get(Calendar.MONTH)+1)+月+time.get(Calendar.DATE)+日 +time.get(Calendar.HOUR_OF_DAY)+:+time.get(Calendar.MINUTE)+:+time.get(Calendar.SECOND);sql=insert into note (caozuo,name,date) val
42、ues (修改部门:+deptname+,管理员+caozuoname+,+day+);当管理员点击删除部门时,确定删除后,系统自动跳转admservlet/DeptDel.java Servlet,如图5-8:代码如下:sql=select deptname from department where deptId=+id+;rss=sta.executeQuery(sql);rss.next();deptname=rss.getString(deptname);sql=insert into note (caozuo,name,date) values (删除部门:+deptname+,管
43、理员+caozuoname+,+day+);sta.executeUpdate(sql);(3)业务信息当管理员点击业务信息时,系统自动调用admservlet/WorkInfo.java Servlet,并显示到jsp/workInfo.jsp前台页面如图5-9:代码如下:sql=select * from work;while(rs.next()Work work=new Work();work.setId(rs.getInt(1);work.setName(rs.getString(2);work.setOut(rs.getDouble(3);work.setIn(rs.getDoubl
44、e(4);list.add(work);req.setAttribute(work, list);当管理员点击添加按钮,系统自动跳转admservlet/WorkAdd.java Servlet,添加信息完成后跳回jsp/workInfo.jsp显示所有信息,如图5-10:5.1.3工资管理(1)工资信息当用户点击工资信息选项时,系统自动调用admservlet/PersonInfo.java Servelt,将部门信息显示在jsp/personInfo.jsp前台页面,如图5-11:图5-11工资信息图通过选择部门名称查看该部门内部的员工工资,当选择某部门时,系统自动调用admservlet
45、/BmInfo.java Servelt,系统将部门内部员工工资显示在jsp/BmInfo.jsp,如图5-12:PersonInfo.java主要代码如下:sql=select * from department;while(rs.next()Dept dept=new Dept();dept.setDeptid(rs.getInt(1);dept.setDeptname(rs.getString(2);dept.setSum(rs.getInt(3);dept.setXishu(rs.getString(4);list.add(dept);BmInfo.java主要代码如下:sql=sel
46、ect name,xishu,yewu,gongzi from (select users.id,person.dept,department.xishu,name,yewu,gongzi from users,person,department where (users.id=person.id) and (person.dept=department.deptid) s where s.dept=+id+;while(rs.next()Person person=new Person();person.setGongzi(String.valueOf(Double.parseDouble(as.getString(dixin)*Double.parseDouble(rs.getString(xishu)+Double.parseDouble(as.getString(jiangjin)+(Double.parseDouble(rs.getStrin