鲜花店业务管理系统.doc

上传人:xin****828 文档编号:6635232 上传时间:2020-03-01 格式:DOC 页数:46 大小:1.47MB
返回 下载 相关 举报
鲜花店业务管理系统.doc_第1页
第1页 / 共46页
鲜花店业务管理系统.doc_第2页
第2页 / 共46页
鲜花店业务管理系统.doc_第3页
第3页 / 共46页
点击查看更多>>
资源描述
厚德树人笃学致用*遵义师范学院毕业论文(设计)题目: 鲜花店业务管理系统系别 计科系 专业 计算机科学与技术 年级 2010级 姓名 罗泽丽 学号 10410901019 指导教师 王亚 2014年 4 月 16 日目 录目 录1摘 要31 引言11.1 背景介绍11.2 系统功能概述11.3 系统开发环境11.3.1 开发环境介绍11.3.2 开发环境搭建11.3.3 系统实现模式12.1 可行性研究22.1.1 经济可行性22.1.2 技术可行性22.2 系统需求分析32.2.1 功能需求分析32.2.2系统性能需求33 系统设计43.1 系统功能设计43.1.1 总体设计43.1.2 详细设计53.2 系统用例分析63.2.1 用例分析63.2.2 用例详细说明73.3 数据库需求分析83.4 创建数据库124 系统实现184.1 销售员功能模块实现184.1.1 登录模块的实现184.1.2 鲜花销售模块的实现214.2 管理员功能模块实现234.2.1 系统管理模块的实现234.2.2 鲜花进货模块的实现274.2.3 鲜花库存模块的实现294.2.4 财务管理模块的实现315 系统测试355.1软件测试的意义355.2 程序的测试355.2.1 测试的重要性及目的355.2.2 测试的步骤365.2.3 测试的主要内容365.3 白盒测试375.3.1 集成测试375.3.2 功能测试375.4 黑盒测试385.4.1 主页登录测试385.4.2 站内搜索测试385.5 测试结果分析39结束语40致谢41参考文献42鲜花店业务管理系统摘 要:如今,科学技术的飞速的发展,计算机技术已经成为各行各业必不可少的工具了,数据信息的工处理和传输正在增加,步入信息化时代,这使得的进一步开发研究显得尤为迫切。随着鲜花店规模的发展不断扩大,有关鲜花的各种信息量也在成倍增长。鲜花店需要对鲜花信息进统计分析。而大型的鲜花店管理系统的功能过于强大而从降低了鲜花店的工作效率。鲜花店管理系统最主要的特点是能够实时的和准确的控制店内的销售情况。顾客的消费要求的是希望在鲜花店购物中能基本上都能购得所需的鲜花,并且还要既保证鲜花质量还要享受优质,方便的服务。本系统分析了软件开发的背景以过程;首先介绍了软件的开发环境,其次软件的详细设计过程:数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。介绍了鲜花店管理系统的需求分析、总体设计和详细设计过程,并在此基础建立了后台数据库。然后,介绍一个在Web环境下,基于B/S三层结构模式,利用JSP技术主要功能模块及其相关实现技术。以及系统有哪些功能模块组成,每个功能模块实现的功能都有哪些。关键词: 鲜花店管理系统; B/S;数据库; JSP1 引言1.1 背景介绍随着鲜花店快速的发展,早期的售货员站柜台的形式早已不能满足现有销售业的发展,其经营管理也变得越来越复杂,这样就迫切地需要引入新的管理技术。鲜花店形态具有许多优点,但它仍存在着零售业企业共有的落后的一面,例如:不能有效地管理每种鲜花,容易出现营业差错,收款结算速度慢,管理人员对及时传递资料的要求始终得不到满足等等。随着鲜花店形态的高速发展,原始的人工管理已无法应对这复杂的市场。在这样的背景下,只有依靠现代化的计算机信息处理技术来管理鲜花店,快速反映出鲜花的进、销、存等状况和各种反馈信息的分析,从而减轻劳动,强度才能使管理人员快速对市场的变化做出相应的决策,加快鲜花店经营管理效率。1.2 系统功能概述针对行业的发展现状,综合应用所学知识,设计鲜花店综合管理系统。本系统可以实现采购、销售、仓储等鲜花店基本业务的综合管理,还可以实现财务的综合统计,为鲜花店的现代化管理提供便利和可靠的保障。根据不同的业务流程,将系统进行不同的功能模块划分,每个模块各司其职,完成各自的业务管理任务。如鲜花销售模块可以进行鲜花的销售和盘点当日的销售信息等,财务管理模块可以查询鲜花店的综合营业状况,查询销售和进货的状况等。它们互相之间共享营业数据,各自又有不同的展现和用户接口形式。体现了功能的灵活实现。1.3 系统开发环境1.3.1 开发环境介绍本系统使用MyEclipse为开发工具,使用Tomcat为服务器,使用Internet Explorer为默认浏览器。1.3.2 开发环境搭建安装JDK以支持Java开发环境,整合MyEclipse和Tomcat服务器,有一个统一便利的集成开发环境。1.3.3 系统实现模式本系统采用B/S结构,使用JSP/Servlet技术,前台使用RIA富客户端的ExtJS框架,整体上采用MVC模式来实现。下面详细介绍这些概念。(1) 在网络程序中,有C/S结构和B/S结构之分,其中C/S是客户端(Client)/服务器(Server)模式,这种模式的客户端中需要安装一个客户端软件,客户端软件负责与服务器进行数据交换。B/S是浏览器(Browser)/服务器(Server)模式,客户端只需有一款浏览器就可以和服务器实现数据交互,Web应用程序就是B/S模式。(2) JSP全称是Java Server Pages,是由Sun Microsystems公司倡导、众多公司参与建立开发的一种动态网页技术标准。JSP技术以Java语言作为脚本语言(Java是一种成熟的跨平台的程序设计语言)。JSP具有非常突出的跨平台性、开放性和高效性。Servlet是一种Java编程语言类,用来扩展通过响应请求编程模型服务应用程序访问的服务器功能。尽管Servlet能够响应任何类型的请求,但它们一般用来扩展由服务器支持的应用程序。2 可行性分析和需求分析2.1 可行性研究可行性研究,是指在调查的基础上,通过技术分析、市场分析、财务分析和国民经济分析,对各种投资项目的技术可行性与经济合理性进行的综合评价。2.1.1 经济可行性作为鲜花店的管理系统,由于数据量相对较,并且数据处理上不是很复杂,所以从项目开发的角度来说其开发周期较短,它的开发成本不会很高。由于系统数据量相对较少,对计算机的性能要求相对来说也不是很高,所以在其管理上所需费用要相对较少。从本系统的投入费用、周期等方面来看,本系统都是可行的。2.1.2 技术可行性随着互联网的迅速发展,基于Internet的B/S架构应用程序逐渐被人们所熟知。基于JAVAEE规范的系统设计实现已非常成熟。是能够很好的实现B/S架构的软件。无论是从技术方面还是经济方面分析的情况都可以看出,开发鲜花店管理系统,实现鲜花店管理的计算机化是非常可行的的,也是必要的。因为使用计算机化的鲜花店管理系统可以很有效能够提高工作效率,改变目前鲜花店管理工作的现状2.2 系统需求分析所谓的“需求分析”,是指对要弄清楚问题的要求,解决的问题进行详细的分析,包括需要输入什么数据,最后应输出什么,要得到什么结果。在软件工程当中的“需求分析”就是确定要计算机“做什么”。2.2.1 功能需求分析根据鲜花店的实际运营情况进行分析,通常它们没有独立的进货,仓库,和销售鲜花都是在同一场所完成,我们即按照这一实际的情况进行系统设计。鲜花店的基本业务状况有进货、销售、库存等,此外系统中还要设置用户、鲜花、权限等必要的系统信息,可以查看鲜花店运行财务状况。根据鲜花店的业务流程,必须要设计实现的模块有鲜花销售模块,以实现鲜花销售的基本业务。采购进货模块,以实现鲜花采购进货的基本业务。库存管理模块,实现鲜花的综合管理业务。此外可以添加辅助功能模块,系统管理和财务管理,分别实现对系统的维护和鲜花店营业状况的分析查询。2.2.2系统性能需求实用性:方便可快捷的实现鲜花在采购、销售和库存等方面的信息操作。整个系统由系统管理员集中管理,实现鲜花信息的统一编码,可以促进系统管理员的并有效减少成本,工作效率和繁琐的工作量。安全性:系统采用不同的权限级别,不同的用户有不同的操作权限,实现了很好的安全认证。易操作性:本系统在销售、鲜花管理等重要环节,不需输入任何复杂的信息,管理员只需通过浏览器便可进行数据的查询、录入和修改等工作。易维护性:可以使用工具导出数据库数据,方便的维护系统,清空阶段性数据。实现系统数据处理的轻负荷。适应性:该系统对于软硬件要求并不是趋于高档,能实现广泛应用。本系统是B/S模式,可以实现同时让多个用户访问和操作。同时支持增加的鲜花供货商,动态添加基本信息等都可以随时添加。3 系统设计3.1 系统功能设计3.1.1 总体设计(1)设计思想:(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。每个模块都可以完成自己特定的功能,如销售、财务、进货等等。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的扩展性和可操作性。如程序中操作数据库时,在DAO层中操作数据库完成CRUD操作,在Util层中获取数据库连接。这样使程序便于维护拓展,层次结构分明。(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,方便系统运行,各模块间的耦合性较低,提高系统安全性。(2)设计原则:为了使本系统功能齐全完备,从而满足用户的实际需要,最大限度的提高软件的质量,操作简便,在设计开发过程中遵循如下原则:(1)合法性原则:依据鲜花店实际的工作情况,进行诸如鲜花进货、销售等工作。(2)实用性原则:适合鲜花信息管理工作的实际需求,尽可能预留空间,以便扩充功能,并能够处理一些特殊情况的要求。(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。(4)易操作原则:要求设计的系统功能齐全,操作方便,接口友好,必要的地方进行提示。(5)安全性原则:该系统的管理员具有可修改密码的权限,设置登录账户,不同的用户类型有不同的操作权限。3.1.2 详细设计本系统除了登录模块外,主页中共实现五个完整的功能模块,分别是财务管理、鲜花销售管理、鲜花进货管理、鲜花库存管理和系统管理。系统根据不同的用户角色又有不同的功能模块体现,其中销售人员的功能结构图如图3-1所示:图3-1 销售人员功能结构图管理员的对应的系统功能结构图,如图3-2所示。图3-2 系统功能结构图(1)财务管理模块包括营业综合统计、收银报表查询、结账单据查询、进货报表查询、进货单据查询。财务管理模块中可以根据设定的时间段,查询对应的营业信息。(2)鲜花销售模块包括销售鲜花、今日盘点。鲜花销售模块中系统自动将所有鲜花按照类别分类显示,销售人员可以选定鲜花或直接输入鲜花编号进行销售操作,此外还可以查看当日盘点信息。(3)鲜花进货模块包括采购进货、今日盘点。鲜花进货模块中会显示所有鲜花,采购人员可选定鲜花进行采购操作,可查看当日进货盘点信息。(4)鲜花库存模块包括库存预警、库存信息查询、损溢处理、损益查询。鲜花库存模块中可查看库存预警,库存详细信息。进行库存的损溢操作,查看损益信息等。基于鲜花店运营的实际情况不设置鲜花出库的功能。(5)系统管理模块包括用户设置、鲜花管理、供货商管理、鲜花类别管理、员工管理、权限管理、登录日志、系统信息。系统管理模块中可以设置用户信息,鲜花、鲜花类别、供货商等信息。可以添加员工并设置员工的权限。系统会自动查询出登录日志和设定的系统信息并做出相应展现。管理员可以添加账户类型,并设置相应的权限。3.2 系统用例分析3.2.1 用例分析用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生可观察到的系列结果。我们可以理解为,用例是参与者想要系统做的某件事情。根据用例和角色的概念,通过对鲜花店管理系统需求的了解,可以得到如图3-3所示的分析结果:图3-3 系统用例图在图3-3中像人一样的图形就是角色,通过对鲜花店管理系统的需求分析可知系统默认有管理员角色,管理员拥有所有系统权限,它可以添加其他用户和设置其权限;图中椭圆代表的是用例(这里分析的是系统整体上的功能);中间的箭头将角色与用例连接起来,代表的是对应的角色可以使用的用例,有一个箭头就代表对应的角色可以使用用例,没有箭头则表示对应的角色不能使用该用例。3.2.2 用例详细说明光有用例分析是不够的,用例只是程序的功能界定,需求概述也仅仅对每个功能提了个名字,想要实现系统的功能还必须知道每个功能的详细内容,深入了解用户在完成系统的某个功能时需要做些什么事。下面就让我们来看看图中用例的详细说明。(1)系统登录所有的用户都可以登录,系统会自动加载与其权限对应的主界面。(2)财务管理可以根据设定的时间段查看鲜花店整体的营业状况,查看这一时间内销售或进货的报表,查看某一结账单据的详细等等。(3)鲜花销售可以输入鲜花编号或鲜花树中选择鲜花,进行销售鲜花的操作,盘点当日的销售状况。(4)采购进货可以输入鲜花编号或鲜花树中选择鲜花,进行采购鲜花的操作,盘点当日的采购状况。(5)鲜花库存查看库存预警,鲜花少于一定数量则自动显示在预警页面中。查看库存详细信息。进行库存鲜花的损溢操作,查看损益信息等。(6)系统管理设置系统运行的必要信息,添加鲜花、鲜花类别,供货商信息,添加员工设置权限,查看登录日志,查看系统信息等。3.3 数据库需求分析数据库在一个系统中占有非常重要的地位,数据设计的优劣将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存取效率,保证数据完整性和一致性,从而有利于程序的实现。设计数据库系统时应该首先充分了解系统需求的各个方面的需求,包括现有的和将来可能增加的需求。在仔细分析和调查系统的基础上,针对鲜花店管理系统的需求,通过对鲜花店运营的流程和数据进行分析,设计如下所示的数据项和数据结构:用户信息:包括用户名称、系统启用时间、用户地址、联系电话、营业时间。其对应的实体属性图如图3-4所示:图3-4 用户信息实体属性图权限信息:包括用户类型编号、用户类型名称、财务管理权限、鲜花销售权限、鲜花进货权限、鲜花库存管理权限、系统管理权限。(其中TRUE=1和FALSE=0)其对应的实体属性图如图3-5所示:图3-5 权限信息实体属性图员工信息:包括员工工号、员工姓名、员工密码、用户类型。其对应的实体属性图如图3-6所示:图3-6 员工信息实体属性图日志信息:包括日志编号、员工工号、登录时间、退出时间、登录IP。其对应的实体属性图如图3-7所示:图3-7 日志信息实体属性图供货商信息:包括供货商编号、供货商名称、联系人、联系电话、联系地址。其对应的实体属性图如图3-8所示:图3-8 供货商信息实体属性图鲜花类别信息:包括类别编号、类别名称、类别说明。其对应的实体属性图如图3-9所示:图3-9 鲜花类别信息实体属性图鲜花信息:包括鲜花编号、鲜花名称、单位、类别、成本价、单价。其对应的实体属性图如图3-10所示:图3-10 鲜花信息实体属性图鲜花库存信息:包括鲜花编号、库存数量。其对应的实体属性图如图3-11所示:图3-11 鲜花库存信息实体属性图损溢信息:包括损溢编号、鲜花编号、供货商、损溢数量、损溢标注、损溢说明、损溢日期、操作员。其对应的实体属性图如图3-12所示:图3-12 损溢信息实体属性图销售鲜花信息:包括账单号、鲜花编号、销售数量、应收金额、折扣率、实收金额、销售日期、操作员。其对应的实体属性图如图3-13所示:图3-13 销售鲜花信息实体属性图采购鲜花信息:包括账单号、鲜花编号、供货商、进货数量、支付金额、进货日期、操作员。其对应的实体属性图如图3-14所示:图3-14 采购鲜花信息实体属性图3.4 创建数据库我们选用MySQL数据库,首先创建鲜花店管理系统数据库market,创建数据库的SQL语句为:create database market default character set utf8;,并使用当前数据库“use market”开始创建表:其中,用户信息表如表3-1所示,表名user,主键user_name。表3-1 用户信息表字段名字段类型长度主/外键约束对应中文名user_namevarchar40PNOT NULL用户名称sys_use_timedatetime-NOT NULL系统启用时间user_addrvarchar40-NOT NULL用户地址user_phonevarchar20-NOT NULL联系电话open_timevarchar20-NOT NULL营业时间用户信息表中存储系统鲜花店名称、地址、联系电话等信息。设定后它会自动加载到主页的系统信息上,每次登录时会自动显示出来。权限信息表如表3-2所示,表名userlimit,主键user_type_id。表3-2 权限信息表字段名字段类型长度主/外键约束对应中文名user_type_idint-P(auto)NOT NULL用户类型编号user_type_namevarchar20-NOT NULL用户类型名称cw_ctrlint-NOT NULL财务管理权限sell_ctrlint-NOT NULL鲜花销售权限buy_ctrlint-NOT NULL鲜花进货权限stock_ctrlint-NOT NULL库存管理权限sys_ctrlint-NOT NULL系统管理权限权限表中拥有某个权限TRUE=1,没有权限FALSE=0,向权限表中加入初始数据,定义用户类型“admin”管理员拥有所有权限,SQL语句为“insert into userlimit values(null,admin,1,1,1,1,1);”。员工信息表如表3-3所示,表名person,主键per_id。表3-3 员工信息表字段名字段类型长度主/外键约束对应中文名per_idint-PNOT NULL员工工号per_namevarchar20-NOT NULL员工姓名per_passwordvarchar20-NOT NULL员工密码user_type_idint-F(userlimit)NOT NULL用户类型系统默认使用员工工号进行登录,管理员可以添加员工设定其工号和密码,并设置其权限类型。这里向员工表中加入初始数据,加入管理员账户其SQL语句为“insert into person values(1111,admin,1111,1);”,即管理员工号:1111,密码:1111。这样启用系统后便可以使用此账户进行系统初始化操作了。员工使用其工号登录时,系统会自动根据其用户类型确定其权限,并加载对应的UI。日志信息表如表3-4所示,表名log,主键log_id。表3-4 日志信息表字段名字段类型长度主/外键约束对应中文名log_idint-P(auto)NOT NULL日志编号per_idint-F(person)NOT NULL员工工号login_timedatetime-NOT NULL登录时间logout_timedatetime-NOT NULL退出时间login_ipvarchar20-NOT NULL登录IP用户登录时系统会自动记录登录员工的工号和其登录时间、登录IP地址等信息,当用户退出时系统会自动记录其时间并更新对应记录。供货商信息表如表3-5所示,表名provider,主键pv_id。表3-5 供货商信息表字段名字段类型长度主/外键约束对应中文名pv_idint-P(auto)NOT NULL供货商编号pv_namevarchar20-NOT NULL供货商名称pv_pervarchar20-NOT NULL联系人pv_addrvarchar40-NOT NULL联系电话pv_phonevarchar20-NOT NULL联系地址设定供货商信息,在采购进货时会加载供用户选择,每笔订单中的记录都可以设定各自的供货商信息。鲜花类别信息表如表3-6所示,表名category,主键cg_id。表3-6 鲜花类别信息表字段名字段类型长度主/外键约束对应中文名cg_idint-P(auto)NOT NULL类别编号cg_namevarchar20-NOT NULL类别名称cg_statevarchar40-NOT NULL类别说明设定鲜花类别后,添加鲜花的时候便可以根据鲜花类别添加,系统也会按照鲜花类别分类显示。鲜花信息表如表3-7所示,表名sp,主键sp_id。表3-7 鲜花信息表字段名字段类型长度主/外键约束对应中文名sp_idint-P(auto)NOT NULL鲜花编号sp_namevarchar20-NOT NULL鲜花名称sp_unitvarchar20-单位cg_idint-F(category)NOT NULL类别sp_costdouble-NOT NULL成本价sp_pricedouble-NOT NULL单价添加鲜花后,进行进货、销售、损溢等操作时系统会自动将所有鲜花按照鲜花类别分类展示出来,供用户选择使用。鲜花库存信息表如表3-8所示,表名stock,主键sp_id。表3-8 鲜花库存信息表字段名字段类型长度主/外键约束对应中文名sp_idint-P(auto)F(sp)NOT NULL鲜花编号stock_countint-NOT NULL库存数量通过查询鲜花库存表可以查看库存预警信息和详细的库存信息。表中没有的冗余字段查询的时候使用表的联合查询来实现。损益信息表如表3-9所示,表名sy,主键sy_id。表3-9 损溢信息表字段名字段类型长度主/外键约束对应中文名sy_idint-P(auto)NOT NULL损溢编号sp_idint-F(sp)NOT NULL鲜花编号pv_idint-F(provider)NOT NULL供货商sy_countint-NOT NULL损溢数量sy_bzint-NOT NULL损溢标注sy_statevarchar40-损溢说明sy_timedatetime-NOT NULL损溢日期per_idint-F(person)NOT NULL操作员库存鲜花会有损溢情况,这里设置这个表,产生鲜花损溢时进行记录同时更新鲜花库存表。销售鲜花信息表如表3-10所示,表名sell,主键s_bill,sp_id。表3-10 销售鲜花信息表字段名字段类型长度主/外键约束对应中文名s_billvarchar20PNOT NULL账单号sp_idint-P/F(sp)NOT NULL鲜花编号s_countint-NOT NULL销售数量s_ysdouble-NOT NULL应收金额s_ratedouble-折扣率s_ssdouble-NOT NULL实收金额s_timedatetime-NOT NULL销售日期per_idint-F(person)NOT NULL操作员销售鲜花信息表使用联合主键“primary key(s_bill,sp_id)”,通过账单号和鲜花ID可以确定这个表中的一条记录。通过这个表可以查询销售记录,形成财务销售信息,借此以辅助提高鲜花店的决策水平。采购鲜花信息表如表3-11所示,表名buy,主键b_bill,sp_id。表3-11 采购鲜花信息表字段名字段类型长度主/外键约束对应中文名b_billvarchar20PNOT NULL账单号sp_idint-P/F(sp)NOT NULL鲜花编号pv_idint-F(provider)NOT NULL供货商b_countint-NOT NULL进货数量b_zfdouble-NOT NULL支付金额b_timedatetime-NOT NULL进货日期per_idint-F(person)NOT NULL操作员采购鲜花信息表使用联合主键“primary key(b_bill,sp_id)”,通过账单号和鲜花ID可以确定这个表中的一条记录。通过这个表可以查询采购记录,形成财务进货信息,借此以辅助提高鲜花店的决策水平。4 系统实现根据前面的分析和设计,以功能模块为单位逐个进行编码实现,这里以不同用户角色进入系统(这里以销售人员和系统管理员为例进行分析说明),分析其对应的各个功能模块的实现方法,展示其实现效果。4.1 销售员功能模块实现销售人员只是负责鲜花的销售工作,他们可以登录系统,并进行鲜花的销售和销售的盘点工作。这里便介绍登录模块和鲜花销售模块。4.1.1 登录模块的实现登录页面是系统的初始界面,用户只有登录成功才会出现系统主界面,可以进行相应操作。它是系统的门户,登录后实现了用户的权限区分。实现的登录界面和信息验证如图4-1所示:图4-1 登录界面用户登录模块会自动校验用户输入的信息,符合要求后才可以提交。登录成功自动进入系统主界面(系统根据用户类型对应的用户权限,向用户展示出对应的操作主界面),登录失败会有相应提示。登录模块实现的流程如图4-2所示: 图4-2登录模块实现流程图本模块遵循MVC模式使用ExtJS实现其前台使用Servlet处理后台逻辑。修改项目中web.xml配置,将欢迎界面改为login.jsp,在项目中创建login.jsp登录页面,引入EXT,使用ExtJS创建登录界面。创建login.js文件,使用EXT实现登录界面和登录信息校验,及Ajax提交登录信息。系统后台接收登录请求信息并加以处理,ServletLogin.java接收请求并交由业务处理类LoginBean.java进行处理,它调用DAO层各个类,实现登录信息的验证,并将验证结果返回。其源代码如下:public boolean action(HttpServletRequest request) boolean msg = false;int typeid = 0;int per_id = Integer.parseInt(request.getParameter(per_id);String pw = request.getParameter(per_password);PersonDAO pDAO = PersonDAOFactory.getPersonDAOInstance();try typeid = pDAO.queryId(per_id, pw); catch (Exception e) e.printStackTrace();if(typeid = 0) /登录验证失败return msg;else /登录成功perid = String.valueOf(per_id);UserlimitDAO ulDAO = UserlimitDAOFactory.getUserlimitDAOInstance();try Userlimit ul = ulDAO.query(typeid); /获取用户权限ulstr = ul.toCtrl(); catch (Exception e1) e1.printStackTrace();LogDAO lDAO = LogDAOFactory.getLogDAOInstance();Log l = new Log();l.setPer_id(per_id);l.setLogin_time(new java.text.SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date();l.setLogout_time(new java.text.SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date();l.setLogin_ip(request.getRemoteAddr(); /获取客户端IPtry logid = lDAO.insert(l); /设定登录日志 catch (Exception e) msg = false;e.printStackTrace();msg = true; return msg; /get/set方法完成功能代码后,便可实现系统的整个登录过程。、4.1.2 鲜花销售模块的实现鲜花店系统的一个重要功能就是鲜花销售,本系统提供一个简易的鲜花销售接口,更加接近实际。同时鲜花销售模块中提供今日盘点功能,随时查看销售信息。这里以鲜花销售为例,介绍其具体实现。创建鲜花销售的JS文件sellsp.js,其中实现了鲜花信息的加载提示(鲜花树),添加鲜花时信息的校验,账单中鲜花的查看,账单的提交等功能。其中添加鲜花的表单和鲜花树以及账单鲜花的表格之间实现了交互。首先前台界面的运行效果如图4-3所示:图4-3 鲜花销售管理-鲜花销售界面销售鲜花时点击左侧鲜花树并选择所需鲜花,其编号会自动加载到添加鲜花的表单中,或直接填写鲜花编号也可,再填写鲜花数量设定折扣率等信息后点击添加按钮,鲜花会自动添加上方的账单中,添加完毕点击提交账单来完成结算。销售鲜花的实现流程如图4-4所示:图4-4 鲜花销售管理-销售鲜花实现流程图使用ExtJS实现前台界面,实现了前台的界面后,添加后台代码实现Servlet和业务数据操作。控制器Servlet会调用Model层的业务实现类SellspBean.java,其中编码前需要加入处理Json数据的jar包。其源代码如下:public class SellspBean public boolean action(HttpServletRequest request) String data = request.getParameter(jsonData);boolean msg = true;List sl = new ArrayList();JSONArray ja = JSONArray.fromObject(data); /处理Json数据String bill = TheBill.getBillInstance();for (int i = 0; i ja.size(); i+) JSONObject jo = ja.getJSONObject(i);Sell s = new Sell();s.setS_bill(bill);s.setSp_id(Integer) jo.get(sp_id);s.setS_count(Integer) jo.get(s_count);s.setS_ys(Double.parseDouble(String) jo.get(s_ys);s.setS_rate(Double.parseDouble(String.valueOf(jo.get(s_rate);s.setS_ss(Double.parseDouble(String) jo.get(s_ss);s.setS_time(String) jo.get(s_time);s.setPer_id(Integer.parseInt(String) request.getSession().getAttribute(per_id);sl.add(s);SellDAO sDAO = SellDAOFactory.getSellDAOInstance();try sDAO.insert(sl); /添加销售信息 catch (Exception e) msg = false;e.printStackTrace();return msg;实现了控制器Controller和业务模型Model后,便可以实现销售鲜花的功能模块了。4.2 管理员功能模块实现管理员拥有系统的所有权限,首先登录系统,登录后可以操作所有的功能模块。管理员的登录模块和鲜花销售模块和普通销售人员的模块是相同的,实现方式相同,这里便不再赘述,只做其他模块的介绍。4.2.1 系统管理模块的实现 用户登录成功后,可以进行各种操作。这时系统中要有数据,系统管理模块中各个功能项用来初始化系统数据,如设定用户信息,添加鲜花,设置账户和权限等等。此模块中各个功能项使用相同的实现模式,这里以权限管理为例,介绍其具体实现。首先介绍系统主页,本系统是One Page, One Application模式,各个页面使用ExtJS实现,只要创建各个页面的JS文件并在主页index.jsp中引入即可。界面的布局和显示效果都是由ExtJS来实现。创建主页后引入各个主页布局的JS文件(如:index.js、index.tab.js、index.tree.js等),使用它们实现的主页界面如图4-5所示:图4-5 鲜花店管理系统主界面系统管理中的权限管理实现流程如图4-6所示: 图4-6 系统设置-权限管理实现流程图创建系统管理中权限管理的JS文件sysqx.js实现权限管理的界面。其中包含了信息校验,Ajax提交信息,自动加载信息等实现。权限的CRUD等请求提交到控制器ServletSysqx.java这个Servlet中,它会调用Model层各个处理类加以处理并返回处理结果,显示到页面中。ServletSysqx的源代码如下:public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);SysqxBean sqx = new SysqxBean(); /调用Model层业务处理类boolean msg = sqx.action(request);response.setCharacterEncoding(UTF-8);if(sqx.getIs().equals(qey) response.setContentType(text/javascript;application/x-json);if(msg) response.getWriter().print(success:true,root:+ sqx.getUll().toString() + );else response.getWriter().print(success:false);else if(sqx.getIs().equals(add) if(msg) response.getWriter().print(success:true,msg:添加成功!);else response.getWriter().print(success:false); /实现同上完成权限处理的代码后,就可实现权限管理的功能。可以实现了用户类型设定并指定其权限,实现的效果如图4-7所示:图4-7 系统管理-权限管理界面4.2.2 鲜花进货模块的实现鲜花店系统采购进货是一个必须的功能,本系统提供鲜花进货模块,实现采购进货。此模块和鲜花销售模块实现的功能类似,有采购进货和今日盘点,并且他们的实现模式也是类似的,这里以采购进货的今日盘点为例,介绍其具体实现。在进货模块中点击今日盘点,系统自动将今日进货的信息取出展示出来。采购进货模块今日盘点的运行效果如图4-8所示:图4-8 鲜花进货管理-今日盘点界面鲜花进货今日盘点实现流程如图4-9所示:图4-9 鲜花进货管理-今日盘点实现流程图创建JS文件buypd.js实现今日盘点的界面和数据请求,其源代码如下: Ext.namespace(buypd);buypd.panel = function() var grid = new Ext.grid.GridPanel(title: 今日盘点,loadMask: true,closable: true,store: store,cm: columns,sm: new Ext.grid.RowSelectionModel(singleSelect:true),height: 20, region: center, viewConfig: forceFit: true , tbar: new Ext.Toolbar(-, id: thesum, text: summsg, xtype:tbtext ,-), bbar: new Ext.PagingToolbar( pageSize: 10, store: store, displayInfo: true, displayMsg: 0 - 1 共 2, emptyMsg: 没有记录, listeners: change:function() summsg = 当前页支出总计:+acount();Ext.get(thesum).update(summsg); );return grid;4.2.3 鲜花库存模块的实现本系统中提供库存管理的模块,其中可以查看库存预警,库存详细信息,进行库存鲜花的损溢操作和查询损溢信息。他们都是对库存信息表的操作,实现模式类似,这里以库存信息查询为例,介绍其具体实现。首先创建前台的JS文件stockcx.js,实现界面布局和数据请求,这里鲜花信息按照鲜花类别分类显示,实现了UI页面后运行效果如图4-10所示:图4-10 鲜花库存管理-库存信息查询界面点击库存信息查询系统自动将库存鲜花的信息查询出来展示给用户。流程如图4-11所示:图4-11鲜花库存管理-库存信息查询实现流程图实现后台业务的代码和上边各个模块的实现类似,处理库存信息的类StockBean.java其核心代码如下:public boolean action(HttpServletRequest request)StockDAO sDAO = StockDAOFactory.getStockDAOInstance();is = request.getParameter(is);boolean msg = true;if(is != null & is.trim().equals(yj) int start = Integer.parseInt(request.getParameter(start); int limit = Integer.parseInt(request.getParameter(limit);try ms = sDAO.yjquery(start, limit); catch (Exception e) msg = false;e.printStackTrace();Iterator i = ms.entrySet().iterator();if(i.hasNext()me = (Map.Entry) i.next();else if(is != null & is.trim().equals(cx) int start = Integer.parseInt(request.getParameter(start); int limit = Integer.parseInt(request.getParameter(limit);try ms = sDAO.query(start, limit); catch (Exception e) msg = false;e.printStackTrace();Iterator i = ms.entrySet().iterator();if(i.hasNext()me = (Map.Entry) i.next();return msg; 4.2.4 财务管理模块的实现在鲜花店管理系统中加入财务管理的模块,用户可以查询销售和进货的报表或某一个具体的账单,还可以进行综合查询了解当前的营业状况,以辅助决策营销策略。这几个功能项的实现模式类似,这里以收银报表查询为例,进行具体介绍。首先创建前台的JS文件cwsybb.js,实现页面布局和Ajax请求数据。其实现和前面各个UI的实现类似,收银报表查询实现后其运行效果如图4-12所示:图4-12 财务管理-收银报表查询界面用户在上方工具条上点击时间日期选择按钮,选择出相应的时间段,开始时间要早于结束时间,系统会自动校验。选择完成点击查询按钮,系统将会把请求的数据展示出来。其中收银报表的实现流程如图4-13所示:图4-13 财务管理-收银报表查询实现流程图实现了前台的UI后,后台添加处理业务逻辑的代码,其业务实现类CwsybbBean.java的源代码如下:public boolean action(HttpServletRequest request)SellDAO sDAO = SellDAOFactory.getSellDAOInstance();boolean msg = true;is = request.getParameter(is);if(is != null & is.tr
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 人文社科


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

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


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