版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JAVA的超市物流配送管理系统设计与实现目录TOC\o"1-3"\h\u215221.绪论 摘要:随着信息化的发展,它给诸多行业赋能,提升了生产水平。为了促使超市管理水平的提升,可以将信息化手段引入超市管理中,以提升超市运营效率。系统的功能包括订单配送管理、订单取消管理、商品管理、用户管理、权限管理等,其中订单配送管理是系统的重要功能,订单配送的流程是一般用户先选择商品进行下单,系统管理人员对订单进行管控,包括安排订单的配送和确保订单送达。本文基于系统需求,在充分考虑了技术、经济等可行性的基础之上,着手对系统进行设计,分别从核心功能和基础功能两方面入手开始设计,并对数据库进行了规划和设计。系统后台选用Java开发,前台采用Jsp、JavaScript等技术进行开发,在开发完成后,系统经过了功能测试,经测试,系统完全实现了系统最初的系统功能和需求,达到系统建设的目标,通过了系统测试,充分验证了系统可用性。关键词:配送;超市供应;供应链管理绪论课题背景随着数字化经济的发展,各行各业都引入了信息化并提升了行业运营效率,从重工业、社交、交通到教育、培训等。超市在人们的日常生活中有很重要的作用,满足人们的衣食等购物需求,超市如果引入信息化手段能进一步提升运行效率,方便超市运营,也给人们日常生活带来便利。超市在我们的经济生活中随处可见,小型超市和大型超市承担了民众日常生活用品供应的任务。小型超市由于其分布广泛,几乎随处可见,这使得购物非常便捷,因此小型超市为民众的日常生活提供了便利。但是,小型超市由于经营范围较小、投入资本偏低,因此在日常的运行中,小型超市几乎都很少引入信息化手段。随着我国互联网飞速的发展和普及,我国已经由信息时代大跨越到目前的智联网时代,在此进程中,大型企业,比如淘宝、京东等都纷纷拥抱技术,不仅利用信息手段提升了企业运行效率,甚至还成立技术输出的科技公司。而反观小型供应商和小型超市,依然在使用一些传统的方式运行着,比如采用手工记账的方式,这使得超市的运行效率跟不上时代的要求,从而错过客流,难以吸引顾客。为了提升小型超市的运行效率,可以借助大型企业的思路,引入信息化手段,规范小型超市内部和外部的流程和管理,提升管理水平和盈利能力。引入信息化手段,可以从用户管理、货物管理、供应商管理等多个维度提升小型超市的运行效率。以商品配送管理为例,可以方便购买者对要购进的商品进行输入下单,然后后台可以看到商品下单信息之后进行发货,经过运输和配送之后就可以达到购买者手中,等待商品配送完成之后,后台可以关闭这个订单,完成这个配送过程。本系统的初衷是让超市进货可以实现自动化,超市下单之后,后台人员就可以安排给超市进行配送商品,提升超市的运行效率。但是本系统还可以被超市用使用,这样可以方便超市附近的居民下单从超市进行购物,而超市进行配送。本文后续不再严格区分这两种使用场景,而是将主要精力集中在商品的管理、订单管理、用户管理、退单管理等具体的商品配送细节中,以提升系统本身的可用性和易用性。研究意义小型超市管理系统可以大幅提升超市的运行水平。对超市来说,可以提升其内部管理水平和外部管理水平。内部可以提升内部人员的管理水平,还可以提升超市内货物的管理水平,外部可以提升和供应商之间的管理水平,提升和供应商的沟通效率[2]。本人也可以通过对小型超市管理系统的调研、分析、设计和实现来提升我个人的信息化技术水平,使得大学四年来所有专业知识得以应用,同时提升工程能力,为以后的工作积累项目经验。对社会来说,经济社会中的小型超市数量巨大,如果每一个超市都可以提升其运行效率,那就可以为顾客节省时间,为员工谋取更大福利,从而提升整个社会的经济运行效率。国内外的发展现状随着经济发展和人们生活水平的提高,市场的形势也发生了变化。人们的生活需求不再满足于衣食无忧的低要求。近年来,很多人不仅仅是因为他们在新兴产业中表现出色。现代化的市场管理和便利的购物吸引了无数的顾客[4]。国外的超市信息化水平整体比我国起步早一些,尤其是大型超市的信息化水平很高,以沃尔玛为代表的一些巨头超市早就利用信息手段提升超市运营水平[7]。而国内的一些大型超市虽然引入信息化比国外发达国家迟一些,但是也将信息化引入了。国外信息技术发展较早,尤其是在发达国家,这些国家很早就将信息技术引入了超市管理中,比如沃尔玛等国外超市巨头,在整个超市的供应链管理中引入了信息化系统,用来管理上游供应商,以保证超市供应需求的稳定[13];在超市的营业系统中,也引入了信息化系统,从而可以完成超市的营业活动[2];在超市的客户管理中也引入了信息化手段,比如可以按照客户的消费积累一定的积分,然后换成其他商品,这可以增加客户的忠诚度[8]。总之,在外国的超市管理中,大量引入了信息化系统和手段提升超市运作效率,并最终提升超市盈利水平。课题实现的主要目标(1)系统要对进行售卖的商品进行管理,包括商品的录入和商品的删除以及商品的修改等。(2)系统要对订单进行管理,这些订单就是用户打算购买进行下单的,下单的内容主要包括要购买的商品、商品的价格、下单者的联系方式等信息,这样就可以管理购买商品的订单了,包括订单的创建、状态变更和取消等。(3)系统还要支持退单管理,如果用户进行了下单,但是由于某种原因需要取消订单,系统需要进行支持,可以支持已经下单的商品的取消。(4)系统需要对用户进行管理,这样就可以规范用户,还要给用户提供修改相关信息的功能。本文主要工作和结构安排第1章,本章介绍了超市商品配送系统开发的课题背景,以及此课题的研究价值和现实意义,以及超市商品配送的国内外发展现状,和此课题将要实现的主要目标。第2章,本章介绍了超市商品配送系统开发所使用的相关技术及其特点,并介绍了此系统的各种开发工具。第3章,本章介绍了超市商品配送系统的各方面可行性分析,以及系统具体的需求分析,详细阐述了超市商品配送的各种功能性需求和其他非功能性需求。第4章,本章介绍了超市商品配送系统的概要设计,从架构层面对系统进行规划和设计。第5章,本章是超市商品配送系统的详细设计和实现部分,对每一个具体模块进行细化。本章小结本章主要介绍了超市商品配送系统的课题背景,首先分析了课题背景并提出本课题,然后通过文献阅读和分析的方式对国内外的发展现状进行综述,接着阐述了课题实现的主要目标,最后对全文的框架和内容安排进行了叙述。
系统相关概念和技术开发语言系统前台主要使用HTM和CSS开发。HTML一种静态的网页生成语言,其中文名称是超文本标记语言,对于网站的开发一般都会使用HTML语言,目前其已经发展了多个版本最新的HTML版本是HTML5,在静态网页的开发和动态网页的开发中都会使用HTML语言,究其原因是容易学习和使用,语法相对较简单。一般HTML文件的后缀名是.html.可以直接使用浏览器打开,预览相关的功能[6]。在网站的开发经常会涉及到调网页的样式,以保证网站的页面精美,简洁。所以在开发网站中经常会使用CSS样式控制表来制定统一的网站样式[5]。比如:想要控制整个完整的文字大小,可以在CSS样式中进行控制,你所具备的功能应当是满足不同网页的需求,CSS控制网页的主要方法是使用HTML的属性进行样式的控制。以保证网页精美漂亮。系统后台拟采用Java开发,Java语言是当前最后广大码农欢迎的一门语言。Java可以通过虚拟机使得其有良好的跨平台能力,在移植方面也有很大优势,因此,本文选择Java开发。由于Java语言的生态较好,因此还可以选择一些优秀的开源框架作为系统的基础软件,从而可以提升开发效率。开发架构介绍以MVC架构作为小型超市管理的框架。MVC是一个常用的设计模式,这种设计模式旨在降低各个模块或者逻辑模块之间的耦合度,这样可以使得一个模块的变动不会影响另一个模块,可以降低模块之间的依赖程度,从而大幅提升系统的设计灵活度和可扩展性,是一个成熟的设计模式[12]。MVC是由三个英文单词的首字组成,这些单词分别是Model、View、Controller,其中Model就是模型,它是系统中的数据本身,而View是给客户展示的视图样式,Controller是控制请求和回应的策略关系的,也就是一个请求应该给返回哪一个页面视图。实现了MVC设计模式的框架系统有很多,但是当前最流行的框架莫过于SpringMVC,在SpringMVC中,Controller一般是通过配置系统的映射实现的,也就是前台可以发起某一个请求,而Controller负责接受这个请求,并将请求转发给对应的逻辑处理代码,Controller后面一般还有一个Service层和一个Dao层,其中Service是程序的业务逻辑,而Dao是程序的数据库持久层。在SpringMVC中,View是指配置将后台的数据如何映射到前台的某一个页面中过程,通过这个映射,会将模型中的数据按照View层的具体要求展示出来。在实际的开发中,我们首先需要选择的是View层,我们常用的选项有JSP、Html等;其次,Controller层是可以采用Spring提供的注解@Controller实现,在Controller内部有Service和Dao,分别负责业务逻辑和业务数据处理;而Model一般就是指我们封装的数据本身,这些数据可以使用相应的数据格式存储和转发。图2-1展示了MVC架构。图2-1MVC架构示意图Web服务器Web服务器是连接浏览器和后台服务的纽带,Tomcat是当前应用广泛的服务器。Tomcat的主要功能是将前台浏览器的请求处理一下,然后根据浏览器的请求找到对应的资源,这些资源一般分为静态网页和动态Servlet,档Tomcat找对对应资源的时候,会以合理方式转给前台,前台通过浏览器就可以正常显示了。相比于Tomcat,还有其他些服务器产品,比如Oracle旗下的Weblogic也是一种服务器。但由于Weblogic的使用需要授权,这导致软件成本急速攀升,因此,导致了Tomcat的盛行。MySQL数据库简介在开发系统的过程中必须要存储数据,存储数据要依据系统面向的现实模型进行数据库类型的选择,比如如果要存储普系图可以选择层次模型数据库,要存储知识图谱相关信息,可以选择图数据库[14],而本文的现实需要是基于面对对象方法对现实世界建模,并利用关系型数据模型对系统的业务逻辑进行分析,因此选用关系型数据库。Mysql数据库作为当前最热门的关系型数据库之一,具有免费、安装快捷、使用方便等特点,可以支持关系型数据库的选择、投影等操作,完全可以满足本系统的需求。此外,在使用Java开发后台的过程中,Mysql还有Mybatis的支持,Mybatis是一套支持数据库连接的组件,可以方便诸如Mysql、Oracle数据库的Java等语言的开发,并且具有很快的开发速度,在开发的过程中可以有“Java代码即SQL语句”的柑橘,十分方便和好用,因此,本文采用Mysql作为系统持久层。本章小结本章主要介绍了超市商品系统开发的各种开发工具的,还有采用了哪些框架,了解了相关开发技术的特点和优势,以及在此网站开发中的作用。
需求分析超市商品培训哦那个系统主要用来管理超市的商品供应,需要支持商品的录入、修改和删除。然后,需要对商品供应进行管理,这就需要订单管理,订单管理需要支持订单录入、订单的修改和订单的状态修改,订单的状态是已经下单、配送中、完成,分别代表商品已经下单、商品开始配送和商品配送完成三种行为。如果订单由于某种原因不再需要,可以支持取消订单的功能。先对系统进行需求分析,然后对整个系统的可行性进行分析,可行性是整个系统的奠基部分,只有通过可行性分析,系统才可以开展。需求分析分为功能性和非功能性两方面进行叙述。功能性需求需求分析是软件工程设计中的一个关键过程。在这个过程中,需要确定此系统用户的需要。只有了解了这些需要之后,才能对系统进行分析并寻求建立解决方案。需求分析阶段的主要目标是确定软件系统将要实现哪些功能。如果分析师在需求分析过程中未能正确识别客户的需求,那么最终的软件就无法真正达到客户的满意程度,或者软件无法在规定的时间里完工[13]。通过分析,超市商品配送系统网站的主要功能是提供用户管理、订单管理、退单管理、商品管理、权限管理等功能。系统的核心功能包括小型超市的订单管理,商品管理、退单管理,用户管理是保证系统正常运行的前提。权限管理是对用户权限进行约束和控制的重要功能。订单管理系统可以满足用户下单的需求,用户可以选择自己想要购买的商品以及数量,然后确定之后,就可以进行下单。下单完成之后,系统管理人员就可以看到用户的下单信息,然后组织人员进行装配,等待商品送达,整个配送过程就结束。商品管理系统要让用户可以下单,则必须要对用户打算购买的商品进行上架和管理,系统管理人员可以将想要对外售卖的商品进行上架,如果售卖的过程中发现商品比较热销,或者供应商成本上涨,都可以将商品的价格进行上调,也就是需要满足商品修改的需求。如果商品已经过时,或者停产从而导致不能继续售卖,可以将商品删除下架。退单管理如果用户购买了商品,但是由于某种原因打算反悔,可以支持用户取消订单。用户管理用户包括系统的所有使用用户,这些用户有系统的管理人员、系统的最终使用用户以及系统的一般使用用户。系统的管理人员是整个系统的负责人,他要对系统整体负责,可以进行系统的权限控制,而普通用户一般是指超市员工,他可以对用户的下单信息进行阅读和处理,而最终用户指的是通过系统进行下单购买商品的人。权限管理为例保证合适的权限被合适的人所有用,系统将具有某一个或者某一些权限的一组功能授予一个角色,如果用户具有对应的角色,就会拥有这个角色下面的所有权限。从而可以保证系统的权限合理被使用。有些用户可以下单,但是却不能确认订单的完成,这样就可以保证系统合规、合理、正常运行。权限管理就是指将这些功能权限或者功能角色进行管控的一个行为。超市商品配送的整体功能如图3-1所示。图3-1系统整体功能非功能性需求超市商品配送系统是基于Windows10平台进行开发的,以MVC为架构,以MySQL为数据和数据库中的管理系统来管理后台人员。为了提升系统的易用性、可用性和稳定行,本系统开发需要参考如下要求进行设计和开发。功能完备在超市商品配送系统开发初期,本人阅读了大量关于管理信息系统和客户管理系统方面的资料,并学习了开发类似系统所需要的所有技术知识,包括前端技术和后端知识以及数据库相关的知识。在经过对小型超市老板的调研和对相关开源系统的源码阅读,确定满足需求分析的基本模块,并根据系统的设计对系统的模块进行具体划分,系统主要包含:订单管理信息,取消订单,用户管理,商品管理,权限管理系统等5个模块。界面友好界面可以满足用户的便捷使用,可以给用户提供合理的导航,确保客户可以按照某一个次序和方式正常操作,异常的操作会给用户提示,或者对不能操作的按钮置灰从而提升系统的可用性和友好性。该系统是自适应的,导航栏的设计可以指导用户更方便,快捷地执行各种合理的操作。导航清晰一个好的系统可以天然地为用户提供合理导航功能,即使一个未曾使用过系统的人员,也可以正确使用系统,而不会出现因为错误地操作引发系统使用事故的问题。在软件行业中,合理的界面控制也是软件行业中安全生产的重要指标和要求。必须通过界面的合理引导和控制,确保用户可以按照正确的思路和流程使用系统。可行性分析(1)经济可行性超市的规模和形式千差万别,有大型电商、有小型商店,本文系统的建设目标主要是针对中小型超市,给他们提供商品配送功能,也可以给他们的客户提供商品配送功能。基于开源软件的发展,基础软件的获取省时省力,可以零成本获取,这为系统开发降低了成本,大幅提升了系统的经济可行性。基于小型超市的商品配送系统,只要有网络和IP,就可以对外提供服务,而费用相对较少,这使得小型超市几乎花费很少成本就可以搭建系统。随着云计算平台的兴起和企业上云的趋势流行,可以采用租用云主机ECS和云数据库RDS等云计算产品对超市商品配送系统进行部署,从而大大降低成本,满足超市商品配送的管理人员的成本预算并提升超市的运行效率。(2)时间可行性时间可行性指从时间维度考虑系统的执行的可能性,一个软件系统的软件过程包括系统的前期调研、系统分析、系统设计、编码、测试等等程,基于对本系统的调研和功能分析,家政服务培训系统的功能不是非常复杂,采用一些开源软件可以加速软件开发周期,并且此系统使用的技术都是学习过的,所以完全可以在毕业设计要求的时间内完成系统开发和论文撰写。(3)技术可行性本系统主要采用了Java作为后台编程语言,JSP、HTML5、javaScript、CSS等作为前台编程语言。技术的可行性意味着在当前技术条件下,计算机软硬件的发展能够满足开发需求。由于Java语言简单易学,对硬件条件要求不是很高,只要安装相应虚拟机即可运行。而MySQl数据库由于占用内存相对较少,本系统的数据量不大,硬盘也可以满足MySQL的存储要求,所以使用Mysql作为系统数据库是可行的。本系统采用以上技术可以有效的保证系统成功及高效地开发。综上所述,使用以上技术完全可以满足系统的技术需求。本章小结本章对此系统的建立的经济,时间,技术,操作等可行性进行了分析,并且证明的系统确实具有可行性。系统的需求分析(包括功能和非功能需求)详述了系统需要满足的各种需求。
系统设计系统设计目标概述超市商品配送系统设计的建设目标就是为超市拥有者和超市的用户之间建立一个桥梁,可以方便用户下单,超市也可以应用信息化手段提升订单,既满足了用户需求,又提升了超市效益。本系统的设计的第一目标主要是满足需求分析中提出的所有功能。第二目标是尽可能使得开发速度大幅提升,这样可以降低开发难度,缩短开发周期。第三目标是及时系统有调整,也可以基于当前架构进行迅速迭代和升级。系统技术架构设计基于系统设计的目标,并考虑现实因素,超市商品配送拟系统采用MVC框架,首先,采用MVC进行架构设计,可以有效减少代码维护量,它将系统分为三层,出现问题时不必全部修改,只需找到相应层次。其次控制层可以满足不同模型不同视图提出的不同请求,所以对于用户的请求可以全面有效的进行处理。所以系统采用MVC框架是非常实用的。在选用具体的技术的时候,拟采用SpringMVC架构,因为SpringMVC可以避免一些重复行的工作,支持自动扫描和注入,可以大幅提升开发效率。数据库连接采用MyBatis,因为Mybatis几乎不用写sql语句就可以实现CRUD的需求,非常使用和快捷。架构设计目标软件架构设计的目标是把系统分为几个模块来实现,设计目标设定的是否合理决定着整个系统的实现是否稳定。在这个过程中,架构的设计必须明确定义。合格的系统架构设计目标可以使系统平稳流畅运行,操作简单高效。家政服务培训系统的架构的设计应达到以下几个目标:(1)安全性。本系统对家政服务人员进行了人脸识别,可以有效防治他人冒名顶替培训和考试。(2)可定制化。系统管理人员可以根据自己的需求定制开发各种培训课程和评测内容。(3)可维护性。系统采用MVC架构,前后端分离,因此便于前端开发人员和后端开发人员的前后端分离维护,也便于维护人员查找定位相关代码,可维护性高。系统功能架构本系统的功能根据重要程度和面向用户的应用层次,分为基础功能和核心功能。基础功能是指满足系统运行的一些基本功能,这些功能并不能直接给系统带来收益,也不能直接应用,但是是系统必须的部分,为系统的核心系统进行服务。基础功能包括权限管理、用户管理和商品管理,而核心功能包括订单管理和退单管理。(1)核心功能:订单管理:用户可以对喜爱的商品进行下单,然后选择中意的商品进行下单,下单后,后台人员就可以看到这个订单,然后组织发货和配送,如果配送完成,就可以将订单关闭。退单管理:如果用户对购买的商品不满意,或者想返回,可以进行退单。(2)基础功能:用户管理模块:用户可以登录个人后台对自己的信息进行相应操作,如修改,查询等。权限管理模块:权限管理是指用户拥有的权限的管理,可以给用户进行赋权和收权。商品管理模块:商品管理是指对商品进行上架和下架的管理。系统的整体功能架构如图4-1所示。图4-1功能架构图数据库设计数据库的设计过程及遵循的原则数据库保存了系统的重要数字信息资产,是这个系统赖以生成的基础。一个设计良好的数据库不仅便于实现功能,可以支撑业务,还易于扩展,可以方便维护。数据库的设计有一定的原则,本系统选用关系型数据库作为数据底座,关系型数据库设计的一般规则是要符合业务需求,设计合理的表和表之间的关系,然后进行数据库的建立。数据库的基本规则如下。(1)保持数据的完整性保持数据的完整性是指数据的字段长度要比正常情况长一些,这样在保证数据正确的情况下才能使得数据更加完整,使得数据库数据更完善。数据表要具有关联性各个数据表之间既是相互独立的也应该互相关联,因为实体间有多对多的关系,如果表之间相互独立的话,就得建立相关的表将数据耦合在一起,造成了数据库的负担,所以各个表之间应该具有一定的关联性。数据的独立性数据如果不是相互独立的,那么在数据库表结构在发生改变时,数据将不能保持完整,会随着结构的改变而改变,造成数据库的混乱,所以数据应具有独立性。(4)减少数据冗余数据库中有大量数据表,若数据冗余过多,会对数据库造成一定的压力,使得数据库运行变得缓慢,影响整个系统的效率。本系统的数据采用实体-关系分析方法进行建模和分析,建模分析后的ER图如图4-2所示。图4-2本系统E-R图数据库的详细设计根据对超市商品配送系统的需求分析,架构设计等分析,此系统的功能主要分为核心功能和基础功能,核心功能中主要包括订单管理和退单管理,基础功能包括商品管理、用户管理和权限管理。核心功能中的主要功能有订单管理、退单管理,以及订单管理中衍生的评论信息。对应的会建立订单表、退单表、评论表和订单详情表。基础功能中的用户管理主要涉及用户表,而权限管理涉及到系统菜单表和系统权限表,商品管理主要涉及的表有商品表。在进行表结构设计之前,制定一些通用规则,表的主键尽量采用序列,序列为Number型,而且尽量所有Number型的序列都有统一位数,时间都采用格式“4位年-2位月-2位日2位24小时计时法的时:2位分:2位秒”。数据库中的表名和字段是大小写不敏感的,但是本文尽量都使用大写字母表示,字段命名采用下划线分割方式命名,比如ORDER_ID,是由“ORDER”和“ID”组合而成,代表的是订单的序列。用户信息表,用来储存用户ID、用户类型、用户密码、用户联系方式和用户电子邮箱。具体内容如表4-1所示。表4-1用户表序号字段名称字段类型字段长度允许为空备注1USER_IDNUMBER4否用户ID,主键2USER_TYPENUMBER4否用户类型,1买家,2卖家3USER_PASSWDVARCHAR210否用户密码4USER_PHONEVARCHAR2100是用户联系方式5USER_EMAILVARCHR2100是用户电子邮箱商品信息表用来储存商品ID、商品名称、商品价格和商品状态等信息。具体内容如表4-2所示。表4-2商品表序号字段名称字段类型字段长度允许为空备注1COMM_IDNUMBER4否商品ID,主键2COMM_NAMEVARCHAR240否商品名称3COMM_STATEVARCHAR210否商品状态4COMM_PRICENUMBER4是商品价格订单信息表用来储存订单ID、商品ID。买家ID、支付状态、发货状态、评论状态等信息。具体内容如表4-3所示。表4-3ORDER订单表序号字段名称字段类型字段长度允许为空备注1ORDER_IDNUMBER4否订单ID,主键2DETAIL_ORDER_IDNUMBER4否子订单ID3USER_IDNUMBER4否买家ID4STATEVARCHAR24否状态5PRICENUMBER4否订单总价格6ADDRESSVARCHAR24是发货地址7USERIDNUMBER4否用户ID订单子表用来储存对订单详情,这里会记录一个总的订单对应的子订单的所有商品信息,一个商品是一个子订单。具体内容如表4-4所示。表4-4订单子表序号字段名称字段类型字段长度允许为空备注1DETAIL_ORDER_IDNUMBER4否子订单ID,主键2ORDER_IDNUMBER4否订单ID3COMM_IDNUMBER4否商品ID4PRICENUMBER4否价格评论表用来储存评论过程中还产生得评论ID、订单ID、评论文字等信息。具体内容如表4-4所示。表4-5评论表序号字段名称字段类型字段长度允许为空备注1COMMENT_IDNUMBER4否评论ID,主键2ORDER_IDNUMBER4否订单ID,外键3COMMENT_CONTENTVARCHAR24是评论文字3COMMENT_TYPEVARCHAR24否评论类型4COMMENT_STARVARCHAR24是评论星级ID菜单表用来储存系统的所有菜单,菜单一般包括菜单的名称、菜单的URL、菜单的上级菜单等等。菜单是采用树状结构进行组织的,一个菜单可以有若干个子菜单,这些菜单在表中表现出来就是子树。表4-6表示了菜单表结构。表4-6菜单表结构序号字段名称字段类型字段长度允许为空备注1MENU_IDNUMBER4否菜单ID,主键2PARENT_MENU_IDNUMBER4否父菜单3MENU_NAMEVARCHAR220是菜单名称4URLVARCHAR220是菜单URL角色表用来记录角色信息,目前系统分三种角色,分别是管理员、普通用户和一般用户。角色表的表结构如表4-7所示。表4-7角色表序号字段名称字段类型字段长度允许为空备注1ROLE_IDNUMBER4否角色ID2ROLE_NAMEVARCHAR220否角色名称退单表是记录用户退单信息的表,包括退单ID、订单ID、用户ID、退单时间和退单备注等信息。表4-8是退单表说明。表4-8退单表序号字段名称字段类型字段长度允许为空备注1BACK_IDNUMBER4否退单ID,主键2ORDER_IDNUMBER4否订单ID3USER_IDVARCHAR220是用户ID4BACK_DATEVARCHAR220是退单日期5COMMENTVARCHAR220是退单备注本章小结本章主要介绍了此系统的各种架构设计和功能分析,详细阐述了系统前后台分别要实现哪些功能。分析了系统的各种实体之间的关系。设计了系统的数据库,数据库具体需要那些数据表以及各个表中具体字段以及类型,还在表中描述了表的外键关系。系统详细设计与实现核心功能设计订单管理订单管理是系统的重要功能,系统的订单管理就是按照一定的计划从供应商那里订货的一个过程。订单的下单过程流程如下图5-1所示。图5-1订单下单流程图订单的主要功能是下单和管理员安排配送。订单管理的主要功能是商品选择,核心代码如下:<divid="addDialog"style="padding:10px;"> <tableid="selected-product-datagrid"class="easyui-datagrid"style="width:655px;height:420px"toolbar="#select-product-btn"> <thead> <tr> <thfield="product_id"width="130px">商品ID</th> <thfield="product_name"width="130px">商品名称</th> <thfield="product_place"width="130px">商品产地</th> <thfield="product_price"width="130px">商品价格</th> <thfield="productNum"width="130px"editor="{type:'numberbox',options:{min:1,precision:0}}">商品数量</th> </tr> </thead> </table> <divid="select-product-btn"> <ahref="#"class="easyui-linkbutton"iconCls="icon-add"plain="true"onclick="selectProduct()">添加商品</a> <ahref="#"class="easyui-linkbutton"iconCls="icon-remove"plain="true"onclick="removeProduct()">删除</a> </div> </div>当订单完成之后,用户可以对这个订单进行评价,评价的过程就是先选中之前自己下单的那个单子,然后填入评价信息,发布评价内容。评价的流程如图5-2所示。图5-2评价流程评论的代码展示如下所示。<body> <!--数据列表--> <tableid="dataList"cellspacing="0"cellpadding="0"> </table> <!--工具栏--> <divid="toolbar"> <%@includefile="../common/menus.jsp"%> <divstyle="float:left;margin-top:2px;"> 订单Id:<inputid="search-productorder_id"class="easyui-textbox"/> </div> <div> <aid="search-btn"href="javascript:;"class="easyui-linkbutton"data-options="iconCls:'icon-search',plain:true">搜索</a> </div> </div> <!--添加窗口--> <divid="addDialog"style="padding:10px;"> <formid="addForm"method="post"> <tableid="addTable"cellpadding="8"> <tr> <td>订单Id:</td> <td> <inputid="add_productorder_id"class="easyui-textbox"style="width:200px;height:30px;"type="text"name="productorder_id"data-options="required:true,missingMessage:'请填写采购订单Id'"/> </td> </tr> <tr> <td>评论等级:</td> <td> <selectid="add_comment_level"class="easyui-combobox"style="width:200px;"name="comment_level"data-options="required:true,missingMessage:'请选择评论等级'"> <optionvalue="0">1星</option> <optionvalue="1">2星</option> <optionvalue="2">3星</option> <optionvalue="3">4星</option> <optionvalue="4">5星</option> </select> </td> </tr> <tr> <td>评论:</td> <td> <inputid="add_comment_text"class="easyui-textbox"style="width:200px;height:30px;"type="text"name="comment_text"data-options="required:true,missingMessage:'请填写评论'"/> </td></tr> </table></form> </div></body>退单管理如果用户购买的商品不满意,就可以申请退单。退单流程如下图5-3所示。图5-3退单流程退单的流程就是选中要退的单子,然后进行退单,用户退单之后,系统后台就可以看到这个退单信息,如果审核通过,退单就完成,否则退单会失败。退单的审核是退单的核心功能。退单审核的主要代码如下所示。<divid="toolbar"> <%@includefile="../common/menus.jsp"%> <divstyle="float:left;margin-top:2px;"> 采购订单Id:<inputid="search-returnorder_id"class="easyui-textbox"/> </div> <div> <aid="search-btn"href="javascript:;"class="easyui-linkbutton"data-options="iconCls:'icon-search',plain:true">搜索</a> </div> </div> <!--添加窗口--> <divid="addDialog"style="padding:10px;"> <formid="addForm"method="post"> <tableid="addTable"cellpadding="8"> <tr> <td>订单Id:</td> <td> <inputid="add_productorder_id"class="easyui-textbox"style="width:200px;height:30px;"type="text"name="productorder_id"data-options="required:true,missingMessage:'请填写采购订单Id'"/> </td> </tr> <tr> <td>备注:</td> <td> <inputid="add_returnorder_remarks"class="easyui-textbox"style="width:200px;height:30px;"type="text"name="returnorder_remarks"data-options="required:true,missingMessage:'请填写备注'"/> </td> </tr> </table> </form> </div> <!--修改窗口--> <divid="editDialog"style="padding:10px"> <formid="editForm"method="post"> <inputtype="hidden"name="returnorder_id"id="edit-returnorder_id"> <tableid="editTable"border=0cellpadding="8"> <tr> <td>退单状态:</td> <td> <selectid="edit_returnorder_status"class="easyui-combobox"style="width:200px;"name="returnorder_status"data-options="required:true,missingMessage:'请选择状态'"> <optionvalue="0">退单中</option> <optionvalue="1">退单失败</option> <optionvalue="2">退单成功</option> <optionvalue="3">取消退单</option> </select> </td></tr></table> </form>基础功能设计用户管理基础功能中的重要功能就是用户管理,用户管理的主要功能是用户登录了,用户登录的逻辑是,输入用户名和密码,选择用户类型,系统按照用户类型进行相应的用户名和密码匹配,如果匹配成功,就登录成果,并转到对应页面,否则就登录失败,需要重新填写登录信息。登录的流程图如图5-4所示。图5-4登录流程登录的代码如下所示。<divclass="table"> <divclass="wel">超市物流配送管理系统</div> <divclass="wel1">SupermarketLogisticsDistributionManagementSystem</div> <divclass="user"> <divid="yonghu"style=""><imgsrc="../login/img/yhm.png"/></div> <inputid="loginusername"type="text"name="username"placeholder="请输入账户"/> </div> <divclass="password"> <divid="yonghu"><imgsrc="../login/img/mm.png"/></div> <inputid="loginpassword"type="password"name="password"placeholder="请输入密码"/> </div> <divclass="cpacha"> <divid="yonghu"><imgsrc="../login/img/cpacha.png"/></div> <inputid="logincpacha"type="text"name="密码"placeholder="请输入验证码"/> <imgid="cpacha-img"title="点击切换验证码"style="cursor:pointer;"src="get_cpacha?vl=4&w=150&h=50"width="110px"height="30px"onclick="changeCpacha()"> </div> <inputclass="login-button"type="button"name="登录"value="登录"/></div>商品管理商品管理是指对上的上架和下架,其中上架是新增一个商品,而下架就是选中商品然后直接进行删除。图5-5是商品上架流程。图5-5商品上架流程系统实现系统登录首先,输入账户、密码和验证码进行判断是否为空,使用JavaScript脚本语言编写的changCpacha函数对输入的信息进行判断,根据不同的输入框弹出不同的提示并刷新验证码,当都符合的条件进行ajax前后端交互,通过后端从数据库取出的数据进行判断是否存在,返回json字符串给前端,如果错误就弹出不同的提示并刷新验证码,否则就进去系统。图5-1展示了登录系统界面。图5-1登录系统权限管理进入系统后,先对用户进行权限的判断,后端从数据库获取用户权限,把数据存在Session中,根据后台传来的数据,通过C标签遍历出不同的菜单与按钮操作。在进行权限的编辑时,先对菜单管理进行添加,最多为二级目录,只能在二级目录添加或删除按钮,然后对角色进行权限编辑,来达到权限管理。权限的管理首先要对菜单进行编辑,菜单编辑提供了增删改查功能,具体操作页面如图5-2所示。图5-2菜单编辑菜单编辑完成之后,可以对角色进行编辑,每个角色拥有什么权限就给展示什么页面,编辑权限可以采用勾选菜单的方式,如果某一个菜单是需要的,就进行勾选,否则取消勾选就可以。菜单的编辑如图5-2所示。图5-3权限编辑拦截器和个人信息管理管理的实现拦截器,顾名思义就是起到了拦截作用,在用户登入之前,除登入界面和静态资源,其他页面都是不能访问的,防止未登入就进入了系统,通过类实现HandlerInterceptor接口,再在配置springmvc.xml文件所需要拦截的请求即可实现拦截器的功能,在登入系统的之前,在账户、密码和验证码正确的情况进入系统,会保存用户到Session中,通过判断Session中是否存在用户,如果没有就进行拦截,重新登入。个人信息管理则获取Session中用户来进行查询信息,并可以对个人信息修改,除了角色不可修改。商品管理在进入商品管理时,后端从数据库取出数据转化为json数据传入前端,通过DataGrid控件生成表格,可对数据进行排序,在进行条件查询中,通过mybatis模糊查询进行查询,通过后端传来的数据刷新DataGrid控件重新生成表格,在添加商品过程中,先对填写的相关信息进行判断,然后通过ajax前后端交互返回结果,前端弹出提示框,在修改数据中,要选择一项数据,然后通过JavaScript获取当前选择的数据,然后编辑的弹框获取数据并修改自己的数据,最后对填写的相关信息进行判断,然后通过ajax前后端交互,根据数据id对数据库中编辑数据,如果多选就会返回前端提示只能选一项,删除功能则多选数据,JavaScript获取当前选择的数据id,然后通过ajax前后端交互,在数据库中删除数据。商品管理的操作就是增加商品、编辑商品、删除商品。增加商品的操作中需要填写商品的信息,而编辑商品是对这些信息进行编辑,删除商品是直接选择某一条商品信息,直接进行删除操作。商品管理的界面如图5-4所示。图5-4商品管理界面用户管理进入用户信息管理页面时,后端从数据库取出数据转化为json数据传入前端,通过DataGrid控件生成表格,可对数据进行排序,在用户名与角色多条件查询中,通过mybatis模糊查询进行查询,通过后端传来的数据刷新DataGrid控件重新生成表格,在添加用户的过程中,先对填写的相关信息进行判断,其中头像的上传路径是本项目的upload文件中,保存路径,然后通过ajax前后端交互,把数据加入到数据库中,在修改数据中,要选择一项数据,然后通过JavaScript获取当前选择的数据,然后编辑的弹框获取数据并修改自己的数据,最后对填写的相关信息进行判断,然后通过ajax前后端交互,对数据库中编辑数据,如果多选就提示只能选一项,删除功能则多选数据,JavaScript获取当前选择的数据id,然后通过ajax前后端交互,在数据库中删除数据。用户管理包括新增用户、用户编辑和用户注销,其操作界面如图5-5所示。图5-5用户管理界面订单管理(也叫物流配送订单管理)进入订单管理页面时,后端从数据库取出数据转化为json数据传入前端,通过DataGrid控件生成表格,可对数据进行排序,通过mybatis模糊查询进行订单查询,通过后端传来的数据刷新DataGrid控件重新生成表格,在添加物流配送管理的过程中,先对商品的选择,然后进行数量的修改,最后再对弹出一个窗口,填写的相关信息进行判断,添加成功后,会对相应的商品的存库进行修改。配送状态对订单的配送情况进行修改。订单管理的操作流程是,首先,用户进行下单,下单前先选择增加商品,然后选择商品。下单页面展示如图5-6所示。图5-6下单界面订单下单完成之后,系统管理员或者具有管理权限的员工就可以从后台看到对应的订单,然后可以对订单进行操作。具有订单管理权限的员工对订单可以操作的动作有修改订单的状态,实际业务场景就是订单的实际配送状态变化,如果配送送到了就点击配送完成的按钮,表示订单送达了。对订单的状态管理主要有已下单、配送中和已完成三个状态管理。这三个状态是有顺序的,先是已下单、然后是配送中,最后是完成状态。对订单操作的界面如图5-7所示。图5-7订单管理界面物流退单管理进入物流退单管理页面时,后端从数据库取出数据转化为json数据传入前端,通过DataGrid控件生成表格,可对数据进行排序,通过mybatis模糊查询进行订单查询,通过后端传来的数据刷新DataGrid控件重新生成表格,在添加物流退单的过程中,填写的相关信息进行判断,后端会对物流配送订单进行判断是否存在。退单审批是对退单订单的退单情况进行修改,如果退单成功,会对相应的商品的存库进行修改。取消订单也是是对退单订单的退单情况进行修改。取消退单的流程是先输入对应的订单编码,然后开始退单,退单之后进行退单审核。填写退单的操作如界面5-8所示。图5-8退单填写退单填写完成之后,就开始到了退单流程,退单流程中,系统管理人员可以选择退单的状态,可以审批通过或者不通过。对退单的审批如图5-9所示。图5-9退单审批用户评论管理进入物流退单管理页面时,后端从数据库取出数据转化为json数据传入前端,通过DataGrid控件生成表格,可对数据进行排序,通过mybatis模糊查询进行订单查询,通过后端传来的数据刷新DataGrid控件重新生成表格,在添加物流退单的过程中,填写的相关信息进行判断,后端会
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 支气管炎患者呼吸系统疾病的护理计划
- 护理查对制度的实施难点与对策
- 带状疱疹护理中的健康教育内容
- 手术前后患者心理护理与护理
- 皮具制作工安全技能测试考核试卷含答案
- 钢筋工保密意识考核试卷含答案
- 扩印洗印设备装配调试工安全风险评优考核试卷含答案
- 电动工具定转子制造工安全生产能力知识考核试卷含答案
- 保险公估人创新思维竞赛考核试卷含答案
- 碳排放核查员安全宣贯能力考核试卷含答案
- 2025年山西省中考历史真题(原卷版)
- 安全试题100道及答案
- 物业水电工应知应会培训
- 药品儿童用药管理制度
- T/CHES 89-2022河湖生态流量保障实施方案编制技术导则
- 水平定向钻进管线铺设工程技术规范
- 超星尔雅学习通《大学生就业指导(北京大学)》2025章节测试附答案
- T-CCPS 0014-2024 国有企业合规管理体系有效性评价原则与实施指南
- 黑龙江省大庆市祥阁学校2024-2025学年五年级上学期期末语文试题
- 售后服务方案(15篇)
- TCHATA 040-2024 结核病相关临床样本保藏规范
评论
0/150
提交评论