宅急送物流管理系统的设计与实现.docx
《宅急送物流管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《宅急送物流管理系统的设计与实现.docx(44页珍藏版)》请在冰点文库上搜索。
宅急送物流管理系统的设计与实现
摘要
随着互联网的多元化发展下,互联网金融,O2O,共享经济等新零售的商业形式的兴起市场经济发展快,随着第三方物流的出现,成为了很多制造业、商业企业的追逐对象,物流企业、物流外包从各个方面都可以很好的降低成本也成为越来越多企业的共识、物流企业外包可以很大的提高企业的服务水平。
把客户至上的服务观点及以客户为核心的业务流程可以有效地适应各种商业形式以便适应企业他们的所有商业模式。
所以性能优良的物流管理系统在当今这个经济高速发展的时代,有这十分可靠的前景及需求。
本系统是用java语言编写的基于JSP技术与MVC模式的物流管理系统,本系统使用了Springboot框架[1],开发工具为IEDA,数据库则使用了MySQL数据库。
在页面设计这一部分采用了JSP动态页面技术[2]。
系统具有简单好看的界面,简单操作的特点等
关键词:
MySQL;Web开发;Springboot;JAVA;JSP
ABSTRACT
WiththediversifieddevelopmentoftheInternet,theemergenceofnewretailbusinessformssuchasInternetfinance,O2O,sharedeconomyandsoon,marketeconomydevelopsrapidly.Withtheemergenceofthirdpartylogistics,ithasbecomethetargetofmanymanufacturingandcommercialenterprises.Logisticsenterprisesandlogisticsoutsourcingcanreducecostsverywellinallaspects,whichhasbecometheconsensusofmoreandmoreenterprises,besideslogisticslotion.Packagecangreatlyimprovetheservicelevelofenterprises.Customer-orientedserviceconceptandcustomer-centeredbusinessprocessescaneffectivelyadapttoavarietyofbusinessformsinordertoadapttoalltheirbusinessmodels.Therefore,thelogisticsmanagementsystemwithexcellentperformancehasveryreliableprospectsandneedsinthiseraofrapideconomicdevelopment.
ThissystemisalogisticsmanagementsystembasedonJSPtechnologyandMVCmodewritteninJavalanguage.ThissystemusesSpringbootframework,IEDAdevelopmenttoolandMySQLdatabase.Inthispartofpagedesign,JSPdynamicpagetechnologyisused.Thesystemhassimpleandbeautifulinterface,simpleoperationcharacteristics,etc.
KEYWORDS:
MySQL;WebDevelopment;Springboot;JAVA;JSP
1绪论
1.1背景及意义
随着互联网的多元化发展下,互联网金融、O2O、共享经济等新零售的商业形式的兴起市场经济发展迅速。
随着第三方物流的出现,成为了很多制造业、商业企业的合作对象,通过物流企业、物流外包能从各个方面很好的降低成本,可以很大的提高企业的服务水平,这也成为越来越多企业的共识。
把客户至上的服务观点及以客户为核心的业务流程可以有效地适应各种商业形式,以便适应企业他们的所有商业模式。
性能优良的物流管理系统在当今这个经济高速发展的时代,有这十分可靠的前景及需求,能解决人们生活中的物流需求,并提供更宽广的高质量生活平台。
物流管理系统通过对数据和信息的集中处理,方便快捷的解决物流需求。
网络平台宅急送采用物流管理系统方案进行信息化处理物流订单状态,引入先进的物流管理思想和技术,从而全面推动宅急送的信息化管理水平,为宅急送的业务拓展和战略扩张奠定坚实的基础。
提高客户服务水平。
物流公司采用该系统,实现通过货单号在线查询所有交运物品的状态:
客户在线实时知晓快件的运输、配送情况;快递员能方便地查看待办的快件订单,已更好地安排配送;管理者能对快件订单运输情况进行统计,有效管理快件配送情况,提高公司服务效率。
通过报表分析功能,公司决策层能实时了解每日甚至每单业务的执行情况,为人力资源调配和工作考核提供依据。
快递配送服务站可以及时了解上站发送货品的信息,及时地安排接运,提高工作效率。
物流管理系统能通过合理利用资源,高效地完成下单和配送业务。
1.2国内外物流现状研究
物流作为人类生活生产中的货物交易的运输方式有这悠久的发展历史,在古代,物流运输非常昂贵,货物通过陆地或海洋进行运输,管理非常粗放,运输过程非常缓慢。
进入现代社会后,随着计算机技术的发展,促进了社会生产信息的数字化进程,产生了大量的系统运用实现大规模数据处理和事务管理。
这些系统采用B/S或C/S系统架构,以互联网网络技术为基础,通过数据库管理系统和编程语言进行系统开发。
由于现代物流的规模越来越大,需要管理的信息越来越多,物流管理系统得到广泛应用,并取得非常好的效益。
近年来我国电子商务的迅猛发展,网络购物的兴起很大程度地促进物流行业的发展。
随着物流订单的规模增大,物流配送数据越来越复杂,管理的难度越来越大,过去手工进行物流订单信息管理已经严重制约效率的提升。
物流管理采用IT技术提高服务质量和管理水平成为必然要求。
同时,国内物流公司应该清醒地认识到,随着我国加入WTO后,对外开放的领域扩大,企业将面对国外优秀企业的直接挑战,因此必须提高企业信息化管理手段,提高其工作效率[7]。
在传统的物流信息信息管理中,由于缺乏信息化系统的支撑,整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,管理过程十分复杂繁琐。
物流信息信息管理以物流信息信息管理为核心,实现自动化管理和数据实时共享,有效提高管理效率。
本课题系统开发目的主要是实现物流信息信息管理的系统化、规范化、自动化和智能化,从而提高物流公司的管理效率。
1.3系统特点
(1)系统应符合我国乃至国际法律法规的相关要求,有效保护个人敏感信息和保障货物运输安全,系统安全性好。
同时满足物流公司生产需求,系统界面友好直观,操作方便。
(2)系统设计开发应采用模块化,对相关数据接口进行定义,方便系统功能更新和优化,通过数据接口的隔离,对系统权限进行分层,实现系统安全有效的维护管理。
(3)系统应具备强大的后台维护功能以及系统日记功能,并且具备较强性能的服务器,能满足高负荷的处理要求。
(4)尽量采用现有软件环境及先进的管理系统开方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
2相关技术概述
2.1Java语言
Java是简单,跨了平台的,分布式的,面向了对象,还有解释的,移植性强的,多线程的语言[3]。
Java的特点:
(1)Java开发者非常多的,社区很活跃,而且资源和文档比较完善丰富。
(2)Java有第三方类库很多。
导入依赖Maven后分可以进行下载jar到maven仓库中。
(3)Java拥有功能强大的IDE[4]。
Eclipse、IDEA、都是很有利于java开发的。
(4)Java拥有服务应用越来越多的。
SpringBoot,Dubbo,Hadoop支持度也是很高的等等。
(5)Java的性能还是很高。
JVM可以进行性能调优的。
2.2SSM框架
SSM,英文全称为Spring+SpringMVC+MyBatis,框架集由Spring、MyBatis两个开源框架整合而成,常被采用进行Web项目的开发。
SSM框架的工作机制主要通过页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据,最后实现Web页面。
SSM框架主要由Java语言在遵循MVC模式开源开发框架下进行编写,通过SSM框架的整合作用,能让开发人员更便捷地实现web应用。
SSM框架的核心包括三方面内容:
(1)Spring是一个开源、轻量级开发框架,Spring在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。
也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),不再需要程序员去显式地`更新处理复杂繁多的对象,让Spring框架实现管理。
(2)SpringMVC通过分离分派器以及处理程序对象的角色,实现控制器、模型对象的定制分离。
SpringMVC能在项目中拦截用户请求,ServletDispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。
(3)MyBatis实现基于Java的持久层框架,MyBatis通过sqlSessionFactory实例进行操作展开,通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。
在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令,让数据库底层操作变的透明。
2.3MySQL
MySQL属于关系型数据库[5],作为免费的开源数据库,由于其卓越的性能和良好的管理能力得到开发者的喜爱,尤其在WEB程序开发领域,MySQL是最好的选择。
MySQL最初由瑞典MySQLAB公司开发,后被收购成为Oracle旗下产品,其主要特性如下:
(1)使用C语言进行编写,支持多种编译器,源代码可移植性好;
(2)支持FreeBSD、HP-UX、Linux、MacOS、NovellNetware、Solaris、Windows等多种操作系统,能部署在不同的服务器平台,兼容性好[6];
(3)为多种编程语言提供了功能丰富的API接口程序,适合不同程序语言的开发者进行开发,运用这些API,可以快速的进行系统开发;
(4)支持多线程,充分利用CPU资源,并且支持服务器数据库集群,方便对数据库进行扩展拆装,适合云平台的部署;
(5)对SQL查询算法进行优化,有效地提高查询速度,性能优越;
MySql由于其体积小、速度快、成本地[7],尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
2.4VueUI
基于Vue.js的Bootstrap组件该仓库包含一系列基于Bootstrap标记CSS的本地Vue.js组件。
所以不需要jQuery和Bootstrap的JavaScript文件,唯一需要依赖的是:
Vue.jsBootstrapCSS,Vue不依赖某个非常精确的Bootstrap版本。
如果喜欢bootstrap的小伙伴又不想换Jquery的开发方式是不二的选择。
2.5ECharts可视化技术
Echarts,英文全称为EnterpriseCharts,是国内XX公司开发并开源的商业级数据图表技术,完全使用JavaScript实现[8],可以流畅的运行在PC端和移动端,兼容现在的绝大多数浏览器,底层依赖轻量级的矢量图形库ZRender,可高度个性化的数据可视化图表。
ECharts提供了丰富的数据图表,包括折线图、柱状图、饼图、散点图等,还有用于统计的盒形图和用于地理数据可视化的地图,展示功能非常强大。
同时Echarts还提供自定义图形,提供多种格式的数据源转换,只需要简单设置encode属性就可以完成多种数据到图形的映射。
通过增量渲染技术,Echarts能够展现千万级的数据量,并且可以保持在这个数据量集依然能够进行流畅的缩放平移等交互。
而且由于其开源的特性,其社区正在不断发展,吸引着越来越多热爱着编码的开发者为其提供着帮助,让ECharts越来越完善。
2.6本章小结
本章节主要描述了实现该系统所使用的关键性技术。
首先介绍了Java语言的特点及优势和SSM框架,然后介绍了用于管理后台系统Vue的特性,最后再介绍了用于部署项目的ECharts图表。
这样完整地呈现出开发此系统所涉及到的技术与概念。
3系统需求分析
企业物流信息管理技术在不断的提升,从而使物流系统的开发的难度也越来越大,达到同样的目标可以采用很多不同的方式,通过对系统需求的分析,本物流系统选用Idea+Mysql开发技术,我们在不同的方案中要提出不同的分析。
3.1系统开发环境
系统开发环境采用操作系统window7,开发工具选择IDEA,安装Tomcat8.5.9搭建Web服务器。
本系统采用开发语言Java进行开发数据库使用MySQL。
5.7系统测试工具为Postman。
3.2功能描述
1、用户:
查询单号、修改个人信息、下单;
2、系统管理员:
查询价格、查询网点、查看是否送达、寄送快递、快递员的所有功能、处理业务(用户的申诉,用户的订单提交)、注册快递配送员,系统分配任务、监控;
3、快递配送员:
登录,改变货物状态(是否送达);
4、入库流程:
1)系统接收用户订单;
2)是否上门寄件;
3)到达仓库;
4)记录货物(货物收费,送达时间(当日送?
隔日送),送达地点,到送付款以付款);
5)仓库系统更新;
5、出库流程:
1)显示货物信息;
2)打印任务单;
3)进行分拣:
根据任务单;是否为今日件:
立刻安排车次;是否为本区域货物,当日件立刻安排车次尽快派送到其他区域仓库;隔日件(统一晚上安排车次送达其他区域仓库);
4)复查,包装;
5)出库,仓库更新;
5、配送流程:
1)系统打印任务单;
2)根据任务单领取货物;
3)开始配送;
4)到达,签收;
5)送达反馈系统;
6、系统处理业务的流程:
1)接收用户订单请求;
2)判断是否为上门取件;
3)货物进入仓库的记录;
4)开始分配任务;
7、进入监控,等待反馈信息;
3.3系统功能层次模块
系统采用模块化设计,功能层次如3-1图所示:
图3-1系统功能层次图
3.4各模块功能描述
配送员管理:
实现配送员相关功能,该模块功能描述如表3-1所示:
表3-1配送员功能描述表
模块名称
配送员管理
功能描述
1)添加配送点:
管理员可根据需要添加新配送点,配送点信息包括配送点的编号、名称、地址、规模以及备注信息。
2)查看配送列表:
管理员和配送点管理员可以查看所有配送点的基本信息,基本信息包括配送点的编号、名称、地址。
3)查看配送信息:
管理员和配送点管理员可以查看任一配送点的详细信息,详细信息包括配送点的编号、名称、地址、规模以及备注信息。
4)修改配送点信息:
管理员可根据需要修改、维护配送点的信息,包括配送点的名称、地址、规模以及备注信息。
5)删除配送点信息:
管理员可根据需要删除配送点,但是若存在路线经过该配送点,或是有订单涉及到该配送点则无法删除。
6)查看配送点配送范围:
针对某一配送点,管理员和配送点管理员可以查看该配送点的所有配送范围。
接口与属性
1)接口名称:
增加配送员(addCourier);
输入参数:
配送员(addCourier)
返回值:
空(Null)
2)接口名称:
查看配送信息(selectCourier);
输入参数:
编号(c_num)
返回值:
空(Null)
3)接口名称:
修改配送点信息(updateCourier);
输入参数:
编号(c_num)
返回值:
空(Null)
4)接口名称:
删除配送点信息(deleteCourier);
输入参数:
编号(c_num)
返回值:
空(Null)
补充说明
其用例图如下所示:
图3-2配送员用例图
订单管理:
实现订单管理功能,该模块功能描述如下表3-2所示:
表3-2订单管理功能描述表
模块名称
订单管理
功能描述
7)订单查询:
配送点管理员可查询所管理配送点的订单情况,客户只能查询自己的订单。
8)订单输入:
可以进行网上订单申请,若用户不是在网上下单,则配送点要把该订单输入到网上统一管理和调度。
9)订单确认:
用户的网上订单,需要业务人员与货主联系确认,并收货后再改变订单状态。
10)订单状态维护:
配送点管理员对所有订单进行审查和批复。
如客户对订单进行了退订操作,则突出显示。
接口与属性
11)1)接口名称:
订单查询(selectOrders);
12)输入参数:
订单号(orderId)
13)返回值:
收寄地(orderAddress)、收寄日期(orderReceivingSendingTime)、配送地(orderDelivery)、订单类别(orderCategory)、订单状态(orderState)、备注(orderRemarks)
14)2)接口名称:
订单输入(addOrders);
15)输入参数:
收寄地(orderAddress)、收寄日期(orderReceivingSendingTime)、配送地(orderDelivery)、订单类别(orderCategory)、订单状态(orderState)、备注(orderRemarks)
16)返回值:
空(Null)
17)3)接口名称:
订单确认(updateState);
18)输入参数:
订单号(orderId)
19)返回值:
空(Null)
20)4)接口名称:
订单状态维护(selectOrders);
21)输入参数:
订单号(orderId)
22)返回值:
True或False
补充说明
23)
其用例图如下图所示:
图3-3订单管理用例图
配送管理:
实现物流货物配送相关功能,该模块功能描述如下表3-3所示:
表3-3配送管理功能描述表
模块名称
配送管理
功能描述
24)1、生成交接单:
站点管理员或系统管理员对相应站点新的订单按照配送目的地进行交接单的生成。
包括封单号、货号清单、收寄地、交接地、日期、运输车号、承运人、接收人。
25)2、查看交接单:
站点管理员、系统管理员或车辆承运人通过交接单号对交接单进行查询。
包括清单、收寄地、交接地、日期、运输车号、承运人、接收人。
26)3、删除交接单:
站点管理员或系统管理员通过交接单号找到对应交接单,确认接收人已签字后删除交接单。
27)4、班次与交接单调配:
站点管理员或系统管理员把生成的交接单根据配送地和配送目的地选择路线,然后通过路线选择合适的车辆与交接单绑定。
一辆车可以有多个交接单。
包括封单号、货号清单、收寄地、交接地、日期、运输车号、承运人、接收人、路线起点、路线终点、车辆编号。
接口与属性
28)1)接口名称:
生成交接单(addTransferSingle);
29)输入参数:
货号清单(tsItemList)、收寄地(tsAddress)、交接地(tsTransfer)、日期(tsDate)、运输车号(tsId)、承运人(tsCarrier)、接收人(tsRecipient)、路线起点(tsLineStarting)、路线终点(tsLineEnd)、车辆编号(tsCarId)
30)返回值:
空(Null)
31)2)接口名称:
查看交接单(selectTransferSingle);
32)输入参数:
封单号(tsSealNumber)
33)返回值:
货号清单(tsItemList)、收寄地(tsAddress)、交接地(tsTransfer)、日期(tsDate)、运输车号(tsId)、承运人(tsCarrier)、接收人(tsRecipient)、路线起点(tsLineStarting)、路线终点(tsLineEnd)、车辆编号(tsCarId)
34)3)接口名称:
删除交接单(deleteTransferSingle);
35)输入参数:
封单号(tsSealNumber)
36)返回值:
空(Null)
补充说明
其用例图如下图所示:
图3-4配送管理用例图
报表管理:
实现系统报表功能,该模块功能描述如下表3-4所示:
表3-4报表管理功能描述表
模块名称
报表管理
功能描述
1、系统月报表:
系统管理员按月生成省内所有配送点的收入。
2、系统季度报表:
系统管理员按季度查询省内所有配送点的收入。
3、系统年报表:
系统管理员按年查询省内所有配送点的收入。
4、配送点收货报表:
配送点管理员按月、季度或年的条件生成该配送点的收货报表。
5、配送点发货报表:
配送点管理员按月、季度或年的条件生成该配送点的发货报表。
6、配送点收发货报表:
配送点管理员按月、季度或年的条件生成该配送点的收发货报表。
接口与属性
1)接口名称:
生成报表(addReportForm);
输入参数:
报表时间(rfTime)、报表生成时间(rfGenerationTime)、配送点名称(rfDsName)、配送点货物总重量(rfAllWeight)、总体积(rfAllVolume)、配送收入(rsIncome)
返回值:
空(Null)
补充说明
其用例图如下所示:
图3-5报表管理用例图
权限管理:
实现权限管理功能,该模块功能描述如下表3-5所示:
表3-5权限管理功能描述表
模块名称
权限管理
功能描述
1.添加新角色或操作:
系统管理员可对角色和操作进行增加。
包括角色编号、名称以及操作的名称。
2.删除新角色或操作:
系统管理员可对角色和操作进行删除。
包括角色编号、名称以及操作的名称。
3.修改新角色或操作:
系统管理员可对角色和操作进行修改。
包括角色编号、名称以及操作的名称。
接口与属性
1)接口名称:
添加新用户(addUser);
输入参数:
姓名(userName)、性别(userSex)、电话(userPhone)、职位(userPosition)
返回值:
空(Null)
2)接口名称:
编辑用户信息(updateUser);
输入参数:
编号(userId)
返回值:
空(Null)
3)接口名称:
删除用户信息(deleteUser);
输入参数:
编号(userId)
返回值:
空(Null)
补充说明
其用例图如下所示:
图3-6权限管理用例图
用户管理:
实现用户管理功能,该模块功能描述如下表3-6所示:
表3-6配送员功能描述表
模块名称
用户管理
功能描述
1、添加新用户:
系统管理员和配送点管理员可以将新员工录入系统。
2、编辑用户信息:
用户根据需要编辑