




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学毕业设计(论文)体育场馆管理软件学 院计算机学院专 业班 级学 号姓 名指导教师负责教师摘 要随着计算机技术与信息网络的发展和广泛的应用,体育场馆管理系统是为了实现企业产品管理的系统化、规范化和自动化,从而提高企业管理效率而设计的。降低日常管理的工作强度,并且在大量管理数据中提取有用信息。本文在通过对运动场地管理方法进行调研的基础上,进行大量需求分析得出运动场馆的管理模式,设计并实现了体育场馆的管理系统。在进行了系统需求分析的基础上分析了系统的体系结构,并详细讨论了用界面控制器模型的模式,设计出解决方案。得出用户从场地预定,打印开单到场地使用与场地结账,管理人员所需要的操作和处理的问题,简化了管理人员的操作,将大量的运算、处理等交给计算机。通过数据库来实现各种信息的记录与处理,本系统使用MyEclipse进行开发,使用SQL Server数据库存储数据,连接数据库时使用了Hibernate的数据库框架。为了最大限度的实现系统的易维护性和易操作性,设计了系统维护功能模块,使得整个系统运行稳定,系统数据安全可靠。关键词:体育场;管理系统;Java;MVC;Hibernate;The Stadium Management SoftwareAbstractWith the development of computer technology and information network and application, the stadium management system is to achieve the standardization, product management and automation, so as to improve the efficiency of enterprise management and design. Reduce the working intensity of daily management, and extract useful information in a large number of management data.In this paper, through the investigation on the sports field management method, a lot of demand analysis of sports venues management mode, the design and implementation of management system of stadium. The structure of the system analysis on the basis of system demand analysis, and discusses in detail with the interface controller, model, design solutions. The user from the venue booking, printing billing to the site and site check, operation and deal with the problem of managers are needed, simplifying the management of the operation, will be a lot of operation, processing to the computer. Achieved through the database record and handle all kinds of information, the system is developed with MyEclipse, using SQL Server database to store data, when connecting to the database using the database framework Hibernate. In order to maximize the realization of the system easy to maintain and easy to operate, design the function of system maintenance module, which makes the system stable operation, system safety and reliability of the data.Keywords: Stadium; Management system; Java; MVC; Hibernate;目 录1 体育场馆管理系统的需求分析11.1 系统背景介绍11.2 需求分析11.3 可行性分析31.4 论文的组织结构42 相关技术研究52.1 Java相关技术52.2 SQL server数据库52.3 MyEclipse开发工具62.4 MVC开发模式62.5 Hibernate73 总体设计83.1 系统结构设计83.1.2 场地管理功能模块93.2 系统架构94 数据库的设计114.1 数据设计114.2 系统E-R图114.3 数据表设计155 详细设计与实现185.1 用户登录模块185.2 场地管理模块195.2.1 场地预定子模块195.2.2 场地更换子模块205.2.3 场地结账子模块215.2.4 场地状态显示子模块235.3 会员服务模块245.3.1 会员充值模块255.3.2 会员管理子模块255.4 财务管理模块265.4.1 财务查询子模块275.4.2 打印报表子模块285.5 系统管理模块295.5.1 人员管理子模块295.5.2 场地添加删除子模块315.5.3 场地维修与启用326 系统测试336.1 登录模块测试336.2 场地管理测试336.3 会员模块测试356.4 财务信息测试36总结37参考文献38致 谢39IV1 体育场馆管理系统的需求分析1.1 系统背景介绍随着我国全民健身思想的普及,我国体育场馆数量不断增加,规模不断扩大,在希望最大限度利用体育场馆资源前提下,体育场馆的管理工作变得越来越复杂。如何更安全、高效地使用体育场馆资源,做到场地信息的快速查询与规范管理已成为我国体育场馆管理的核心。因此,体育场馆管理工作的信息化是必然的技术趋势,开发安全、高效、易于使用的基于数据库体育场馆管理系统刻不容缓。体育场管理软件是专用于体育场馆经营和管理的软件系统,软件采用计时管理的收费模式,配合收银管理和财务管理的功能,为体育场馆的经营提供一体化的管理方案,该系统适合应用在羽毛球,网球,篮球等场地的租用管理上。 开发体育场馆管理系统软件过程中,我采用了面向对象的软件技术进行系统的分析、设计。本论文在介绍面向对象软件方法基础上,对面向对象软件进行深入分析,比较了传统软件模型与面向对象软件模型的特点,对管理系统在具体应用中适合的软件开发过程作了深入研究。在面向对象软件开发的各个阶段,结合体育场实际情况进行分析、设计。1.2 需求分析体育场馆管理系统的目标是对所有运动场地进行规范管理,应当具有场地开单、选择消费模式、收费管理、查询场地信息、结账、场地类型设置、场地数量设置、计费标准设置、查看/编辑租场记录等功能,为体育场馆的经营提供一体化的管理方案。场馆管理人员可通过此系统实现对所有运动场地的管理。系统的总体任务是实现运动场地管理的系统化、规范化和自动化。该系统的功能需求主要包括场馆管理人员对功能的需求: 场地预定当有顾客需要使用场地时,需要到管理员处进行场地预定,管理员会根据情况为顾客开设场地。 场地开单体育场地的出租必不可少地存在收费管理的问题,票据作为一种凭证,可以让客人在场地使用的过程中觉得放心,也可以避免有缺乏票据的客人无偿地使用场地,体育场管理软件提供很好的场地管理功能,收银员在向客人收费的同时可以打印小票,客人凭票进场活动。 场地结账体育场管理软件对于场地的管理分为计时管理和计次管理两类,在很多体育场馆的经营管理当中,既有按使用时间计算费用的场地,又有按使用次数计算费用的场地。 计费标准设置体育场馆管理员使用系统设置为不同类型运动场地设置不同的计费标准。 查询场地信息查询场地是否已经被租用,租场客户租用运动场地后,临柜查询开场时间、已经租用时间及各项消费等,体育场馆管理员使用系统查询指定场地的开场时间、已经租用时间及各项消费等。 选择消费模式租场客户临柜结算,体育场馆管理员使用系统为客户办理结账手续。并打印出票据。 软件财务管理功能体育场馆管理系统附带完善的财务管理模块,财务模块不仅可以管理场地经营出租的基本营业收入,还可以按日期查看收支情况。 场地设置体育场馆管理员使用系统添加或删除运动场地,设置运动场地的数量,可以更好的适应不同的体育馆。若场地需要维护,则可以设置场地为维护状态。 会员管理会员可以享受优惠,管理员可以对会员进行添加、删除、修改和查询。根据体育场管理系统的需求分析,主要使用者有收银员和系统管理员:图1.1 系统用例图1.3 可行性分析可行性分析的主要目的是在最短的时间内以最小的代价确定是否能解决问题,要达到这个目的,必须分析几种主要解决方法的利弊,从而判断系统功能是否可以实现,系统完成后所能带来的效益是否能够最大化。因此,可行性研究实际上是进行一次简单的需求分析和设计的过程。一般来说,可行性分析应从技术可行性、经济可行性等方面进行分析。具体分析如下:1. 技术可行性分析技术上可行性分析需要考虑采用的软硬件能否顺利实现需求分析。本系统采用Java作为系统应用程序的开发工具,采用SQL Server2008数据库进行存储数据,并利用Hibernate轻量级数据库框架管理数据等。从开发人员考虑,作为计算机专业的学生,大学四年的积累在一定程度上具备小型系统开发的能力,而且现有的设备可以满足开发的需要。2. 经济可行性分析由于MyEclipse与SQL Server2008可以在网络上免费下载或购买,所以开发的主要经济投入为开发与维护,计算机一个。而一旦次系统投入使用,不仅可以减少工作量并且提高工作效率,极大的方便了管理者。而且系统部是很复杂,开发周期短,人员经济支出大大减少,开发成本远小于经济收益,所以从经济方面讲,开发此系统是可行的。1.4 论文的组织结构本次毕业设计的主要工作是设计一个体育场管理系统,使用java基本技术与SQL server2008来实现的。论文的组织结构如下:第1章 系统的需求分析。主要对系统进行需求分析,并介绍了毕业设计的背景意义及应用价值。第2章 相关技术研究。介绍了本毕业设计使用的技术与工具。第3章 系统的总体设计。主要设计了系统的基本模块,登录模块、场地管理模块、会员模块、财务模块和系统模块。第4章 系统的数据库设计。详细的介绍数据库的E-R图,并用二维表列出数据表的物理实现方式。第5章 系统的详细设计与实现。将总体设计中的各个模块展开,然后进行详细的设计与实现,并对功能和逻辑进行完善。第6章 系统测试。对系统的各个模块进行测试,并将测试结果记录下来,有需要完善的地方进行完善。2 相关技术研究2.1 Java相关技术Java伴随着网络 普及的飞速而发展,作为软件开发的一种革命性技术,其地位已被确定。Java应用如此广泛是因为Java具有多方面的优势,如:平台无关性,完全面向对象和简单性,可靠性,安全性,多线程和直接支持分布式的网络应用。Java的核心技术包括:JDBC(Java DataBase Connectivity,Java数据库连接)定义了Java应用程序与关系型数据库连接的规范,类似于Windows的ODBC(Open DataBase Connectivity, 开放式数据库连接)。JSP是Sun公司1999年推出的一种动态网页技术标准,是一种运行于Web服务器端的标记语言,他能够将Java语言直接嵌入到HTML文档中。JSP是基于Java Servlet及Java体系的Web开发技术,可以建立跨平台、安全、高效的动态网站。Java IDL(Java Interface Definition Language)提供与CORBE的无缝互操作性,这使得Java能集成异构的商务信息资源。JavaBeans 是Java的对象组件技术,提供组件服用的关键技术,类似于Windows的ActiveX。在JSP中可以使用Javabeans。EJB(Enterprise JavaBean)提供企业级的JavaBeans。2.2 SQL server数据库SQL server是由微软推出的一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库 管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。其具有先进的管理系统,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。我使用的是SQL Server 2008,它是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。2.3 MyEclipse开发工具MyEclipse是在eclipse的基础上,集成了自己的插件而成的IDE。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源 产品的支持十分不错。MyEclipse目前支持Java Servlet, AJAX, JSP, JSF, Struts, Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎 囊括了目前所有主流开源产品的专属eclipse开发工具。2.4 MVC开发模式MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统 计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。模型控制器视图视图事件获得数据获得数据更新更新改变改变改变图2.1 系统用例图2.5 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。使用Hibernate可以减少一定的访问数据库的次数,Hibernate 使用 Java 反射机制 而不是字节码来增强程序实现透明性,Hibernate 的性能非常好,因为它是个轻量级框架。 映射的灵活性很出色,它支持各种关系数据库,从一对一到多对多的各种复杂关系。但是,它限制所使用的对象模型。(例如,一个持久性类不能映射到多个表)其独有的界面和可怜的市场份额也让人不安,尽管如此,Hibernate 还是以其强大的发展动力减轻了这些风险。其他的开源持久性框架也有一些,不过都没有 Hibernate 这样有市场冲击力。Hibernate最便捷的优点是可以再不同数据库之间切换而不用修改源代码,只需在配置上修改即可。3 总体设计当用户登录后,会根据用户的级别分为系统管理员和收银员。收银员具有场地预定、预定开单、场地结账、打印账单、场地更换、会员注册、会员充值、查看账单的功能,系统管理员会比收银员多的权限有:场地价格设置、添加场地、会员删除、添加系统收银员。还有管理员,管理员具有所有权限。而收银员只有场地管理和会员管理的权限。根据需求分析,体育场管理系统的功能结构入下图所示。3.1 系统结构设计首先操作人员需要登录系统,根据登录级别进入不同的管理界面。收银员进入只有场地预定、场地更换、场地结账、会员添加、会员充值、会员信息查看的管理界面。管理员进入的管理界面,不仅具有收银员的所有权限,而且还有查看财务信息和统计收入,还有对系统的管理:添加各种场地的类型,如足球场、篮球场等,为每个已有的类型场地添加场地,修改每个类型场地的使用价格,添加收银员等。体育场馆管理系统登录模块场地管理会员管理财务管理系统管理收银员管理员注册会员删除会员会员充值查询统计添加场地类型添加场地添加收银员价格设置打印报表图3.1 体育场管理系统功能结构图3.1.2 场地管理功能模块由于场地管理下设内容比较多,场地管理需要实现对客户的场地开单、场地更换、场地结账,以及管理整个运动场各个场地的使用情况,所以将其内容另列在下面。场地管理在体育场管理系统中是一个重要的模块,在设计中需要判断场地重复使用,场地已经使用则不能维修等细节问题。场地管理场地开单场地维修状态查询场地结账场地更换场地启用打印单据打印账单图3.2 场地管理模块功能结构图3.2 系统架构本系统采用了模型-界面-控制结构。模型层主要负责接受控制层的调用,向数据库查询、添加、修改或者删除数据,并将数据或者信息返回给控制层。界面层主要是面向用户的,使用者根据需要点击按钮或菜单、显示表格等,界面层主要内容就是向控制层请求,显示用户需要的数据;控制层是模型层与界面层的中介,控制层接受界面层的请求,调用相应的模型层并接收返回的数据或者信息,并将接收到的数据或信息返回给界面层。模型读取数据界面显示数据控制决定调用调用调用返回返回会图3.3 系统模式图程序设计分类如下,com.my.model为模型层,负责数据交互;com.my.service为控制层,主要负责调度;com.my.view为界面层,为用户提供需要的显示。com.my.tools为工具包,如字体、图片设置等。图3.4 代码分类图4 数据库的设计4.1 数据设计用户进行登录,需要判断用户登录是否合法,那么就需要用户登录表,那么登录有用户名,密码,为了方便管理,还应该有用户级别来却分管理员和收银员;场地预定需要有场地预定表,预定表首先得有一个编号来作为主键,还要有场地的编号、场地的类型、该场地的计费标准、计费的方式、开始的时间和预计结束的时间、用户的类型,将这些信息记录下来作为计算花费金额的凭据;会员作为一种促销手段,可以留住回头客,为了方便管理,需要建立会员表,会员表需要会员编号作为会员的唯一身份标识、还有会员的姓名方便会员卡的补办等、会员的押金(可以充值)、会员注册的时间、联系电话和总充值金额,记录总充值金额是为了区分哪些会员消费多,可以给予其一些奖励等;财务表是在场地使用结束后,将场地的使用的各项信息记录下来,作为收入判断或者在顾客有疑问时提供依据,财务表需要一个编号来作为主键,需要将使用场地的场地编号、场地类型、押金、计费标准、计费方式、开始时间、结束时间、花费金额和用户的类型记录下来;为了方便管理场地设计了场地表,场地表以场地编号作为主键、场地类型用来却分场地和与场地类型表联系、显示图片的路径、场地当前可用状态和必要的备注信息。场地类型表中记录现有的场地类型编号、类型名称、按次收费的价格、按时间收费的价格和备注。4.2 系统E-R图是ER模型中,包含“实体”、“联系”和“属性”三个基本成分。实体实体是客观世界存在的且可相互区分的事物。它可以是人也可以是动物;可以是具体事物也可以是抽象概念。联系联系是指客观世界中各事物彼此间的联系。联系分为三类:一对一的关系,一对多的关系,多对多的关系。属性属性是实体或联系所具有的性质,通常一个实体用若干属性来刻画。人们通常就是用实体、联系和属性这三个概念来理解现实问题,因此,ER模型比较接近人的思维方式。此外,ER模型使用简单的图形符号表示系统分析员对问题的理解,不熟悉计算机的人也能理解它,因此,ER模型可以作为用户与系统分析员之间的交流工具。根据系统功能,确定实体、联系、属性,构建E-R图。(1)会员实体信息图会员是为了招揽顾客的一种促销手段,会员实体信息记录了会员的基本信息,而且会员还可以在使用场地时享受优惠。会员会员编号会员姓名卡存金额注册时间联系电话积分性别图4.1 会员实体信息图(2)场地实体信息图场地实体信息记录场地的基本信息。如场地编号、场地类型等。在管理员或收银员预定的时候需要读取场地的信息,但是需要调整或者设置场地信息的时候就需要管理员。场地信息场地编号场地类型图片路径可用状态备注图4.2 场地实体信息图(3)场地类型实体信息图场地类型实体主要记录了有多少种类型场地。运动有很多种,所以运动场地也有很多种,如足球场、篮球场、羽毛球场等。类型信息类型编号类型名称按次价格按时价格备注图4.3 场地类型实体信息图(4)预定实体信息图预定实体信息是将场地预定的信息保存起来。如场地号、计费方式、计费标准、开始时间等。预定信息编号场地编号计费标准押金开始时间预计结束时间计费方式用户类型图4.4 预定实体信息图(5)财务实体信息图由于有收入统计、信息核查等问题,所以财务信息非常重要,将结账后的场地、开始时间、结束时间、花费金额等信息记录下来,可以统计不同时间段的收入,为制定经营策略提供帮助,也可以在顾客票据丢失的时候提供查询依据。财务信息结束时间花费金额场地编号计费标准押金开始时间编号用户类型计费类型场地类型图4.5 财务信息实体信息图各个实体之间是有联系的,如顾客中有会员也有非会员;管理员只有1个,即可以管理会员也可以管理收银员,还可以管理场地(对场地的增删改);收银员可以为多个顾客开单,它们的具体关系如下图所示。图4.6为实体关系图。图4.6 实体关系图4.3 数据表设计表4.1为数据库表中各个表的名字和其所记录的信息,表4 数据库表表名说明myuser记录登录信息myground记录场地信息yuding记录预定信息member记录会员信息finance记录交易信息gstyle记录场地的类型信息l myuser表myuser表记录了登录用户的信息,uid为登录用户的用户名,用户名为主键,upasswd为登录用户的用户密码,ulevel为登录用户的用户级别,如果值为0 ,就是管理员,如果值为1就是收银员。如表4.1。 表4.1 myuser表字段名类型长度为空主键备注uidnvarchar50NY用户名upasswdnvarchar50N用户密码ulevelint1N用户级别l myground表该表记录了每个类型场地的场地信息,gid为场地的编号,场地编号为主键;gtype为场地类型,gimage为界面显示的图片的路径,gkey为判断场地是否可预订的标记,things为该场地的备注,用来记录使用说明等。如表4.2。表4.2 场地表字段类型长度为空主键 备注gidnvarchar5NY场地编号gtypenvarchar50N场地类型gimagenvarchar50N图片gkeybit1N场地是否可用thingsnvarchar255Y备注信息l 场地类型表记录场地类型的信息,gid为场地类型的编号,该为主键且为自增;gname为场类型的名称,如足球场、篮球场等;tprice为按次数收费的场地使用价格,sprice按时间收费的价格;things为备注,记录一些必要的说明。如下表4.3。l 表4.3 场地类型表字段类型长度为空主键 备注gidnvarchar5NY场地类型编号gnamenvarchar50N场地名称tpricenumeric10, 2N按时计费(元)spricenumeric10, 2N按次计费(元)thingsnvarchar255Y备注信息l 预定表记录场地预定的信息,gid为场地的编号,gid为主键;price为此次的计费标准,即价格;gdeposit为顾客使用时的押金;gstart为场地预定开始时的时间;gtype记录了什么计费方式,如计次收费或者计时收费;usertype为顾客的类型,是会员或者是非会员,是会员则为会员号。如表4.4。表4.4预定表字段类型长度为空主键备注gidnvarchar5NY场地编号pricenumeric10, 2N计费标准gdepositnumeric10, 2N押金gstartdatetimeN进场时间gtypeintN计费类型usertypenvarchar50N会员/普通用户l member会员表记录会员信息,mid为会员的编号,会员编号为主键;mname为会员注册时的姓名;mdeposit为会员的余额,如果是注册会员则为会员的押金,mtime为会员的注册时间;mtel为会员的联系电话;mtotal为会员的总充值金额,也可以当积分使用。如表4.5。表4.5 会员表字段类型长度为空主键备注midint6NY会员编号mnamenvarchar5050N会员姓名mdepositnumeric10, 2N会员余额mtimedatetimeN注册时间mtelnvarchar50N联系电话mtotalnumeric10, 2N充值总数l finance财务表财务表记录交易信息id为序号,且为自增的;gid为场地编号;price为计费标准;gdeposit顾客使用场地时的押金;gstart为顾客使用场地时的进场时间;gend为顾客使用完场地的离场时间;gtype顾客使用场地时的计费类型,如按次计费或者按时间计费;gcost为顾客当次的花费的金额;usertype为顾客的类型,是会员或者是非会员。如表4.6。表4.6 财务表字段类型长度为空主键备注idint10NY序号(自增)gidnvarchar50N场地编号pricenumeric10, 2N计费标准gdepositnumeric10,2N押金gstartdatetimeN进场时间genddatetimeN离场时间gtypenvarchar50N计费类型gcostnumeric10,2N花费金额usertypenvarchar50N会员/普通用户5 详细设计与实现程序设计时,为了实现系统功能,系统中共设5个大模块共13个小模块。5个大模块分别为管理员登录模块,场地管理模块,会员服务模块,财务统计模块和系统维护模块。14个小模块分别为用户登录模块、场地预定模块、场地更换模块、场地结账模块、场地状态显示模块、会员充值模块、会员查询模块、会员管理模块、财务统计模块、场地设置模块、人员管理模块、价格设置模块、管理模块。5.1 用户登录模块本系统只有合法用户才可以登录,因此为了验证用户身份合法性的与否,并判断用户的基本,设计了用户登录模块。如图5.1。图5.1 登录流程图5.2 场地管理模块场地管理模块是本系统的主要模块,该模块包括场地预定子模块、场地更换子模块和场地结账子模块,场地显示模块。场地管理模块的主要功能是当顾客入场时,先在管理员处预定运动场地,管理员根据顾客需求为顾客选择场地,顾客交押金,如果顾客办理了会员,则只需为会员充值即可,不用在预定场地时交纳押金,只需输入会员号即可,选择计费的模式,然后管理员为顾客打印单据,顾客凭单据入场;如果顾客对场地不满意,还可以更换至其他空闲的场地,只需将场地号改变即刻,其他都不用改变;当顾客运动完以后,需要去管理员处结账,系统会根据预定场地的时间和当前时间计算出场地使用的时间,然后再根据计费模式和计费标准计算出消费的金额,如果押金不够,则顾客需要补足押金才可以结账,如果顾客是会员,则消费金额需要从顾客的会员余额中扣除,当会员余额不足时,不可以结账,然后打印出收据。场地在显示的时候会根据系统管理模块中场地设置的信息,然后从数据库中查询场地的数量编号等信息,然后将这些信息显示到主界面中,当场地预定完后,会显示一种图片,未预定的场地一种图片,维修的场地是一种图片,将图片的路径保存到数据库中,每次预定、更换、结账、保修和启用的时候,都需要跟据显示来使场地不同状态显示不同的图片。5.2.1 场地预定子模块预定子模块中,需要输入押金、选择场地、是否为会员和选择计费的方式(按时计费和按次计费),每次切换计费方式时,系统都会向model层查询该类型场地下此种计费模式的价格,然后返回此值。当打开预定窗口时,系统会向model层查询gKey为1的所有信息,然后将符合要求的场地号返回。如果来宾是会员则需要输入会员号,输入完后切出该文本框使用FocusListener,即切出文本框后就将此次输入的会员编号提交给控制层,控制层向model层查询此编号是否存在。如果存在,就会返回此会员的余额;如果不存在,就将该文本框的内容设置为“普通用户”,那么用户就需要输入押金或者重新输入会员编号。当点击【确定】按钮后,系统会将场地号、场地类型、会员身份、押金(或会员余额)、计费标准、计费方式等信息封装,然后提交给控制层,控制层会根据是否打印单据判断是否将数据提交到打印机,然后将数据提交到model层保存,并将该编号的gkey字段设置为0。预定时输入会员编号,如果输入正确,则当光标切出该行文本框时,将会员余额显示到下一行,如果输入错误,会员类型那栏则会显示“普通用户”,余额显示0.00。输入钱的金额时候使用KeyListener限制输入为只能输入数字。场地预定流程图如图5.2所示。图5.2 场地开单流程图5.2.2 场地更换子模块在顾客已经预定场地以后,觉得该场地不能满足他的要求,或者顾客习惯在某个位置的场地而那个场地又正好空着的时候,可以为顾客更换场地。更换场地的时候,需要向数据库查询gkey字段为1的所有场地编号,然后将当前场地的场地号与顾客选择的更换后的场地号一起提交到model层,由model进行修改预定表中的场地编号,其他信息不作改变。场地更换流程图如图5.3所示。图5.3 场地更换流程图5.2.3 场地结账子模块场地结账子模块是当用户运动完离场时,需要去管理员处结账。结账时需要向model层查询开单时的所有信息,如开始时间、场地号,如果是会员则查询会员编号与会员余额、计费方式、计费标准等,然后将开始时间与计费标准提交到控制层,控制层根据计费方式判断,如果是按时间计费,则根据当前系统时间计算出时间差,次差值单位为毫秒,计算出时和分,如果分钟数大于5,那么小时数就加1,即多于5分钟就按1小时来算乘以计费标准;如果是按次数计费,那么花费的金额就等于计费标准,然后将计算出的花费金额与使用时间返回给界面层。顾客结账以后,将开单时的信息与花费金额和结束时间进行封装,将封装之后的信息提交给控制层,由控制层转交到model层并保存到财务表中,并将此封装数据提交到打印机打印出账单。结账完后将该条开单信息删除,如果顾客是普通用户,则根据开单的信息为顾客找零,如果顾客是会员,将开单时填写的会员编号与花费的金额提交到控制层,控制层先将此编号提交到model层查询出该会员的余额与花费金额计算差值,然后将会员编号与计算后的差值提交给model层,由model 层进行修改。在这里无论是普通用户,还是会员用户,结账的时候在控制层会进行判断,如果余额不足以支付花费,是不可以结账的,需要将金额补足才可以结账。场地结账流程图如图5.4所示。图5.4 场地结账流程图以下是计算花费金额的代码:DateFormat df = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);long diff = Calendar.getInstance().getTime().getTime()- df.parse(cost).getTime();/计算时间差(单位是毫秒)long dayh = diff / (1000 * 60 * 60);/计算有多少小时long daym = (diff / (1000 * 60) % 60;/计算有多少分钟if (daym = 5) dayh+;/如果大于5分钟,则算小时数加1money = dayh * Float.valueOf(fee);/计算花费的金额5.2.4 场地状态显示子模块场地显示子模块是在主界面中当管理员点击了该标签后,在主界面的右侧中间部分会显示出该类型的场地数量和场地当前状态的图片表现。场地使用时,场地上会显示使用的图片,该图片的路径保存在数据库中;当场地预定以后,调用model层会将Myground中图片路径的字段修改为已预定的图片路径,图片即会变成另一个,该路径也保存在数据库中;当该场地结账后,调用model层将Myground表中的图片路径字段修改为未使用的图片路径,场地的图片又会显示为未预定的图片。如果场地需要维修或清理等问题,可以点击维修按钮,则场地会设置为不可预定状态,那么场地也会设置成有维修标志的图片;如果场地处理完了,那么场地需要回复到可使用状态,并且将图片也替换为正常可预定状态的图片。如图5.5所示。以下是部分从数据库调取数据的代码:public ArrayList checkFoot(String placetype)ArrayList al=new ArrayList();/创建动态数组Session session = null;Transaction ts = null;String hql = from Myground where placetype=+placetype+;try session = HibernateUtil.openSession();/建立连接ts = session.beginTransaction();Query query = session.createQuery(hql);List list = query.list();for ( Myground m : list) al.add(m); /将数据库查询到的数据添加到动态数组mit();图5.5 场地状态显示流程图5.3 会员服务模块会员服务模块是为了留住顾客而设置的一种优惠模式,如果顾客办理了会员,不仅消费时更加方便,而且还可以享受优惠。为了更好的管理会员信息,实现对会员的添加、删除、修改及充值等操作。系统设计了会员服务模块,其中包括三个子模块,分别是会员充值子模块、会员信息查询子模块、会员管理子模块。在会员充值子模块中,当会员输入会员ID后,系统先判断是否存在次ID。只有当存在的时候系统才会调用充值方法,对此会员余额进行加值。在会员管理子模块中,实现了会员的添加和删除的功能。5.3.1 会员充值模块会员充值模块是根据输入的会员编号,由FocusListener先将此输入的会员编号提交给控制层,控制层首先判断此会员编号是否存在,如果存在返回会员的姓名,用来判断是否是该会员本人,当点击了充值按钮以后,系统会想将此次输入的数据提交到控制层,控制层首先向model层查询该会员的余额与总充值金额,将会员余额与提交的充值金额求和以后,model层将该会员的余额字段的值修改。并且会将这次充值的金额加到总充值金额的那一列中,这个数据可以作为节假日或者其他日期的活动奖励凭证,也可以将这个值换算成积分,以积分的形式来换取奖励,从而达到促销的作用。如图5.6。图5.6 会员充值流程图5.3.2 会员管理子模块会员管理子模块是向数据库查询所有会员的信息,将这些信息保存到动态数组ArrayList中,然后将这些信息以表格的形式显示到JScrollPane面板中;当需要添加会员时,点击【添加】按钮,会弹出添加会员信息的窗口,需要输入会员的姓名、会员的押金和联系方式,将这些信息封装交给控制层。控制层首先判断此会员号在数据库中是否存在,如果不存在会返回一个false标记,并提示“会员编号重复,请重新输入”,然后返回到输入界面;如果不存在则返回一个true标记即可添加,然后将封装好的数据提交到model层,用session.save()保存到数据库中。当点击表格中某会员信息时,首先获取该会员所在的行号,然后再获取这行的第一列的信息,即得到了该会员的会员的编号。如果点击【删除】按钮,那么系统会将获得的会员编号提交到model层,然后由model层删除此条会员的信息。图5.7 会员管理流程图5.4 财务管理模块财务管理模块是本系统比较重要的模块,其功能必须准确的记录日常的交易情况,并且可以完善和清晰的将交易情况显示出来,并且可以按照时间段来查询交易记录,也可以按照当前月,当前季度来查询,并统计出当前时间段下的收入金额,管理者可以根据收入情况来制定一些促销策略。当管理员查询财务信息的时候,系统会根据查询要求调用模型层,查询数据并显示总条数和总当前总收入。5.4.1 财务查询子模块每次结账以后系统会将开单信息和结账时间与花费金额提交给控制层,控制层进行处理和再封装以后提交给model层保存到数据库。每次查询的时候,如果是按日期段时间来查询的话,点击按钮会弹出一个日历窗口,管理员选择日期后,系统将两个日期提交给控制层,由控制层将两个日期和格式处理好之后提交到model层进行查询并返回表格模型。并根据getRowCount()函数统计出查询记录的条数。按当前月查询是先获当前月的月份,例如取yyyy-MM-dd HH:mm:ss中的yyyy-MM,然后将值转化为yyyy-MM-01 00:00:00,和yyyy-MM-31 23:59:59再将日期按日期段查询的方法查询。按当前季度查询,1-3月为第一季度,4-6月为第二季度,7-9月为第三季度,10-12月为第四季度,首先获取yyyy-MM-dd HH:mm:ss中的yyyy-MM,根据MM判断出当前是哪个季度,然后将其换算为上述格式的日期,再以按日期段时间查询进行查询。图5.8 日历效果图图5.9 财务管理状态图5.4.2 打印报表子模块账单查询以后可以打印报表,在查询函数中继承AbstractTableModel类,当查询的时候model层会返回一个表格模型,将表格模型放到滚动面板中是将表格显示在界面中,如果将打印表格提交到打印函数,打印函数根据传递的参数(打印类型、标题、脚注、打印方式等)按需求打印出表格。图5.10 打印报表效果图5.5 系统管理模块系统维护是为了清除系统运行中发生的故障和错误,对系统进行完善;为了是适应环境的变化,满足新提出的需要,也要对原系统的局部更新。在整个软件的代码实现过程中处处都有系统维护,例如在有可能是系统部正常结束或者死机的地方都进行了一场捕获。系统开发过程中还特地增加了一个系统维护。系统管理模块是管理员独享的模块,这个模块的功能是对整个系统的一些设置,例如添加场地、设置场地的价格、查看财务统计、添加收银员等等。由于其中的一些设置可以影响正常营业,所以只有最高权限才可以对这一模块进行操作。系统管理模块包括人员管理子模块、场地添加删除子模块、场地价格设置模块。本系统中人员管理子模块是添加或删除收银员的模块,为了系统的安全考虑,人员添加的时候只能添加收银员,而不能添加管理员,所以管理员只有一个,收银员可以无限添加。5.5.1 人员管理子模块管理员主要负责为系统进行一些合理设置,例如为每个类型的场地进行不同计费方式的价格设置,场地扩建以后在系统中添加该场地,添加收银员等。管理员也可以进行普通的场地管理,例如场地预定、更换场地等。收银员只能进行场地的管理,所以需要添加收银员来实现分工管理,分摊管理员的工作的工作量。这个模块的主要功能是由管理员添加收银员,将收银员的信息保存到登录表中,或者
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年社会企业发展行业研究报告及未来发展趋势预测
- 2025年智能电网行业当前发展现状及增长策略研究报告
- 2025年市场营销师(市场营销调研与预测)技能资格知识考试题与答案
- 2025年材料员之材料员基础知识模考模拟试题(含答案)
- 2024年电网公司招聘:电工进网证安全及理论知识考试题库(附含答案)
- 2025年浇筑水闸门承包合同范本
- 2025年第三届农作物植保员技能大赛理论考试试题库(含答案)
- 摩托车返程安全知识培训课件
- 2024年全国“法人信贷”管理规定知识试题库(附含答案)
- 【2025年】四川省雅安市公务员省考公共基础知识预测试题含答案
- 预制菜产业园可行性报告
- 乡村坑塘管理制度
- 2025年全国焊工职业技能竞赛考试题库(附答案)
- 工程师职称-个人业务自传
- 建筑垃圾处理厂项目可行性研究报告
- 企业知识产权管理作业指导书
- 保安员资格考试复习题库及答案(800题)
- 乡村公路沥青铺设施工方案
- 普外科常见病种
- 智慧校园系统项目招标评标方法评分标准
- 2024年四川省公务员录用考试《行测》真题及答案解析
评论
0/150
提交评论