网络信息管理系统的设计与实现.docx
网络信息管理系统的设计与实现摘要随着时代的变迁与国家的持续发展,物质与精神的沟通显得愈来愈重要。在现代社会,物流具有举足轻重的地位,而快递行业又是物流的核心,是不可或缺的基础性行业。但是,目前中国很多中小城市还不能完全满足广大用户对于高效、便捷的快递服务的要求。当前,全国各地的快递配送网络已经比较完善,但短途配送的覆盖面还很小。本文以此为基础,采用Springboot架构,实现了一种基于网络的快递数据管理系统。本文首先论述了目前国际社会对快递物流的广泛要求,以及人们对高效、便利的物流服务的迫切需要。然后,详细地介绍了这次毕业设计项目的系统开发、设计所使用的开发环境和关键技术,并从系统的总体分析和系统的可行性两方面对该系统进行了需求分析。接着,本文从整体的功能需求、具体的功能实现以及数据库的设计三个方面对该系统进行了详细的分析。在系统的开发中,首先要进行系统的需求分析,然后是功能模型的构建,然后是系统的总体设计,详细的功能设计,以及数据库的设计,最后是系统的实施以及系统的测试。同时,本系统还具有距离计算、登陆密码自动加密、电子邮件价格自动生成等实用辅助功能,具有较强的实用价值。本次开发作者是基于高度兼容、简单的配置需求,以SPringBOOt为体系架构,利用VUE、CSS>HtmI等前端语言来设计系统的前端网页,采用MVC设计模式为指导,实现后端的特定功能,利用MyBatiS框架来有效地将系统和数据库相连,最大限度地满足用户对系统实用性、高效性、安全性、便捷性的要求。关键词:SPringBOot框架MyBatiSJavaEEMySql快递信息管理第一章绪论第一章绪论1.I系统项目开发背景中国作为一个在当今世界有着巨大影响力的国家,在过去的20多年里,随着互联网的发展,电子商务、快递物流公司等快速发展起来,成为了一种在经济一体化的大背景下兴起的新兴行业。随着互联网的发展,许多电子商务平台与物流企业开始联合起来,建立起一种新型的“线上+线下”融合模式。这两种模式持续地互相促进,形成正反馈,推动着中国快递物流业步入良性循环。在I960年代和1970年代,很多地方制造的商品都只能买到,而现在,有了强有力的快速物流体系,人类的身体和精神都得到了极大的充实。同时,它还能促进我国各区域的协调发展,促进各区域之间的交流往来,促进了全国的团结,促进了全国的稳定,具有重大的战略意义。现代社会,快递物流已成为国际间商贸交流、文化交流的重要载体。比如,在过去的十多年里,淘宝每一年举办的“双十一”交易总额都达到了一千亿元。这反映出我们国家对快递物流体系的高度依赖与需求。毕竟没有一套完整的运输系统,所有的交易都会变得毫无意义。因此,开发一套简单、便捷的快递物流管理系统具有十分重要的意义。1.2国内应用现状及系统开发研究目的改革开放40多年来,国家在信息通信、交通、网络等各相关领域的基础设施建设上进行了大量的建设,而且近几年对基础设施的投资也在不断增加,这也促进了我国快递物流服务业的硬件支持。但是,目前国内的快递物流企业还存在很多问题,有待改进与创新。比如,在我国,由于运输路线与通道之间的冲突与矛盾,很多物流仓库的硬件支持都比较落后,很多比较老旧的物流仓库,内部布局不尽合理,导致大量的快递难以出仓或出仓速度慢。目前,国内的快递物流信息化管理相对零散,难以实现一体化服务。目前,我国快递物流企业普遍存在着职能分割、市场调研不充分、经营理念落后等问题。这样,很多区域的物流服务都没有形成一个有效、快速的整体。另外,目前国内对快递物流产业没有一个统一的标准,导致很多快递企业之间无法很好的协调。由于相关法律法规的不健全,造成了目前国内快递物流行业中存在着一些较为混乱的现象,很多管理水平一般、业务能力不强的小型快递物流企业已经很难适应国内的发展需求。在物联网的快速发展下,快递物流己逐步融入到网络中的信息流、资金流和顾客流中。这就要求有一个稳定、有效、实用的物流信息管理系统来支撑企业的物流业务。1. 3论文组织结构针对目前快递行业发展的实际情况,提出了一种基于WEB和Mysql数据库的在线快递信息管理系统。本文以此为背景,以JaVa为开发语言,以MySqI为基础,采用JetBrainS公司开发的IntellijIDEA属性。本文的主要内容以及主要的组织架构是:第1章是作者所研发的速递资讯管理系统的目前发展背景与应用价值,本文的研究内容以及本文的主要架构。第二章重点介绍了在本课题中使用到的关键技术和开发环境,包括SPringBoOt框架,MyBatiS框架,Html,CSS,VUE等。第三章,从系统的角度出发,进行了系统的需求分析,并对其进行了可行性研究。第四章介绍了本课题的各功能模块,并简单介绍了本课题所涉及的与数据库有关的设计。第五章给出了该系统各部分的详细编程,并给出了各模块的关键模块的实现方法和关键模块的实现。第六章介绍了对该系统进行的测试,并对该系统进行了主要的测试。第七章是对本课题研究中出现的一些问题进行了总结,并对该课题在实施过程中存在的一些问题进行了总结,并对自己的职业素质进行了进一步的提高。第二章关键技术与开发环境介绍第二章关键技术与开发环境介绍上一章是对快递企业信息化建设的现状和现实意义进行了阐述,对本文的研究工作进行了简要的阐述。在这一章中,重点介绍了该系统所使用的关键技术和开发环境。2. 1开发工具IntellijIDEA介绍IntellijlDEA是JetBrainS公司最近最火的一款产品,拥有大量的开发人员。它提供了大量的功能,让开发者的工作效率得到了极大的提升,最便利的就是自动引导包,以及对不需要的软件包进行自动删除。IDEA提供了一个简单、快速的DebUg经验,它可以用来调试JaVa代码,JavaScript,JQUery等文本语言。除此之外,IDEA还提供了很多插件,比如1.ombOk,它可以减少很多重复而又冗长的代码,比如一些类似于get,set,ConStrUCtor这些重复而又复杂的方法。例如COdota代码智能提示插件,它可以通过了解程序员的工程代码,来归纳出开发人员的编程喜好。像MetriCSRek)aded代码复杂性校验插件等。以上所说的IDEA所具有的强大的功能性,也是目前许多开发人员选择IDEA的主要原因。3. 2SpringBoot技术介绍在我为毕业设计做准备的时候,我发现像SerVlet这样的技术由于其复杂的结构和低效的安装方式,目前还没有被开发人员普遍采用。可视化的科技总是在持续地重复,做为一名从事该领域研究的人,我们也要继续学习,紧跟当前的职业趋势。因此,我在有关人员的建议下,选用SPringBOOt+VUE技术进行该系统的开发叫目前,不管是国内还是国外,都有很多JaVa开发公司在使用SPringBO03也有一些正在逐步将原来的框架替换为SpringBoot框架。SpringBoot的设计师RodJohnson,在他设计SpringBoot之初,就是为了简化JaVa软件的创建,开发,调试,项目部署等等。通过SPringBoot框架,您可以很好地避免大量的文件配置工作。而开发人员则可以通过主O的方式来进行调试,而无需提前在web服务器上部署工程。SPringBOOt框架把原来的Servlet作为一个嵌入式的容器,把SSM+JSP技术封装在底层,并在其内部配置了Mavenpom.xml文件,实现了对各个技术的统一管理,有效地解决了由于版本差异带来的不兼容性问题。2. 3开发语言及Mybatis框架简介Html是一个最基本、最常用的前端开发标签。开发人员使用Html语言创建静态Web页面。就是由以下几个简单的网站要素组成;照片、超级链接、表格、名单、声音,组成了一个强大的界面。CSS是“层叠风格形式”的简称。开发人员利用选择器,从原来的Html组成的Web元素中挑选出一个,然后利用CSS增加风格,达到美化页面的效果。MyBatiS是一个持久的层次架构。在SPringBOOt工程中,主要是对JDBC比较复杂的连接数据库的部分进行了简化,插件内的代码与SPringMVC原有的DAo层相对应,用于与数据库进行通信。VUE是VUEJs的缩写,顾名思义,VUE就是一个基于JaVaSCriPt技术,以模型,视图,视图模型为基本思想的框架。这几年,VUE在国内非常受欢迎,因为它提供了大量的中文文件。3. 4本章小结本章重点阐述了在系统工程中SPringBoot框架、VUE的关键前端语言、基于MyBatis的数据库接口、IDEA集成开发环境。在本课题中,笔者选择了IDEA的企业级版本,前端采用VUE,后端采用Javao在数据库相关的软件中,选择了MySql可视化工具NaViCat,其图形化的管理使得建立数据库、表的创建及管理更为简便、直观。在这一章的总结中,提出了SPringBOol+VUE的前、后端分离技术和相应的开发软件,为本课题的实施打下了良好的基础。第三章系统需求分析前一章详细地介绍了在该课题的开发过程中所涉及到的关键技术和开发环境。这一章是在对整个系统进行可行性研究的基础上,对整个系统的需求进行了分析。从软件工程的观点出发,所有的系统项目都存在着一定的资源限制,同时也存在着一定的开发时间限制。所以,在整个工程的发展初期,对整个工程的可行性进行全面的论证,将会极大地减少工程后期的时间、人力、物力和经济上的损失。工程系统来自于需求。没有充分的调研和对顾客需要的理解,就会导致项目在后期的发展过程中出现偏差。所以,在进行系统开发之前,必须对其进行需求分析和需求建模。3.1可行性分析该系统工程是否能够顺利开展,是关系到该工程是否能够顺利开展的关键问题。开发人员可以通过可行性分析来判断这个项目的价值,同时也可以估计出最后实现后能够产生的真实价值,进而对整个系统进行可行性评价。在这一章中,笔者将从技术层面、经济性层面和操作性层面对其进行论证。(1)技术上的可行性:本课题是针对Windows平台开发的。而Windows则是最常见的,也是最为人所熟悉的操作系统。最近几年,SPringBOOt+VUE的前、后端分开的技术在国内和国外开发人员中所占的比重越来越大。最后一种是Java,它是现在应用最为广泛的一种编程语言。封装、多态、跨平台的特性,让它的应用场景非常多样化。Java语言在经历了三十多年的发展和迭代之后,已经越来越成熟和完善。这也是很多游戏开发商的首选。本课题中使用的Mysql数据库是一款非常优秀的嵌入式数据库,多年来一直稳居WEB应用领域之首。本系统所选择的核心技术及操作平台均得到了广泛的认可,在技术层次上是可行的。(2)经济上的可行性:在如今的网络环境下,Pe服务器的价格越来越便宜。市场上比较常见的家用电脑都能用来开发项目。IDEA专业版是一笔不小的开支,但是对于企业来说,这是可以接受的。而这次使用的MySql数据库是开放源代码,因此可以节约开发费用。总之,该系统在研制过程中是有较好的经济效益的。(3)实用性:该系统采用了SPringBoot+VUE前端和后端分离技术,目前比较流行,兼容度很高,用户比较多。在IDEA上,利用JaVa语言实现了后端的逻辑功能,方便了开发者与开发者的沟通和交流。不管是功能上的完善,还是后期的维护,都比较容易。网络佶息管理系统的设计与实现该系统可以在最普通的个人计算机上工作,用户要通过简单的登记、登录等程序,才能进入使用界面,对系统进行操作网。整个过程清楚完备,易于操作。3. 2系统需求分析在进行软件需求分析时,有一些问题需要回答:该系统的总体目的是什么?该系统所需的可靠性与品质是什么?在可靠性和品质方面有什么要求?换言之,在软件工程中,需求分析就是对系统项目“需要我做什么”的答复,而在需求分析阶段,需要决定项目工程最后要实现的功能效果。3. 2.1系统的功能需求分析1 .数据流图功能需求分析通过对系统的数据流图分析,可以找出并改善在数据流转中存在的问题,所以在开发之初,要对整个系统中流转的各类信息进行系统而细致的分析。最上层的数据流程图能直观地反映出整个系统中数据流动的方向。在最上层的数据流图中,输出与输入流都是整个系统的输入与输出,用来限定整个系统与外界的距离以及数据交换率。下面介绍了该系统功能需求功能的顶层数据流图3.1描述如下:住牛电用户员I系线三偿益合球分公司快递信息管理系统具体要实现的功能如下:(1)管理员注册登录:新用户在进入本系统之前,必须先登记自己的用户名及密码,它的第一层数据流程见图3.3。图3.3管理员注册子功能数据流图(2)员工注册登录:员工在系统的开机画面中,键入帐号与密码,就可以登陆该系统。它的第一层数据流程图见图3.4。图3.4员工登陆子功能数据流图(3)用户下单快递界面:想要下订单的人,可以将自己的快递信息(包括始发地、目的地、快递重量、备注信息、客户联系方式、证件照片等),通过距离计算算法和邮费计算算法,对此次订单的邮费进行了计算,并在此基础上,根据下单的确切时间,自动产生一个快递单,并且会产生一个快递信息单,在该信息单中,能够查看到当前的情况(是否揽件,是否派件,用户有没有收到)。第一阶段的数据流程如图3.5所示:图3.5用户创建订单子功能数据流图(4)仓库分与员工公司操作:如果当地的仓库接收到来自最后一个物流仓库的快件,那么该仓库就会进行一个接收动作,表明该快件已经进入了,这个时候,订单的状态将会从“未收到”变为“已收到”。仓库分部的工作人员会派工作人员将货物送到,如果员工将货物送到客户手中,那么订单的状态就会变成“已接收”。在图3.6中可以看到数据流程图:图3.6本地仓库处理快递子功能数据流图(5)物流车辆管理信息:系统管理员可增加物流车辆的资料(包含物流车辆号码,牌照号码,车辆当前停靠的仓库)。同时,在库房工作人员也可以更改到达当地库房的车辆当前停靠的地点U式在3.7中可以看到该函数的第一级数据流程图:图3.7车辆信息子功能数据流图2 .UM1.用例图功能需求分析在前一节中,我们对软件进行了详细的研究,开发人员对软件的总体要求有了一个大致的了解。继承了以上,我们用UM1.用例图表对项目进行了描述。参见下面的图3.8。图3.8UM1.用例图4. 2.2系统的性能需求分析(1)正确性:为保证软件的正确性,必须严格遵守相关的规范,以保证软件的正常运行。(2)资料输入与处理的精度与实时性:输入的资料必须具有一定的时效性,若资料过期,则会对系统的正常工作产生较大的影响。(3)稳定:系统运行时需要较长的时间,尤其是对数据库进行操作时,要保证系统的稳定性,防止造成破坏。(4)安全:可以很好地保护用户的口令,在页面回复过程中不会出现口令的问题。(5)一致性:在系统中,使用者和绩效测试人员必须互相配合。3. 2.3系统的数据需求分析数据字典:1、管理员信息表(ID主键,用户名,登录密码)2、员工表(ID主键,用户名,所属仓库,登录密码)3、订单信息表(ID主键,快递编号,订单状态,用户联系电话,快递距离,订单价格)4、车辆信息表(ID主键,车牌号,当前所在仓库)5、仓库信息表(ID主键,仓库编号,仓库地址)6、员工仓库信息表(ID主键,员工所属仓库,仓库编号)3. 3本章小结在这一章中,重点对整个系统进行了需求分析。作者从技术上、经济上和操作上分别对系统进行了可行性分析,并从功能需求分析、性能需求分析、数据需求三个方面对系统需求分析进行了分析和论证,为系统项目的开发工作打下了坚实的基础。第四章系统设计4.1系统概要设计系统简介的整体工作就是把在前一章进行开发工作之前,所做的准备工作所获得的系统扩展用例图表,转化成相应的软件结构和数据结构,并按照功能划分模块,确定模块的层次结构和调用关系,建立模块之间的界面。数据结构的设计由三部分构成:描述数据的特征、确定数据的结构特征和数据库的设计。4.1.1 系统总体功能结构1 .系统总体功能结构图见图4.1:创津订单员工管Il订单首a6金管理图4.1系统总体功能结构图2 .管理员功能流程图图4.2管理员功能流程图3.员工功能流程图图4.3员工功能流程图4. 1.2子功能结构本系统具有注册、登录、订单生成、仓库管理等功能。车辆管理,订单管理.以下将对每一个子函数的具体功能进行详细说明。(1)订单创建功能想要下订单的人,可以将自己的快递信息(包括始发地、目的地、快递重量、备注信息、客户联系方式、证件照片等),在此基础上,系统会利用距离计算算法和邮费计算算法,对此次订购的商品进行一次计算,并在此基础上,根据订单的特定时间,自动产生一个快递单,并且会产生一个快递信息单,在该信息单中,能够查看到当前的情况(是否揽件,是否派件,以及用户有没有收到)。到此为止,用户的订购流程已经完成。图4.4显示了创建定单函数的流程图。.订单信息录入订单信息表图4.4用户创建订单功能流程图(2)管理员、员工注册功能在进入后台管理系统时,需要通过登录程序,产生相应的帐号、密码以及相应的个人资料。管理员信息包含管理员ID,使用者名称,电话号码,建立时间,密码。员工信息包括:主键ID,口令,用户名,所属仓库,员工类别。在这个过程中,使用MD5加密算法产生的密码是密文来保证系统的安全。如果你在登录帐号的页面上输入了你的帐号,那么你的帐号将会被告知你的帐号已经存在。图4.5注册功能流程图(3)快递配送功能在收到订单后,该系统将货物从始发地的仓库通过物流车运送到当地的仓库。当当地的仓库接收到来自最后一个物流仓库的包裹后,这个仓库就会进行一个接收动作,表明这个物品已经被输入到了当地的仓库,这个时候,这个时候,订单的状态就会从“未收到”变成“已收到”。仓库分部的工作人员会派人将货物送到目的地,如果工作人员将货物送达,那么顾客就会收到包裹,这个时候,订单的状态就会变成“已收到”,这就是物流的全部过程。图4.6示出了快件分发功能(托运)的流程图。图4.6揽件功能流程图图4.7派件功能流程图4. 2数据库设计数据库的设计是软件开发中不可缺少的一环。数据库里的信息,就是整个项目的底层数据。没有对数据库进行良好的设计,就无法实现很多功能。这个部分的设计主要是为了完成从系统的功能要求到实体模型到数据库模型的转化。一个好的数据库设计,不仅要能够满足工程的需要,而且要能够清楚地反映数据间的相互关系。好的数据库设计能够为整个项目带来卓越的表现。另外,如何让数据库在设计阶段有效地实现预期的功能,并为用户在使用系统时提供准确的数据支撑,这也是开发人员应该考虑的问题。4. 2.1数据库概念结构设计本课题拟采用已知的实体连接法(ER)构建企业资源配置模型,并借助资源配置图对数据库的概念结构进行可视化表达,从而构建数据库的概念模型。如图4.8所示,信息管理系统E-R图表。图4.8快递信息管理系统ER图4. 2.2数据库逻辑结构设计快递信息管理系统主要数据库逻辑结构设计如下:admin表用来存储系统管理员的信息。数据库表详细设计见下表表4.1管理员信息表(admin表)字段名字段含义类型大小是否主键能否为NU1.1.Id主键idint11YNusername用户名varchar30NNpassword用户密码varchar20NNcreated创建时间datetime/NNupdated更新时间datetime/NNphone电话号码varchar11NYemploy表用来存储员工的信息。数据库表详细设计见下表4.2:表4.2员工信息表(employee表)字段名字段含义类型大小是否主键能否为NU1.1.Id主键idint11YNusername用户名varchar30NNpassword员工密码varchar20NNcreated创建时间datetime/NNupdated更新时间datetime/NNphone电话号码varchar11NYtype_name员工种类varchar30NNrepository表用来存储仓库的信息。数据库表详细设计见下表4-3:表4.3仓库信息表(repository表)字段名字段含义类型大小是否主键能否为NU1.1.Id主键idint11YNrepository_name仓库名称varchar50NNaddress仓库地址varchar50NNcreated创建时间datetime/NNupdated更新时间datetime/NNemployee_repository表用来存储员工所属仓库关系的信息,能够清晰直观地体现员工与仓库的对应关系。数据库表详细设计见下表表4.4员工仓库信息表(employeejepository表)字段名字段含义类型大小是否主键能否为NU1.1.Id主键idint11YNrepository_id所属仓库varchar11NNemployee_id员工idvarchar11NNcreated创建时间datetime/NNupdated更新时间datetime/NNtruck_repository表用来存储物流车辆的信息。数据库表详细设计见下表4.5:表4.5物流车辆信息表(truck_repository表)字段名字段含义类型大小是否主键能否为NU1.1.Id主键idint11YNcar_no货车车牌号varchar30NNplace货车所在位置varchar30NNcreated创建时间datetime/NNupdated更新时间datetime/NNorders表用来存储订单的信息。数据库表详细设计见下表4.6:表4.6订单信息表(OrderS表)字段名字段含义类型大小是否主键能否为NU1.1.Id主键idint11YNorder_id订单号varchar50NNstart-point始发地varchar50NNend_point收货地varchar50NNcreated创建时间datetime/NNdistance总距离varchar50NNweight寄件规格varchar40NNtotal_price寄件总价varchar50NNorder-status订单状态tinyint3NNnotes备注信息varchar300NN数据库外部关系图见图4.9:图4.9数据库外部关系图4. 3本章小结与“做什么”不同,系统设计主要解决“如何做”的问题,离开了这一点,就不可能构建出一个稳固的体系架构,也不可能在需求分析中获得预期的功能,从而造成系统的失败。这一章着重介绍了该系统的详细设计流程。从整体功能设计,子功能设计,数据库设计等几个方面对该系统进行了详细的设计。第五章系统实现4.1 系统的开发环境整个系统工程采用了SPringBOOt+VUE的结合,这是目前最受企业欢迎的。作者选用JaVa作为后端开发语言。JaVa是当前应用最为广泛的编程语言。封装、多态、跨平台的特性,让它的应用场景非常多样化。Java语言在经历了三十多年的发展和迭代之后,已经越来越成熟和完善。是一个很好的选择,因为它是一个很好的开发系统。因为Java语言具有平台独立性,所以本文选用了最常用的Windows10操作系统,并采用Mysql5.7来进行数据库的设计。操作系统:Windows1OSpecialEdition整合开发环境:IDEAEnterprise版本资料库:Mysql5.1.20JDDK1.8版本的Java开发软件包资料库可视化工具:Navicat开发技术:SpringBoot+VUE,Htm1.MyBatis5. 2系统界面设计与实现界面是用户和系统进行最直接的互动,整洁、整洁的界面能给用户带来更舒服、更方便的操作体验,让用户保持一个好的心态,从而提升工作效率。可视化接口是整个系统中非常重要的一个部分。在快递信息管理系统的界面上,作者本着干净,整洁简约不简单的原则,给用户提供了一个简单、全面的操作和一个简洁而又美观的使用体验。(1)登陆界面如下:后台用户管理人员及工作人员需先登陆登记界面,方可进入快件管理系统。事先注册的使用者在确认管理员还是员工身份后。您只需输入您的帐号和密码即可登录。而没有注册的用户则要首先选择自己的用户,然后在登录页面中输入相应的个人资料,如果以前是同一个人物登录过这个帐号,那么系统就会提示这个用户已经进行了注册。如图5.1所示,登录功能接口显示如下:图5.1注册界面图图5.2登录界面图(2)管理员操作界面:管理员可以通过他们的接口来管理人员,公司(库房),车辆管理,订单管理等。参见图5.3:图5.3管理员界面图(3)员工管理界面:员工可在员工端界面进行收件操作和派件操作。见图54图5.4员工界面图5.3系统各功能模块的实现该系统主要实现了订单生成、人员管理、订单管理、车辆管理、快件配送等功能。(1)用户创建订单功能在这一步中,当使用者需要填写一些必需的资料,例如:发送地、目的地、寄件人姓名、收货人名字、重量等,系统就会利用距离算法和邮费算法,自动产生一个送货的价格,并利用时间获取方法,在这个时候建立一个新的订单。(2)员工管理功能管理员一方可以对员工进行管理,其中有删除员工、修改员工职位等。HXSS点击修改按钮后:可以修改员工的基本信息点击删除员工按钮后会出现删除确认提示IOCalhOSt:8080是否脸要I*激员工?确定(3)货车管理功能点击添加货车按钮后:就可以填写车辆基本信息。(4)快递配送功能在收到订单后,该系统将货物从始发地的仓库通过物流车运送到当地的仓库。如果当地的仓库接收到了最后一批货物,比如上图中的3号订单,那么工作人员就会做一个收件动作,表示货物已经进入了当地的仓库,这个时候,订单的状态就会从“未收到”变成“已收到”。ttms1Tt11lt三Fllocalhost:8080显示收件成功!确定点击收件动作后,将快件送到当地的仓库,然后在当地仓库的定单清单上显示出刚进仓的定单。仓库分部会派工作人员将货物送到当地仓库(请单击右边的红色按钮)。localhost:8080出仓成功!确定如果您的订单号码是2022040871135959,那么您的订单就会出现在快递员的送货名单上。出库后,由工作人员负责派件操作。点击右侧红色按钮进行派件Ic)CalhOSt:8080显示耐做!在员工完成派送任务后,顾客将会收到包裹,这时,订单的状态将变为“己收货”。配送状态:已收货至此整个配送流程结束。5. 4本系统核心功能代码解析6. 4.1Ijava实现mysql数据库的连接1 .距离计算功能通过调用百度地图API界面,传入地址信息address返回传入地址的经度Ing和纬度Iat从而达到计算距离的功能。通过方法get1.atitude获取传入参数的经度和纬度。pdckdgecom.logistics.utils:iwp«rtva.io.ButterecIReader:inportjava.io.InputStreanReAder;!portJ.UA1.:U.UR1.Encoder:IJIPort»Y«.util.H«$ttAap;Inportjava.util.M<>:jVpublicclass1.ocitlonutlls<privatestaticdoubleeARTH_RADIUS-6378.137;privatestaticfinalStringeIOU_APP_fY-a>42t8ceca9cd6te72e<½ddd77<Ma5d*a:privatestaticdoublerad(doubled)returndMath.FJ/1B.;COntroner层调用此方法的返回值(json形式)样例如下:Uterm,CauMn”1«”以D.swi勘>tstr.*cn4M>.wi:*t5MeH2*)NS>1111)>44M4"cttMsrmirruu411rrmM)sz,rjD>(iMiiBm,imi;)I)U)JtUAuh>nU”3将经纬度换算成距离 ftbjrJett ftdurE, AmcjvNa,Xwec2 etiiB /PMtlicstatic(taiefPtOstaceVttw(<lutIel>t1.0U>ieln<ttf*lelvt>.d>u*jlag?)<toblcrad1.4tl-4d(l4tl);tMblereiUU-,Ut2):<ot>lrradiatiratl4lJ-toblrkr4dtlag()HW<oaile»2IMIfl.Ml>(lith.94r11Mth.paHN<th.>ia(4/2).2)MThCFrt)Wth.cv<radl4t7)MathpHM,hin(/J).2);1->tArn.MIM;S-StMraUnA5M<M<1)tIttttMSsIgrturT,Qrjrmrr3r11 aa«JK*vM*rm fgtT0FUklic*ttcXg1B*tO*tMC(StrmgBtartAMrrvc.Stringd倒r“)(,,,tn.StrU5<“:-1.caticnttlH.fretdfJfudto<(*t4ru<MrM):V4B<3V1(.itrlJipUiU1.KAtlMItt1.ls.ettMJtMdK<ndMrCU):returnKefHWmI,.1.trt(U4tw)OMjtk.RM1AaUeJr<,1.<1>>.DaubUp«rg2KAJrMap,.“td»DsubJvi2ac>H*W.BcW)fIMS);)2.邮费计算邮费算法工具类1.ogisticsPriceUtils如下:publicclassIogisticsPnceiitil<privateprivateprivateprivatestatic(titlestaticstaticfinalIntSlAmMoiGHT12:/fi1141doubleF5TWITCOST-4.ee:/finalOoubleD11AMf-UW11.to11-.S:看flfMlDoubleCOWZMUED-kEZfiKr3.ee:/r修tB1.JBweight(一,卬*tm1.tflstdnce(机。AM;/publicstaticOoubHcost(Dcublewit.Doybietflstnc)/«r量诏if(weight<-STANCAfiDIGfin(returnMath.E乂*WtMIMAiT-SydlstanceMST4<f.UWT.CW7):else(/ftK4d/If4T<C49iX.<fi*>V<*闺returnMath.ceil(STAaV1.田的majwi匚e$T (we励tS以MM应Xl*)c州力m<0J<7*r dlstanceWSTCf-W-CDS11:3 .管理员/员工注册功能功能逻辑:注册被分成了两个部分:管理员和员工登记注册的具体逻辑是这样的:根据前端传来的roleid,确定是管理员还是员工。/W一 r4*ffW U1M>eA4>MwtfMi“lieyiuwm<UtofR>IuhI-t4StviRIiwrt三MHlrvMMwtItaitfHyf¾ni<oltdto.gittfmoi>rg1.M*<v<Rww>."twwMrt11*(UrlRgmm-a三rr<rf>mvWgwm三oyr1.frPi11wv11f>frnMw11>,4 .管理员修改信息(这里以管理员工信息为例,仓库信息,订单信息管理原理相似这里不再赘述)如下图所示这里管理员通过Insert方法构建了一个员工对象。修改员工信息如下freerrideptHcStfingtpd<e(trw*eriMM.StringpMsmrd.Sttirtftriftf*f4MWItrf*w*)<QUenMrePPerrper-EQueryMrwerf):r<p*r.eq<CaheWK*memMie*.IeernMtej:bvwvw)ef*4UprrwIvcWrw(Hr9pvr):it(eflplr*?-mil)/*ff¾"f"¼f"MMIfJf,Vif(pssmr<l'-rail)Uequalsr<11<BUf«e-setF*MMrMdn*ls-“tM»(PaUMara);If(rww?2Mf*.Als(Mt)<ew)*.SettWtHnve):if(te<4meJ-rullU!v*.equals(trpeuate)ealv*.