中图分类号:TP315文献标识码:A文章编号:1009-3044(2016)09-0283-03
1背景
随着物流行业的不断发展,各物流公司之间竞争也日益加剧。目前,多数物流公司接收货物都是以用户上门提交来完成,用户运输的货物量论文网大时还要自己寻找车辆运输,物流公司对各种用户的货物信息要计算货物运输费用并做出详细的清单,十分不便。针对以上的问题,设计并实现了传统MVC架构的物流运输管理系统,解决了用户注册后在线下单。物流运输公司后台操作员时时接单处理等需求。系统采用JSP语言和SQLserver2005数据库编写,采用传统的MVC编程模式实现系统,降低模块之间耦合性,方便后期进行扩展和维护。
2系统架构
物流运输管理系统根据面临的实际需求来设计实现系统各个功能模块,使用JSP。Servlet和JavaBean实现。MVC设计模式使应用程序被分成模型(Model)。视图(View)和控制器(Control)三个核心部件,将系统设计者和程序员的角色清楚地划分开。模型是在系统程序中处理数据逻辑的部分,视图是在系统程序中处理数据显示的部分。控制器是在系统程序中处理用户交互的部分,将视图上的行为(比如点击Submit提交按钮)映射到模型上的操作(比如提交用户下单相关的信息),它的运行模式如图1所示。系统使用ExtJS设计界面,ExtJS是一套客户端框架,完全JavaScript。CSS和HTML实现,与主流浏览器完全兼容,并且无需安装任何插件。
JSP全名为JavaServerPages,是在SunMicrosystems公司的倡导下。多家公司共同参与建立的一种跨平台的动态网页技术,在传统静态HTML页面中嵌入Java代码片段,再由Web服务器中的JSP引擎来进行编译并执行嵌入的Java代码片段,生成的页面信息返回给客户端。JavaBean是Java语言写成的一种可复用的平台独立软件组件,主要负责处理后台的数据运算和数据库的相关操作;Servlet是连接前台和后台service层的桥梁,是数据的中转站,主要负责交互式浏览和修改数据并生成动态内容,它的工作流程为:用户通过HTTP在本地Web端发出请求,服务器端收到用户的请求提交到Servlet容器并调用Servlet中编写设计的相关方法来处理请求,访问SqlServer数据库,调用Web服务。EJB或直接给出处理结果,并生成一个响应。响应由Servlet容器返回给服务器,服务器包装这个响应后以HTTP响应的方式发送给本地Web浏览器。Servelt与一般JAVA类的不同之处是可以处理HTTP请求。
ExtJS是采用JavaScript写的主要用于创建用户界面的前端框架。ExtJs由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论是在UI界面上CSS样式的应用,到对数据解析异常处理,都算是一款不可多得的JavaScript客户端技术的精品。因为它与后台技术无关,因此可以在Java。。Net等各种语言开发的应用中使用ExtJS对前端页面进行设计美化,达到快速开发的目的,提升效率。
3系统需求设计
在物流运输管理系统的特点是:用户注册后可以在线下单,方便高效,下单过程中根据填写的信息实时计算出所需支付的费用。用户可选择自己配送或是让物流公司上门提货,物流公司在线接单后根据用户实际订单货物量和地址距离来派车,充分提高了货物运送的效率。功能模块如图2所示。
物流运输管理系统主要分为前台用户和后台管理员两类角色。后台管理员分为:系统操作员。主管。财务人员和超级管理员,其中系统操作员又分接单操作员。派单操作员和干线商联系人操作员。对于后台管理员的一系列操作,主要分几个时间节点:未审核状态。已审核未派车状态。已派车未入库状态。已入库待运输状态。运输中状态和运输完成已签收状态。
1)前台用户模块。该模块实现用户注册。个人信息修改。密码修改。运单查询。在线下单和物流查询功能。
2)接单操作员模块。接单操作员查看并审核客户已提交的运单信息,并反馈给客户。
3)派单操作员模块。派单操作员根据运单的实际处理情况派车提货并能根据实际需求对运单部分信息进行修改。
4)干线商联系人操作员模块。干线商联系人操作员通过本系统反馈,及时联系干线商进行货物运输及物流状态更新。
5)主管模块。主管登录系统后,可以查看掌握所有订单的实时处理动态,做出相应决策。
6)超级管理员模块。超级管理员可以通过系统后台管理所有人员,包括每个操作员的相关权限和人员的增加删除。
4系统部分功能设计与实现
4。1用户在线下单模块
该部分主要实现了已注册登录的用户对货物运输的在线下单功能,设计过程如下:用户登录系统后点击我要下单“进入下单页面,填写发货人信息。收货人信息。货物信息和其他增值费用信息。在填写相关信息的过程中,点击不同费用的id操作,触发onblur()事件和onchange事件等事件调用Ajax的异步传输,提交一个携带费用信息的长字符串到后台Servlet对用户当前所填内容进行实时计算,并将计算的详细费用显示在页面左侧,供下单用户参考。填写完毕后,用户勾选同意相关货物运输协议,我要下单“按钮从灰色的不可点击状态转为蓝色可下单状态,点击按钮提交订单;前台js相关代码在提交前进行数据格式验证,若验证失败则弹出问题提示信息;若验证成功则提交请求至后台,此时运单状态变为未审核。用户也可以选择保存草稿“对已填写内容保存,方便之后继续填写。图3为用户下单页面。4。2接单操作员审核运单模块
后台接单员对用户新下的运单进行审核,若用户未选择上门提货,则审核通过后订单从未审核状态变为未入库状态,否则审核通过后转变为已派车状态。若审核未通过则转为审核未通过状态。当用户新下单后超过一定时间未被审核处理时,系统自动提高其处理优先级,将运单按照其优先级的高低顺序显示给接单操作员处理。接单操作员对新收到的运单操作如图4所示。
4。3派单操作员派车提货模块操
后台派单员对需要派车提货运单填写派出的车辆信息并进行派车提货,并转为已派车未入库状态。当确认货物入库后,派单操作员将运单装状态改为已入库待运输状态。当待派车的运单超过一定时间未被处理时,系统自动提高其处理优先级,将运单按照其优先级的高低顺序显示给派单操作员处理。派单操作员对运单派车操作如图5所示。
4。4干线商联系人操作员模块
对于自身运输的线路,物流公司可以选择独自承担运输货物服务。对于超出运输路线的运单,物流公司需要联系干线商为其提供货物运输服务,并录入干线商运送货物车辆信息,货车信息组成为货车司机姓名+司机电话+货车车号+车型。此时运单状态变为运输中状态。
4。5签收确认模块
货物已完成配送且收件人已签收后,需要对运单执行签收操作,并向系统上传签收拍照图片。运单完成后,状态更改为已完成状态,前台用户可在已完成运单中查看详细信息。
5数据库设计
系统数据库采用SQLServer2005,设计了dbo。admin1。dbo。adminorder。dbo。contacts。dbo。logistics。dbo。trunk。dbo。userorder。dbo。packing。dbo。goods。dbo。freighttype等17个表。各个数据库表图如图6所示。
6结束语
本文介绍了使用传统MVC模式设计的物流运输管理系统,根据具体需求以时间节点为顺序分析了每个角色的功能作用和实现,希望该文能让读者了解物流运输的流程及具体的设计实现过程。
MVC框架的物流运输管理系统