基于springboot物流配货管理系统的设计与实现

摘 要

信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对物流配货等问题,对物流配货进行研究分析,然后开发设计出物流配货管理系统以解决问题.

物流配货管理系统主要功能模块包括:库存货物、分类信息、货物入库、货物出库、车辆分类、车辆、订单中心、车辆路线、顶大追踪、订单发货、系统管理员、配货管理员、车辆管理员等模块,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取Mysql作为后台数据的主要存储单元,采用springboot技术、vue.js语言、ajax等技术进行业务系统的编码及其开发,实现了本系统的全部功能.本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础.针对物流配货管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现物流配货管理系统和部署运行使用它.

关键词:物流配货、springboo、vue.js、Mysql

Abstract

There is a need for targeted access to information in an information-based society, but the expansion of access is basically the direction people are trying to go in, and people can often access different types of information because of the deviation of the angle they are standing on, this is also one of the most difficult topics for technology to tackle. In view of the logistics distribution and other problems, the logistics distribution is studied and analyzed, and then the logistics distribution management system is developed to solve the problems.

The main functional modules of the logistics and distribution management system include: inventory goods, classified information, goods in storage, goods out of storage, vehicle classification, vehicles, order center, vehicle route, top tracking, order delivery, system administrator, distribution manager, vehicle manager, etc. , adopting the object-oriented development mode to develop the software and set up the hardware can well meet the needs of actual use, and improve the corresponding software setup and program coding work, adopt Mysql as the main storage unit of background data, adopt springboot technology, vue. Js language, Ajax and other technologies for business system coding and development, the realization of the full functions of the system. This report, first of all, analyzed the research background, the function, the significance, has laid the foundation for the research work rationality. This paper analyzes the requirements and technical problems of the logistics distribution management system, proves the necessity and technical feasibility of the system, and then makes a basic introduction to the technical software and design idea needed in the design system, finally to achieve the logistics distribution management system and deployment run using it.

Key words:Logistics Distribution、Spring Boot、vue. Js、 Mysql

目  录

第1章 绪论

1.1研究背景与意义

1.2开发现状

第2章 相关技术介绍

2.1 Java简介

2.2 springboot框架介绍

2.3 B/S结构

2.4 Vue.js介绍

2.5 Mysql数据库

2.6 Ajax介绍

第3章 系统分析

3.1可行性分析

3.2功能需求分析

3.3非功能需求分析

3.4安全性需求分析

3.4.1系统的安全性

3.4.2数据的安全性

3.5数据流程分析

第4章 系统设计

4.1系统架构设计

4.2系统总体设计

4.3数据库设计

4.3.1数据库表设计

第5章 系统实现

第6章 系统测试

6.1测试目的

6.2功能测试

6.3性能测试

第7章 总结与展望

参考文献

致谢

  1. 绪论

    1. 研究背景与意义

在经济全球化发展中,快递业务的作用越来越突出.快递业务是企业供应链中的一部分,是为了满足客户的需要将物品、服务和相关信息从原始点向消费点有效益地流动以及存储的计划、执行和有效控制的过程.近年来,国外企业的快递业务化发展极快,相比之下,我国企业快递业务还很落后,快递业务信息化进展相对缓慢.

进入20世纪以来,计算机技术、通讯技术、和控制技术,广泛而快速地渗透到当今社会生活的各个层面,己经成为了推动社会经济稳定发展的重要技术.信息技术是目前世界范围内的前沿技术,将来也是改善人们生活方式的重要技术,是目前信息管理的一个重要技术手段.信息管理系统的建立,为各级管理决策者提供了信息支持,从根本上改善了管理人员的劳动条件和工作性质,是管理手段现代化的重要标志.

  1. 开发现状

中国快递业务相比国外还是比较落后的,相比于国外起步较晚,就目前国内的快递业务来看,情况不容乐观.国内快递行业巨头邮政,他的网点是所有快递公司都无法达到的,就算是在偏远的山区也能到达,但是邮政收费贵、服务态度不好,且需要的时间很长,有些需要在短时间内到达的货物不能达到客户的需求.其他民营企业运送包裹的时间与邮政相比之下快很多,收费也便宜一些,但是网点少很多,在一些乡镇基本没有站点更别提边远山区了.同时国内也有很多小快递公司,进入行业的门槛很低,公司制度不完善,公司老板卷钱跑路的情况也时有发生,对员工、对客户都造成一种损失,然而监管不严,不知道从何维权.

快递行业市场政策法规不健全,在货物安全问题上没把过关,违禁品照发,给社会安全造成一定的负面影响,当货物损坏时推卸责任,没有尽到一家公司的职责,行业间存在恶意竞争的情况.网上不断有曝光快递公司人员乱丢包裹、踩踏、不可颠倒物品颠倒等等一系列问题,这是公司制度不完善、从业人员素质不高的表现.

当然,在管理上快递业务公司的管理制度也不是很完善,需要根据实际情况实时调整公司制度,就目前快递行业来说,需要制定一个完善的法律法规.在当前行业乱象丛生的情况下,公司应该坚守职业道德,提高服务质量,形成一个良性循环,这样有益于公司的长远发展.

  1. 相关技术介绍

    1. Java介绍

Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护.它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,JSP(java server pages),和XML技术.JAVA语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序.Java程序相对较小,其代码能够在小机器上运行.Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发.

Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行.因此,实现了它的跨平台特性.虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进.

  1. spring boot框架介绍:

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器.尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补.Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等.Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法.Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象.Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化.Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求.Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现.Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作.Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能.Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难.它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象.Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC.

spring boot框架特点:

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决.

SpringBoot所具备的特征有:

2.2.1可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs

2.2.2内嵌Tomcat或Jetty等Servlet容器;

2.2.3提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

2.2.4尽可能自动配置Spring容器;

2.2.5提供准备好的特性,如指标、健康检查和外部化配置;

2.2.6绝对没有代码生成,不需要XML配置.

  1. B/S结构

B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件.这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用.客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库.浏览器通过Web Server同数据库进行数据交互.

B/S体系工作原理:

B/S架构采取浏览器请求,服务器响应的工作模式.

用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;

而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;

从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户.在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网.而各个企业可以在此结构的基础上建立自己的Internet.

在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的.通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式.

图 2.1 B/S架构图

  1.  Vue.js 介绍

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架.与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动.

Vue.js 主要功能:

Vue.js是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用.

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.

Vue.js 自身不是一个全能框架——它只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用.

Vue.js 语言特点:

易用:在有HTML,CSS,JavaScript的基础上,快速上手;Vue.js 的 API 是参考了AngularJS、KnockoutJS、Ractive.js、Rivets.js;Vue.js 的 API 的对于其他框架的参考不仅是参考,其中也包含了许多 Vue.js 的独特功能.

灵活:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用.

性能:20kb min+gzip 运行大小、超快虚拟 DOM 、最省心的优化.

  1. Mysql数据库

Mysql 经过多次的更新,功能层面已经非常的丰富和完善了,从Mysql4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果.最新版本的Mysql支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求.同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷.最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算.强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用.在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体.第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷.

针对本文中设计的物流配货管理系统在实际的实现过程中,最终选择Mysql数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高.综合这些因素,最终选择安全性系数比较高的Mysql来对物流配货管理系统后台数据进行存储操作.

数据库管理系统的总体结构图如下图所示.

图2-2 数据库组成结构

  1. Ajax 介绍:

Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括:HTML或XHTML,CSS,JavaScript,DOM,XML,XSLT, 以及最重要的XMLHttpRequest.使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作.

Ajax 应用:

该技术在 1998 年前后得到了应用.允许客户端脚本发送HTTP请求(XMLHTTP)的第一个组件由Outlook Web Access小组写成.该组件原属于微软 Exchange Server,并且迅速地成为了 Internet Explorer 4.0 的一部分.部分观察家认为,Outlook Web Access 是第一个应用了 Ajax 技术的成功的商业应用程序,并成为包括Oddpost 的网络邮件产品在内的许多产品的领头羊.但是,2005 年初,许多事件使得 Ajax 被大众所接受.Google 在它著名的交互应用程序中使用了异步通讯,如Google、Google 地图、Google 搜索建议、Gmail等.Ajax 这个词由《Ajax: A New Approach to Web Applications》一文所创,该文的迅速传播加强了人们使用该项技术的意识.另外,对Mozilla/Gecko 的支持使得该技术走向成熟,变得更为易用.

Ajax 前景非常乐观,可以提高系统性能,优化用户界面.Ajax 现有直接框架 AjaxPro,可以引入 AjaxPro.2.dll 文件,可以直接在前台页面 JavaScript 调用后台页面的方法.但此框架与表单验证有冲突.另外微软也引入了 Ajax 组件,需要添加AjaxControlToolkit.dll 文件,可以在控件列表中出现相关控件.

图2.3Ajax构架图

  1. 系统分析

    1. 可行性分析

技术性方面,采用当前主流的springboot技术进行系统主体框架的搭建,前台使用ajax,实现前台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统.从技术角度看,这个系统是完全可以实现的.

实用性方面,本次设计的主要任务是在物流配货管理系统内库存货物、分类信息、货物入库、货物出库、车辆分类、车辆、订单中心、车辆路线、顶大追踪、订单发货、系统管理员、配货管理员、车辆管理员等,符合当前潮流的发展.从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务分工,使得业务流程更系统,也更方便企业工作分配,比较实用.

经济性方面,由于本课题中设计的物流配货管理系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件.系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上.但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个物流配货管理系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的.

  1. 功能需求分析

物流配货管理系统的功能主要分为管理员、系统管理员、配货管理员、车辆管理员等根据自己的工作需求进行注册登录,提交各自工作任务的申请操作.后台管理员因职责的不同,分为系统管理员和超级管理员,系统管理员主要对库存货物、分类信息、货物入库、货物出库、车辆、订单中心、车辆路线、订单追踪、订单发货、配货管理员、车辆管理员进行处理;配货管理员处理库存货物、订单中心、订单追踪、订单发货;车辆管理员处理车辆分类、车辆、车辆路线等进行处理.

系统管理员用例图如下所示.

图3-1 系统管理员用例图

配货管理员用例图如下所示.

图3-2 配货管理员用例图

车辆管理员用例图如下所示.

图3-3车辆管理员用例图

  1. 非功能需求分析

首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的.软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析.面对物流配货管理系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析.

  1. 安全性需求分析

    1. 系统的安全性

安全性对每一个系统来说都是非常重要的.安全性很好的系统可以保护企业的信息和用户的信息不被窃取.提高系统的安全性不仅是对用户的负责,更是对企业的负责.尤其针对于物流配货管理系统来说,必须要有很好的安全性来保障整个系统.

系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性.

  1. 数据的安全性

数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据.因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题.

因此,在写入数据库时,要保证数据完整性、正确性和一致性.

  1. 数据流程分析

系统顶层数据流图如下图所示.

图3-4 顶层数据流图

  1. 系统设计

    1. 系统架构设计

本物流配货管理系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层.其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层.

系统架构如下图所示.

图4-1 系统架构

  1. 系统总体设计

物流配货管理系统总体分为前台用户模块和后台管理员模块.

两个模块表现上是分别独立存在,但是访问的数据库是一样的.每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的.

综上所述,系统功能结构图如下图所示.

图4-2  物流配货管理系统功能结构图

  1. 数据库设计

    1. 数据库表设计

物流配货管理系统所拥有的数据表有以下:库存货物、分类信息、货物入库、货物出库、车辆分类、车辆、订单中心、车辆路线、订单追踪、订单发货、系统管理员、配货管理员、车辆管理员.

由于数据表较多,只展示系统主要数据表,如下表所示.

表:access_token

字段名称

类型

长度

字段说明

主键

允许空值

token_id

int

11

临时访问牌ID

主键

token

varchar

64

临时访问牌

maxage

int

2

最大寿命

create_time

timestamp

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

user_id

int

11

用户编号

表:auth授权

字段名称

类型

长度

字段说明

主键

允许空值

auth_id

int

11

授权ID

主键

user_group

varchar

64

用户组

mod_name

varchar

64

模块名

table_name

varchar

64

表名

page_title

varchar

255

页面标题

path

varchar

255

路由路径

position

varchar

32

位置

mode

varchar

32

跳转方式

add

tinyint

1

是否可增加

del

tinyint

1

是否可删除

set

tinyint

1

是否可修改

get

tinyint

1

是否可查看

field_add

varchar

255

添加字段

field_set

varchar

255

修改字段

field_get

varchar

255

查询字段

table_nav_name

varchar

255

跨表导航名称

table_nav

varchar

255

跨表导航

option

text

配置

create_time

timestamp

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:classification_information分类信息

字段名称

类型

长度

字段说明

主键

允许空值

information_id

int

11

分类信息ID

主键

cargo_category

varchar

64

货物类别

examine_state

varchar

16

已通过

pay_state

varchar

16

未支付

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:discharge_from_warehouse货物出库

字段名称

类型

长度

字段说明

主键

允许空值

warehouse_id

int

11

货物出库ID

主键

goods_no

varchar

64

货物编号

name_of_goods

varchar

64

货物名称

outbound_quantity

varchar

64

出库数量

customer_name

varchar

64

客户名称

address

varchar

64

地址

price

varchar

64

售价

contact_number

varchar

64

联系电话

total_amount

varchar

64

总金额

delivery_date

date

出库日期

ex_warehouse_remarks

text

出库备注

examine_state

varchar

16

已通过

pay_state

varchar

16

未支付

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:distribution_manager 配货管理员

字段名称

类型

长度

字段说明

主键

允许空值

manager_id

int

11

配货管理员ID

主键

id

varchar

255

身份证

examine_state

varchar

16

已通过

pay_state

varchar

16

未支付

pay_type

varchar

16

支付类型

CURRENT_TIMESTAMP

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:hits点赞

字段名称

类型

长度

字段说明

主键

允许空值

hits_id

int

10

点赞ID

主键

user_id

int

11

点赞人

create_time

timestamp

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

表:message留言板

字段名称

类型

长度

字段说明

主键

允许空值

message_id

int

10

留言板ID

主键

user_id

int

11

用户ID

title

varchar

64

标题

content

longtext

内容

nickname

varchar

32

昵称

avatar

varchar

255

头像

email

varchar

125

留言者邮箱

phone

varchar

11

留言者手机号码

create_time

timestamp

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

reply_id

int

11

回复ID

表:order_center订单中心

字段名称

类型

长度

字段说明

主键

允许空值

center_id

int

11

订单中心ID

主键

purchase_quantity

varchar

64

购买数量

price

varchar

64

售价

name_of_goods

varchar

64

货物名称

total_amount

varchar

64

总金额

customer_name

varchar

64

客户名称

address

varchar

64

地址

contact_number

varchar

16

联系电话

order_date_

date

下单日期

required_delivery_date

date

需发货日期

order_remarks

varchar

64

订单备注

goods_no

varchar

64

货物编号

examine_state

varchar

16

审核状态

examine_reply

varchar

255

审核回复

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:order_shipment订单发货

字段名称

类型

长度

字段说明

主键

允许空值

shipment_id

int

11

订单发货ID

主键

order_number

varchar

64

订单号

customer_name

varchar

64

客户名称

address

varchar

64

地址

contact_number

varchar

64

联系电话

goods_no

varchar

64

货物编号

expected_delivery_date

date

预计送达日期

route_name

varchar

64

路线名称

number

varchar

64

数量

name_of_goods

varchar

64

货物名称

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:order_tracking订单追踪

字段名称

类型

长度

字段说明

主键

允许空值

tracking_id

int

11

订单追踪ID

主键

order_number

varchar

64

订单号

order_status

varchar

64

订单状态

current_location

varchar

64

当前位置

remarks

varchar

64

备注

route_location

text

途径地点

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:stock_goods 库存商品

字段名称

类型

长度

字段说明

主键

允许空值

goods_id

int

11

库存货物ID

主键

goods_no

varchar

64

货物编号

name_of_goods

varchar

64

货物名称

picture

varchar

255

图片

cargo_category

varchar

64

货物类别

brand

varchar

64

品牌

stock

int

11

库存

specifications

varchar

64

规格

storage_location

varchar

64

存放位置

cargo_remarks

text

货物备注

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:system_administrator 系统管理员

字段名称

类型

长度

字段说明

主键

允许空值

administrator_id

int

11

系统管理员ID

主键

id

varchar

255

身份证

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

varchar

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:upload 上传

字段名称

类型

长度

字段说明

主键

允许空值

upload_id

int

11

上传ID

主键

name

varchar

64

文件名

path

varchar

255

访问路径

file

varchar

255

文件路径

display

varchar

255

显示顺序

father_id

int

11

父级ID

dir

varchar

255

文件夹

type

varchar

32

文件类型

表:user用户

字段名称

类型

长度

字段说明

主键

允许空值

user_id

mediumint

8

用户ID

主键

state

smallint

1

账户状态

user_group

varchar

32

所在用户组

login_time

timestamp

上次登录时间

CURRENT_TIMESTAMP

phone

varchar

11

手机号码

phone_state

smallint

1

手机认证

username

varchar

16

用户名

nickname

varchar

16

昵称

password

varchar

64

密码

email

varchar

64

邮箱

email_state

smallint

1

邮箱认证

avatar

varchar

255

头像地址

create_time

timestamp

创建时间

CURRENT_TIMESTAMP

0

表:user_group 用户组

字段名称

类型

长度

字段说明

主键

允许空值

group_id

mediumint

8

用户组ID

主键

display

smallint

4

显示顺序

name

varchar

16

名称

description

varchar

255

描述

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

register

smallint

1

注册位置

create_time

timestamp

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:vehicle 车辆

字段名称

类型

长度

字段说明

主键

允许空值

vehicle_id

int

11

车辆ID

主键

license_plate_number

varchar

64

车牌号

vehicle_type

varchar

64

车辆类型

picture

varchar

255

图片

load_number

varchar

64

载重数

vehicle_remarks

text

车辆备注

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:vehicle_administrator车辆管理员

字段名称

类型

长度

字段说明

主键

允许空值

administrator_id

int

11

车辆管理员ID

主键

id

varchar

255

身份证

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:vehicle_classification车辆分类

字段名称

类型

长度

字段说明

主键

允许空值

classification_id

int

11

车辆分类ID

主键

vehicle_type

varchar

64

车辆类型

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:vehicle_route 车辆路线

字段名称

类型

长度

字段说明

主键

允许空值

route_id

int

11

车辆路线ID

主键

route_name

varchar

64

路线名称

place_of_departure

varchar

64

出发地

destination

varchar

64

目的地

route_location

text

途径地点

route_duration

varchar

64

路线时长

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

表:warehousing 货物出库

字段名称

类型

长度

字段说明

主键

允许空值

warehousing_id

int

11

货物入库ID

主键

goods_no

varchar

64

货物编号

name_of_goods

varchar

64

货物名称

receipt_quantity

int

11

入库数量

supplier_name

varchar

64

供应商名称

address

varchar

64

地址

warehousing_time

date

入库时间

contact_number

varchar

16

联系电话

unit_price

varchar

64

单价

total_price

varchar

64

总价格

warehousing_remarks

text

入库备注

examine_state

varchar

16

审核状态

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

更新时间

CURRENT_TIMESTAMP

  1. 系统实现

数据库访问层的实现

从B/S架构的原理可知,物流配货管理系统的各大模块的实现均需要对数据库的数据进行操作,具体包括查询数据、写入数据、更新数据和删除数据,因此,在开发各功能模块前,首先创建一个名称"conn.php"的文件,该文件主要用于连接数据,以后对程序需要操作数据时,可能使用语句"<?php reqiure_once('conn.php');?>"调用就可以了.

该文件的代码如下:

<?php

error_reporting(0);

//数据库链接文件

$host='127.0.0.1';//数据库服务器

$user='root';//数据库用户名

$password='';//数据库密码

$database='phpxsschsg7555AE10';//数据库名

$conn=@mysql_connect($host,$user,$password) or die('数据库连接失败!');

@mysql_select_db($database) or die('没有找到数据库!');

添加用户模块的实现

超级管理员添加用户界面如下图所示.

图5-1超级添加用户界面

登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面.登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”.获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败.登录失败后给出提示,并把焦点停在文本框中.登录成功后将该次会话的全局变量username设置为用户名.登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布上门取件信息管理,发布信息,和退出功能.退出功能是清除全局变量username的值,并跳回到首页.

登录流程图如下图所示.

图5-2登录流程图

管理用户登录界面如下图所示.

图5-3管理用户登录界面

用户登录的关键代码如下:

if ($username!="" && $pwd!="" )

{

if($cx=="管理员"){$sql="select * from allusers where username='$username' and pwd='$pwd'";}

$query=mysql_query($sql);

$rowscount=mysql_num_rows($query);

if($rowscount>0)

{

$_SESSION['username']=$username;

if($cx=="管理员"){

$_SESSION['cx']=mysql_result($query,0,"cx");

}

else

{

$_SESSION['cx']=$cx;

}

echo "<script language='javascript'>alert('登陆成功!');location='main.php';</script>";

}

else

{

echo "<script language='javascript'>alert('用户名或密码错误!');history.back();</script>";

}

库存货物

超级管理员添加货物,需要对货物信息进行归类,对货物编号、货物名称、货物类别、品牌等信息进行填写并提交,超级管理员可更新信息也可以删除货物信息.

下图为添加货物信息.

图5-4库存货物管理图

分类信息

超级管理者添加货物分类类别信息,并进行提交类目,超级管理员也可删除类别.

超级管理员添加分类信息图.

图5-5分类信息界面图

货物入库

超级管理员管理入库货物,可通过搜索货物编号、货物名称、供应商名称等信息进行查询或重置货物,超级管理员也可删除或添加货物信息.

图5-6 货物入库界面图

货物出库

超级管理员对货物出库的货物编号、货物名称、出库数量、客户名称、地址、售价、联系电话等信息进行查询,也可重置出库信息或删除出库信息.

图5-7 货物出库界面图

车辆

超级管理员对车辆信息车牌号、车辆类型、图片、载重量、车辆备注、创建时间等信息进行查询,超级管理员可以重置车辆信息和删除等操作.

图5-8 车辆信息界面图

订单中心

超级管理员对订单中心查询货物信息购买数量、售价、货物名称、总金额、客户名称、地址、联系电话等信息进行查询,超级管理员可点击发货也可删除订单或添加新的订单.

图5-9订单中心界面图

车辆路线

超级管理员对车辆路线路线名称、出发地、目的地、途径地点、路线时长、创建时间等信息进行查询,并可进行添加或者删除车辆路线.

图5-10车辆路线界面图

订单追踪

超级管理员对订单号、订单状态、当前位置、备注、途径地点、创建时间等信息进行订单追踪,超级管理员也可重置添加新的信息或删除信息.

图5-11 订单追踪界面图

订单发货

超级管理员查询订单发货信息:订单号、客户名称、地址、联系电话、货物编号、预计送达时间、路径地点等信息进行货物追踪,超级管理员可重置添加或删除订单发货信息.

图5-12 订单发货界面图

  1. 系统测试

    1. 测试目的

对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生.下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性.

  1. 功能测试

下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况.得出该功能达到了设计目标.

表6-1 系统登录功能测试用例

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的用户名和密码带有非法字符

提示用户名或者密码错误

与预期结果一致

输入的用户名或者密码为空

提示用户名或者密码错误

与预期结果一致

输入的用户名和密码不存在

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

  1. 性能测试

使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试.线上服务器环境为:cpu 1.60GHz及以上,内存:4GB及以上,硬盘:500MB以上,1Mbps公网带宽,操作系统:Windows 10、Windows 7、Windows 8.

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加.在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重.

  1. 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理.该课题是物流配货管理系统为核心展开的,主要是为了实现物流配送信息化管理和用户上门取件的需求.

物流配货管理系统的开发是以springboot、vue.js等编程技术作为基础,在IDEA开发工具上完成编码工作,系统整体为B/S架构,数据库系统使用Mysql.文中详细分析了物流配货管理系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容.系统实现了物流配货管理系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性.整个系统的开发过程中大量使用了springboot相关的知识以及前端开发使用的html和javascript等,同时涉及到了很多开源框架和组件,例如后台系统中运用的MVC架构、Freemarker模板引擎等,前端运用的Vue.js框架等.

系统投入运行时,各功能均运行正常.系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好.整个系统的各个功能设计合理,体现了人性化.

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善.

参考文献

[1]王美珍. 山西省物流业与区域经济的协同发展研究山西财经大学,2021.

[2]丁捷. 我国物流业增值税法律制度研究江西财经大学,2021.

[3]陈宁. 物流业绿色创新对企业绩效的影响研究武汉纺织大学,2021.

[4]许翘楚. 京津冀城市物流业与制造业协同度测度研究天津理工大学,2021.

[5]吴鑫雨. 安徽省物流业效率测算及其影响因素分析安徽理工大学,2020.

[6]余乾. 长三角物流业低碳发展评价与对策研究安徽理工大学,2020.

[7]张玉竹. 安徽省农业与物流业耦合协调度评价研究安徽理工大学,2020.

[8]李婧华. 低碳发展视角下天津市物流业效率评价研究昆明理工大学,2020.

[9]马妍. 山西省制造业与物流业联动发展路径及提升策略研究山西师范大学,2020.

[10]李丹丹. 物流业对区域技术效率的影响:中国省域数据的经验分析重庆工商大学,2020.

[11]周小鸿. 长江经济带物流业绿色全要素生产率测算及影响因素研究重庆工商大学,2020.

[12]林成男. D医院卫材库仓储设计及配送过程改善研究吉林大学,2020.

[13]徐文豪. 考虑配货计划的城市冷链多目标配送路径研究北京交通大学,2019.

[14]邢鹏. 整车物流OTD订单匹配系统的设计与实现吉林大学,2018.

[15]任博. 物流配货管理系统的设计与实现东北大学,2017.

[16]余柯颖. 基于PHP的智能物流配货平台架构与实现西南交通大学,2017

[17]寇雯玉. 智能物流配货与评价体系研究长安大学,2016

致谢

本次设计历时三个月.在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利.指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益.另一个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅.他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉.我从老师那里学到了很多东西.在理论和实践中,我的技能得到了特别大的提高.在此,特向教师表示由衷的感激.

经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展.让我对系统研发有了更深层次的认识.如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获.

最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想.在次,我由衷的向他们表示感激.

免费领取本源代码,请关注点赞+私信

(附源码)基于springboot的物流配货管理系统的设计与实现 毕业设计 250858相关推荐

  1. (附源码)springboot曦乐苹果园林管理系统的设计与实现 毕业设计100854

    基于springboot曦乐苹果园林管理系统 摘 要 在社会快速发展的影响下,农业迅速发展,大大增加了园林管理的数量.多样性.质量等等的要求,使园林的管理和运营比过去十年更加困难.依照这一现实为基础, ...

  2. (附源码)springboot+mysql+ssm医院挂号系统的设计与实现 毕业设计211633

    Springboot医院挂号系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克 ...

  3. (附源码)springboot外委员工后台管理系统 毕业设计101157

    基于springboot外委员工后台管理系统 摘 要 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统, ...

  4. (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517

    基于springboot太原学院贫困生申请管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为 ...

  5. (附源码)基于SpringBoot的在线学生请假管理系统的设计与实现 毕业设计060935

    Springboot在线学生请假管理系统 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...

  6. 基于SpringBoot的在线学生请假管理系统的设计与实现 毕业设计-附源码060935

    Springboot在线学生请假管理系统 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...

  7. (附源码)springboot西安酷跑健身房管理系统 毕业设计 345421

    西安酷跑健身房管理系统的设计与实现 摘 要 大数据时代下,数据呈爆炸式地增长.为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势.在健身房管理 ...

  8. (附源码)springboot大学生防疫封校管理系统 毕业设计 632124

    大学生防疫封校管理系统 摘 要 2019年12月19号中国武汉发生第一例新冠病毒的到来,大家都在听从政府的号召在居家隔离,不管是在城市还是在乡镇.农村,这引起我的注目,设计一套大学生防疫封校管理系统 ...

  9. (附源码)pringboot冬奥会竞赛项目知识网站的设计与实现 毕业设计152337

    目 录 摘要 1 1 绪论 1 1.1研究意义及背景 1 1.2研究现状 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2 冬奥会竞赛项目知识网站系统分析 3 2.1 可行性分析 3 ...

最新文章

  1. hdu 2563(递推)
  2. Java动态代理之cglib
  3. 机器学习recall含义_机器学习的业务含义
  4. linux安装mysql允许外部访问权限_Linux yum 安装mysql以及进行授权允许远程登录
  5. GridView自动序号
  6. linux释放系统内存,系统运维
  7. 镜像配置见证机失败解决方案
  8. vue2.0 + vux (四)Home页
  9. Objective-C入门教程(摘录)
  10. go替代python运维_粗读web框架之go gin和python django
  11. HUSTOJ安装记录
  12. sfm支持Linux和Windows吗,VisualSFM的使用方法
  13. 快速对接第三方接口--短信接口
  14. 龙芯 Linux usb,使用debirf制作龙芯2F的LiveUSB
  15. 国外著名英文搜索引擎大全及分类
  16. Android AES加密解密 CTR 模式
  17. IFR202型红外雨量传感器非接触式检测降雨量的传感器
  18. 《RAFT-Stereo:Multilevel Recurrent Field Transforms for Stereo Matching》论文笔记
  19. android 杀进程推送服务,关于APP进程被杀死,极光推送收不到消息的解决办法
  20. HBuilder开发旅游类APP(一) ----- 实现地图插件调用、苹果和安卓同步混合开发

热门文章

  1. ePower入门-TLE9879新建Keil MDK工程
  2. plsa matlab实现
  3. 再见吧USB!无线激光一体机好价精选
  4. Halcon-图像视频采集
  5. iso9001认证需要什么资料
  6. python爬取csdn上的包含整人关键词的阅读量并且存入表格里
  7. 【2018年11月16日】绩优超跌个股排名
  8. RoCE与RDMA技术
  9. BootStra相关脚本引用说明
  10. Csharp 判断UNICODE字符是否属于汉字