版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
共页第页财务管理系统的设计与实现摘要:随着科技的进步与发展,现在的企业越来越庞大,要管理的资金数目也越来越多,以前古老的人工财务管理已经远远无法满足现代企业的财务管理的需求,人工统计,效率低下,还特别容易出错,同时很多账目难以查询,想查看账目的出入比较困难,而且纸质的账目容易丢失损坏,对于账目的保存也特别麻烦。随着科技的发展,计算机进入了人们的视线,计算机开始应用于各种大型事务的处理和管理,财务管理也不例外,财务管理系统开始应用于各大企业,大大提高了工作效率,降低了错误发生几率,同时加强了企业内部的沟通,让企业运营起来更加顺畅,然而这么多的财务管理系统,如何才能做出最适合现有经营模式下的财务管理系统,这是值得我们不断探究的问题。本文采用基于B/S结构的财务管理系统,使用MyEclipse8.5作为开发平台,采用J2EE技术架构,使用的是浏览器+WEB服务器+数据库服务器三层体系结构,使用户可以通过浏览器方便的与后台服务器进行数据交互。使用Mysql作为后台数据库,方便设计与链接,Tomcat作为后台服务器,提供浏览器访问。该系统从软件体系结构模式的角度构建一个MVC模式的应用软件开发框架,然后再此基础上设计和实现了财务管理系统。关键词:企业财务管理,Java,B/S,WEB,Mysql,TomcatDesignandimplementationoffinancialmanagementsystemAbstract:Withtheprogressanddevelopmentofscienceandtechnology,nowmoreandmorelarge,thenumberoffundstomanagemoreandmore,beforetheoldartificialfinancialmanagementhasfarcannotsatisfythedemandofthemodernenterprisefinancialmanagement,artificialstatistics,lowefficiency,alsoparticularlypronetoerror,atthesametime,alotofbookstoquery,wanttoseetheaccountaccessisdifficult,andthepaper'saccountseasilylostdamage,forthepreservationoftheaccountsandspecialtrouble.Withthedevelopmentofscienceandtechnology,thecomputerhasenteredthelineofsightofpeople,computerbegantoapplytoallkindsoflarge-scaletransactionprocessingandmanagement,financialmanagementisnotexceptionalalso,financialmanagementsystemisappliedtoeachbigenterprise,greatlyimprovingtheworkefficiency,reducetheerrorprobability,atthesametimetostrengthentheenterpriseinternalcommunication,makeenterprisetooperatemoresmoothly,butsomuchofthefinancialmanagementsystem,howtomakethemostsuitablefortheexistingmanagementmodeoffinancialmanagementsystem,itisworthweconstantlyexploreproblems.ThispaperadoptsthefinancialmanagementsystembasedonB/sstructure,USESMyEclipse8.5astheopenplatform,adoptstheJ2EEtechnicalarchitecture,andUSESthethree-tierarchitectureofbrowser+WEBserver+databaseserver,sothatuserscanconvenientlyinteractwiththebackgroundserverthroughthebrowser.Mysglisusedasthebackgrounddatabasetofacilitatethedesignandlink.Tomcatisusedasthebackgroundservertoprovidebrowseraccess.ThissystemfromthesoftwarearchitecturepatternAngleconstructsanMVCpatternapplicationsoftwaredevelopmentframe,thenhasdesignedandrealizedthefinancialmanagementsystem.Keywords:enterprisefinancialmanagement,Java,B/s,WEB,Mysq!TheTomcat目录30229_WPSOffice_Level1一、引言 225569_WPSOffice_Level2(一)研究背景 218963_WPSOffice_Level2(二)研究现状 211471_WPSOffice_Level2(三)研究意义 325569_WPSOffice_Level1二、关键技术概述 331318_WPSOffice_Level2(一)动态网页实现——JSP 320351_WPSOffice_Level2(二)系统运行服务器——Tomcat 331223_WPSOffice_Level2(三)系统开发数据库——MYSQL 34901_WPSOffice_Level2(四)MVC模式设计 325569_WPSOffice_Level31、MVC设计思想概论 318963_WPSOffice_Level32、MVC中各组件的关系 33549_WPSOffice_Level1三、系统需求分析 43549_WPSOffice_Level2(一)系统目标 44059_WPSOffice_Level2(二)系统可行性分析 43549_WPSOffice_Level31、经济可行性 44059_WPSOffice_Level32、技术可行性 42766_WPSOffice_Level2(三)功能需求分析 42766_WPSOffice_Level3图3-1体系结构图 48865_WPSOffice_Level3(1)系统登录 524278_WPSOffice_Level3(2)基本设置 51568_WPSOffice_Level3(3)工资管理 51974_WPSOffice_Level3(4)业务管理 615109_WPSOffice_Level3(5)系统管理 68865_WPSOffice_Level2(四)开发环境 64059_WPSOffice_Level1四、系统总体设计 624278_WPSOffice_Level2(一)系统功能设计 623956_WPSOffice_Level31、基本设置模块 721093_WPSOffice_Level32、工资信息模块 926795_WPSOffice_Level33、业务管理模块 1026909_WPSOffice_Level34、系统管理模块 101568_WPSOffice_Level2(三)数据库设计 1131149_WPSOffice_Level31、数据库分析 1116184_WPSOffice_Level32、数据库概念设计 1116915_WPSOffice_Level33、数据库表设计 122766_WPSOffice_Level1五、系统实现与测试 141974_WPSOffice_Level2(一)系统实现 1421379_WPSOffice_Level31、登录界面 1421471_WPSOffice_Level32、基本设置 1527827_WPSOffice_Level33、工资管理 1827821_WPSOffice_Level34、业务管理 191228_WPSOffice_Level35、系统管理 2015109_WPSOffice_Level2(二)系统测试 228865_WPSOffice_Level1六、结论 2224278_WPSOffice_Level1七、谢辞 23引言研究背景近年来,IT行业发展迅猛,计算机应用程序深入各行各业,而企业中,管理信息系统已经是企业必不可少的得力助手,在企业单位中,内部成员之间的信息沟通变得快速简洁,大大的提高了工作效率。所以企业财务管理系统在各个企业的管理中扮演着越来越重要的角色,渐渐起到不可替代的核心作用。那么怎样在现有经营模式下选择最好的财务管理模式,使用最好的财务管理系统,实现企业的管理目标,适应企业信息化发展的需要,是一个值得研究和探讨的问题。研究现状目前,我国受传统计划经济体制的影响,财务管理软件处在研究起步阶段,大部分的财务管理软件不能满足企业的需要,它们存在着各种各样的问题。有些财务管理软件操作复杂。有些功能不够齐全,有些操作又不大方便。鉴于此,我觉得在财务管理这块还需要不断的探究改进。在企业财务管理当中我们要强化资金和应收账款的管理,加强财务控制,提高资金的营运效率,形成合理的资金结构,确定合理的负债比例,使资金应用得到最佳的效果。加强应收账款的管理。加强财产控制。同时政府应尽快完善有利于企业发展的法律法规及相关的政策。目前,我国已经出台了《关于鼓励和促进中小企业发展的若干政策意见》、《中小企业促进法》可见我国在这方面的工作取得了一定的成果。建立中小企业的信用担保体系。金融部门要成为民营经济发展的推动器。为了更好的发挥金融部门的作用,金融机构要切实转变观念,突破传统观念和制度的障碍,加快信贷管理体制的改革步伐,适应民营经济发展需求。财务管理系统开发将逐步从C/S结构转型为B/S结构,最大限度的把运算提交给服务器,节约企业运营成本,员工只需要通过WEB浏览器就可以对财务信息进行收集和发布。研究意义随着企业业务的拓展,财务管理会变得越来越复杂,用传统的管理方法极易造成不必要的错误,由此带来的损失无法估量。因此实现财务管理的自动化势在必行。财务管理系统的开发不仅可以减少员工的工作量,还可以为企业节约许多人力物力财力,可以使企业向科学化、现代化、规范化的方向发展,提高企业的生产效率。关键技术概述动态网页实现——JSPJSP技术全称是javaserverpage,它的特点是将内容的生成和显示分离,同时强调可重用组件,跨平台的组件可以用来执行应用程序所要求的更复杂的处理,既能在Windows系统上运行,也能在其他操作系统上运行。除此之外,JSP可以采用标识简化页面开发,JSP技术封装了很多功能,使得操作变得更加简单容易。与其他动态网页技术相比较,它具有运行速度快、安全等特点。系统运行服务器——TomcatTomcat是在SUN公司发展起来的一个的Servlet容器,Tomcat本身是用Java语言编写。它的特点主要是具有很好的可扩展性和安全性。作为一个开源软件,Tomcat得到广大开源志愿者的大力支持,它可以和目前大部分的主流Web服务器一起工作。Tomcat运行稳定、可靠,并且效率高。系统开发数据库——MYSQLMySQL是由瑞典MySQLAB公司开发的一个小型关系型数据库管理系统。它是一个真正的多用户、多线程的SQL数据库服务器。MySQL适应于所有平台,是一款关系型数据库,采用客户/服务器体系,性能很出色,它包含一个缺省桌面格式MyISAM。MyISAM数据库与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows系统而不会发生冲突。MVC模式设计MVC设计思想概论MVC全名是Model-View-Controller,是模型—视图—控制器的缩写,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行强制性分离,这样一个应用被分成三个层——模型层、视图层、控制层。MVC中的M组件。模型表示企业数据和业务规则。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。MVC中的V组件。视图是用户看到并与之交互的界面,对于Web应用来说,视图就是由HTML元素组成的界面。MVC中的C组件。控制器接受用户的输入并调用模型和视图去完成用户的需求,它本身不输出任何东西,做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。将模型与视图匹配在一起,共同完成用户的请求。MVC中各组件的关系模型和视图是分离的,通常视图里面不会有任何逻辑实现;而模型也是不依赖于视图的,同一个模型可以对应多种不同的视图。开始展示视图给用户,用户在这个视图上进行操作,然后用户会点击提交按钮,来发出请求,视图发出的用户请求会到达控制器,在请求中包含了想要完成什么样的业务功能以及相关的数据。控制器会来处理用户请求,会把请求中的数据进行封装,然后选择并调用合适的模型,请求模型进行状态更新,然后选择接下来要展示给用户的视图。模型会去处理用户请求的业务功能,同时进行模型状态的维护和更新,当模型状态发生改变的时候,模型会通知相应的视图,告诉视图它的状态发生了改变。视图接到模型的通知后,会向模型进行状态查询,获取需要展示的数据,然后按照视图本身的展示方式,把这些数据展示出来。如图所示:系统需求分析系统目标企业财务管理系统是在计算机管理信息技术基础上开发的信息系统,系统目标是实现企业对财务管理的基本要求,如业务管理、账户管理等等,不仅要提高工作效率,满足了企业的需求,同时也要符合中国企业的财务管理的运作流程和操作习惯设计。系统可行性分析可行性研究分析是在系统进入正式设计之前,对该项目系统实施的可能性、有效性、技术方案及运行策略进行深入细致的评价,通过对项目的主要内容和配套条件调查研究和分析比较,并对项目建成以后可能取得的经济效益及社会环境影响进行预测,从而提出该项目是否值得投资以及如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。经济可行性一个软件系统的主要费用有设备费用、开发费用、系统开销以及另外的其他费用。本系统对硬件要求不高,开销不大,而且该系统简单易学,同时该系统的后台系统稳定,易于维护,方便后期的修改维护,因此,从经济可行性上来看是完全可行的。技术可行性财务管理系统需要有数据处理量达、数据处理比较零散和即时处理的功能。该项目完全可以按照MVC设计模式来开发,采用JSP、JAVA、Web相关技术实现。Jsp和平台无关,可移植性强。所以该项目在技术上完全可行。功能需求分析体系结构图3-1:图3-1体系结构图企业财务管理系统是一个财务管理人员和员工操作的应用系统。本系统主要包括系统登录、基本设置、资金管理、业务管理、系统维护五大模块。本系统总体框架图如图3-2所示:以下是具体描述:系统登录普通员工通过输入自己的员工编号和密码登录财务管理系统。管理员通过输入管理员ID和密码能够登录财务管理系统后台。如图3-3所示:基本设置普通员工可以在该模块查询或修改个人在公司的基本信息,包括家庭住址、联系电话、银行卡号等等。管理员的基本信息中包括公司资金账户的金额查询;部门信息增、删、改、查,修改各个部门的工资系数,部门工资系数的修改将影响该部门员工的工资收入;业务收入和支出项目类别增、删、改、查等等。业务项目的加入,会影响公司账户总金额。如图3-4所示:工资管理普通员工可以通过选自己所在部门查询自己每个月所发的工资和完成的业务金额,同时还可查询其他部门员工的工资和业务金额等等。管理员的工资管理包括工资的参数设定,工资的修改编辑,工资查询等等。工资参数的修改将影响。如图3-5所示:业务管理普通员工可以通过该模块提交自己完成的业务金额,业务金额将影响员工自己的工资。管理员可以查询员工或管理员的一系列操作,如:添加项目、添加部门、修改部门、删除部门、修改工资参数、增加或删除通知、员工提交业务金额、修改个人信息等等记录查询。同时还可查询员工的银行卡号。如图3-6所示:系统管理普通员工可以查看自己账号的登录密码,同时也可以修改自己财务系统的登录密码,可以查看最新公司发布的通告等。管理员包括管理密码修改、公司所有成员信息查看、添加删除公司最新公告等等。如图3-7所示:开发环境开发与运行环境的选择如下:开发环境:WindowsXP开发工具:MyEclipse6.0数据库管理系统:mysql使用到的技术:javajdbcjspjavascriptcsshtmlservlet等设计模式:MVC设计模式系统总体设计系统功能设计系统模块结构设计是该管理系统总体设计的重要组成部分。模块是数据说明、可执行语句等程序对象的集合。把大型软件按规定的原则划分为一个个较小的相对独立且相关的模块,每个模块完成一个指定的功能,把这些模块集成起来组成一个整体,以完成指定的功能,这就是模块化设计的基本原理。为了使系统有合理的结构和良好的可维护性,模块结构设计应遵循以下原则:尽力降低模块间的饱和度;尽量提高模块的聚合度;尽量将模块分为小的、功能单一的模块。在企业财务管理系统中有四大模块,即总窗口底下有四个分支,分别是基本设置模块、工资管理模块、业务管理模块、系统维护模块。以下是企业财务管理系统的总体功能模块图,如图4-1所示:系统模块设计本系统总体流程图如下4-2所示:基本设置模块基本设置模块功分为账户资金查询,部门信息管理,业务信息管理三个功能。这些功能完成整个系统的最基本设置的功能,具体流程图如下4-3所示:账户资金本模块主要完成对企业资金的查询功能,并通过计算分配企业的固定资金和移动资金,固定资金为总资金的三分之二,移动资金为总资金的三分之一,并且总资金会根据业务的收入而进行改变,方便企业支配资金。部门信息本模块是基本信息模块的主要模块之一,主要完成员工部门的添加、删除、修改,部门工资系数的设定以及部门员工人数的统计等工作。通过本模块可以创建一个新的部门,同时也可以删除一个没有人的部门,如果部门业绩好,同样可以修改该部门的工资系数,整体提高该部门员工的工资水平。具体操作如下:·查询:点击查询按钮,页面将跳转查询页面,管理员可以再该页面进行添加、删除、修改等操作。·添加:点击添加按钮,页面将跳转到添加页面,管理员需要输入部门名称、部门人数(默认为0)、工资系数三个数据,确认信息无误后点击提交,有误点击重置,重新填写。等待页面跳出添加成功字样说明添加成功,同时系统将跳转到部门信息界面,管理员可以查看到已经添加好的新部门。·修改:选择您要修改的部门,点击修改按钮,系统将跳转到该部门的修改页面,并将该部门可修改的信息返回到页面中,修改完成后点击确认提交修改。·删除:选择您要删除的部门,必须部门人数为0,否则将会发生数据异常,点击删除后弹出确认框,点击确定后界面将显示删除成功字样,1秒后跳转部门信息界面,这时页面里将不显示刚删除的部门。业务信息本模块是基本信息模块的主要模块之一,主要完成历史项目的显示及新项目的添加功能,该模块可以一目了然的了解公司所有的项目投入及收入,并通过计算项目投入与收入金额的差价,来达到更新总资产的目的。通过本模块可以添加新的项目,必须要输入项目名称、投入金额、收入金额三项,系统会自动进行计算并把数据更新到账户资金,达到统计收支的作用。具体操作如下:·查询:可以查询公司所有业务信息,包括页面名称、投入资金、收入资金。·添加:点击添加按钮,页面将跳转到添加板块,输入项目名称、投入金额、收入金额三项,确认信息无误后点击提交,有误点击重置,重新填写。等待页面跳出添加成功字样说明添加成功,同时系统将跳转到业务信息界面,管理员可以查看到已经添加好的新项目。工资信息模块工资信息模块分为工资信息查询和工资参数设定两个模块。这两个功能能辅助管理员一目了然的管理企业员工工资,并极大减少了工资核算出错的概率,又不失公平。工资信息模块流程图如图4-4所示:工资信息本模块是工资信息模块的主要模块之一,主要完成查询员工工资信息的功能和工资参数的设定功能;本模块中的工资信息可以一目了然的显示各个部门的名称、人数以及工资系数情况,通过选择想要查看的部门名称,可以进入专门页面查询该部门内所有员工的薪水以及完成的业务金额等信息。具体操作如下:·查看工资:点击工资信息,系统将显示各个部门的名称、人数及工资系数,选择想要查看的部门,点击对应的部门名称,系统将显示该部门内所有成员的工资信息。点击返回可以返回上级页面。参数设定本模块中的参数设定可以查看当前工资的参数,可以通过直接再参数上修改并提交来达到修改参数的目的。提交过后系统将会根据算法(工资=底薪*系数+奖金+提成金额*提成系数)自动调整所有员工的工资。其中所有员工的基础工资是根据底薪*系数所得到的,所以同部门之间的基础工资将是一样的;奖金是根据公司季度业务来调整发放的,所以员工的奖金是一样的;相同部门员工之间的工资差异将体现在项目提成上面,提成奖金等于员工所做项目的金额乘以提成系数所得到。项目提成将由员工自己提交到数据库。·设定参数:点击参数设定,系统将显示当前系统使用的工资计算参数,调整各个想要调整的项目,点击提交,当系统显示提交成功后,系统将自动回参数设定页面,这是页面中的参数将是修改后的参数,同时系统将新的数据写入数据库,并且重新计算所有员工的工资。业务管理模块业务管理模块包括了记录查询和工资卡管理两个模块,由于工资卡具有个人保密性,所以工资卡账号管理员不能修改,只有员工本人才有权限修改自己的工资卡号和所属银行。记录查询方便管理员及时查看系统操作者的操作情况以及系统的运行情况等,提高了管理者的公正性。业务管理模块流程图如图4-5所示:记录查询本模块是业务管理模块的主要模块之一,主要功能是查询所有用户的操作。记录查询将及时记录管理员或者员工的一系列操作,并记录操作内容、操作人和操作的时间,同时记录将永久写入数据库,不可删除。以下操作将会记录:添加项目、添加部门、修改部门、删除部门、修改参数、添加通知、删除通知、修改个人信息、个人提交业务信息等等。通过查询记录,管理员可以很方便的监控整个系统的运行,有效阻止了非法操作,保证了系统的公平性,杜绝腐败。工资卡管理本模块是业务管理模块的主要模块之一,主要完成的功能是显示所有将影响企业的操作和显示所有员工的工资卡所在银行及银行卡号。工资卡管理可以查看企业所有员工的工资卡账号,方便发工资时确认信息。系统管理模块系统管理模块有账号查看、密码修改和公告管理三个功能,账号查看可以查看所有有权限登录财务管理系统的人的基本信息;密码修改可以在提交完密码后进行密码重置;公告管理可以通过发布和修改通告,来达到更新公司内部最新消息的功能。系统管理模块流程图如图4-6所示:账号查看本模块是系统的主要模块之一,通过账号查询模块可以查看企业员工的账户编号、密码等信息,同时可以达到管理用户的目的。修改密码本模块是系统的主要模块之一,通过密码修改模块可以修改本登陆账号的密码,需要进行旧密码验证和两次新密码一致性验证。·密码修改:点击密码修改,进入密码修改界面,在第一输入框输入当前账号的登陆密码,在第二和第三个输入框输入将要设置的新密码,两次密码必须保持一致,点击提交进行密码修改。如果显示修改成功,则说明密码修改完成。退出系统,即可以使用新密码登陆。通告查询本模块是系统的主要模块之一,通过查询模块可以查看管理员发布的通告,显示通告名称和发布时间,管理员可以添加新的通告,修改已经发布的通告,或者删除选中的通告。数据库设计数据库分析数据库的设计,在程序开发中起着至关重要的作用,它往往决定了在后面开发进行怎么样的程序编码,一个合理,有限的数据库设计可降低程序的负责性,使得程序开发过程更为容易。本系统考虑到用户量,开发经济性,决定用MYSQL作为数据库系统,MYSQL数据库系统虽然说规模小,功能有限,但是丝毫也没用减少它受欢迎的程度,对于一般的个人使用者和中小企业来说,MYSQL提供的功能已经绰绰有余了,有用MYSQL是开发源码软件,因此大大降低了总体成本,它可以处理千万条记录的大型数据库,支持多种存储引擎。数据库概念设计这一设计阶段是在需求分析的基础上,设计出能够满足用户的各种实体及他们之间的关系,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段,为后面的逻辑结构设计打下基础。实体关系图是数据库设计的关键,决定了数据库的结构。由实际需求和其实体的属性得到。概念数据模型独立于具体的数据处理的细节和数据库管理系统。这次设计仍采用传统的实体联系图作为概念设计的工具。再进行优化后,尽量满足结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。系统E-R图如图4-19所示:3、数据库表设计(1)用户登录信息表(users)如下表:(2)部门信息表(department)如下表:企业资金表(money)如下表:业务清单表(work)如下表:员工工资表(person)如下表:工资系数表(pay)如下表:工资卡表(card)如下表:记录表(note)如下表:系统实现与测试系统实现登录界面登录在浏览器中输入:8080/Enterprise/index.jsp进入企业财务管理系统的登录界面。如图5-1:管理员登录:通过选择不一样的登录身份进行系统登录,管理员登录账号:llc密码:123选择管理员身份进行登录,管理员登录界面admlogin.jsp如图5-2:普通用户登录:普通员工登录账号:李录呈密码:123,选择员工身份进行登录,员工登录界面uselogin.jsp如图5-3:系统登录时调用admservlet/Load.javaServlet,主要代码如下:if(shenfen==1){sql="select*from(select*fromuserswhereshenfen='1')swhere='"+name+"'ands.password='"+password+"'";}if(shenfen==0){sql="select*from(select*fromuserswhereshenfen='0')swhere='"+name+"'ands.password='"+password+"'";}退出与刷新当用户点击刷新时,系统自动调用admservlet/Reflash.javaServlet,实现刷新功能,代码如下:getServletConfig().getServletContext().getRequestDispatcher("/admlogin.jsp").forward(req,resp);当用户点击退出系统时,系统自动调用admservlet/LoginOut.javaServlet实现退出系统功能,代码如下:getServletConfig().getServletContext().getRequestDispatcher("/index.jsp").forward(req,resp);2、基本设置(1)账户资金当系统点击账户资金选项时,系统自动调用admservlet/MoneyInfo.javaServlet,并从数据库获取企业的账户资金,在jsp/moneyInfo.jsp页面显示,如图5-4所示:代码如下:sql="select*frommoney";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.setSumMoney(money.getGuding()+money.getYidong());list.add(money);sql="updatemoneysetsum='"+money.getSumMoney()+"'";sta.executeUpdate(sql);req.setAttribute("money",list);(2)部门信息当系统点击部门信息选项时,系统自动调用admservlet/DeptInfo.javaServlet,并从数据库获取企业的部门信息,在jsp/deptInfo.jsp页面显示,如图5-5所示:代码如下:sql="select*fromdepartment";conn=users.getConn();sta=conn.createStatement();rs=sta.executeQuery(sql);while(rs.next()){Deptdept=newDept();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.javaServlet,如图5-6:代码如下:sql="insertintodepartment(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(Calendar.SECOND);sql="insertintonote(caozuo,name,date)values('添加部门:"+deptname+"','管理员"+caozuoname+"','"+day+"')";当管理员点击修改时,可以修改部门信息,系统自动跳转admservlet/DeptUpdate.javaServlet,如图5-7:代码如下:sql="updatedepartmentsetdeptname='"+deptname+"',sum='"+sum+"',xishu='"+xishu+"'wheredeptid='"+id+"'";System.out.println(sql);sta=users.getStatement(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="insertintonote(caozuo,name,date)values('修改部门:"+deptname+"','管理员"+caozuoname+"','"+day+"')";当管理员点击删除部门时,确定删除后,系统自动跳转admservlet/DeptDel.javaServlet,如图5-8:代码如下:sql="selectdeptnamefromdepartmentwheredeptId='"+id+"'";rss=sta.executeQuery(sql);rss.next();deptname=rss.getString("deptname");sql="insertintonote(caozuo,name,date)values('删除部门:"+deptname+"','管理员"+caozuoname+"','"+day+"')";sta.executeUpdate(sql);业务信息当管理员点击业务信息时,系统自动调用admservlet/WorkInfo.javaServlet,并显示到jsp/workInfo.jsp前台页面如图5-9:代码如下:sql="select*fromwork";while(rs.next()){Workwork=newWork();work.setId(rs.getInt(1));work.setName((rs.getString(2)));work.setOut(rs.getDouble(3));work.setIn(rs.getDouble(4));list.add(work);}req.setAttribute("work",list);当管理员点击添加按钮,系统自动跳转admservlet/WorkAdd.javaServlet,添加信息完成后跳回jsp/workInfo.jsp显示所有信息,如图5-10:3、工资管理(1)工资信息当用户点击工资信息选项时,系统自动调用admservlet/PersonInfo.javaServelt,将部门信息显示在jsp/personInfo.jsp前台页面,如图5-11:通过选择部门名称查看该部门内部的员工工资,当选择某部门时,系统自动调用admservlet/BmInfo.javaServelt,系统将部门内部员工工资显示在jsp/BmInfo.jsp,如图5-12:PersonInfo.java主要代码如下:sql="select*fromdepartment";while(rs.next()){Deptdept=newDept();dept.setDeptid(rs.getInt(1));dept.setDeptname((rs.getString(2)));dept.setSum(rs.getInt(3));dept.setXishu(rs.getString(4));list.add(dept);}(2)参数设定当用户点击参数设定,系统调用admservlet/PayInfo.javaServlet,系统将参数信息显示在前台jsp/payInfo.jsp页面,如图5-13:当修改过后点击提交时,系统调用admservlet/PayUpdate.javaServlet,系统将数据存入数据库后,再次跳转前台jsp/payInfo.jsp页面,显示修改后的信息。PayInfo.java主要代码如下:sql="select*frompay";while(rs.next()){Paypay=newPay();pay.setDixin(rs.getString(1));pay.setJiangjin(rs.getString(2));pay.setTicheng(rs.getInt(3));list.add(pay);}4、业务管理(1)记录查询当用户点击记录查询时,系统自动调用admservlet/NoteInfo.java,系统将从数据库读取记录,并显示在前台页面jsp/noteInfo.jsp上,如图5-14:记录查询代码如下:sql="select*frompay";while(rs.next()){Paypay=newPay();pay.setDixin(rs.getString(1));pay.setJiangjin(rs.getString(2));pay.setTicheng(rs.getInt(3));list.add(pay);}req.setAttribute("pay",list);(2)工资卡管理当管理员点击工资卡管理,系统自动跳转admservlet/CardInfo.javaServlet,查询到工资卡息后显示在jsp/cardInfo.jsp前台页面,如图5-15:系统代码如下:sql="selectname,bank,cardfromcard,(selectusers.id,namefromusers,cardwhere(users.id=card.id))swhere(card.id=s.id)";while(rs.next()){Cardcard=newCard();card.setName(rs.getString("name"));card.setBank(rs.getString("bank"));card.setCard(rs.getString("card"));list.add(card);}req.setAttribute("card",list);系统管理账号查看当管理员点击账号查看时,系统自动跳转admservlet/AdminInfo.javaServlet,并将查询到的账号信息显示在jsp/adminInfo.jsp页面,如图5-16:主要代码如下:sql="select*fromusers";while(rs.next()){Adminadmin=newAdmin();admin.setId(rs.getInt("id"));admin.setName(rs.getString("name"));admin.setPassword(rs.getString("password"));shenfen=rs.getInt("shenfen");list.add(admin);修改密码当用户点击修改密码时,系统自动跳转jsp/UpdataPw.jsp页面,如图5-17:当输入了要修改的密码后,点击提交,系统自动跳转admservlet/UpdataAdmin.javaServlet,完成修改密码功能,代码如下:sql="select*fromuserswherename='"+name+"'";Listlist=newArrayList();rs.next();if(rs.getString("password").equals(req.getParameter("oldPw"))){password=req.getParameter("newPw1");id=rs.getInt("id");sql="updateuserssetpassword='"+password+"'whereid="+id;通告查询当管理员点击通告查询时,系统自动调用admservlet/TitleInfo.javaServelt,读取通告信息后跳转jsp/title.jsp页面显示,如图5-18:代码如下:sql="select*fromtitle";while(rs.next()){Titletitle=newTitle();title.setId(rs.getInt("id"));title.setHead(rs.getString("head"));title.setTitle(rs.getString("title"));title.setTime(rs.getString("time"));System.out.println(title.getId()+title.getHead());list.add(title);}当管理员选择通告标题时,系统跳转admservlet/UpdataTitle.javaServlet,可以查看通告内容,并在前台页面jsp/showTitle.jsp显示,如图5-19:代码如下:try{sql="select*fromtitlewhereid='"+id+"'";conn=users.getConn();sta=conn.createStatement();rs=sta.executeQuery(sql);Titletitle=newTitle();Listlist=newArrayList();rs.next();当用户点击添加通告时,系统自动跳转jsp/addTitle.jsp页面,如图5-20:当输入了标题名,正文内容后点击提交,系统自动跳转admservlet/AddTitle.javaServlet,并显示在jsp/title.jsp页面,代码如下:sql="insertintotitle(head,title,time)values('"+title+"','"+text+"','"+date+"')";sta=conn.createStatement();sta.executeUpdate(sql);out.println("<html><head><metahttp-equiv=\"refresh\"content=\"1;url=TitleInfo\"></head><body><center><fontcolor='red'>操作成功</font></center></body></html>");当用户选择删除时,系统将提示确认删除框,如图5-21:删除功能admservlet/TitleDel.javaServlet代码如下:sql="selectheadfromtitlewhereid="+id;sql="deletefromtitlewhereid="+id;系统测试系统测试是任何软件开发周期中的一个重要的环节。即使在开发过程中进行了反复的测试,但是还是有可能会留下漏洞,如果没有进行一个详细的系统测试,那么等到在投入使用过程中问题暴露出来的话,我们修改将需要花费更多的代价。该系统的运行是在WindowsXP、Tomcat6.0及MyEclipse8.5环境下完成的,所应用的数据库是MySQL5.0。系统的主要运行情况包括页面的完成情况、跳转以及功能实现等,以部门模块的增删改查为例。操作步骤:登录界面输入账号,密码,并选择管理员按钮,点击登录。进入管理界面后,选择部门信息,系统会自动查询所有部门的信息,并显示在前台页面。添加:点击增加按钮,系统跳转部门增加页面,在该页面输入部门名称,部门人数,工资系数,点击提交,系统出现添加成功的提示,之后系统自动跳转查询页面,系统会把刚刚添加的部门显示在前台。修改:点击财务部后面修改按钮,系统自动将财务部的信息显示在修改页面,修改工资系数,点击提交,系统提示成功后,返回部门查询页面,显示修改后的内容。删除:点击所要删除部所对应的删除按钮,系统弹出确认删除框。点击确定后,系统完成删除操作,并自动返回部门查询页面,显示所有部门,此时要删除的部门已经删除。通过以上测试可以看出,该系统正常的操作及页面跳转运行情况良好,没有出现失败或者意外情况。六、结论光阴似箭,白驹过隙,流年似水,我的大学生涯即将在毕业设计完成后结束,还记得刚来是还是懵懵懂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《伯牙绝弦》教学设计
- 《6 我为交通绘蓝图》(教学实录)-2023-2024学年五年级下册综合实践活动粤教版
- 七年级生物上册 第三单元 第二章 第一节 种子的萌发教学实录 (新版)新人教版
- 大学生认知实习报告范文
- Unit6 Whose dress is this?(教学实录)-2023-2024学年译林版(三起)英语四年级下册
- 会计去银行打印回单心得5篇
- 二年级语文下册 第一单元 课文1 3 开满鲜花的小路教学实录(pdf) 新人教版
- 广东省汕头市八年级历史下册 第4课《工业化的起步》教学实录 新人教版
- 地形测量的基本概念
- 2020年新版七年级上册政治思维导图
- 【作文素材】他被故宫开除,却成为“京城第一玩家”!——王世襄剖析
- 开发商退房通知书
- 脑卒中偏瘫患者早期康复护理现状(一)
- 模特的基础训练
- 急救技术-洗胃术 (2)
- 药品招商流程
- 混凝土配合比检测报告
- 100道递等式计算(能巧算得要巧算)
- 【2019年整理】园林景观设计费取费标准
- 完整word版,ETS5使用教程
- 《血流动力学监测》PPT课件.ppt
评论
0/150
提交评论