家庭收支管理系统的设计与实现毕业论文

上传人:沈*** 文档编号:97606983 上传时间:2022-05-27 格式:DOC 页数:18 大小:82KB
收藏 版权申诉 举报 下载
家庭收支管理系统的设计与实现毕业论文_第1页
第1页 / 共18页
家庭收支管理系统的设计与实现毕业论文_第2页
第2页 / 共18页
家庭收支管理系统的设计与实现毕业论文_第3页
第3页 / 共18页
资源描述:

《家庭收支管理系统的设计与实现毕业论文》由会员分享,可在线阅读,更多相关《家庭收支管理系统的设计与实现毕业论文(18页珍藏版)》请在装配图网上搜索。

1、【标题】家庭收支管理系统的设计与实现 【作者】邓茂良 【关键词】家庭收支 Mysql数据库管理系统 Java网络版 【指导老师】陈华 潘小琴 【专业】计算机科学与技术 【正文】1前言随着IT等技术的进步和计算机网络技术的发展,家庭收支管理系统也逐渐从传统的桌面管理向网络集成的方向发展。桌面家庭收支管理系统比基于Internet的管理系统的局限性大,桌面管理的系统毕竟只有在固定的计算机上才能实现管理,而且也缺少交互性。基于Internet的家庭收支管理系统则可以在其他计算机上进行管理。因此,基于Internet的家庭收支管理系统是未来家庭收支管理系统的发展趋势。1.1课题研究的背景从古代原始的帐

2、本管理家庭收支到现在使用计算机进行科学的管理,质的飞跃是我们能看到的。随着经济的发展,作为社会组成单位的家庭将拥有更多支配的财产。但因住房、医疗、教育制度的改革,住房支出、生老病死、子女教育消费已成为工薪阶层必须考虑的事。家庭理财应未雨绸缪,对以后的收入支出进行预测,以避免财务危机的发生。如何省心和合理地安排这些五花八门的收入、消费、储蓄和投资,所以,设计一个家庭收支管理系统是很有意义的。1.2课题研究的现状消费水平大大提高,现代家庭消费水平在总体上处于温饱与小康的过渡阶段。具体言之,农民的消费水平处于由温饱初级阶段到高级阶段的发展过程中,部分农村已进入小康;而城镇居民家庭处于由温饱高级阶段向

3、小康初级阶段的过渡时期。从总体上看,20世纪90年代中国居民消费总规模以6%的年增长速度扩大,消费总额占国民收入的59%。消费结构发生变化。我国居民家庭的消费序列近年来发生了变化,由过去的吃、穿两大支柱变为吃、穿、用、住全方位化。追求吃、穿、用、住的高层次,正成为大众的普遍消费心理。许多家庭为子女的智力开发不惜财力闲暇消费、旅游消费已受到越来越多家庭的青睐。随着家庭小康化程度的提高,享受与发展逐步成为家庭消费所追求的主要目标。消费选择的自主性大大提高,个性化特征越来越明显。在传统体制下,我国消费品市场长期短缺,家庭消费选择的余地小,消费内容单一。随着我国市场经济的发展,消费品的数量和品种日益增

4、多,使得家庭消费的内容日益丰富,自主性得到空前提高,人们日益追求在消费中体现出不同的特点。1.3课题研究的目的和意义开发本系统的总体任务是实现家庭财务管理的系统化和自动化,帮助家庭财务管理人员更好更高效地完成家庭财务管理工作。我国居民的储蓄存款超过十万亿人民币。特别是像上海、深圳等发达城市,居民的可支配收入正在逐步达到中等发达国家水平,许多居民除了购房、购车外有大量的金融资产,如何分配、管理金融资产是居民最大的需求。大多数个人对金融方面的需求从储蓄、保管金融资产向金融资产的保值、增值转变。有些人盲目投资于股市而导致大量损失,还有许多人把大部分资产存在银行做定期储蓄;最多的是介于二者之间,不知如

5、何分配其金融资产。家庭如何管理金融资产呢?如何安排自己的富余的现金流,如何筹集自己所需的资金,成为了一个现实的问题。这就要求我们能够更好的家庭理财。2需求分析与可行性研究2.1用户需求背景现在人们已经不习惯像原来一样用纸和笔进行家庭收支的记录,这样浪费时间,查询起来也比较麻烦,时间长了人们也对这样的方式厌倦了。所以一个系统而有条理的收支管理系统,是人们所想尝试的。一个好的收支管理系统不仅仅只是为了记录家庭收支,而且还是为了用户操作的方便。一个美观友好的用户界面可以增加用户对该系统的信心。首先就应该满足用户的这个最基本的需求。网络最大的优势就是具有交互性,所以在记录帐目的时候,用户往往希望能与其

6、他用户进行信息的交流与分享。2.2用户需求分析现在越来越多的用户使用Internet这个庞大的资源,许多工作都可以在网上进行操作。比如说网上购物,网上消费等。但是,用户还渴望需求在网络上使用网络帐本对自己家庭的财务进行管理。现在网上这样的网络帐本并不普及,或许也不好使用。正是用户有了这个需求所以就诞生了家庭收支管理系统。2.3系统分析1范围说明家庭收支管理系统可以为注册用户进行家庭收支的详情进行保存,以及查询。管理员进行首页信息的发布。用户可以进行家庭成员,帐户,收支分类进行添加、删除、修改、查询。对记录的帐单进行添加、删除、修改、查询,并支持多种方式查询,日期、帐户、家庭成员、金额类型、等,

7、方便用户进行帐单信息的管理,并支持PDF、EXCEL格式导出,柱状图、饼状图的显示。为方便用户进行交流,用户还可以进行好友的添加、删除、查询,可以与好友进行消息的发送与接受。帐单按时添加,新闻的发布与回复。2主要功能管理员可以对首页进行信息发布。未注册的用户可以进行注册,成为用户。用户以及管理员可以对相应资料进行修改。用户固定添加收支。用户对家庭成员、帐户、收支类型、帐单等进行操作。好友模块:可以对其他用户进行添加好友、发送信息等操作。帐单报表导出、图表显示导出。新闻的发布与删除。3性能问题帐单查询速度,帐单导出速度2.3.1系统调查分析 使用单机版的家庭收支管理系统,有的用户觉得使用起来非常

8、方便。但是单机版的家庭收支管理系统缺少的是网络的互动性。网络版的家庭收支管理系统不仅具有和其他用户交流的一个平台,而且数据还可以进行永久的保存,不会担心某天因为特殊情况而变故了。2.3.2系统可行性研究家庭收支管理系统从单机版的变为网络版的,这是一个质的飞跃。无论怎样,实现的方式大同小异。用最小的代价在尽可能段的时间内解决存在的问题。从以下几点对系统的技术可行性、经济可行性两方面进行研究:1设计家庭收支管理系统的目的是代替人们记帐的习惯,大大提高工作效率。2只要有网络的地方就能进行家庭收支管理。不需要安装,只要能上Internet。3系统使用Java语言为主,MyEclipse为开发环境,搭配

9、WSH进行系统的构建,完全面向对象进行系统的设计,支持丰富的数据类型,系统主要以面向接口进行编程,使系统低耦合,方便系统的日后维护,以及新功能的添加。4本系统对计算机配置的要求不高,在Jdk5以上环境下运行,平台是Windows或Linux。硬件资源:局域网络或Internet及奔腾以上CPU,128M以上内存的pc机为服务器。软件资源:Linux或Unix或Windows操作系统的操作环境,Mysql数据库,Webwork,Spring, Hibernate,Jasperreport所需要的Jar包。3系统设计3.1功能模块图3-1体系结构3.2数据库概念结构设计图3-2 ER图表3-1用户

10、表数据项名 类型 长度 说明用户编号(Uid) BIGINT 主键用户名(Username) varchar 20 不为空密码(password) varchar 20 不为空邮箱(Email) varchar 50 不为空唯一性别(Sex) varchar 2 不为空生日(Birthday) Date 不为空注册时间(Regtime) Date 不为空来自(Position) varchar 20 不为空Ut_id(Ut_id) BIGINT 不为空外键表3-2用户类别表数据项名 类型 长度 说明Utid(Utid) BIGINT 主键Name(Name) varchar 20 不为空表3-

11、3帐户表数据项名 类型 长度 说明帐户编号(Aid) BIGINT 主键帐户名(Name) varchar 200 不为空金额类型(Moneytype) varchar 50 不为空余额(Balance) Double 备注(Remark) varchar 200 U_id(U_id) BIGINT 外键表3-4家庭成员表数据项名 类型 长度 说明成员编号(Fid) BIGINT 主键成员名(Name) varchar 20 不为空生日(Birthday) Date U_id(U_id) BIGINT 外键表3-5收支大类表数据项名 类型 长度 说明大类编号(Piid) BIGINT 主键大类

12、名(Typename) varchar 100 不为空收支类型(Iore) int 不为空 1为收入2为支出Uid(Uid) BIGINT 表3-6收支细类表数据项名 类型 长度 说明细类编号(Piid) BIGINT 主键细类名(Typename) varchar 100 不为空收支类型(Iore) int 不为空 1为收入2为支出Uid(Uid) BIGINT 用户idPi_id(Pi_id) BIGINT 大类id外键表3-7来自表数据项名 类型 长度 说明编号(Pid) BIGINT 主键地名(Pname) varchar 30 不为空表3-8金额类型表数据项名 类型 长度 说明编号(

13、Mid) BIGINT 主键名字(name) varchar 30 不为空表3-9好友表数据项名 类型 长度 说明编号(Fid) BIGINT 主键备注(Remark) varchar 200 不为空U_id(U_id) BIGINT 外键好友名(Uname) varchar 20 表3-10发送请求表数据项名 类型 长度 说明编号(FWid) BIGINT 主键用户名(Uname) varchar 20 不为空好友名(Fname) varchar 20 时间(Time) Datetime 表3-11接受消息表数据项名 类型 长度 说明编号(Rid) BIGINT 主键内容(Text) var

14、char 1200 不为空时间(Time) Datetime Tag(Tag) int 1未读2读了好友(F_id) BIGINT 40 外键用户(U_id) BIGINT 外键标题(Title) varchar 表3-12帐单表数据项名 类型 长度 说明编号(Bid) BIGINT 主键时间(Time) Date 不为空大类(Ietype) varchar 50 不为空细类(Ietypetree) varchar 50 1未读2读了金额(Cash) Double 备注(Remark) varchar 300 支出或收入(Iore) int 1收入2支出A_id(A_id) BIGINT 外键

15、F_id(F_id) BIGINT 外键U_id(U_id) BIGINT 外键表3-13自动帐单表数据项名 类型 长度 说明编号(Bid) BIGINT 主键时间(Time) Date 不为空大类(Ietype) varchar 50 不为空细类(Ietypetree) varchar 50 1未读2读了金额(Cash) Double 备注(Remark) varchar 300 支出或收入(Iore) int 1收入2支出A_id(A_id) BIGINT 外键F_id(F_id) BIGINT 外键U_id(U_id) BIGINT 外键自动添加时间(AutoTime) int 间隔时间

16、天数表3-14新闻表数据项名 类型 长度 说明编号(Bid) BIGINT 主键标题(Title) varchar 200 不为空内容(Text) varchar 2000 不为空时间(Time) Datetime U_id(U_id) BIGINT 外键表3-15新闻回复表数据项名 类型 长度 说明编号(Nrid) BIGINT 主键内容(Title) varchar 2000 不为空时间(Time) Datetime 不为空U_id(U_id) BIGINT 外键N_id(N_id) BIGINT 外键表3-16新闻禁言表数据项名 类型 长度 说明编号(Nfid) BIGINT 主键U_i

17、d(U_id) BIGINT 外键表3-17禁ID表数据项名 类型 长度 说明编号(Ifid) BIGINT 主键U_id(U_id) BIGINT 外键1、数据字典:1数据存储定义数据存储名称:User数据结构:Uid+Username+Password+Email+Sex+Birthday+Regtime+Position+Ut_id说明:Uid用户ID为系统increment自动增长。数据存储名称:Usertypea数据结构:Ut_id+Name说明:由此判断用户为普通用户还是管理员。数据存储名称:Family数据结构:Fid+Name+Birthday+U_id说明:用户添加自己的家庭

18、成员。数据存储名称:Account数据结构:Aid+Name+Moneytype+Balance+Remark+U_id说明:用户添加自己的帐户信息。数据存储名称:Moneytype数据结构:Mid+Name说明:根据Moneytype的金额类型,用户添加自己的帐户信息数据存储名称:Pietype数据结构:Piid+Typename+Iore+Uid说明:用户添加收支类型大,在帐单中显示输出。数据存储名称:Pietypetree数据结构:Ptid+Typename+Iore+Uid+Pi_id说明:用户添加收支类型细类,在帐单中显示输出。数据存储名称:Friends数据结构:Fid+Remar

19、k+Uname+U_id说明:用户添加好友,查询好友,并能删除,发送,接受信息。数据存储名称:Recievemsg数据结构:Rid+Text+Time+Tag+F_id+U_id+title说明:用户发送一条消息包括标题,内容,时间,给谁等。接受的用户可以查看消息。数据存储名称:Bill数据结构:Bid+Time+Ietype+Ietree+Cash+Remark+Iore+A_id+F_id+U_id说明:用户或管理员添加帐单数据存储名称:Autobill数据结构:Bid+Time+Ietype+Ietree+Cash+Remark+Iore+A_id+F_id+U_id说明:用户或管理员添

20、加帐单数据存储名称:News数据结构:Bid+Time+Ietype+Ietree+Cash+Remark+Iore+A_id+F_id+U_id说明:管理员发布新闻2功能描述:A 功能划分注册用户用户管理员登陆管理员新闻发布个人信息修改家庭成员帐户信息自动添加帐单收支分类帐单信息查看用户好友报表图表导出B 功能描述注册用户:未注册用户输入正确的资料可以进行注册。用户管理员登陆:用户,管理员输入正确的用户名和密码可以登陆,进行相关操作。管理员新闻发布:管理员可以进行首页新闻的发布以及删除新闻。个人信息修改:管理员和用户可以对自己部分资料进行修改,修改资料需要原密码的验证进行修改。家庭成员:用户

21、或管理员可以对自己的家庭成员进行增删改查操作。帐户信息:用户或管理员可以对自己的帐户进行增删改查操作。自动添加帐单:用户或管理员可以对需要进行固定收支的帐单进行按时添加,方便用户。收支分类:如果用户或管理员对系统存在的收支分类不满意,可以自己进行自定义,添加收支分类。帐单信息:用户或管理员可以对自己家庭的收支添加帐单信息,方便统计,以及知道资金的流向,并且 可以对帐单进行增删改查。查看用户:用户或管理员可以对其他用户进行部分资料的查看,并且可以对未添加好友的用户进行添加 好友。好友:用户或管理员可以对自己的好友进行信息的查询,可以对好友进行删除,以及可以与好友发送消 息,方便交流。报表图表导出

22、:为方便用户更好的了解自己的帐单,可以根据各种查询帐单结果的情况进行报表,图表 的导出,方便日后工作。4系统的详细设计与实现4.1开发环境介绍当J2EE轻量级开发,为了保持良好的兼容性,JDK版本一般在1.5以上。IDE为MyEclipse,开源项目为WebWork,Spring,Hibernate。结合JSP,以及HTML等进行系统的开发以。运行的服务器一般小型为Tomcat,数据库为Mysql,都是开源项目。4.1.1 WebWork开源Web框架 WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本

23、是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。Web

24、Work2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上。4.1.2 Spring J2EE框架Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓

25、励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring

26、提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务-如果你需要-还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。4.1.3 Hibernate持久层框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以

27、在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具。4.1.4 Jsp动态网页JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下

28、运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。4.1.5 Tomcat Web服务器Tomcat是Apache软件

29、基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。4.1.6 JDK Java Development KitJDK是整个Java的核心,包括了Java运行环境(Java Runtime En

30、vironment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun

31、JDK掌握好。4.2数据库简介4.2.1 MySQL简介1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。3.为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。4.支持多线程,充分利用CPU资源。5.优化的SQL查询算法,有效地提高查询速度。6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一

32、个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。8.提供用于管理、检查、优化数据库操作的管理工具。9.可以处理拥有上千万条记录的大型数据库。5.系统实现在系统的实现中,直观的体现是操作界面的实现,一个简洁的界面能为用户提供必要的帮助,要适合人们平均的计算机掌握和操作程度。5.1用户管理功能(1)系统登录界面实现功能:输用户注册为用户后,可以登陆系统进行相应的操作。(2)家庭收支实现功能:用户可以对自己的家庭状况,进行家庭帐单的录入,以帐单的导出

33、。(3)新闻,好友实现功能:会员和管理员可以进行新闻发布,所有用户可以对新闻进行回复,以及对好友的添加,删除,以及发送信息。(4)管理员操作实现功能:管理员可以进行所有的操作,对新闻删除,回复删除。以及新闻禁言,禁ID。5.1.1登陆窗体注册后的用户和管理员可以通过登陆,进入系统。图5-1登陆public String execute()throws Exceptiontryif(loginService.isValidUser(user.getUsername(),user.getPassword()User usera=loginService.findUser(user.getUsern

34、ame();session.put(user,usera); /User放入sessionreturn SUCCESS;elseaddFieldError(msg1,用户名或密码错误);return INPUT;catch(Exception e)return INPUT;5.1.2管理员登陆界面不同权限对应不同选项,进行不同操作。图5-2管理员登陆界面public String intercept(ActionInvocation actionInvocation) throws Exception/ TODO Auto-generated method stubMap session=ac

35、tionInvocation.getInvocationContext().getSession();User user=(User)session.get(user);tryif(user.getUsertypea().getUtid()=3) /判断是否为管理员return actionInvocation.invoke();elsereturn Action.ERROR;catch(Exception e)addFieldError(msg1,非法操作);return Action.ERROR;5.1.3用户登陆界面普通用户登陆图5-3普通用户登陆界面public String inte

36、rcept(ActionInvocation actionInvocation) throws Exception/ TODO Auto-generated method stubMap session=actionInvocation.getInvocationContext().getSession();User user=(User)session.get(user);if(user=null)return Action.LOGIN;return actionInvocation.invoke();5.2家庭收支5.2.1家庭收支添加添加支出帐单图5-4添加帐单public String

37、 doAddIBill()throws ExceptiontryUser user=(User)session.get(user);List a=(List)billService.getAccount(accountName);Account account=(Account)a.get(0);List b=(List)billService.getFamily(familyName);Family family=(Family)b.get(0);bill.setAccount(account);bill.setFamily(family);bill.setUser(user);bill.s

38、etCash(GetDouble.getDouble(bill.getCash();bill.setTime(NowTime.getDate();bill.setIore(1);billService.addBill(bill,account);/Transaction当添加帐单的时候执行对应帐户金额的增加减少return SUCCESS;catch(Exception e)addFieldError(msg1,请输入正确的帐单信息,请检查信息录入是否完整);return INPUT;5.2.2家庭帐单导出图5-5帐单导出public String doReport()throws Excep

39、tionUser user=(User)session.get(user);String sql=;tryif(ieType=1| ieType=2) /以下是进行筛选 sql生成if(ieType=1)sql=b.iore=1 and;elsesql=b.iore=2 and;if(!fName.trim().equals()& fName!=null)sql=sql+ bf.name=+fName+ and;if(!aName.trim().equals()& aName!=null)sql=sql+ ba.name=+aName+ and;if(!mType.trim().equals(

40、)& mType!=null)sql=sql+ ba.moneytype=+mType+ and;if(!beginDate.trim().equals()&!endDate.trim().equals()& beginDate!=null& endDate!=null)sql=sql+ b.time=+beginDate.toString()+ and b.time=+beginDate.toString()+ and;if(beginDate.trim().equals()&!endDate.trim().equals()sql=sql+ b.time=+endDate.trim().to

41、String()+ and;if(!sql.trim().equals()& sql!=null) sql=sql+ bu.uid=+user.getUid(); /谁的total=billService.getQueryBillLength(sql); /筛选后的总数if(total%pageSize=0)pnum=total/pageSize;elsepnum=(int)total/pageSize+1;billList=(List)billService.getBill(sql,1,total);try /金额统计totalCash=MoneyTotal.total(billList);

42、catch(Exception e)/判断没有筛选sql执行返回所有帐单if(sql.trim().equals()total=billService.getBillLength(user); /进行分页多少页数据处理if(total%pageSize=0)pnum=total/pageSize;elsepnum=(int)total/pageSize+1;billList=(List)billService.getBill(user.getUid(),1,total);try /金额统计totalCash=MoneyTotal.total(billList);catch(Exception

43、e) for(int i=0;i=1| user.getUsername().equals(friendsWait.getFname() /判断是否为合法用户名不能为自己addFieldError(msg1,你已经添加过此好友了);return INPUT; friendsWait.setUname(user.getUsername();friendsWait.setTime(NowTime.getDateTime();friendsWait.setTag(0); /0未响应,1成功,2失败,4删除,friends.setUname(friendsWait.getFname();friends

44、.setUser(user);if(friendsService.acceptFriends(friendsWait, friends)return SUCCESS;elsereturn INPUT;catch(Exception e)e.printStackTrace();return INPUT;图5-7新闻public String doSaveNews()throws ExceptiontryUser user=(User)session.get(user); /判断新闻是否为空if(news.getTitle().trim().equals()| news.getText().tri

45、m().equals()addFieldError(msg1,请输入标题,内容);return INPUT;/判断是否为会员或管理员if(user.getUsertypea().getUtid()=2| user.getUsertypea().getUtid()=3)news.setTime(NowTime.getDateTime();news.setUser(user);newsService.saveNews(news);return SUCCESS;elseaddFieldError(msg2,非法操作);return INPUT;catch(Exception e)return INP

46、UT;5.4管理员5.4.1管理员操作图5-8管理员权限public String doAddMember()throws ExceptiontryUser user=(User)session.get(user);List memberList=userService.getUser(uname);if(memberList!=null& memberList.size()=1)User member=(User)memberList.get(0);member.getUsertypea().setUtid(long)2); /改为会员adminService.addMember(membe

47、r);return SUCCESS;elseaddFieldError(msg1,请输入正确的用户名);return INPUT;catch(Exception e)addFieldError(msg1,请输入正确的用户名);return INPUT;结束语经过了这几个月的学习和实现,终于把家庭收支管理系统做好了。从开始构思到系统的实现,再到论文的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到了很多知识也有很多感受,对自己以前不懂的,需要不断的学习来充实自己。我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。从中我也充分认识到了通过字的努力换来的果实是多么的甜。这不仅仅是做好系统所带来的,而是从做系统的这个过程中,学到了做人的一些道理,想不劳而获是不可能的。在做这次毕业设计过程中使我学到了很多,我感到不论做什么事都要真真正正用心去做,才会使自己更加的成长,没有学习就不可能有实践的能力,没有自己的实践就不会有所突破,希望这次的经历能让我在以后的学习生活中不断成长与进步。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!