多站点物流行业业务系统设计与开发

2012-08-10 08:50有,张平,许
中国流通经济 2012年2期
关键词:客户端货物物流

李 长 有,张 吉 平,许 巍 巍

(太原市科技信息服务中心,山西 太原 030009)

物流业已成为我国国民经济体系的重要组成部分。在“十二五”乃至未来更长时期的经济发展中,必将对我国物流产业发展提出更高层次的要求。

目前,我国中小物流企业普遍没有配套的信息化管理系统。据统计,全国1000万家中小企业中,实现信息化的比例还不到10%,并且仅限于针对财务管理系统、企业资源计划、人力资源管理、客户关系管理、建立内部网及企业网站和网页等方面。而大部分中小物流企业没有建立自己的信息平台,平时的通讯与联系主要是电话(包括移动电话)与传真,不仅准确率低、及时性差,而且出错率高。

现代物流的根本宗旨是提高物流效率、降低物流成本、满足客户需求,并越来越呈现出信息化、网络化、智能化、柔性化、标准化和社会化的特征。其中信息化是现代物流的核心,只有实现了信息化,才能有效实现物流的网络化、系统化和柔性化,物流企业才能有效提高物流效率,为客户提供良好的服务。目前,物流软件提供商过多地关注高端客户群,而忽略了中小物流企业这一市场,导致适合中小物流企业的软件匮乏。这也是中小型物流企业难以实现信息化的重要原因之一。很多IT厂商已经认识到了中小企业市场的潜力,推出了中小企业的解决方案。例如,2002年国际商业机器公司(International Business Machines Corporation,IBM)为中小企业定制的易捷系列解决方案问世,2003年惠普(HP)公司也推出了一系列为中国中小企业量身定制的“灵动商务”,就连一向“高瞻远瞩”打着高端市场烙印的美国EMC(Electron Machine Corporation)公司也为中小企业推出EMC-centera入门版本,并在2005年向中小企业送出秋波。但每个中小型物流企业都有自己的特点,对软件的要求也不尽相同,而大多数提供商提出的是“标准化”方案,即用一套包含多个产品的系列服务解决方案应对各行业企业的多层次需求,这显然不能得到中小物流企业的青睐。

一、系统概述

本系统针对目前传统物流业务管理系统不能满足专线物流企业个性化需求的情况,在太原市一家专线物流企业的大力配合下,通过深入调研精品专线物流实际业务流程,使用Silverlight技术、[1]LINQ to SQL操纵数据库,[2]实现了该系统的设计、开发。该技术微软(Microsoft)近几年提出,在效果展示方面有独特优势,可以跨浏览器、跨客户平台,并且可以综合使用可扩展应用程序标记语言(XAML)、WCF、LINQ to SQL 等应用软件设计技术,是一种WEB2.0的技术解决方案。

二、系统设计

系统从专线物流企业实际业务流程出发,实现了从托运单管理、发货单管理、运输协议管理、派送单管理、委托单管理等在线操作,过程中实现了套打托运单、运输协议、行车命令单等流程,同时包括车辆管理、仓储管理、财务管理、查询统计分析等功能,功能模块如图1所示。

1.系统设计原则

(1)先进性。该系统在设计上采用先进的软件工程学方法,使之成为在系统结构上具有先进性、前瞻性、扩充性的软件平台,从而保证建成的网站系统具有良好的稳定性、安全性和可扩展性。

(2)实用性。考虑到在尽量满足业务功能需求的前提下又要适应各业务角色的工作特点,该系统力求做到简单、实用、人性化,实现了统一资源管理、个性化界面和内容定制。

(3)可靠性。由于该系统属于物流企业应用服务系统,所以充分考虑了在建系统的可靠性和安全性。在系统设计中,应有适量冗余及其他保护措施,平台和应用软件具有良好的容错性、容灾性等。

(4)可维护性。系统设计应标准化、规范化,按照分层设计,实现软件构件化。一是系统结构分层,业务与逻辑分离,逻辑与数据分离;二是以统一的服务接口规范为核心,使用开放标准;三是构件语意描述形式化;四是提炼封装构件规范化。

(5)可扩展性。充分考虑系统建设是循序渐进、不断扩充的过程,应用最为先进的软件工程方法,采用积木式结构,整体构架可以与原有系统进行无缝连接,为今后系统扩展和集成留有扩充余量。

(6)易维护性。设备及软件易于操作、维护、管理。

(7)安全性。采用一个整体的系统安全方案,将系统安全分为网络安全、服务器安全、用户安全、应用程序和服务安全、数据安全等多个部分,以保障整个系统的安全。

(8)可恢复性。通过动态备份和静态备份相结合、本地备份和远程备份相结合的方式,保证系统在受到可能的意外攻击或数据破坏时能更大限度地恢复系统。

2.开发环境

图1 系统功能结构示意图

项目设计开发采用微软.net体系,C#语言[3]和SQL server数据库,结合当前面向服务的开发模式进行设计。完全采用B/S的开发模式,便于系统的维护和管理。采用的其他技术有可扩展标记语言(Extensible Markup Language,XML)、[4]LINQto SQL、WCF (Windows Communication Foundation)、Silverlight等。

3.系统数据表

系统数据库表主要包括站点信息表、托运单基本信息表、发货信息表、库存信息表、采购信息表、发货单表、行车命令表、车辆基本信息表、用户表、词典表、登陆日志表等,各表严格按照数据库表设计原则,达到第三范式(3NF),尽可能减少数据冗余。

4.系统主要模块流程

(1)库存流程。①根据货主的正式入库凭证,出/入库管理员开正式的入库单,交仓库管理人员准备收货。②收货人员收货,搬运装载,分标记,验收入库,堆码,作好验收记录。③仓库收货人员与仓库接货人员办理交接手续,即由收货人员在送货单上签字。④根据验收记录,仓库保管人员在商品入库单上签收,同时将商品存放的库层、商品信息批注在入库单上。多联入库单的一联留在仓库保管员处进行保管,一联留给货主,一联退给管理员。

(2)运输服务流程。详见图2。①货主提出货运托运申请。②调度根据车辆及司机情况决定是否接受。③汇总托运信息。④借助于地理信息系统编制车辆运输委托计划。⑤生成调度命令并下达司机。⑥司机根据调度命令提货、运输、交货。⑦填制有关单据并上报。⑧运输业务统计。

(3)送货流程。详见图3。

图2 运输服务流程图

三、系统实现

该系统的主界面上方为功能导航菜单,左侧为常用业务流程与查询统计菜单,操作人员可通过该菜单快速到达各个业务流程。中央区域展示了整个业务流程图,操作人员可直接点击相关业务流程进入。

1.系统体系结构模型及实现基本原理

整个系统包括Silverlight应用程序、服务器应用程序。Silverlight应用程序属于客户端表现层,由用户控件和样式构成。服务器应用程序通过WCF服务类操作数据库,并按照约定提供给客户端应用程序调用服务的接口,Silverlight应用程序通过异步调用WCF实现与服务器端的交互,该技术在多用户并发访问的情况下,有效地提高了服务器的响应速度并缓解了服务器的压力。客户端通过异步调用获取、存储数据,避免客户端停滞和界面整体频繁刷新,提供了非凡的用户体验。根据实际的需要,除基本业务流程外,该系统加入了表单网页套打,提高了物流企业信息化、专业化水平。

(1)WCF服务类。该系统使用 ActionUtil、CommonsUtil两个服务类,类中定义了针对各种应用的服务方法,ActionUtil服务类主要定义了业务流程相关的公开接口,比如托运单的增、删、改、查对外接口等操作,而CommonsUtil类定义了公共的服务接口,包括系统、人员、权限设置等对外接口。这些方法均由Operation Contract修饰,可以通过WCF实现对外公开,以达到WCF服务为客户端应用程序提供和保存各种数据的目的。得到所有托运单的部分代码如下:

[OperationContract]

public ListgetAllConsignBill()

{ConsignBillService consignBillServiceForm =new ConsignBillService();

return consignBillServiceForm.getAllConsignBill();}

(2)模型层。模型层提供了各种服务的具体实现,通过LINQ to SQL实现对数据层进行访问(LINQ提供了一种关系数据库映射成对象模型的方法)。该模型层包括了托运单服务(Consign Bill Service)、发货单服务(Send Goods Service)等。托运单服务中得到所有的发货单位部分实现代码如下:

图3 送货流程图

internal ListgetFhdwType()

{using(DBLAYERDataContext dblayer=new DBLAYERDataContext())

{var tmp1=(from item1 in dblayer.ConsignBill

select item1.ForwardUnit).Distinct();

return tmp1.ToList();}}

(3)客户端。使用Silverlight建立页面,要实现与WCF服务通信,就需要在项目中添加一个针对WCF服务的服务引用。在解决方案管理器中,选择添加服务引用完成后,客户端项目中将自动生成服务客户端配置和代理类。

(4)调用WCF服务。Silverlight客户端通过异步通信方式调用WCF服务,在控件完成绑定之前从WCF服务中获取数据源列表。以下代码将创建一个服务代理实例,并实现geUnitByN_unitName服务的异步调用:

CommonsUtilClient client=new CommonsUtil-Client();

client.getAllUnitNameCompleted += new EventHandler(client_getAllUnitNameCompleted);

当异步WCF服务调用完成后,将执行如下代码所示的事件处理程序。该处理程序接收站点信息列表并将其绑定到发货站点下拉列表的ItemsSource:

void client_getAllUnitName-Completed(object sender,getAllU-nitNameCompletedEventArgs e)

{if(e.Error==null){cmb_from.ItemsSource=e.Result;//根据当前用户确定发货站点

for(int i=0;i

{f(cmb_from.Items[i].ToString()==root.curUser.UnitName)

{cmb_from.Selected Index=i;break;}}cmb_to.Items Source=e.Result;}}

2.托运单管理及页面套打

托运单是整个物流企业业务流程的第一个环节,也是最重要的环节,托运单不仅需保证各个站点的唯一性,也要方便各站点的编号。系统中采用了自动编号的方式,同时托运单要包括货物的发货人、发货单位及货物的名称、件数、保价、保险费、运费、合计费用等基本信息,另外需满足每个托运单不能超过三件货物的要求。包括了货物的添加、删除及费用的自动计算等,该托运单管理是表格中嵌套表格,是典型的一对多关系,即一个托运单对应多个货物,一个发货单位的货物只能体现在一个托运单中。另外,该系统提供了托运单套打功能,如图4所示,提高了物流企业信息化、专业化水平。

无锡圳太原(山西圳无锡专线)年月日

3.发货单管理

客户发货填写托运单并打印完成后,系统将根据发货地、到货地、货物尺寸等信息进行优化整理,并结合本站点的现有车辆进行选择,形成发货单,系统将自动计算所选托运单的总运费、回单款、信息费、提货费、代收费等,操作员只需填写货物的装卸费、落地费、付车费、中转费,成功生成发货单后,操作员可查看发车明细表,详细显示该车辆装载的所有货物,如表1所示。

4.运输协议管理

表1 山西神骑物流有限公司太原分公司发车明细表

形成发货单后,车辆发车前还需签订运输协议,以规范物流公司及车辆司机的劳动关系,添加或者修改运输协议,打印采用页面套打方式,各方只需签字即可。

5.派送单及委托单管理

签署运输协议后,装载货物的车辆即可以发车,到达站点后,站点操作员登录系统进行派送单添加与修改,完成整个货物的运输。另外,针对由其他物流公司转送业务或者委托其他物流公司承运的业务,系统中采用委托单方式,操作员需填写货物基本信息及同行信息。

6.业务信息的自定义查询与统计

可以根据各个业务的实际情况,对查询条件进行自定义,统计出查询结果,对显示字段能够拖动显示顺序。

四、系统可扩展功能及特点

该系统可另外增加无线射频技术(RFID),物流企业可通过手持扫描设备把货物信息录入系统,并可以进行出入库管理;集成全球定位系统(GPS)车辆位置信息,随时跟踪货物运输情况及货物当前状态,并可及时反馈给终端用户;手机短信签收功能通过手机短信息完成对货物的签收,方便了各方操作。

多站点物流行业业务系统采用B/S结构,最大的优点是用户可在任何地方进行操作而不用安装任何专门软件,只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码就可以使用。系统使用Silverlight技术,它是一个跨浏览器、跨平台的技术,可以在所有流行的浏览器中运行,且无论在哪里运行都能提供一致的用户体验,用户不需要担心自己是什么平台什么浏览器。在太原市物流企业实际使用的基础上,软件历经多次版本升级,采纳用户建议并作了数百条调整。得益于严格的实际应用检验,软件成熟度很高,可实施性很强。

[1]〔美〕莫洛尼.Microsoft Silverlight 4从入门到精通[M].马振萍,文瑞译.北京:清华大学出版社,2002:10.

[2]〔意〕皮尔罗斯,鲁索.精通LINQ程序设计[M].李牧,阎松涛译.北京:清华大学出版社,2009:28.

[3]〔英〕夏普.Visual C#2010从入门到精通[M].周靖译.北京:清华大学出版社,2010:15-368.

[4]〔美〕David Hunter,Jeff Rafter,Joe Fawcett.XML入门经典[M].吴文国译.北京:清华大学出版社,2009:24.

猜你喜欢
客户端货物物流
逛超市
本刊重点关注的物流展会
如何看待传统媒体新闻客户端的“断舍离”?
“智”造更长物流生态链
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
企业该怎么选择物流
基于低碳物流的公路运输优化